From c7fb23c2c7043f7a9466353cb7117682373be0f8 Mon Sep 17 00:00:00 2001 From: louhnmn <107175256+louhnmn@users.noreply.github.com> Date: Fri, 12 Jun 2026 12:22:46 +0200 Subject: [PATCH 1/2] chore(deps): update npm modules --- node_modules/.package-lock.json | 578 +- node_modules/@actions/core/README.md | 178 +- node_modules/@actions/core/lib/command.js | 12 +- node_modules/@actions/core/lib/command.js.map | 2 +- node_modules/@actions/core/lib/core.d.ts | 20 +- node_modules/@actions/core/lib/core.js | 80 +- node_modules/@actions/core/lib/core.js.map | 2 +- .../@actions/core/lib/file-command.d.ts | 3 +- .../@actions/core/lib/file-command.js | 32 +- .../@actions/core/lib/file-command.js.map | 2 +- node_modules/@actions/core/lib/oidc-utils.js | 8 +- .../@actions/core/lib/oidc-utils.js.map | 2 +- .../@actions/core/lib/path-utils.d.ts | 25 + node_modules/@actions/core/lib/path-utils.js | 62 + .../@actions/core/lib/path-utils.js.map | 1 + node_modules/@actions/core/lib/platform.d.ts | 15 + node_modules/@actions/core/lib/platform.js | 94 + .../@actions/core/lib/platform.js.map | 1 + node_modules/@actions/core/lib/summary.d.ts | 202 + node_modules/@actions/core/lib/summary.js | 283 + node_modules/@actions/core/lib/summary.js.map | 1 + node_modules/@actions/core/package.json | 11 +- node_modules/@actions/exec/LICENSE.md | 9 + node_modules/@actions/exec/README.md | 57 + node_modules/@actions/exec/lib/exec.d.ts | 24 + node_modules/@actions/exec/lib/exec.js | 103 + node_modules/@actions/exec/lib/exec.js.map | 1 + .../@actions/exec/lib/interfaces.d.ts | 57 + .../{http-client => exec/lib}/interfaces.js | 1 + .../@actions/exec/lib/interfaces.js.map | 1 + .../@actions/exec/lib/toolrunner.d.ts | 37 + node_modules/@actions/exec/lib/toolrunner.js | 618 + .../@actions/exec/lib/toolrunner.js.map | 1 + node_modules/@actions/exec/package.json | 41 + node_modules/@actions/http-client/README.md | 32 +- node_modules/@actions/http-client/RELEASES.md | 26 - node_modules/@actions/http-client/actions.png | Bin 33889 -> 0 bytes node_modules/@actions/http-client/auth.d.ts | 23 - node_modules/@actions/http-client/auth.js | 58 - node_modules/@actions/http-client/index.js | 537 - .../@actions/http-client/interfaces.d.ts | 49 - .../@actions/http-client/lib/auth.d.ts | 26 + node_modules/@actions/http-client/lib/auth.js | 81 + .../@actions/http-client/lib/auth.js.map | 1 + .../@actions/http-client/{ => lib}/index.d.ts | 50 +- .../@actions/http-client/lib/index.js | 652 + .../@actions/http-client/lib/index.js.map | 1 + .../@actions/http-client/lib/interfaces.d.ts | 46 + .../@actions/http-client/lib/interfaces.js | 3 + .../http-client/lib/interfaces.js.map | 1 + .../@actions/http-client/{ => lib}/proxy.d.ts | 0 .../@actions/http-client/lib/proxy.js | 95 + .../@actions/http-client/lib/proxy.js.map | 1 + .../@actions/http-client/package.json | 64 +- node_modules/@actions/http-client/proxy.js | 57 - node_modules/@actions/io/LICENSE.md | 9 + node_modules/@actions/io/README.md | 53 + node_modules/@actions/io/lib/io-util.d.ts | 21 + node_modules/@actions/io/lib/io-util.js | 183 + node_modules/@actions/io/lib/io-util.js.map | 1 + node_modules/@actions/io/lib/io.d.ts | 64 + node_modules/@actions/io/lib/io.js | 299 + node_modules/@actions/io/lib/io.js.map | 1 + node_modules/@actions/io/package.json | 37 + node_modules/@fastify/busboy/LICENSE | 19 + node_modules/@fastify/busboy/README.md | 271 + .../@fastify/busboy/deps/dicer/LICENSE | 19 + .../@fastify/busboy/deps/dicer/lib/Dicer.js | 213 + .../busboy/deps/dicer/lib/HeaderParser.js | 100 + .../busboy/deps/dicer/lib/PartStream.js | 13 + .../@fastify/busboy/deps/dicer/lib/dicer.d.ts | 164 + .../@fastify/busboy/deps/streamsearch/sbmh.js | 228 + node_modules/@fastify/busboy/lib/main.d.ts | 196 + node_modules/@fastify/busboy/lib/main.js | 85 + .../@fastify/busboy/lib/types/multipart.js | 306 + .../@fastify/busboy/lib/types/urlencoded.js | 190 + .../@fastify/busboy/lib/utils/Decoder.js | 54 + .../@fastify/busboy/lib/utils/basename.js | 14 + .../@fastify/busboy/lib/utils/decodeText.js | 114 + .../@fastify/busboy/lib/utils/getLimit.js | 16 + .../@fastify/busboy/lib/utils/parseParams.js | 196 + node_modules/@fastify/busboy/package.json | 86 + node_modules/@octokit-next/request/README.md | 539 + .../@octokit-next/request/fetch-wrapper.js | 152 + .../request/get-buffer-response.js | 5 + node_modules/@octokit-next/request/index.d.ts | 3 + node_modules/@octokit-next/request/index.js | 11 + .../@octokit-next/request/index.test-d.ts | 124 + .../@octokit-next/request/package.json | 45 + .../request/test/defaults.test.js | 91 + .../request/test/request.test.js | 1057 + node_modules/@octokit-next/request/version.js | 1 + .../@octokit-next/request/with-defaults.js | 28 + node_modules/@octokit-next/types/README.md | 7 + .../@octokit-next/types/endpoint.d.ts | 125 + node_modules/@octokit-next/types/index.d.ts | 543 + node_modules/@octokit-next/types/package.json | 18 + node_modules/@octokit-next/types/request.d.ts | 128 + node_modules/@octokit-next/types/utils.d.ts | 158 + .../{isobject => @octokit/auth-token}/LICENSE | 6 +- node_modules/@octokit/auth-token/README.md | 290 + .../@octokit/auth-token/dist-node/index.js | 55 + .../auth-token/dist-node/index.js.map | 1 + .../@octokit/auth-token/dist-src/auth.js | 21 + .../@octokit/auth-token/dist-src/hook.js | 6 + .../@octokit/auth-token/dist-src/index.js | 14 + .../@octokit/auth-token/dist-src/types.js | 1 + .../dist-src/with-authorization-prefix.js | 11 + .../@octokit/auth-token/dist-types/auth.d.ts | 2 + .../@octokit/auth-token/dist-types/hook.d.ts | 2 + .../@octokit/auth-token/dist-types/index.d.ts | 7 + .../@octokit/auth-token/dist-types/types.d.ts | 33 + .../dist-types/with-authorization-prefix.d.ts | 6 + .../@octokit/auth-token/dist-web/index.js | 55 + .../@octokit/auth-token/dist-web/index.js.map | 1 + node_modules/@octokit/auth-token/package.json | 45 + node_modules/@octokit/core/LICENSE | 21 + node_modules/@octokit/core/README.md | 457 + node_modules/@octokit/core/dist-src/index.js | 141 + .../@octokit/core/dist-src/version.js | 4 + .../@octokit/core/dist-types/index.d.ts | 31 + .../@octokit/core/dist-types/types.d.ts | 49 + .../@octokit/core/dist-types/version.d.ts | 1 + .../node_modules/@octokit/auth-token/LICENSE | 21 + .../@octokit/auth-token/README.md | 284 + .../@octokit/auth-token/dist-bundle/index.js | 55 + .../auth-token/dist-bundle/index.js.map | 7 + .../@octokit/auth-token/dist-src/auth.js | 15 + .../@octokit/auth-token/dist-src/hook.js | 12 + .../@octokit/auth-token/dist-src/index.js | 19 + .../@octokit/auth-token/dist-src/is-jwt.js | 7 + .../dist-src/with-authorization-prefix.js | 9 + .../@octokit/auth-token/dist-types/auth.d.ts | 2 + .../@octokit/auth-token/dist-types/hook.d.ts | 2 + .../@octokit/auth-token/dist-types/index.d.ts | 7 + .../auth-token/dist-types/is-jwt.d.ts | 1 + .../@octokit/auth-token/dist-types/types.d.ts | 33 + .../dist-types/with-authorization-prefix.d.ts | 6 + .../@octokit/auth-token/package.json | 50 + .../node_modules/@octokit/endpoint}/LICENSE | 0 .../node_modules/@octokit/endpoint/README.md | 412 + .../@octokit/endpoint/dist-bundle/index.js | 346 + .../endpoint/dist-bundle/index.js.map | 7 + .../@octokit/endpoint/dist-src/defaults.js | 17 + .../dist-src/endpoint-with-defaults.js | 9 + .../@octokit/endpoint/dist-src/index.js | 6 + .../@octokit/endpoint/dist-src/merge.js | 27 + .../@octokit/endpoint/dist-src/parse.js | 70 + .../dist-src/util/add-query-parameters.js | 16 + .../util/extract-url-variable-names.js | 14 + .../endpoint/dist-src/util/is-plain-object.js | 11 + .../endpoint/dist-src/util/lowercase-keys.js | 12 + .../endpoint/dist-src/util/merge-deep.js | 16 + .../@octokit/endpoint/dist-src/util/omit.js | 12 + .../util/remove-undefined-properties.js | 11 + .../endpoint/dist-src/util/url-template.js | 133 + .../@octokit/endpoint/dist-src/version.js | 4 + .../endpoint/dist-src/with-defaults.js | 16 + .../endpoint/dist-types/defaults.d.ts | 2 + .../dist-types/endpoint-with-defaults.d.ts | 3 + .../@octokit/endpoint/dist-types/index.d.ts | 1 + .../@octokit/endpoint/dist-types/merge.d.ts | 2 + .../@octokit/endpoint/dist-types/parse.d.ts | 2 + .../dist-types/util/add-query-parameters.d.ts | 4 + .../util/extract-url-variable-names.d.ts | 1 + .../dist-types/util/is-plain-object.d.ts | 1 + .../dist-types/util/lowercase-keys.d.ts | 5 + .../endpoint/dist-types/util/merge-deep.d.ts | 1 + .../endpoint/dist-types/util/omit.d.ts | 5 + .../util/remove-undefined-properties.d.ts | 1 + .../dist-types/util/url-template.d.ts | 3 + .../@octokit/endpoint/dist-types/version.d.ts | 1 + .../endpoint/dist-types/with-defaults.d.ts | 2 + .../@octokit/endpoint/package.json | 50 + .../node_modules/@octokit/graphql/LICENSE | 21 + .../node_modules/@octokit/graphql/README.md | 408 + .../@octokit/graphql/dist-bundle/index.js | 129 + .../@octokit/graphql/dist-bundle/index.js.map | 7 + .../@octokit/graphql/dist-src/error.js | 23 + .../@octokit/graphql/dist-src/graphql.js | 66 + .../@octokit/graphql/dist-src/index.js | 23 + .../@octokit/graphql/dist-src/version.js | 4 + .../graphql/dist-src/with-defaults.js | 15 + .../@octokit/graphql/dist-types/error.d.ts | 13 + .../@octokit/graphql/dist-types/graphql.d.ts | 3 + .../@octokit/graphql/dist-types/index.d.ts | 5 + .../@octokit/graphql/dist-types/types.d.ts | 55 + .../@octokit/graphql/dist-types/version.d.ts | 1 + .../graphql/dist-types/with-defaults.d.ts | 3 + .../@octokit/graphql/package.json | 55 + .../@octokit/openapi-types/LICENSE | 7 + .../@octokit/openapi-types/README.md | 17 + .../@octokit/openapi-types/package.json | 21 + .../@octokit/openapi-types/types.d.ts | 122599 +++++++++++++++ .../@octokit/request-error/LICENSE | 21 + .../@octokit/request-error/README.md | 93 + .../@octokit/request-error/dist-src/index.js | 41 + .../request-error/dist-types/index.d.ts | 21 + .../request-error/dist-types/types.d.ts | 5 + .../@octokit/request-error/package.json | 50 + .../node_modules/@octokit/request/LICENSE | 21 + .../node_modules/@octokit/request/README.md | 577 + .../@octokit/request/dist-bundle/index.js | 203 + .../@octokit/request/dist-bundle/index.js.map | 7 + .../@octokit/request/dist-src/defaults.js | 10 + .../request/dist-src/fetch-wrapper.js | 148 + .../@octokit/request/dist-src/index.js | 7 + .../request/dist-src/is-plain-object.js | 11 + .../@octokit/request/dist-src/version.js | 4 + .../request/dist-src/with-defaults.js | 27 + .../@octokit/request/dist-types/defaults.d.ts | 6 + .../request/dist-types/fetch-wrapper.d.ts | 2 + .../@octokit/request/dist-types/index.d.ts | 1 + .../request/dist-types/is-plain-object.d.ts | 1 + .../@octokit/request/dist-types/version.d.ts | 1 + .../request/dist-types/with-defaults.d.ts | 2 + .../@octokit/request/package.json | 57 + .../core/node_modules/@octokit/types/LICENSE | 7 + .../node_modules/@octokit/types/README.md | 65 + .../types/dist-types/AuthInterface.d.ts | 31 + .../types/dist-types/EndpointDefaults.d.ts | 21 + .../types/dist-types/EndpointInterface.d.ts | 65 + .../types/dist-types/EndpointOptions.d.ts | 7 + .../@octokit/types/dist-types/Fetch.d.ts | 4 + .../GetResponseTypeFromEndpointMethod.d.ts | 5 + .../types/dist-types/OctokitResponse.d.ts | 17 + .../types/dist-types/RequestError.d.ts | 11 + .../types/dist-types/RequestHeaders.d.ts | 15 + .../types/dist-types/RequestInterface.d.ts | 34 + .../types/dist-types/RequestMethod.d.ts | 4 + .../types/dist-types/RequestOptions.d.ts | 14 + .../types/dist-types/RequestParameters.d.ts | 55 + .../dist-types/RequestRequestOptions.d.ts | 20 + .../types/dist-types/ResponseHeaders.d.ts | 21 + .../@octokit/types/dist-types/Route.d.ts | 4 + .../types/dist-types/StrategyInterface.d.ts | 4 + .../@octokit/types/dist-types/Url.d.ts | 4 + .../@octokit/types/dist-types/VERSION.d.ts | 1 + .../types/dist-types/generated/Endpoints.d.ts | 4543 + .../@octokit/types/dist-types/index.d.ts | 20 + .../node_modules/@octokit/types/package.json | 42 + .../node_modules/before-after-hook/LICENSE | 201 + .../node_modules/before-after-hook/README.md | 679 + .../node_modules/before-after-hook/index.d.ts | 174 + .../node_modules/before-after-hook/index.js | 45 + .../node_modules/before-after-hook/lib/add.js | 46 + .../before-after-hook/lib/register.js | 27 + .../before-after-hook/lib/remove.js | 19 + .../before-after-hook/package.json | 54 + node_modules/@octokit/core/package.json | 67 + node_modules/@octokit/endpoint/README.md | 68 +- .../@octokit/endpoint/dist-node/index.js | 35 +- .../@octokit/endpoint/dist-node/index.js.map | 2 +- .../@octokit/endpoint/dist-src/defaults.js | 8 +- .../@octokit/endpoint/dist-src/merge.js | 8 +- .../@octokit/endpoint/dist-src/parse.js | 14 +- .../dist-src/util/add-query-parameters.js | 8 +- .../endpoint/dist-src/util/merge-deep.js | 4 +- .../@octokit/endpoint/dist-src/util/omit.js | 2 +- .../util/remove-undefined-properties.js | 8 + .../endpoint/dist-src/util/url-template.js | 12 +- .../@octokit/endpoint/dist-src/version.js | 2 +- .../endpoint/dist-src/with-defaults.js | 2 +- .../endpoint/dist-types/defaults.d.ts | 4 +- .../dist-types/endpoint-with-defaults.d.ts | 5 +- .../endpoint/dist-types/generated/routes.d.ts | 6745 - .../@octokit/endpoint/dist-types/index.d.ts | 2 +- .../@octokit/endpoint/dist-types/merge.d.ts | 4 +- .../@octokit/endpoint/dist-types/parse.d.ts | 4 +- .../@octokit/endpoint/dist-types/types.d.ts | 150 - .../util/remove-undefined-properties.d.ts | 1 + .../@octokit/endpoint/dist-types/version.d.ts | 2 +- .../endpoint/dist-types/with-defaults.d.ts | 4 +- .../@octokit/endpoint/dist-web/index.js | 68 +- .../@octokit/endpoint/dist-web/index.js.map | 2 +- .../universal-user-agent/README.md | 2 +- .../universal-user-agent/dist-node/index.js | 18 +- .../dist-node/index.js.map | 2 +- .../universal-user-agent/dist-src/browser.js | 3 - .../universal-user-agent/dist-src/index.js | 10 +- .../universal-user-agent/dist-src/node.js | 12 - .../dist-types/browser.d.ts | 1 - .../dist-types/index.d.ts | 2 +- .../universal-user-agent/dist-types/node.d.ts | 1 - .../universal-user-agent/dist-web/index.js | 8 +- .../dist-web/index.js.map | 2 +- .../universal-user-agent/package.json | 24 +- node_modules/@octokit/endpoint/package.json | 45 +- node_modules/@octokit/graphql/README.md | 432 +- node_modules/@octokit/graphql/error.js | 25 + node_modules/@octokit/graphql/graphql.js | 70 + node_modules/@octokit/graphql/index.d.ts | 111 + node_modules/@octokit/graphql/index.js | 30 +- node_modules/@octokit/graphql/index.test-d.ts | 98 + node_modules/@octokit/graphql/lib/error.js | 16 - node_modules/@octokit/graphql/lib/graphql.js | 36 - .../@octokit/graphql/lib/with-defaults.js | 13 - node_modules/@octokit/graphql/package.json | 103 +- .../@octokit/graphql/test/defaults.test.js | 216 + .../@octokit/graphql/test/error.test.js | 195 + .../@octokit/graphql/test/graphql.test.js | 314 + .../graphql/test/with-custom-request.test.js | 80 + node_modules/@octokit/graphql/version.js | 1 + .../@octokit/graphql/with-defaults.js | 13 + node_modules/@octokit/openapi-types/LICENSE | 7 + node_modules/@octokit/openapi-types/README.md | 17 + .../@octokit/openapi-types/package.json | 20 + .../@octokit/openapi-types/types.d.ts | 47095 ++++++ .../@octokit/plugin-paginate-rest/LICENSE | 7 + .../@octokit/plugin-paginate-rest/README.md | 135 + .../plugin-paginate-rest/dist-node/index.js | 142 + .../dist-node/index.js.map | 1 + .../plugin-paginate-rest/dist-src/index.js | 15 + .../plugin-paginate-rest/dist-src/iterator.js | 26 + .../normalize-paginated-list-response.js | 59 + .../plugin-paginate-rest/dist-src/paginate.js | 24 + .../dist-src/types.js | 0 .../plugin-paginate-rest/dist-src/version.js | 1 + .../dist-types/index.d.ts | 13 + .../dist-types/iterator.d.ts | 11 + .../normalize-paginated-list-response.d.ts | 23 + .../dist-types/paginate.d.ts | 3 + .../dist-types/types.d.ts | 69 + .../dist-types/version.d.ts | 1 + .../plugin-paginate-rest/dist-web/index.js | 127 + .../dist-web/index.js.map | 1 + .../node_modules/@octokit/types/LICENSE | 7 + .../node_modules/@octokit/types/README.md | 65 + .../@octokit/types/dist-node/index.js | 8 + .../@octokit/types/dist-node/index.js.map | 1 + .../@octokit/types/dist-src/AuthInterface.js} | 0 .../types/dist-src/EndpointDefaults.js} | 0 .../types/dist-src/EndpointInterface.js | 0 .../types/dist-src/EndpointOptions.js | 0 .../@octokit/types/dist-src/Fetch.js | 0 .../GetResponseTypeFromEndpointMethod.js | 0 .../types/dist-src/OctokitResponse.js | 0 .../@octokit/types/dist-src/RequestHeaders.js | 0 .../types/dist-src/RequestInterface.js | 0 .../@octokit/types/dist-src/RequestMethod.js | 0 .../@octokit/types/dist-src/RequestOptions.js | 0 .../types/dist-src/RequestParameters.js | 0 .../types/dist-src/RequestRequestOptions.js | 0 .../types/dist-src/ResponseHeaders.js | 0 .../@octokit/types/dist-src/Route.js | 0 .../@octokit/types/dist-src/Signal.js | 0 .../types/dist-src/StrategyInterface.js | 0 .../@octokit/types/dist-src/Url.js | 0 .../@octokit/types/dist-src/VERSION.js | 1 + .../types/dist-src/generated/Endpoints.js | 0 .../@octokit/types/dist-src/index.js | 1 + .../types/dist-types/AuthInterface.d.ts | 31 + .../types/dist-types/EndpointDefaults.d.ts | 21 + .../types/dist-types/EndpointInterface.d.ts | 65 + .../types/dist-types/EndpointOptions.d.ts | 7 + .../@octokit/types/dist-types/Fetch.d.ts | 4 + .../GetResponseTypeFromEndpointMethod.d.ts | 5 + .../types/dist-types/OctokitResponse.d.ts | 17 + .../types/dist-types/RequestHeaders.d.ts | 15 + .../types/dist-types/RequestInterface.d.ts | 34 + .../types/dist-types/RequestMethod.d.ts | 4 + .../types/dist-types/RequestOptions.d.ts | 14 + .../types/dist-types/RequestParameters.d.ts | 45 + .../dist-types/RequestRequestOptions.d.ts | 26 + .../types/dist-types/ResponseHeaders.d.ts | 20 + .../@octokit/types/dist-types/Route.d.ts | 4 + .../@octokit/types/dist-types/Signal.d.ts | 6 + .../types/dist-types/StrategyInterface.d.ts | 4 + .../@octokit/types/dist-types/Url.d.ts | 4 + .../@octokit/types/dist-types/VERSION.d.ts | 1 + .../types/dist-types/generated/Endpoints.d.ts | 41416 +++++ .../@octokit/types/dist-types/index.d.ts | 20 + .../@octokit/types/dist-web/index.js | 4 + .../@octokit/types/dist-web/index.js.map | 1 + .../node_modules/@octokit/types/package.json | 49 + .../plugin-paginate-rest/package.json | 46 + .../@octokit/plugin-request-log/LICENSE | 7 + .../@octokit/plugin-request-log/README.md | 69 + .../plugin-request-log/dist-node/index.js | 30 + .../plugin-request-log/dist-node/index.js.map | 1 + .../plugin-request-log/dist-src/index.js | 23 + .../plugin-request-log/dist-src/version.js | 1 + .../plugin-request-log/dist-types/index.d.ts | 9 + .../dist-types/version.d.ts | 1 + .../plugin-request-log/dist-web/index.js | 27 + .../plugin-request-log/dist-web/index.js.map | 1 + .../@octokit/plugin-request-log/package.json | 47 + .../plugin-rest-endpoint-methods/LICENSE | 7 + .../plugin-rest-endpoint-methods/README.md | 2717 + .../dist-node/index.js | 13196 ++ .../dist-node/index.js.map | 1 + .../dist-src/generated/endpoints.js | 6624 + .../generated/rest-endpoint-methods-types.js | 0 .../dist-src/index.js | 38 + .../dist-src/register-endpoints.js | 60 + .../dist-src/types.js | 0 .../dist-src/version.js | 1 + .../dist-types/generated/endpoints.d.ts | 13085 ++ .../rest-endpoint-methods-types.d.ts | 38224 +++++ .../dist-types/index.d.ts | 16 + .../dist-types/register-endpoints.d.ts | 1 + .../dist-types/types.d.ts | 4 + .../dist-types/version.d.ts | 1 + .../dist-web/index.js | 6726 + .../dist-web/index.js.map | 1 + .../node_modules/@octokit/types/LICENSE | 7 + .../node_modules/@octokit/types/README.md | 65 + .../@octokit/types/dist-node/index.js | 8 + .../@octokit/types/dist-node/index.js.map | 1 + .../@octokit/types/dist-src/AuthInterface.js | 0 .../types/dist-src/EndpointDefaults.js | 0 .../types/dist-src/EndpointInterface.js | 0 .../types/dist-src/EndpointOptions.js | 0 .../@octokit/types/dist-src/Fetch.js | 0 .../GetResponseTypeFromEndpointMethod.js | 0 .../types/dist-src/OctokitResponse.js | 0 .../@octokit/types/dist-src/RequestHeaders.js | 0 .../types/dist-src/RequestInterface.js | 0 .../@octokit/types/dist-src/RequestMethod.js | 0 .../@octokit/types/dist-src/RequestOptions.js | 0 .../types/dist-src/RequestParameters.js | 0 .../types/dist-src/RequestRequestOptions.js | 0 .../types/dist-src/ResponseHeaders.js | 0 .../@octokit/types/dist-src/Route.js | 0 .../@octokit/types/dist-src/Signal.js | 0 .../types/dist-src/StrategyInterface.js | 0 .../@octokit/types/dist-src/Url.js | 0 .../@octokit/types/dist-src/VERSION.js | 1 + .../types/dist-src/generated/Endpoints.js | 0 .../@octokit/types/dist-src/index.js | 1 + .../types/dist-types/AuthInterface.d.ts | 31 + .../types/dist-types/EndpointDefaults.d.ts | 21 + .../types/dist-types/EndpointInterface.d.ts | 65 + .../types/dist-types/EndpointOptions.d.ts | 7 + .../@octokit/types/dist-types/Fetch.d.ts | 4 + .../GetResponseTypeFromEndpointMethod.d.ts | 5 + .../types/dist-types/OctokitResponse.d.ts | 17 + .../types/dist-types/RequestHeaders.d.ts | 15 + .../types/dist-types/RequestInterface.d.ts | 34 + .../types/dist-types/RequestMethod.d.ts | 4 + .../types/dist-types/RequestOptions.d.ts | 14 + .../types/dist-types/RequestParameters.d.ts | 45 + .../dist-types/RequestRequestOptions.d.ts | 26 + .../types/dist-types/ResponseHeaders.d.ts | 20 + .../@octokit/types/dist-types/Route.d.ts | 4 + .../@octokit/types/dist-types/Signal.d.ts | 6 + .../types/dist-types/StrategyInterface.d.ts | 4 + .../@octokit/types/dist-types/Url.d.ts | 4 + .../@octokit/types/dist-types/VERSION.d.ts | 1 + .../types/dist-types/generated/Endpoints.d.ts | 41416 +++++ .../@octokit/types/dist-types/index.d.ts | 20 + .../@octokit/types/dist-web/index.js | 4 + .../@octokit/types/dist-web/index.js.map | 1 + .../node_modules/@octokit/types/package.json | 49 + .../plugin-rest-endpoint-methods/package.json | 56 + .../@octokit/request-error/dist-node/index.js | 3 +- .../request-error/dist-node/index.js.map | 1 + .../@octokit/request-error/dist-src/index.js | 2 +- .../request-error/dist-types/index.d.ts | 3 +- .../request-error/dist-types/types.d.ts | 36 +- .../@octokit/request-error/dist-web/index.js | 70 +- .../request-error/dist-web/index.js.map | 1 + .../node_modules/@octokit/types/LICENSE | 7 + .../node_modules/@octokit/types/README.md | 65 + .../@octokit/types/dist-node/index.js | 8 + .../@octokit/types/dist-node/index.js.map | 1 + .../@octokit/types/dist-src/AuthInterface.js | 0 .../types/dist-src/EndpointDefaults.js | 0 .../types/dist-src/EndpointInterface.js | 0 .../types/dist-src/EndpointOptions.js | 0 .../@octokit/types/dist-src/Fetch.js | 0 .../GetResponseTypeFromEndpointMethod.js | 0 .../types/dist-src/OctokitResponse.js | 0 .../@octokit/types/dist-src/RequestHeaders.js | 0 .../types/dist-src/RequestInterface.js | 0 .../@octokit/types/dist-src/RequestMethod.js | 0 .../@octokit/types/dist-src/RequestOptions.js | 0 .../types/dist-src/RequestParameters.js | 0 .../types/dist-src/RequestRequestOptions.js | 0 .../types/dist-src/ResponseHeaders.js | 0 .../@octokit/types/dist-src/Route.js | 0 .../@octokit/types/dist-src/Signal.js | 0 .../types/dist-src/StrategyInterface.js | 0 .../@octokit/types/dist-src/Url.js | 0 .../@octokit/types/dist-src/VERSION.js | 1 + .../types/dist-src/generated/Endpoints.js | 0 .../@octokit/types/dist-src/index.js | 1 + .../types/dist-types/AuthInterface.d.ts | 31 + .../types/dist-types/EndpointDefaults.d.ts | 21 + .../types/dist-types/EndpointInterface.d.ts | 65 + .../types/dist-types/EndpointOptions.d.ts | 7 + .../@octokit/types/dist-types/Fetch.d.ts | 4 + .../GetResponseTypeFromEndpointMethod.d.ts | 5 + .../types/dist-types/OctokitResponse.d.ts | 17 + .../types/dist-types/RequestHeaders.d.ts | 15 + .../types/dist-types/RequestInterface.d.ts | 34 + .../types/dist-types/RequestMethod.d.ts | 4 + .../types/dist-types/RequestOptions.d.ts | 14 + .../types/dist-types/RequestParameters.d.ts | 45 + .../dist-types/RequestRequestOptions.d.ts | 26 + .../types/dist-types/ResponseHeaders.d.ts | 20 + .../@octokit/types/dist-types/Route.d.ts | 4 + .../@octokit/types/dist-types/Signal.d.ts | 6 + .../types/dist-types/StrategyInterface.d.ts | 4 + .../@octokit/types/dist-types/Url.d.ts | 4 + .../@octokit/types/dist-types/VERSION.d.ts | 1 + .../types/dist-types/generated/Endpoints.d.ts | 41416 +++++ .../@octokit/types/dist-types/index.d.ts | 20 + .../@octokit/types/dist-web/index.js | 4 + .../@octokit/types/dist-web/index.js.map | 1 + .../node_modules/@octokit/types/package.json | 49 + .../@octokit/request-error/package.json | 36 +- node_modules/@octokit/request/README.md | 111 +- .../@octokit/request/dist-node/index.js | 101 +- .../@octokit/request/dist-node/index.js.map | 2 +- .../request/dist-src/fetch-wrapper.js | 105 +- .../@octokit/request/dist-src/index.js | 4 +- .../@octokit/request/dist-src/version.js | 2 +- .../request/dist-src/with-defaults.js | 4 +- .../request/dist-types/fetch-wrapper.d.ts | 6 +- .../@octokit/request/dist-types/index.d.ts | 2 +- .../@octokit/request/dist-types/types.d.ts | 152 - .../@octokit/request/dist-types/version.d.ts | 2 +- .../request/dist-types/with-defaults.d.ts | 4 +- .../@octokit/request/dist-web/index.js | 115 +- .../@octokit/request/dist-web/index.js.map | 2 +- .../@octokit/request-error/LICENSE | 21 + .../@octokit/request-error/README.md | 67 + .../@octokit/request-error/dist-node/index.js | 74 + .../request-error/dist-node/index.js.map | 1 + .../@octokit/request-error/dist-src/index.js | 55 + .../@octokit/request-error/dist-src/types.js | 1 + .../request-error/dist-types/index.d.ts | 33 + .../request-error/dist-types/types.d.ts | 9 + .../@octokit/request-error/dist-web/index.js | 59 + .../request-error/dist-web/index.js.map | 1 + .../@octokit/request-error/package.json | 47 + .../universal-user-agent/README.md | 2 +- .../universal-user-agent/dist-node/index.js | 18 +- .../dist-node/index.js.map | 2 +- .../universal-user-agent/dist-src/browser.js | 3 - .../universal-user-agent/dist-src/index.js | 10 +- .../universal-user-agent/dist-src/node.js | 12 - .../dist-types/browser.d.ts | 1 - .../dist-types/index.d.ts | 2 +- .../universal-user-agent/dist-types/node.d.ts | 1 - .../universal-user-agent/dist-web/index.js | 8 +- .../dist-web/index.js.map | 2 +- .../universal-user-agent/package.json | 24 +- node_modules/@octokit/request/package.json | 61 +- node_modules/@octokit/rest/README.md | 22 +- node_modules/@octokit/rest/index.d.ts | 53202 ++++--- node_modules/@octokit/rest/index.js | 55 +- node_modules/@octokit/rest/lib/constructor.js | 35 +- node_modules/@octokit/rest/lib/core.js | 4 +- node_modules/@octokit/rest/lib/factory.js | 14 +- .../@octokit/rest/lib/parse-client-options.js | 79 +- .../@octokit/rest/lib/register-plugin.js | 10 +- .../universal-user-agent/dist-src/browser.js | 7 +- .../universal-user-agent/dist-web/index.js | 7 +- .../dist-web/index.js.map | 2 +- .../universal-user-agent/package.json | 18 +- node_modules/@octokit/rest/package.json | 71 +- .../authentication-deprecated/authenticate.js | 51 +- .../before-request.js | 51 +- .../authentication-deprecated/index.js | 35 +- .../request-error.js | 60 +- .../plugins/authentication/before-request.js | 50 +- .../rest/plugins/authentication/index.js | 75 +- .../plugins/authentication/request-error.js | 68 +- .../rest/plugins/authentication/validate.js | 18 +- .../with-authorization-prefix.js | 18 +- .../@octokit/rest/plugins/log/index.js | 22 - .../index.js | 53 - .../@octokit/rest/plugins/pagination/index.js | 10 +- .../rest/plugins/pagination/iterator.js | 31 - .../normalize-paginated-list-response.js | 91 - .../rest/plugins/pagination/paginate.js | 34 - .../rest/plugins/register-endpoints/index.js | 7 - .../register-endpoints/register-endpoints.js | 87 - .../rest/plugins/rest-api-endpoints/index.js | 13 - .../plugins/rest-api-endpoints/routes.json | 11284 -- .../@octokit/rest/plugins/validate/index.js | 8 +- .../rest/plugins/validate/validate.js | 150 +- node_modules/@octokit/types/LICENSE | 7 + node_modules/@octokit/types/README.md | 65 + .../@octokit/types/dist-node/index.js | 8 + .../@octokit/types/dist-node/index.js.map | 1 + .../@octokit/types/dist-src/AuthInterface.js | 1 + .../types/dist-src/EndpointDefaults.js | 1 + .../types/dist-src/EndpointInterface.js | 1 + .../types/dist-src/EndpointOptions.js | 1 + node_modules/@octokit/types/dist-src/Fetch.js | 1 + .../GetResponseTypeFromEndpointMethod.js | 1 + .../types/dist-src/OctokitResponse.js | 1 + .../@octokit/types/dist-src/RequestError.js | 1 + .../@octokit/types/dist-src/RequestHeaders.js | 1 + .../types/dist-src/RequestInterface.js | 1 + .../@octokit/types/dist-src/RequestMethod.js | 1 + .../@octokit/types/dist-src/RequestOptions.js | 1 + .../types/dist-src/RequestParameters.js | 1 + .../types/dist-src/RequestRequestOptions.js | 1 + .../types/dist-src/ResponseHeaders.js | 1 + node_modules/@octokit/types/dist-src/Route.js | 1 + .../@octokit/types/dist-src/Signal.js | 1 + .../types/dist-src/StrategyInterface.js | 1 + node_modules/@octokit/types/dist-src/Url.js | 1 + .../@octokit/types/dist-src/VERSION.js | 1 + .../types/dist-src/generated/Endpoints.js | 1 + node_modules/@octokit/types/dist-src/index.js | 21 + .../types/dist-types/AuthInterface.d.ts | 31 + .../types/dist-types/EndpointDefaults.d.ts | 21 + .../types/dist-types/EndpointInterface.d.ts | 65 + .../types/dist-types/EndpointOptions.d.ts | 7 + .../@octokit/types/dist-types/Fetch.d.ts | 4 + .../GetResponseTypeFromEndpointMethod.d.ts | 5 + .../types/dist-types/OctokitResponse.d.ts | 17 + .../types/dist-types/RequestError.d.ts | 11 + .../types/dist-types/RequestHeaders.d.ts | 15 + .../types/dist-types/RequestInterface.d.ts | 34 + .../types/dist-types/RequestMethod.d.ts | 4 + .../types/dist-types/RequestOptions.d.ts | 14 + .../types/dist-types/RequestParameters.d.ts | 45 + .../dist-types/RequestRequestOptions.d.ts | 26 + .../types/dist-types/ResponseHeaders.d.ts | 20 + .../@octokit/types/dist-types/Route.d.ts | 4 + .../@octokit/types/dist-types/Signal.d.ts | 6 + .../types/dist-types/StrategyInterface.d.ts | 4 + .../@octokit/types/dist-types/Url.d.ts | 4 + .../@octokit/types/dist-types/VERSION.d.ts | 1 + .../types/dist-types/generated/Endpoints.d.ts | 3571 + .../@octokit/types/dist-types/index.d.ts | 21 + node_modules/@octokit/types/dist-web/index.js | 4 + .../@octokit/types/dist-web/index.js.map | 1 + node_modules/@octokit/types/package.json | 54 + node_modules/@types/node/LICENSE | 21 + node_modules/@types/node/README.md | 15 + node_modules/@types/node/assert.d.ts | 950 + node_modules/@types/node/assert/strict.d.ts | 59 + node_modules/@types/node/async_hooks.d.ts | 711 + node_modules/@types/node/buffer.buffer.d.ts | 466 + node_modules/@types/node/buffer.d.ts | 1765 + node_modules/@types/node/child_process.d.ts | 1366 + node_modules/@types/node/cluster.d.ts | 432 + .../@types/node/compatibility/iterators.d.ts | 21 + node_modules/@types/node/console.d.ts | 93 + node_modules/@types/node/constants.d.ts | 14 + node_modules/@types/node/crypto.d.ts | 4058 + node_modules/@types/node/dgram.d.ts | 537 + .../@types/node/diagnostics_channel.d.ts | 552 + node_modules/@types/node/dns.d.ts | 876 + node_modules/@types/node/dns/promises.d.ts | 497 + node_modules/@types/node/domain.d.ts | 150 + node_modules/@types/node/events.d.ts | 1008 + node_modules/@types/node/fs.d.ts | 4780 + node_modules/@types/node/fs/promises.d.ts | 1468 + node_modules/@types/node/globals.d.ts | 150 + .../@types/node/globals.typedarray.d.ts | 101 + node_modules/@types/node/http.d.ts | 2147 + node_modules/@types/node/http2.d.ts | 2489 + node_modules/@types/node/https.d.ts | 400 + node_modules/@types/node/index.d.ts | 117 + node_modules/@types/node/inspector.d.ts | 264 + .../@types/node/inspector.generated.d.ts | 4406 + .../@types/node/inspector/promises.d.ts | 35 + node_modules/@types/node/module.d.ts | 755 + node_modules/@types/node/net.d.ts | 970 + node_modules/@types/node/os.d.ts | 498 + node_modules/@types/node/package.json | 155 + node_modules/@types/node/path.d.ts | 178 + node_modules/@types/node/path/posix.d.ts | 8 + node_modules/@types/node/path/win32.d.ts | 8 + node_modules/@types/node/perf_hooks.d.ts | 612 + node_modules/@types/node/process.d.ts | 2204 + node_modules/@types/node/punycode.d.ts | 89 + node_modules/@types/node/querystring.d.ts | 139 + node_modules/@types/node/quic.d.ts | 897 + node_modules/@types/node/readline.d.ts | 507 + .../@types/node/readline/promises.d.ts | 158 + node_modules/@types/node/repl.d.ts | 420 + node_modules/@types/node/sea.d.ts | 47 + node_modules/@types/node/sqlite.d.ts | 1068 + node_modules/@types/node/stream.d.ts | 1774 + .../@types/node/stream/consumers.d.ts | 114 + node_modules/@types/node/stream/iter.d.ts | 301 + node_modules/@types/node/stream/promises.d.ts | 211 + node_modules/@types/node/stream/web.d.ts | 300 + node_modules/@types/node/string_decoder.d.ts | 27 + node_modules/@types/node/test.d.ts | 2279 + node_modules/@types/node/test/reporters.d.ts | 59 + node_modules/@types/node/timers.d.ts | 149 + node_modules/@types/node/timers/promises.d.ts | 93 + node_modules/@types/node/tls.d.ts | 1193 + node_modules/@types/node/trace_events.d.ts | 103 + .../@types/node/ts5.6/buffer.buffer.d.ts | 462 + .../ts5.6/compatibility/float16array.d.ts | 71 + .../@types/node/ts5.6/globals.typedarray.d.ts | 36 + node_modules/@types/node/ts5.6/index.d.ts | 119 + .../ts5.7/compatibility/float16array.d.ts | 72 + node_modules/@types/node/ts5.7/index.d.ts | 119 + node_modules/@types/node/tty.d.ts | 225 + node_modules/@types/node/url.d.ts | 556 + node_modules/@types/node/util.d.ts | 1677 + node_modules/@types/node/util/types.d.ts | 558 + node_modules/@types/node/v8.d.ts | 980 + node_modules/@types/node/vm.d.ts | 1136 + node_modules/@types/node/wasi.d.ts | 131 + .../node/web-globals/abortcontroller.d.ts | 59 + .../@types/node/web-globals/blob.d.ts | 23 + .../@types/node/web-globals/console.d.ts | 9 + .../@types/node/web-globals/crypto.d.ts | 39 + .../@types/node/web-globals/domexception.d.ts | 68 + .../@types/node/web-globals/encoding.d.ts | 11 + .../@types/node/web-globals/events.d.ts | 106 + .../@types/node/web-globals/fetch.d.ts | 69 + .../@types/node/web-globals/importmeta.d.ts | 13 + .../@types/node/web-globals/messaging.d.ts | 23 + .../@types/node/web-globals/navigator.d.ts | 25 + .../@types/node/web-globals/performance.d.ts | 45 + .../@types/node/web-globals/storage.d.ts | 24 + .../@types/node/web-globals/streams.d.ts | 115 + .../@types/node/web-globals/timers.d.ts | 44 + node_modules/@types/node/web-globals/url.d.ts | 24 + node_modules/@types/node/worker_threads.d.ts | 671 + node_modules/@types/node/zlib.d.ts | 589 + node_modules/@types/node/zlib/iter.d.ts | 131 + node_modules/atob-lite/package.json | 6 +- node_modules/before-after-hook/README.md | 327 +- node_modules/before-after-hook/index.d.ts | 170 +- node_modules/before-after-hook/index.js | 82 +- node_modules/before-after-hook/lib/add.js | 40 +- .../before-after-hook/lib/register.js | 31 +- node_modules/before-after-hook/lib/remove.js | 16 +- node_modules/before-after-hook/package.json | 51 +- node_modules/btoa-lite/package.json | 6 +- node_modules/content-type/LICENSE | 22 + node_modules/content-type/README.md | 69 + node_modules/content-type/dist/index.d.ts | 26 + node_modules/content-type/dist/index.js | 170 + node_modules/content-type/dist/index.js.map | 1 + node_modules/content-type/package.json | 52 + node_modules/cross-spawn/CHANGELOG.md | 100 - node_modules/cross-spawn/lib/util/escape.js | 6 +- .../cross-spawn/lib/util/resolveCommand.js | 8 +- node_modules/cross-spawn/package.json | 11 +- node_modules/end-of-stream/README.md | 2 + node_modules/end-of-stream/index.js | 13 +- node_modules/end-of-stream/package.json | 13 +- node_modules/is-plain-object/README.md | 18 +- .../is-plain-object/dist/is-plain-object.js | 38 + .../{index.js => dist/is-plain-object.mjs} | 19 +- node_modules/is-plain-object/index.cjs.js | 48 - node_modules/is-plain-object/index.d.ts | 3 - .../is-plain-object/is-plain-object.d.ts | 1 + node_modules/is-plain-object/package.json | 39 +- node_modules/is-stream/package.json | 6 +- node_modules/isexe/package.json | 6 +- node_modules/isobject/README.md | 127 - node_modules/isobject/index.cjs.js | 14 - node_modules/isobject/index.d.ts | 3 - node_modules/isobject/index.js | 10 - node_modules/isobject/package.json | 84 - .../json-with-bigint/.github/workflows/ci.yml | 30 + node_modules/json-with-bigint/LICENSE | 21 + node_modules/json-with-bigint/README.md | 131 + .../json-with-bigint/__tests__/helpers.cjs | 11 + .../__tests__/performance.cjs | 146 + .../__tests__/performance.mjs | 146 + .../json-with-bigint/__tests__/unit.cjs | 158 + .../json-with-bigint/__tests__/unit.mjs | 158 + .../json-with-bigint/json-with-bigint.cjs | 221 + .../json-with-bigint/json-with-bigint.d.cts | 3 + .../json-with-bigint/json-with-bigint.d.ts | 3 + .../json-with-bigint/json-with-bigint.js | 215 + .../json-with-bigint/json-with-bigint.min.js | 1 + node_modules/json-with-bigint/package.json | 32 + .../json-with-bigint/scripts/build-cjs.js | 58 + node_modules/json-with-bigint/tsconfig.json | 9 + node_modules/lodash.get/package.json | 6 +- node_modules/lodash.set/package.json | 6 +- node_modules/lodash.uniq/package.json | 6 +- node_modules/macos-release/index.d.ts | 10 +- node_modules/macos-release/index.js | 39 +- node_modules/macos-release/license | 2 +- node_modules/macos-release/package.json | 11 +- node_modules/macos-release/readme.md | 30 +- node_modules/node-fetch/README.md | 46 +- node_modules/node-fetch/browser.js | 14 +- node_modules/node-fetch/lib/index.es.js | 103 +- node_modules/node-fetch/lib/index.js | 102 +- node_modules/node-fetch/lib/index.mjs | 103 +- node_modules/node-fetch/package.json | 19 +- node_modules/npm-run-path/package.json | 6 +- node_modules/once/package.json | 6 +- node_modules/p-finally/package.json | 6 +- node_modules/path-key/package.json | 6 +- node_modules/pump/.github/FUNDING.yml | 2 + node_modules/pump/README.md | 9 + node_modules/pump/SECURITY.md | 5 + node_modules/pump/empty.js | 1 + node_modules/pump/index.js | 8 +- node_modules/pump/package.json | 14 +- node_modules/semver/CHANGELOG.md | 39 - node_modules/semver/package.json | 34 +- node_modules/semver/semver.js | 94 +- node_modules/shebang-command/package.json | 6 +- node_modules/shebang-regex/package.json | 6 +- node_modules/signal-exit/CHANGELOG.md | 27 - node_modules/signal-exit/README.md | 3 +- node_modules/signal-exit/index.js | 293 +- node_modules/signal-exit/package.json | 26 +- node_modules/strip-eof/package.json | 6 +- node_modules/type-fest/index.d.ts | 130 + node_modules/type-fest/package.json | 59 + node_modules/type-fest/readme.md | 922 + .../type-fest/source/async-return-type.d.ts | 23 + node_modules/type-fest/source/asyncify.d.ts | 32 + node_modules/type-fest/source/basic.d.ts | 68 + node_modules/type-fest/source/camel-case.d.ts | 80 + .../source/camel-cased-properties-deep.d.ts | 54 + .../source/camel-cased-properties.d.ts | 36 + .../type-fest/source/conditional-except.d.ts | 45 + .../type-fest/source/conditional-keys.d.ts | 47 + .../source/conditional-pick-deep.d.ts | 102 + .../type-fest/source/conditional-pick.d.ts | 44 + .../source/conditional-simplify.d.ts | 32 + .../type-fest/source/delimiter-case.d.ts | 99 + .../delimiter-cased-properties-deep.d.ts | 60 + .../source/delimiter-cased-properties.d.ts | 37 + .../type-fest/source/empty-object.d.ts | 46 + .../type-fest/source/enforce-optional.d.ts | 47 + node_modules/type-fest/source/entries.d.ts | 62 + node_modules/type-fest/source/entry.d.ts | 65 + node_modules/type-fest/source/exact.d.ts | 62 + node_modules/type-fest/source/except.d.ts | 80 + .../type-fest/source/fixed-length-array.d.ts | 43 + node_modules/type-fest/source/get.d.ts | 191 + .../type-fest/source/global-this.d.ts | 21 + .../type-fest/source/has-optional-keys.d.ts | 21 + .../type-fest/source/has-readonly-keys.d.ts | 21 + .../type-fest/source/has-required-keys.d.ts | 59 + .../type-fest/source/has-writable-keys.d.ts | 21 + node_modules/type-fest/source/if-any.d.ts | 24 + node_modules/type-fest/source/if-never.d.ts | 24 + node_modules/type-fest/source/if-unknown.d.ts | 24 + node_modules/type-fest/source/includes.d.ts | 22 + node_modules/type-fest/source/internal.d.ts | 253 + .../type-fest/source/invariant-of.d.ts | 76 + node_modules/type-fest/source/is-any.d.ts | 29 + node_modules/type-fest/source/is-equal.d.ts | 31 + node_modules/type-fest/source/is-literal.d.ts | 253 + node_modules/type-fest/source/is-never.d.ts | 49 + node_modules/type-fest/source/is-unknown.d.ts | 52 + .../type-fest/source/iterable-element.d.ts | 54 + node_modules/type-fest/source/join.d.ts | 68 + .../type-fest/source/jsonifiable.d.ts | 37 + node_modules/type-fest/source/jsonify.d.ts | 115 + node_modules/type-fest/source/kebab-case.d.ts | 38 + .../source/kebab-cased-properties-deep.d.ts | 47 + .../source/kebab-cased-properties.d.ts | 30 + .../type-fest/source/last-array-element.d.ts | 28 + .../source/literal-to-primitive-deep.d.ts | 36 + .../source/literal-to-primitive.d.ts | 36 + .../type-fest/source/literal-union.d.ts | 35 + node_modules/type-fest/source/merge-deep.d.ts | 470 + .../type-fest/source/merge-exclusive.d.ts | 41 + node_modules/type-fest/source/merge.d.ts | 46 + .../source/multidimensional-array.d.ts | 44 + .../multidimensional-readonly-array.d.ts | 48 + node_modules/type-fest/source/numeric.d.ts | 170 + .../type-fest/source/observable-like.d.ts | 63 + .../source/omit-index-signature.d.ts | 107 + node_modules/type-fest/source/opaque.d.ts | 107 + .../type-fest/source/optional-keys-of.d.ts | 38 + .../type-fest/source/override-properties.d.ts | 29 + .../type-fest/source/package-json.d.ts | 676 + .../type-fest/source/partial-deep.d.ts | 111 + .../source/partial-on-undefined-deep.d.ts | 70 + .../type-fest/source/pascal-case.d.ts | 38 + .../source/pascal-cased-properties-deep.d.ts | 54 + .../source/pascal-cased-properties.d.ts | 34 + .../source/pick-index-signature.d.ts | 102 + node_modules/type-fest/source/primitive.d.ts | 13 + node_modules/type-fest/source/promisable.d.ts | 25 + .../type-fest/source/readonly-deep.d.ts | 70 + .../type-fest/source/readonly-keys-of.d.ts | 29 + .../type-fest/source/readonly-tuple.d.ts | 41 + node_modules/type-fest/source/replace.d.ts | 67 + .../type-fest/source/require-all-or-none.d.ts | 36 + .../source/require-at-least-one.d.ts | 34 + .../type-fest/source/require-exactly-one.d.ts | 34 + .../type-fest/source/required-deep.d.ts | 78 + .../type-fest/source/required-keys-of.d.ts | 29 + node_modules/type-fest/source/schema.d.ts | 71 + .../source/screaming-snake-case.d.ts | 33 + .../type-fest/source/set-non-nullable.d.ts | 39 + .../type-fest/source/set-optional.d.ts | 35 + .../type-fest/source/set-readonly.d.ts | 38 + .../type-fest/source/set-required.d.ts | 40 + .../type-fest/source/set-return-type.d.ts | 29 + node_modules/type-fest/source/simplify.d.ts | 58 + node_modules/type-fest/source/snake-case.d.ts | 38 + .../source/snake-cased-properties-deep.d.ts | 47 + .../source/snake-cased-properties.d.ts | 30 + .../type-fest/source/split-words.d.ts | 57 + node_modules/type-fest/source/split.d.ts | 29 + node_modules/type-fest/source/spread.d.ts | 85 + .../type-fest/source/string-key-of.d.ts | 25 + .../type-fest/source/stringified.d.ts | 23 + .../type-fest/source/tagged-union.d.ts | 51 + node_modules/type-fest/source/trim.d.ts | 27 + .../type-fest/source/tsconfig-json.d.ts | 1179 + .../type-fest/source/tuple-to-union.d.ts | 51 + .../type-fest/source/typed-array.d.ts | 17 + .../source/union-to-intersection.d.ts | 60 + node_modules/type-fest/source/value-of.d.ts | 42 + .../type-fest/source/writable-deep.d.ts | 64 + .../type-fest/source/writable-keys-of.d.ts | 30 + node_modules/type-fest/source/writable.d.ts | 40 + node_modules/undici-types/LICENSE | 21 + node_modules/undici-types/README.md | 6 + node_modules/undici-types/agent.d.ts | 32 + node_modules/undici-types/api.d.ts | 43 + node_modules/undici-types/balanced-pool.d.ts | 30 + .../undici-types/cache-interceptor.d.ts | 179 + node_modules/undici-types/cache.d.ts | 36 + node_modules/undici-types/client-stats.d.ts | 15 + node_modules/undici-types/client.d.ts | 123 + node_modules/undici-types/connector.d.ts | 36 + node_modules/undici-types/content-type.d.ts | 21 + node_modules/undici-types/cookies.d.ts | 30 + .../undici-types/diagnostics-channel.d.ts | 74 + node_modules/undici-types/dispatcher.d.ts | 279 + .../undici-types/env-http-proxy-agent.d.ts | 22 + node_modules/undici-types/errors.d.ts | 177 + node_modules/undici-types/eventsource.d.ts | 66 + node_modules/undici-types/fetch.d.ts | 211 + node_modules/undici-types/formdata.d.ts | 108 + .../undici-types/global-dispatcher.d.ts | 9 + node_modules/undici-types/global-origin.d.ts | 7 + node_modules/undici-types/h2c-client.d.ts | 73 + node_modules/undici-types/handlers.d.ts | 15 + node_modules/undici-types/header.d.ts | 160 + node_modules/undici-types/index.d.ts | 91 + node_modules/undici-types/interceptors.d.ts | 80 + node_modules/undici-types/mock-agent.d.ts | 68 + .../undici-types/mock-call-history.d.ts | 111 + node_modules/undici-types/mock-client.d.ts | 27 + node_modules/undici-types/mock-errors.d.ts | 12 + .../undici-types/mock-interceptor.d.ts | 94 + node_modules/undici-types/mock-pool.d.ts | 27 + node_modules/undici-types/package.json | 55 + node_modules/undici-types/patch.d.ts | 29 + node_modules/undici-types/pool-stats.d.ts | 19 + node_modules/undici-types/pool.d.ts | 41 + node_modules/undici-types/proxy-agent.d.ts | 29 + node_modules/undici-types/readable.d.ts | 68 + node_modules/undici-types/retry-agent.d.ts | 8 + node_modules/undici-types/retry-handler.d.ts | 125 + .../undici-types/round-robin-pool.d.ts | 41 + node_modules/undici-types/snapshot-agent.d.ts | 109 + .../undici-types/socks5-proxy-agent.d.ts | 25 + node_modules/undici-types/util.d.ts | 18 + node_modules/undici-types/utility.d.ts | 7 + node_modules/undici-types/webidl.d.ts | 347 + node_modules/undici-types/websocket.d.ts | 188 + node_modules/undici/LICENSE | 21 + node_modules/undici/README.md | 443 + node_modules/undici/docs/api/Agent.md | 80 + node_modules/undici/docs/api/BalancedPool.md | 99 + node_modules/undici/docs/api/CacheStorage.md | 30 + node_modules/undici/docs/api/Client.md | 273 + node_modules/undici/docs/api/Connector.md | 115 + node_modules/undici/docs/api/ContentType.md | 57 + node_modules/undici/docs/api/Cookies.md | 101 + .../undici/docs/api/DiagnosticsChannel.md | 204 + .../undici/docs/api/DispatchInterceptor.md | 60 + node_modules/undici/docs/api/Dispatcher.md | 887 + node_modules/undici/docs/api/Errors.md | 47 + node_modules/undici/docs/api/Fetch.md | 27 + node_modules/undici/docs/api/MockAgent.md | 540 + node_modules/undici/docs/api/MockClient.md | 77 + node_modules/undici/docs/api/MockErrors.md | 12 + node_modules/undici/docs/api/MockPool.md | 547 + node_modules/undici/docs/api/Pool.md | 84 + node_modules/undici/docs/api/PoolStats.md | 35 + node_modules/undici/docs/api/ProxyAgent.md | 126 + node_modules/undici/docs/api/RetryHandler.md | 108 + node_modules/undici/docs/api/WebSocket.md | 43 + node_modules/undici/docs/api/api-lifecycle.md | 62 + .../undici/docs/assets/lifecycle-diagram.png | Bin 0 -> 47090 bytes .../docs/best-practices/client-certificate.md | 64 + .../docs/best-practices/mocking-request.md | 136 + .../undici/docs/best-practices/proxy.md | 127 + .../docs/best-practices/writing-tests.md | 20 + node_modules/undici/index-fetch.js | 15 + node_modules/undici/index.d.ts | 3 + node_modules/undici/index.js | 167 + node_modules/undici/lib/agent.js | 148 + node_modules/undici/lib/api/abort-signal.js | 54 + node_modules/undici/lib/api/api-connect.js | 104 + node_modules/undici/lib/api/api-pipeline.js | 249 + node_modules/undici/lib/api/api-request.js | 180 + node_modules/undici/lib/api/api-stream.js | 220 + node_modules/undici/lib/api/api-upgrade.js | 105 + node_modules/undici/lib/api/index.js | 7 + node_modules/undici/lib/api/readable.js | 322 + node_modules/undici/lib/api/util.js | 46 + node_modules/undici/lib/balanced-pool.js | 190 + node_modules/undici/lib/cache/cache.js | 838 + node_modules/undici/lib/cache/cachestorage.js | 144 + node_modules/undici/lib/cache/symbols.js | 5 + node_modules/undici/lib/cache/util.js | 49 + node_modules/undici/lib/client.js | 2283 + .../undici/lib/compat/dispatcher-weakref.js | 48 + node_modules/undici/lib/cookies/constants.js | 12 + node_modules/undici/lib/cookies/index.js | 183 + node_modules/undici/lib/cookies/parse.js | 317 + node_modules/undici/lib/cookies/util.js | 274 + node_modules/undici/lib/core/connect.js | 189 + node_modules/undici/lib/core/constants.js | 118 + node_modules/undici/lib/core/errors.js | 230 + node_modules/undici/lib/core/request.js | 499 + node_modules/undici/lib/core/symbols.js | 63 + node_modules/undici/lib/core/util.js | 522 + node_modules/undici/lib/dispatcher-base.js | 192 + node_modules/undici/lib/dispatcher.js | 19 + node_modules/undici/lib/fetch/LICENSE | 21 + node_modules/undici/lib/fetch/body.js | 613 + node_modules/undici/lib/fetch/constants.js | 151 + node_modules/undici/lib/fetch/dataURL.js | 627 + node_modules/undici/lib/fetch/file.js | 344 + node_modules/undici/lib/fetch/formdata.js | 265 + node_modules/undici/lib/fetch/global.js | 40 + node_modules/undici/lib/fetch/headers.js | 593 + node_modules/undici/lib/fetch/index.js | 2148 + node_modules/undici/lib/fetch/request.js | 946 + node_modules/undici/lib/fetch/response.js | 571 + node_modules/undici/lib/fetch/symbols.js | 10 + node_modules/undici/lib/fetch/util.js | 1144 + node_modules/undici/lib/fetch/webidl.js | 646 + node_modules/undici/lib/fileapi/encoding.js | 290 + node_modules/undici/lib/fileapi/filereader.js | 344 + .../undici/lib/fileapi/progressevent.js | 78 + node_modules/undici/lib/fileapi/symbols.js | 10 + node_modules/undici/lib/fileapi/util.js | 392 + node_modules/undici/lib/global.js | 32 + .../undici/lib/handler/DecoratorHandler.js | 35 + .../undici/lib/handler/RedirectHandler.js | 221 + .../undici/lib/handler/RetryHandler.js | 336 + .../lib/interceptor/redirectInterceptor.js | 21 + node_modules/undici/lib/llhttp/constants.d.ts | 199 + node_modules/undici/lib/llhttp/constants.js | 278 + .../undici/lib/llhttp/constants.js.map | 1 + node_modules/undici/lib/llhttp/llhttp-wasm.js | 1 + node_modules/undici/lib/llhttp/llhttp.wasm | Bin 0 -> 55466 bytes .../undici/lib/llhttp/llhttp_simd-wasm.js | 1 + .../undici/lib/llhttp/llhttp_simd.wasm | Bin 0 -> 55450 bytes node_modules/undici/lib/llhttp/utils.d.ts | 4 + node_modules/undici/lib/llhttp/utils.js | 15 + node_modules/undici/lib/llhttp/utils.js.map | 1 + .../undici/lib/llhttp/wasm_build_env.txt | 32 + node_modules/undici/lib/mock/mock-agent.js | 171 + node_modules/undici/lib/mock/mock-client.js | 59 + node_modules/undici/lib/mock/mock-errors.js | 17 + .../undici/lib/mock/mock-interceptor.js | 206 + node_modules/undici/lib/mock/mock-pool.js | 59 + node_modules/undici/lib/mock/mock-symbols.js | 23 + node_modules/undici/lib/mock/mock-utils.js | 351 + .../mock/pending-interceptors-formatter.js | 40 + node_modules/undici/lib/mock/pluralizer.js | 29 + node_modules/undici/lib/node/fixed-queue.js | 117 + node_modules/undici/lib/pool-base.js | 194 + node_modules/undici/lib/pool-stats.js | 34 + node_modules/undici/lib/pool.js | 108 + node_modules/undici/lib/proxy-agent.js | 189 + node_modules/undici/lib/timers.js | 97 + .../undici/lib/websocket/connection.js | 291 + .../undici/lib/websocket/constants.js | 51 + node_modules/undici/lib/websocket/events.js | 303 + node_modules/undici/lib/websocket/frame.js | 73 + node_modules/undici/lib/websocket/receiver.js | 344 + node_modules/undici/lib/websocket/symbols.js | 12 + node_modules/undici/lib/websocket/util.js | 200 + .../undici/lib/websocket/websocket.js | 641 + node_modules/undici/package.json | 167 + node_modules/undici/types/README.md | 6 + node_modules/undici/types/agent.d.ts | 31 + node_modules/undici/types/api.d.ts | 43 + node_modules/undici/types/balanced-pool.d.ts | 18 + node_modules/undici/types/cache.d.ts | 36 + node_modules/undici/types/client.d.ts | 97 + node_modules/undici/types/connector.d.ts | 34 + node_modules/undici/types/content-type.d.ts | 21 + node_modules/undici/types/cookies.d.ts | 28 + .../undici/types/diagnostics-channel.d.ts | 67 + node_modules/undici/types/dispatcher.d.ts | 241 + node_modules/undici/types/errors.d.ts | 128 + node_modules/undici/types/fetch.d.ts | 209 + node_modules/undici/types/file.d.ts | 39 + node_modules/undici/types/filereader.d.ts | 54 + node_modules/undici/types/formdata.d.ts | 108 + .../undici/types/global-dispatcher.d.ts | 9 + node_modules/undici/types/global-origin.d.ts | 7 + node_modules/undici/types/handlers.d.ts | 9 + node_modules/undici/types/header.d.ts | 4 + node_modules/undici/types/index.d.ts | 65 + node_modules/undici/types/interceptors.d.ts | 5 + node_modules/undici/types/mock-agent.d.ts | 50 + node_modules/undici/types/mock-client.d.ts | 25 + node_modules/undici/types/mock-errors.d.ts | 12 + .../undici/types/mock-interceptor.d.ts | 93 + node_modules/undici/types/mock-pool.d.ts | 25 + node_modules/undici/types/patch.d.ts | 71 + node_modules/undici/types/pool-stats.d.ts | 19 + node_modules/undici/types/pool.d.ts | 28 + node_modules/undici/types/proxy-agent.d.ts | 30 + node_modules/undici/types/readable.d.ts | 61 + node_modules/undici/types/retry-handler.d.ts | 116 + node_modules/undici/types/webidl.d.ts | 220 + node_modules/undici/types/websocket.d.ts | 131 + .../.github/workflows/release.yml | 27 + .../.github/workflows/test.yml | 66 + .../.github/workflows/update-prettier.yml | 25 + node_modules/universal-user-agent/.travis.yml | 38 - .../universal-user-agent/CODE_OF_CONDUCT.md | 74 + node_modules/universal-user-agent/LICENSE.md | 2 +- node_modules/universal-user-agent/README.md | 14 +- node_modules/universal-user-agent/SECURITY.md | 5 + node_modules/universal-user-agent/browser.js | 6 - .../universal-user-agent/cypress.json | 4 - node_modules/universal-user-agent/index.d.ts | 5 +- node_modules/universal-user-agent/index.js | 22 +- .../universal-user-agent/index.test-d.ts | 5 + .../universal-user-agent/index.test.js | 40 + .../universal-user-agent/package.json | 59 +- .../universal-user-agent/test/smoke-test.js | 57 - node_modules/windows-release/index.js | 16 +- node_modules/windows-release/license | 2 +- node_modules/windows-release/package.json | 11 +- node_modules/windows-release/readme.md | 21 +- node_modules/wrappy/package.json | 6 +- package-lock.json | 943 +- 1143 files changed, 534749 insertions(+), 44298 deletions(-) create mode 100644 node_modules/@actions/core/lib/path-utils.d.ts create mode 100644 node_modules/@actions/core/lib/path-utils.js create mode 100644 node_modules/@actions/core/lib/path-utils.js.map create mode 100644 node_modules/@actions/core/lib/platform.d.ts create mode 100644 node_modules/@actions/core/lib/platform.js create mode 100644 node_modules/@actions/core/lib/platform.js.map create mode 100644 node_modules/@actions/core/lib/summary.d.ts create mode 100644 node_modules/@actions/core/lib/summary.js create mode 100644 node_modules/@actions/core/lib/summary.js.map create mode 100644 node_modules/@actions/exec/LICENSE.md create mode 100644 node_modules/@actions/exec/README.md create mode 100644 node_modules/@actions/exec/lib/exec.d.ts create mode 100644 node_modules/@actions/exec/lib/exec.js create mode 100644 node_modules/@actions/exec/lib/exec.js.map create mode 100644 node_modules/@actions/exec/lib/interfaces.d.ts rename node_modules/@actions/{http-client => exec/lib}/interfaces.js (66%) create mode 100644 node_modules/@actions/exec/lib/interfaces.js.map create mode 100644 node_modules/@actions/exec/lib/toolrunner.d.ts create mode 100644 node_modules/@actions/exec/lib/toolrunner.js create mode 100644 node_modules/@actions/exec/lib/toolrunner.js.map create mode 100644 node_modules/@actions/exec/package.json delete mode 100644 node_modules/@actions/http-client/RELEASES.md delete mode 100644 node_modules/@actions/http-client/actions.png delete mode 100644 node_modules/@actions/http-client/auth.d.ts delete mode 100644 node_modules/@actions/http-client/auth.js delete mode 100644 node_modules/@actions/http-client/index.js delete mode 100644 node_modules/@actions/http-client/interfaces.d.ts create mode 100644 node_modules/@actions/http-client/lib/auth.d.ts create mode 100644 node_modules/@actions/http-client/lib/auth.js create mode 100644 node_modules/@actions/http-client/lib/auth.js.map rename node_modules/@actions/http-client/{ => lib}/index.d.ts (62%) create mode 100644 node_modules/@actions/http-client/lib/index.js create mode 100644 node_modules/@actions/http-client/lib/index.js.map create mode 100644 node_modules/@actions/http-client/lib/interfaces.d.ts create mode 100644 node_modules/@actions/http-client/lib/interfaces.js create mode 100644 node_modules/@actions/http-client/lib/interfaces.js.map rename node_modules/@actions/http-client/{ => lib}/proxy.d.ts (100%) create mode 100644 node_modules/@actions/http-client/lib/proxy.js create mode 100644 node_modules/@actions/http-client/lib/proxy.js.map delete mode 100644 node_modules/@actions/http-client/proxy.js create mode 100644 node_modules/@actions/io/LICENSE.md create mode 100644 node_modules/@actions/io/README.md create mode 100644 node_modules/@actions/io/lib/io-util.d.ts create mode 100644 node_modules/@actions/io/lib/io-util.js create mode 100644 node_modules/@actions/io/lib/io-util.js.map create mode 100644 node_modules/@actions/io/lib/io.d.ts create mode 100644 node_modules/@actions/io/lib/io.js create mode 100644 node_modules/@actions/io/lib/io.js.map create mode 100644 node_modules/@actions/io/package.json create mode 100644 node_modules/@fastify/busboy/LICENSE create mode 100644 node_modules/@fastify/busboy/README.md create mode 100644 node_modules/@fastify/busboy/deps/dicer/LICENSE create mode 100644 node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js create mode 100644 node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js create mode 100644 node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js create mode 100644 node_modules/@fastify/busboy/deps/dicer/lib/dicer.d.ts create mode 100644 node_modules/@fastify/busboy/deps/streamsearch/sbmh.js create mode 100644 node_modules/@fastify/busboy/lib/main.d.ts create mode 100644 node_modules/@fastify/busboy/lib/main.js create mode 100644 node_modules/@fastify/busboy/lib/types/multipart.js create mode 100644 node_modules/@fastify/busboy/lib/types/urlencoded.js create mode 100644 node_modules/@fastify/busboy/lib/utils/Decoder.js create mode 100644 node_modules/@fastify/busboy/lib/utils/basename.js create mode 100644 node_modules/@fastify/busboy/lib/utils/decodeText.js create mode 100644 node_modules/@fastify/busboy/lib/utils/getLimit.js create mode 100644 node_modules/@fastify/busboy/lib/utils/parseParams.js create mode 100644 node_modules/@fastify/busboy/package.json create mode 100644 node_modules/@octokit-next/request/README.md create mode 100644 node_modules/@octokit-next/request/fetch-wrapper.js create mode 100644 node_modules/@octokit-next/request/get-buffer-response.js create mode 100644 node_modules/@octokit-next/request/index.d.ts create mode 100644 node_modules/@octokit-next/request/index.js create mode 100644 node_modules/@octokit-next/request/index.test-d.ts create mode 100644 node_modules/@octokit-next/request/package.json create mode 100644 node_modules/@octokit-next/request/test/defaults.test.js create mode 100644 node_modules/@octokit-next/request/test/request.test.js create mode 100644 node_modules/@octokit-next/request/version.js create mode 100644 node_modules/@octokit-next/request/with-defaults.js create mode 100644 node_modules/@octokit-next/types/README.md create mode 100644 node_modules/@octokit-next/types/endpoint.d.ts create mode 100644 node_modules/@octokit-next/types/index.d.ts create mode 100644 node_modules/@octokit-next/types/package.json create mode 100644 node_modules/@octokit-next/types/request.d.ts create mode 100644 node_modules/@octokit-next/types/utils.d.ts rename node_modules/{isobject => @octokit/auth-token}/LICENSE (93%) create mode 100644 node_modules/@octokit/auth-token/README.md create mode 100644 node_modules/@octokit/auth-token/dist-node/index.js create mode 100644 node_modules/@octokit/auth-token/dist-node/index.js.map create mode 100644 node_modules/@octokit/auth-token/dist-src/auth.js create mode 100644 node_modules/@octokit/auth-token/dist-src/hook.js create mode 100644 node_modules/@octokit/auth-token/dist-src/index.js create mode 100644 node_modules/@octokit/auth-token/dist-src/types.js create mode 100644 node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js create mode 100644 node_modules/@octokit/auth-token/dist-types/auth.d.ts create mode 100644 node_modules/@octokit/auth-token/dist-types/hook.d.ts create mode 100644 node_modules/@octokit/auth-token/dist-types/index.d.ts create mode 100644 node_modules/@octokit/auth-token/dist-types/types.d.ts create mode 100644 node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts create mode 100644 node_modules/@octokit/auth-token/dist-web/index.js create mode 100644 node_modules/@octokit/auth-token/dist-web/index.js.map create mode 100644 node_modules/@octokit/auth-token/package.json create mode 100644 node_modules/@octokit/core/LICENSE create mode 100644 node_modules/@octokit/core/README.md create mode 100644 node_modules/@octokit/core/dist-src/index.js create mode 100644 node_modules/@octokit/core/dist-src/version.js create mode 100644 node_modules/@octokit/core/dist-types/index.d.ts create mode 100644 node_modules/@octokit/core/dist-types/types.d.ts create mode 100644 node_modules/@octokit/core/dist-types/version.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/LICENSE create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/README.md create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-bundle/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-bundle/index.js.map create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/auth.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/hook.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/is-jwt.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/auth.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/hook.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/index.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/is-jwt.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/types.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/auth-token/package.json rename node_modules/@octokit/{graphql => core/node_modules/@octokit/endpoint}/LICENSE (100%) create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/README.md create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-bundle/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-bundle/index.js.map create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/defaults.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/merge.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/parse.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/omit.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/url-template.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/version.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/with-defaults.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/defaults.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/index.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/merge.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/parse.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/version.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/endpoint/package.json create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/LICENSE create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/README.md create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-bundle/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-bundle/index.js.map create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/error.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/graphql.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/version.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/with-defaults.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/error.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/graphql.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/index.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/types.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/version.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/graphql/package.json create mode 100644 node_modules/@octokit/core/node_modules/@octokit/openapi-types/LICENSE create mode 100644 node_modules/@octokit/core/node_modules/@octokit/openapi-types/README.md create mode 100644 node_modules/@octokit/core/node_modules/@octokit/openapi-types/package.json create mode 100644 node_modules/@octokit/core/node_modules/@octokit/openapi-types/types.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request-error/LICENSE create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request-error/README.md create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request-error/dist-src/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/index.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/types.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request-error/package.json create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/LICENSE create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/README.md create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-bundle/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-bundle/index.js.map create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-src/defaults.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-src/fetch-wrapper.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-src/index.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-src/is-plain-object.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-src/version.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-src/with-defaults.js create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-types/defaults.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-types/index.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-types/is-plain-object.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-types/version.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/dist-types/with-defaults.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/request/package.json create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/LICENSE create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/README.md create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/AuthInterface.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Fetch.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestError.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestInterface.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestMethod.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestOptions.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestParameters.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Route.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Url.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/VERSION.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/dist-types/index.d.ts create mode 100644 node_modules/@octokit/core/node_modules/@octokit/types/package.json create mode 100644 node_modules/@octokit/core/node_modules/before-after-hook/LICENSE create mode 100644 node_modules/@octokit/core/node_modules/before-after-hook/README.md create mode 100644 node_modules/@octokit/core/node_modules/before-after-hook/index.d.ts create mode 100644 node_modules/@octokit/core/node_modules/before-after-hook/index.js create mode 100644 node_modules/@octokit/core/node_modules/before-after-hook/lib/add.js create mode 100644 node_modules/@octokit/core/node_modules/before-after-hook/lib/register.js create mode 100644 node_modules/@octokit/core/node_modules/before-after-hook/lib/remove.js create mode 100644 node_modules/@octokit/core/node_modules/before-after-hook/package.json create mode 100644 node_modules/@octokit/core/package.json create mode 100644 node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js delete mode 100644 node_modules/@octokit/endpoint/dist-types/generated/routes.d.ts delete mode 100644 node_modules/@octokit/endpoint/dist-types/types.d.ts create mode 100644 node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts delete mode 100644 node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/browser.js delete mode 100644 node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/node.js delete mode 100644 node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/browser.d.ts delete mode 100644 node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/node.d.ts create mode 100644 node_modules/@octokit/graphql/error.js create mode 100644 node_modules/@octokit/graphql/graphql.js create mode 100644 node_modules/@octokit/graphql/index.d.ts create mode 100644 node_modules/@octokit/graphql/index.test-d.ts delete mode 100644 node_modules/@octokit/graphql/lib/error.js delete mode 100644 node_modules/@octokit/graphql/lib/graphql.js delete mode 100644 node_modules/@octokit/graphql/lib/with-defaults.js create mode 100644 node_modules/@octokit/graphql/test/defaults.test.js create mode 100644 node_modules/@octokit/graphql/test/error.test.js create mode 100644 node_modules/@octokit/graphql/test/graphql.test.js create mode 100644 node_modules/@octokit/graphql/test/with-custom-request.test.js create mode 100644 node_modules/@octokit/graphql/version.js create mode 100644 node_modules/@octokit/graphql/with-defaults.js create mode 100644 node_modules/@octokit/openapi-types/LICENSE create mode 100644 node_modules/@octokit/openapi-types/README.md create mode 100644 node_modules/@octokit/openapi-types/package.json create mode 100644 node_modules/@octokit/openapi-types/types.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/LICENSE create mode 100644 node_modules/@octokit/plugin-paginate-rest/README.md create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-node/index.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/index.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js rename node_modules/@octokit/{endpoint => plugin-paginate-rest}/dist-src/types.js (100%) create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-src/version.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-web/index.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/LICENSE create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/README.md create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js.map rename node_modules/@octokit/{endpoint/dist-src/generated/routes.js => plugin-paginate-rest/node_modules/@octokit/types/dist-src/AuthInterface.js} (100%) rename node_modules/@octokit/{request/dist-src/types.js => plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointDefaults.js} (100%) create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointInterface.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointOptions.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Fetch.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/OctokitResponse.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestHeaders.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestInterface.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestMethod.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestOptions.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestParameters.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestRequestOptions.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/ResponseHeaders.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Route.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Signal.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/StrategyInterface.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Url.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/VERSION.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/generated/Endpoints.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/index.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Fetch.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Route.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Signal.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/index.d.ts create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js.map create mode 100644 node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/package.json create mode 100644 node_modules/@octokit/plugin-paginate-rest/package.json create mode 100644 node_modules/@octokit/plugin-request-log/LICENSE create mode 100644 node_modules/@octokit/plugin-request-log/README.md create mode 100644 node_modules/@octokit/plugin-request-log/dist-node/index.js create mode 100644 node_modules/@octokit/plugin-request-log/dist-node/index.js.map create mode 100644 node_modules/@octokit/plugin-request-log/dist-src/index.js create mode 100644 node_modules/@octokit/plugin-request-log/dist-src/version.js create mode 100644 node_modules/@octokit/plugin-request-log/dist-types/index.d.ts create mode 100644 node_modules/@octokit/plugin-request-log/dist-types/version.d.ts create mode 100644 node_modules/@octokit/plugin-request-log/dist-web/index.js create mode 100644 node_modules/@octokit/plugin-request-log/dist-web/index.js.map create mode 100644 node_modules/@octokit/plugin-request-log/package.json create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/README.md create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/rest-endpoint-methods-types.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/register-endpoints.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/rest-endpoint-methods-types.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/register-endpoints.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/LICENSE create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/README.md create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js.map create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/AuthInterface.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointDefaults.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointInterface.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointOptions.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Fetch.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/OctokitResponse.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestHeaders.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestInterface.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestMethod.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestOptions.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestParameters.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestRequestOptions.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/ResponseHeaders.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Route.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Signal.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/StrategyInterface.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Url.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/VERSION.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/generated/Endpoints.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/index.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/AuthInterface.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestInterface.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Route.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/index.d.ts create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js.map create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/package.json create mode 100644 node_modules/@octokit/plugin-rest-endpoint-methods/package.json create mode 100644 node_modules/@octokit/request-error/dist-node/index.js.map create mode 100644 node_modules/@octokit/request-error/dist-web/index.js.map create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/LICENSE create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/README.md create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js.map create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/AuthInterface.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointDefaults.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointInterface.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointOptions.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Fetch.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/OctokitResponse.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestHeaders.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestInterface.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestMethod.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestOptions.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestParameters.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestRequestOptions.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/ResponseHeaders.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Route.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Signal.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/StrategyInterface.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Url.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/VERSION.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/generated/Endpoints.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/index.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/AuthInterface.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Fetch.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestInterface.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestMethod.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestOptions.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestParameters.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Route.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Signal.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Url.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/VERSION.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/index.d.ts create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js.map create mode 100644 node_modules/@octokit/request-error/node_modules/@octokit/types/package.json delete mode 100644 node_modules/@octokit/request/dist-types/types.d.ts create mode 100644 node_modules/@octokit/request/node_modules/@octokit/request-error/LICENSE create mode 100644 node_modules/@octokit/request/node_modules/@octokit/request-error/README.md create mode 100644 node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js create mode 100644 node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js.map create mode 100644 node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/index.js create mode 100644 node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/types.js create mode 100644 node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/index.d.ts create mode 100644 node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/types.d.ts create mode 100644 node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js create mode 100644 node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js.map create mode 100644 node_modules/@octokit/request/node_modules/@octokit/request-error/package.json delete mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/browser.js delete mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/node.js delete mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/browser.d.ts delete mode 100644 node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/node.d.ts delete mode 100644 node_modules/@octokit/rest/plugins/log/index.js delete mode 100644 node_modules/@octokit/rest/plugins/normalize-git-reference-responses/index.js delete mode 100644 node_modules/@octokit/rest/plugins/pagination/iterator.js delete mode 100644 node_modules/@octokit/rest/plugins/pagination/normalize-paginated-list-response.js delete mode 100644 node_modules/@octokit/rest/plugins/pagination/paginate.js delete mode 100644 node_modules/@octokit/rest/plugins/register-endpoints/index.js delete mode 100644 node_modules/@octokit/rest/plugins/register-endpoints/register-endpoints.js delete mode 100644 node_modules/@octokit/rest/plugins/rest-api-endpoints/index.js delete mode 100644 node_modules/@octokit/rest/plugins/rest-api-endpoints/routes.json create mode 100644 node_modules/@octokit/types/LICENSE create mode 100644 node_modules/@octokit/types/README.md create mode 100644 node_modules/@octokit/types/dist-node/index.js create mode 100644 node_modules/@octokit/types/dist-node/index.js.map create mode 100644 node_modules/@octokit/types/dist-src/AuthInterface.js create mode 100644 node_modules/@octokit/types/dist-src/EndpointDefaults.js create mode 100644 node_modules/@octokit/types/dist-src/EndpointInterface.js create mode 100644 node_modules/@octokit/types/dist-src/EndpointOptions.js create mode 100644 node_modules/@octokit/types/dist-src/Fetch.js create mode 100644 node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js create mode 100644 node_modules/@octokit/types/dist-src/OctokitResponse.js create mode 100644 node_modules/@octokit/types/dist-src/RequestError.js create mode 100644 node_modules/@octokit/types/dist-src/RequestHeaders.js create mode 100644 node_modules/@octokit/types/dist-src/RequestInterface.js create mode 100644 node_modules/@octokit/types/dist-src/RequestMethod.js create mode 100644 node_modules/@octokit/types/dist-src/RequestOptions.js create mode 100644 node_modules/@octokit/types/dist-src/RequestParameters.js create mode 100644 node_modules/@octokit/types/dist-src/RequestRequestOptions.js create mode 100644 node_modules/@octokit/types/dist-src/ResponseHeaders.js create mode 100644 node_modules/@octokit/types/dist-src/Route.js create mode 100644 node_modules/@octokit/types/dist-src/Signal.js create mode 100644 node_modules/@octokit/types/dist-src/StrategyInterface.js create mode 100644 node_modules/@octokit/types/dist-src/Url.js create mode 100644 node_modules/@octokit/types/dist-src/VERSION.js create mode 100644 node_modules/@octokit/types/dist-src/generated/Endpoints.js create mode 100644 node_modules/@octokit/types/dist-src/index.js create mode 100644 node_modules/@octokit/types/dist-types/AuthInterface.d.ts create mode 100644 node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts create mode 100644 node_modules/@octokit/types/dist-types/EndpointInterface.d.ts create mode 100644 node_modules/@octokit/types/dist-types/EndpointOptions.d.ts create mode 100644 node_modules/@octokit/types/dist-types/Fetch.d.ts create mode 100644 node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts create mode 100644 node_modules/@octokit/types/dist-types/OctokitResponse.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestError.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestHeaders.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestInterface.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestMethod.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestOptions.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestParameters.d.ts create mode 100644 node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts create mode 100644 node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts create mode 100644 node_modules/@octokit/types/dist-types/Route.d.ts create mode 100644 node_modules/@octokit/types/dist-types/Signal.d.ts create mode 100644 node_modules/@octokit/types/dist-types/StrategyInterface.d.ts create mode 100644 node_modules/@octokit/types/dist-types/Url.d.ts create mode 100644 node_modules/@octokit/types/dist-types/VERSION.d.ts create mode 100644 node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts create mode 100644 node_modules/@octokit/types/dist-types/index.d.ts create mode 100644 node_modules/@octokit/types/dist-web/index.js create mode 100644 node_modules/@octokit/types/dist-web/index.js.map create mode 100644 node_modules/@octokit/types/package.json create mode 100644 node_modules/@types/node/LICENSE create mode 100644 node_modules/@types/node/README.md create mode 100644 node_modules/@types/node/assert.d.ts create mode 100644 node_modules/@types/node/assert/strict.d.ts create mode 100644 node_modules/@types/node/async_hooks.d.ts create mode 100644 node_modules/@types/node/buffer.buffer.d.ts create mode 100644 node_modules/@types/node/buffer.d.ts create mode 100644 node_modules/@types/node/child_process.d.ts create mode 100644 node_modules/@types/node/cluster.d.ts create mode 100644 node_modules/@types/node/compatibility/iterators.d.ts create mode 100644 node_modules/@types/node/console.d.ts create mode 100644 node_modules/@types/node/constants.d.ts create mode 100644 node_modules/@types/node/crypto.d.ts create mode 100644 node_modules/@types/node/dgram.d.ts create mode 100644 node_modules/@types/node/diagnostics_channel.d.ts create mode 100644 node_modules/@types/node/dns.d.ts create mode 100644 node_modules/@types/node/dns/promises.d.ts create mode 100644 node_modules/@types/node/domain.d.ts create mode 100644 node_modules/@types/node/events.d.ts create mode 100644 node_modules/@types/node/fs.d.ts create mode 100644 node_modules/@types/node/fs/promises.d.ts create mode 100644 node_modules/@types/node/globals.d.ts create mode 100644 node_modules/@types/node/globals.typedarray.d.ts create mode 100644 node_modules/@types/node/http.d.ts create mode 100644 node_modules/@types/node/http2.d.ts create mode 100644 node_modules/@types/node/https.d.ts create mode 100644 node_modules/@types/node/index.d.ts create mode 100644 node_modules/@types/node/inspector.d.ts create mode 100644 node_modules/@types/node/inspector.generated.d.ts create mode 100644 node_modules/@types/node/inspector/promises.d.ts create mode 100644 node_modules/@types/node/module.d.ts create mode 100644 node_modules/@types/node/net.d.ts create mode 100644 node_modules/@types/node/os.d.ts create mode 100644 node_modules/@types/node/package.json create mode 100644 node_modules/@types/node/path.d.ts create mode 100644 node_modules/@types/node/path/posix.d.ts create mode 100644 node_modules/@types/node/path/win32.d.ts create mode 100644 node_modules/@types/node/perf_hooks.d.ts create mode 100644 node_modules/@types/node/process.d.ts create mode 100644 node_modules/@types/node/punycode.d.ts create mode 100644 node_modules/@types/node/querystring.d.ts create mode 100644 node_modules/@types/node/quic.d.ts create mode 100644 node_modules/@types/node/readline.d.ts create mode 100644 node_modules/@types/node/readline/promises.d.ts create mode 100644 node_modules/@types/node/repl.d.ts create mode 100644 node_modules/@types/node/sea.d.ts create mode 100644 node_modules/@types/node/sqlite.d.ts create mode 100644 node_modules/@types/node/stream.d.ts create mode 100644 node_modules/@types/node/stream/consumers.d.ts create mode 100644 node_modules/@types/node/stream/iter.d.ts create mode 100644 node_modules/@types/node/stream/promises.d.ts create mode 100644 node_modules/@types/node/stream/web.d.ts create mode 100644 node_modules/@types/node/string_decoder.d.ts create mode 100644 node_modules/@types/node/test.d.ts create mode 100644 node_modules/@types/node/test/reporters.d.ts create mode 100644 node_modules/@types/node/timers.d.ts create mode 100644 node_modules/@types/node/timers/promises.d.ts create mode 100644 node_modules/@types/node/tls.d.ts create mode 100644 node_modules/@types/node/trace_events.d.ts create mode 100644 node_modules/@types/node/ts5.6/buffer.buffer.d.ts create mode 100644 node_modules/@types/node/ts5.6/compatibility/float16array.d.ts create mode 100644 node_modules/@types/node/ts5.6/globals.typedarray.d.ts create mode 100644 node_modules/@types/node/ts5.6/index.d.ts create mode 100644 node_modules/@types/node/ts5.7/compatibility/float16array.d.ts create mode 100644 node_modules/@types/node/ts5.7/index.d.ts create mode 100644 node_modules/@types/node/tty.d.ts create mode 100644 node_modules/@types/node/url.d.ts create mode 100644 node_modules/@types/node/util.d.ts create mode 100644 node_modules/@types/node/util/types.d.ts create mode 100644 node_modules/@types/node/v8.d.ts create mode 100644 node_modules/@types/node/vm.d.ts create mode 100644 node_modules/@types/node/wasi.d.ts create mode 100644 node_modules/@types/node/web-globals/abortcontroller.d.ts create mode 100644 node_modules/@types/node/web-globals/blob.d.ts create mode 100644 node_modules/@types/node/web-globals/console.d.ts create mode 100644 node_modules/@types/node/web-globals/crypto.d.ts create mode 100644 node_modules/@types/node/web-globals/domexception.d.ts create mode 100644 node_modules/@types/node/web-globals/encoding.d.ts create mode 100644 node_modules/@types/node/web-globals/events.d.ts create mode 100644 node_modules/@types/node/web-globals/fetch.d.ts create mode 100644 node_modules/@types/node/web-globals/importmeta.d.ts create mode 100644 node_modules/@types/node/web-globals/messaging.d.ts create mode 100644 node_modules/@types/node/web-globals/navigator.d.ts create mode 100644 node_modules/@types/node/web-globals/performance.d.ts create mode 100644 node_modules/@types/node/web-globals/storage.d.ts create mode 100644 node_modules/@types/node/web-globals/streams.d.ts create mode 100644 node_modules/@types/node/web-globals/timers.d.ts create mode 100644 node_modules/@types/node/web-globals/url.d.ts create mode 100644 node_modules/@types/node/worker_threads.d.ts create mode 100644 node_modules/@types/node/zlib.d.ts create mode 100644 node_modules/@types/node/zlib/iter.d.ts create mode 100644 node_modules/content-type/LICENSE create mode 100644 node_modules/content-type/README.md create mode 100644 node_modules/content-type/dist/index.d.ts create mode 100644 node_modules/content-type/dist/index.js create mode 100644 node_modules/content-type/dist/index.js.map create mode 100644 node_modules/content-type/package.json delete mode 100644 node_modules/cross-spawn/CHANGELOG.md create mode 100644 node_modules/is-plain-object/dist/is-plain-object.js rename node_modules/is-plain-object/{index.js => dist/is-plain-object.mjs} (58%) delete mode 100644 node_modules/is-plain-object/index.cjs.js delete mode 100644 node_modules/is-plain-object/index.d.ts create mode 100644 node_modules/is-plain-object/is-plain-object.d.ts delete mode 100644 node_modules/isobject/README.md delete mode 100644 node_modules/isobject/index.cjs.js delete mode 100644 node_modules/isobject/index.d.ts delete mode 100644 node_modules/isobject/index.js delete mode 100644 node_modules/isobject/package.json create mode 100644 node_modules/json-with-bigint/.github/workflows/ci.yml create mode 100644 node_modules/json-with-bigint/LICENSE create mode 100644 node_modules/json-with-bigint/README.md create mode 100644 node_modules/json-with-bigint/__tests__/helpers.cjs create mode 100644 node_modules/json-with-bigint/__tests__/performance.cjs create mode 100644 node_modules/json-with-bigint/__tests__/performance.mjs create mode 100644 node_modules/json-with-bigint/__tests__/unit.cjs create mode 100644 node_modules/json-with-bigint/__tests__/unit.mjs create mode 100644 node_modules/json-with-bigint/json-with-bigint.cjs create mode 100644 node_modules/json-with-bigint/json-with-bigint.d.cts create mode 100644 node_modules/json-with-bigint/json-with-bigint.d.ts create mode 100644 node_modules/json-with-bigint/json-with-bigint.js create mode 100644 node_modules/json-with-bigint/json-with-bigint.min.js create mode 100644 node_modules/json-with-bigint/package.json create mode 100644 node_modules/json-with-bigint/scripts/build-cjs.js create mode 100644 node_modules/json-with-bigint/tsconfig.json create mode 100644 node_modules/pump/.github/FUNDING.yml create mode 100644 node_modules/pump/SECURITY.md create mode 100644 node_modules/pump/empty.js delete mode 100644 node_modules/semver/CHANGELOG.md delete mode 100644 node_modules/signal-exit/CHANGELOG.md create mode 100644 node_modules/type-fest/index.d.ts create mode 100644 node_modules/type-fest/package.json create mode 100644 node_modules/type-fest/readme.md create mode 100644 node_modules/type-fest/source/async-return-type.d.ts create mode 100644 node_modules/type-fest/source/asyncify.d.ts create mode 100644 node_modules/type-fest/source/basic.d.ts create mode 100644 node_modules/type-fest/source/camel-case.d.ts create mode 100644 node_modules/type-fest/source/camel-cased-properties-deep.d.ts create mode 100644 node_modules/type-fest/source/camel-cased-properties.d.ts create mode 100644 node_modules/type-fest/source/conditional-except.d.ts create mode 100644 node_modules/type-fest/source/conditional-keys.d.ts create mode 100644 node_modules/type-fest/source/conditional-pick-deep.d.ts create mode 100644 node_modules/type-fest/source/conditional-pick.d.ts create mode 100644 node_modules/type-fest/source/conditional-simplify.d.ts create mode 100644 node_modules/type-fest/source/delimiter-case.d.ts create mode 100644 node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts create mode 100644 node_modules/type-fest/source/delimiter-cased-properties.d.ts create mode 100644 node_modules/type-fest/source/empty-object.d.ts create mode 100644 node_modules/type-fest/source/enforce-optional.d.ts create mode 100644 node_modules/type-fest/source/entries.d.ts create mode 100644 node_modules/type-fest/source/entry.d.ts create mode 100644 node_modules/type-fest/source/exact.d.ts create mode 100644 node_modules/type-fest/source/except.d.ts create mode 100644 node_modules/type-fest/source/fixed-length-array.d.ts create mode 100644 node_modules/type-fest/source/get.d.ts create mode 100644 node_modules/type-fest/source/global-this.d.ts create mode 100644 node_modules/type-fest/source/has-optional-keys.d.ts create mode 100644 node_modules/type-fest/source/has-readonly-keys.d.ts create mode 100644 node_modules/type-fest/source/has-required-keys.d.ts create mode 100644 node_modules/type-fest/source/has-writable-keys.d.ts create mode 100644 node_modules/type-fest/source/if-any.d.ts create mode 100644 node_modules/type-fest/source/if-never.d.ts create mode 100644 node_modules/type-fest/source/if-unknown.d.ts create mode 100644 node_modules/type-fest/source/includes.d.ts create mode 100644 node_modules/type-fest/source/internal.d.ts create mode 100644 node_modules/type-fest/source/invariant-of.d.ts create mode 100644 node_modules/type-fest/source/is-any.d.ts create mode 100644 node_modules/type-fest/source/is-equal.d.ts create mode 100644 node_modules/type-fest/source/is-literal.d.ts create mode 100644 node_modules/type-fest/source/is-never.d.ts create mode 100644 node_modules/type-fest/source/is-unknown.d.ts create mode 100644 node_modules/type-fest/source/iterable-element.d.ts create mode 100644 node_modules/type-fest/source/join.d.ts create mode 100644 node_modules/type-fest/source/jsonifiable.d.ts create mode 100644 node_modules/type-fest/source/jsonify.d.ts create mode 100644 node_modules/type-fest/source/kebab-case.d.ts create mode 100644 node_modules/type-fest/source/kebab-cased-properties-deep.d.ts create mode 100644 node_modules/type-fest/source/kebab-cased-properties.d.ts create mode 100644 node_modules/type-fest/source/last-array-element.d.ts create mode 100644 node_modules/type-fest/source/literal-to-primitive-deep.d.ts create mode 100644 node_modules/type-fest/source/literal-to-primitive.d.ts create mode 100644 node_modules/type-fest/source/literal-union.d.ts create mode 100644 node_modules/type-fest/source/merge-deep.d.ts create mode 100644 node_modules/type-fest/source/merge-exclusive.d.ts create mode 100644 node_modules/type-fest/source/merge.d.ts create mode 100644 node_modules/type-fest/source/multidimensional-array.d.ts create mode 100644 node_modules/type-fest/source/multidimensional-readonly-array.d.ts create mode 100644 node_modules/type-fest/source/numeric.d.ts create mode 100644 node_modules/type-fest/source/observable-like.d.ts create mode 100644 node_modules/type-fest/source/omit-index-signature.d.ts create mode 100644 node_modules/type-fest/source/opaque.d.ts create mode 100644 node_modules/type-fest/source/optional-keys-of.d.ts create mode 100644 node_modules/type-fest/source/override-properties.d.ts create mode 100644 node_modules/type-fest/source/package-json.d.ts create mode 100644 node_modules/type-fest/source/partial-deep.d.ts create mode 100644 node_modules/type-fest/source/partial-on-undefined-deep.d.ts create mode 100644 node_modules/type-fest/source/pascal-case.d.ts create mode 100644 node_modules/type-fest/source/pascal-cased-properties-deep.d.ts create mode 100644 node_modules/type-fest/source/pascal-cased-properties.d.ts create mode 100644 node_modules/type-fest/source/pick-index-signature.d.ts create mode 100644 node_modules/type-fest/source/primitive.d.ts create mode 100644 node_modules/type-fest/source/promisable.d.ts create mode 100644 node_modules/type-fest/source/readonly-deep.d.ts create mode 100644 node_modules/type-fest/source/readonly-keys-of.d.ts create mode 100644 node_modules/type-fest/source/readonly-tuple.d.ts create mode 100644 node_modules/type-fest/source/replace.d.ts create mode 100644 node_modules/type-fest/source/require-all-or-none.d.ts create mode 100644 node_modules/type-fest/source/require-at-least-one.d.ts create mode 100644 node_modules/type-fest/source/require-exactly-one.d.ts create mode 100644 node_modules/type-fest/source/required-deep.d.ts create mode 100644 node_modules/type-fest/source/required-keys-of.d.ts create mode 100644 node_modules/type-fest/source/schema.d.ts create mode 100644 node_modules/type-fest/source/screaming-snake-case.d.ts create mode 100644 node_modules/type-fest/source/set-non-nullable.d.ts create mode 100644 node_modules/type-fest/source/set-optional.d.ts create mode 100644 node_modules/type-fest/source/set-readonly.d.ts create mode 100644 node_modules/type-fest/source/set-required.d.ts create mode 100644 node_modules/type-fest/source/set-return-type.d.ts create mode 100644 node_modules/type-fest/source/simplify.d.ts create mode 100644 node_modules/type-fest/source/snake-case.d.ts create mode 100644 node_modules/type-fest/source/snake-cased-properties-deep.d.ts create mode 100644 node_modules/type-fest/source/snake-cased-properties.d.ts create mode 100644 node_modules/type-fest/source/split-words.d.ts create mode 100644 node_modules/type-fest/source/split.d.ts create mode 100644 node_modules/type-fest/source/spread.d.ts create mode 100644 node_modules/type-fest/source/string-key-of.d.ts create mode 100644 node_modules/type-fest/source/stringified.d.ts create mode 100644 node_modules/type-fest/source/tagged-union.d.ts create mode 100644 node_modules/type-fest/source/trim.d.ts create mode 100644 node_modules/type-fest/source/tsconfig-json.d.ts create mode 100644 node_modules/type-fest/source/tuple-to-union.d.ts create mode 100644 node_modules/type-fest/source/typed-array.d.ts create mode 100644 node_modules/type-fest/source/union-to-intersection.d.ts create mode 100644 node_modules/type-fest/source/value-of.d.ts create mode 100644 node_modules/type-fest/source/writable-deep.d.ts create mode 100644 node_modules/type-fest/source/writable-keys-of.d.ts create mode 100644 node_modules/type-fest/source/writable.d.ts create mode 100644 node_modules/undici-types/LICENSE create mode 100644 node_modules/undici-types/README.md create mode 100644 node_modules/undici-types/agent.d.ts create mode 100644 node_modules/undici-types/api.d.ts create mode 100644 node_modules/undici-types/balanced-pool.d.ts create mode 100644 node_modules/undici-types/cache-interceptor.d.ts create mode 100644 node_modules/undici-types/cache.d.ts create mode 100644 node_modules/undici-types/client-stats.d.ts create mode 100644 node_modules/undici-types/client.d.ts create mode 100644 node_modules/undici-types/connector.d.ts create mode 100644 node_modules/undici-types/content-type.d.ts create mode 100644 node_modules/undici-types/cookies.d.ts create mode 100644 node_modules/undici-types/diagnostics-channel.d.ts create mode 100644 node_modules/undici-types/dispatcher.d.ts create mode 100644 node_modules/undici-types/env-http-proxy-agent.d.ts create mode 100644 node_modules/undici-types/errors.d.ts create mode 100644 node_modules/undici-types/eventsource.d.ts create mode 100644 node_modules/undici-types/fetch.d.ts create mode 100644 node_modules/undici-types/formdata.d.ts create mode 100644 node_modules/undici-types/global-dispatcher.d.ts create mode 100644 node_modules/undici-types/global-origin.d.ts create mode 100644 node_modules/undici-types/h2c-client.d.ts create mode 100644 node_modules/undici-types/handlers.d.ts create mode 100644 node_modules/undici-types/header.d.ts create mode 100644 node_modules/undici-types/index.d.ts create mode 100644 node_modules/undici-types/interceptors.d.ts create mode 100644 node_modules/undici-types/mock-agent.d.ts create mode 100644 node_modules/undici-types/mock-call-history.d.ts create mode 100644 node_modules/undici-types/mock-client.d.ts create mode 100644 node_modules/undici-types/mock-errors.d.ts create mode 100644 node_modules/undici-types/mock-interceptor.d.ts create mode 100644 node_modules/undici-types/mock-pool.d.ts create mode 100644 node_modules/undici-types/package.json create mode 100644 node_modules/undici-types/patch.d.ts create mode 100644 node_modules/undici-types/pool-stats.d.ts create mode 100644 node_modules/undici-types/pool.d.ts create mode 100644 node_modules/undici-types/proxy-agent.d.ts create mode 100644 node_modules/undici-types/readable.d.ts create mode 100644 node_modules/undici-types/retry-agent.d.ts create mode 100644 node_modules/undici-types/retry-handler.d.ts create mode 100644 node_modules/undici-types/round-robin-pool.d.ts create mode 100644 node_modules/undici-types/snapshot-agent.d.ts create mode 100644 node_modules/undici-types/socks5-proxy-agent.d.ts create mode 100644 node_modules/undici-types/util.d.ts create mode 100644 node_modules/undici-types/utility.d.ts create mode 100644 node_modules/undici-types/webidl.d.ts create mode 100644 node_modules/undici-types/websocket.d.ts create mode 100644 node_modules/undici/LICENSE create mode 100644 node_modules/undici/README.md create mode 100644 node_modules/undici/docs/api/Agent.md create mode 100644 node_modules/undici/docs/api/BalancedPool.md create mode 100644 node_modules/undici/docs/api/CacheStorage.md create mode 100644 node_modules/undici/docs/api/Client.md create mode 100644 node_modules/undici/docs/api/Connector.md create mode 100644 node_modules/undici/docs/api/ContentType.md create mode 100644 node_modules/undici/docs/api/Cookies.md create mode 100644 node_modules/undici/docs/api/DiagnosticsChannel.md create mode 100644 node_modules/undici/docs/api/DispatchInterceptor.md create mode 100644 node_modules/undici/docs/api/Dispatcher.md create mode 100644 node_modules/undici/docs/api/Errors.md create mode 100644 node_modules/undici/docs/api/Fetch.md create mode 100644 node_modules/undici/docs/api/MockAgent.md create mode 100644 node_modules/undici/docs/api/MockClient.md create mode 100644 node_modules/undici/docs/api/MockErrors.md create mode 100644 node_modules/undici/docs/api/MockPool.md create mode 100644 node_modules/undici/docs/api/Pool.md create mode 100644 node_modules/undici/docs/api/PoolStats.md create mode 100644 node_modules/undici/docs/api/ProxyAgent.md create mode 100644 node_modules/undici/docs/api/RetryHandler.md create mode 100644 node_modules/undici/docs/api/WebSocket.md create mode 100644 node_modules/undici/docs/api/api-lifecycle.md create mode 100644 node_modules/undici/docs/assets/lifecycle-diagram.png create mode 100644 node_modules/undici/docs/best-practices/client-certificate.md create mode 100644 node_modules/undici/docs/best-practices/mocking-request.md create mode 100644 node_modules/undici/docs/best-practices/proxy.md create mode 100644 node_modules/undici/docs/best-practices/writing-tests.md create mode 100644 node_modules/undici/index-fetch.js create mode 100644 node_modules/undici/index.d.ts create mode 100644 node_modules/undici/index.js create mode 100644 node_modules/undici/lib/agent.js create mode 100644 node_modules/undici/lib/api/abort-signal.js create mode 100644 node_modules/undici/lib/api/api-connect.js create mode 100644 node_modules/undici/lib/api/api-pipeline.js create mode 100644 node_modules/undici/lib/api/api-request.js create mode 100644 node_modules/undici/lib/api/api-stream.js create mode 100644 node_modules/undici/lib/api/api-upgrade.js create mode 100644 node_modules/undici/lib/api/index.js create mode 100644 node_modules/undici/lib/api/readable.js create mode 100644 node_modules/undici/lib/api/util.js create mode 100644 node_modules/undici/lib/balanced-pool.js create mode 100644 node_modules/undici/lib/cache/cache.js create mode 100644 node_modules/undici/lib/cache/cachestorage.js create mode 100644 node_modules/undici/lib/cache/symbols.js create mode 100644 node_modules/undici/lib/cache/util.js create mode 100644 node_modules/undici/lib/client.js create mode 100644 node_modules/undici/lib/compat/dispatcher-weakref.js create mode 100644 node_modules/undici/lib/cookies/constants.js create mode 100644 node_modules/undici/lib/cookies/index.js create mode 100644 node_modules/undici/lib/cookies/parse.js create mode 100644 node_modules/undici/lib/cookies/util.js create mode 100644 node_modules/undici/lib/core/connect.js create mode 100644 node_modules/undici/lib/core/constants.js create mode 100644 node_modules/undici/lib/core/errors.js create mode 100644 node_modules/undici/lib/core/request.js create mode 100644 node_modules/undici/lib/core/symbols.js create mode 100644 node_modules/undici/lib/core/util.js create mode 100644 node_modules/undici/lib/dispatcher-base.js create mode 100644 node_modules/undici/lib/dispatcher.js create mode 100644 node_modules/undici/lib/fetch/LICENSE create mode 100644 node_modules/undici/lib/fetch/body.js create mode 100644 node_modules/undici/lib/fetch/constants.js create mode 100644 node_modules/undici/lib/fetch/dataURL.js create mode 100644 node_modules/undici/lib/fetch/file.js create mode 100644 node_modules/undici/lib/fetch/formdata.js create mode 100644 node_modules/undici/lib/fetch/global.js create mode 100644 node_modules/undici/lib/fetch/headers.js create mode 100644 node_modules/undici/lib/fetch/index.js create mode 100644 node_modules/undici/lib/fetch/request.js create mode 100644 node_modules/undici/lib/fetch/response.js create mode 100644 node_modules/undici/lib/fetch/symbols.js create mode 100644 node_modules/undici/lib/fetch/util.js create mode 100644 node_modules/undici/lib/fetch/webidl.js create mode 100644 node_modules/undici/lib/fileapi/encoding.js create mode 100644 node_modules/undici/lib/fileapi/filereader.js create mode 100644 node_modules/undici/lib/fileapi/progressevent.js create mode 100644 node_modules/undici/lib/fileapi/symbols.js create mode 100644 node_modules/undici/lib/fileapi/util.js create mode 100644 node_modules/undici/lib/global.js create mode 100644 node_modules/undici/lib/handler/DecoratorHandler.js create mode 100644 node_modules/undici/lib/handler/RedirectHandler.js create mode 100644 node_modules/undici/lib/handler/RetryHandler.js create mode 100644 node_modules/undici/lib/interceptor/redirectInterceptor.js create mode 100644 node_modules/undici/lib/llhttp/constants.d.ts create mode 100644 node_modules/undici/lib/llhttp/constants.js create mode 100644 node_modules/undici/lib/llhttp/constants.js.map create mode 100644 node_modules/undici/lib/llhttp/llhttp-wasm.js create mode 100755 node_modules/undici/lib/llhttp/llhttp.wasm create mode 100644 node_modules/undici/lib/llhttp/llhttp_simd-wasm.js create mode 100755 node_modules/undici/lib/llhttp/llhttp_simd.wasm create mode 100644 node_modules/undici/lib/llhttp/utils.d.ts create mode 100644 node_modules/undici/lib/llhttp/utils.js create mode 100644 node_modules/undici/lib/llhttp/utils.js.map create mode 100644 node_modules/undici/lib/llhttp/wasm_build_env.txt create mode 100644 node_modules/undici/lib/mock/mock-agent.js create mode 100644 node_modules/undici/lib/mock/mock-client.js create mode 100644 node_modules/undici/lib/mock/mock-errors.js create mode 100644 node_modules/undici/lib/mock/mock-interceptor.js create mode 100644 node_modules/undici/lib/mock/mock-pool.js create mode 100644 node_modules/undici/lib/mock/mock-symbols.js create mode 100644 node_modules/undici/lib/mock/mock-utils.js create mode 100644 node_modules/undici/lib/mock/pending-interceptors-formatter.js create mode 100644 node_modules/undici/lib/mock/pluralizer.js create mode 100644 node_modules/undici/lib/node/fixed-queue.js create mode 100644 node_modules/undici/lib/pool-base.js create mode 100644 node_modules/undici/lib/pool-stats.js create mode 100644 node_modules/undici/lib/pool.js create mode 100644 node_modules/undici/lib/proxy-agent.js create mode 100644 node_modules/undici/lib/timers.js create mode 100644 node_modules/undici/lib/websocket/connection.js create mode 100644 node_modules/undici/lib/websocket/constants.js create mode 100644 node_modules/undici/lib/websocket/events.js create mode 100644 node_modules/undici/lib/websocket/frame.js create mode 100644 node_modules/undici/lib/websocket/receiver.js create mode 100644 node_modules/undici/lib/websocket/symbols.js create mode 100644 node_modules/undici/lib/websocket/util.js create mode 100644 node_modules/undici/lib/websocket/websocket.js create mode 100644 node_modules/undici/package.json create mode 100644 node_modules/undici/types/README.md create mode 100644 node_modules/undici/types/agent.d.ts create mode 100644 node_modules/undici/types/api.d.ts create mode 100644 node_modules/undici/types/balanced-pool.d.ts create mode 100644 node_modules/undici/types/cache.d.ts create mode 100644 node_modules/undici/types/client.d.ts create mode 100644 node_modules/undici/types/connector.d.ts create mode 100644 node_modules/undici/types/content-type.d.ts create mode 100644 node_modules/undici/types/cookies.d.ts create mode 100644 node_modules/undici/types/diagnostics-channel.d.ts create mode 100644 node_modules/undici/types/dispatcher.d.ts create mode 100644 node_modules/undici/types/errors.d.ts create mode 100644 node_modules/undici/types/fetch.d.ts create mode 100644 node_modules/undici/types/file.d.ts create mode 100644 node_modules/undici/types/filereader.d.ts create mode 100644 node_modules/undici/types/formdata.d.ts create mode 100644 node_modules/undici/types/global-dispatcher.d.ts create mode 100644 node_modules/undici/types/global-origin.d.ts create mode 100644 node_modules/undici/types/handlers.d.ts create mode 100644 node_modules/undici/types/header.d.ts create mode 100644 node_modules/undici/types/index.d.ts create mode 100644 node_modules/undici/types/interceptors.d.ts create mode 100644 node_modules/undici/types/mock-agent.d.ts create mode 100644 node_modules/undici/types/mock-client.d.ts create mode 100644 node_modules/undici/types/mock-errors.d.ts create mode 100644 node_modules/undici/types/mock-interceptor.d.ts create mode 100644 node_modules/undici/types/mock-pool.d.ts create mode 100644 node_modules/undici/types/patch.d.ts create mode 100644 node_modules/undici/types/pool-stats.d.ts create mode 100644 node_modules/undici/types/pool.d.ts create mode 100644 node_modules/undici/types/proxy-agent.d.ts create mode 100644 node_modules/undici/types/readable.d.ts create mode 100644 node_modules/undici/types/retry-handler.d.ts create mode 100644 node_modules/undici/types/webidl.d.ts create mode 100644 node_modules/undici/types/websocket.d.ts create mode 100644 node_modules/universal-user-agent/.github/workflows/release.yml create mode 100644 node_modules/universal-user-agent/.github/workflows/test.yml create mode 100644 node_modules/universal-user-agent/.github/workflows/update-prettier.yml delete mode 100644 node_modules/universal-user-agent/.travis.yml create mode 100644 node_modules/universal-user-agent/CODE_OF_CONDUCT.md create mode 100644 node_modules/universal-user-agent/SECURITY.md delete mode 100644 node_modules/universal-user-agent/browser.js delete mode 100644 node_modules/universal-user-agent/cypress.json create mode 100644 node_modules/universal-user-agent/index.test-d.ts create mode 100644 node_modules/universal-user-agent/index.test.js delete mode 100644 node_modules/universal-user-agent/test/smoke-test.js diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 3522ccb..2f888eb 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -1,97 +1,345 @@ { "name": "hello-world-javascript-action", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "node_modules/@actions/core": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.6.0.tgz", - "integrity": "sha512-NB1UAZomZlCV/LmJqkLhNTqtKfFXJZAUPcfl/zqG7EfsQdeUJtaWO98SGbuQ3pydJ3fHl2CvI/51OKYlCYYcaw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", + "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", + "license": "MIT", "dependencies": { - "@actions/http-client": "^1.0.11" + "@actions/exec": "^1.1.1", + "@actions/http-client": "^2.0.1" + } + }, + "node_modules/@actions/exec": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", + "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", + "license": "MIT", + "dependencies": { + "@actions/io": "^1.0.1" } }, "node_modules/@actions/github": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@actions/github/-/github-1.1.0.tgz", "integrity": "sha512-cHf6PyoNMdei13jEdGPhKprIMFmjVVW/dnM5/9QmQDJ1ZTaGVyezUSCUIC/ySNLRvDUpeFwPYMdThSEJldSbUw==", + "license": "MIT", "dependencies": { "@octokit/graphql": "^2.0.1", "@octokit/rest": "^16.15.0" } }, "node_modules/@actions/http-client": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", - "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", + "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", + "license": "MIT", "dependencies": { - "tunnel": "0.0.6" + "tunnel": "^0.0.6", + "undici": "^5.25.4" } }, - "node_modules/@octokit/endpoint": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.3.5.tgz", - "integrity": "sha512-f8KqzIrnzPLiezDsZZPB+K8v8YSv6aKFl7eOu59O46lmlW4HagWl1U6NWl6LmT8d1w7NsKBI3paVtzcnRGO1gw==", + "node_modules/@actions/io": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz", + "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==", + "license": "MIT" + }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@octokit-next/request": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@octokit-next/request/-/request-2.3.0.tgz", + "integrity": "sha512-E31o7r8OI8ebJMUj+0emm7f9KZx2FRJ2ZHWeW1Pt3F8gG2HYZOztwB6IQvnpVAyIGSIEAOcC21AOeWKcz61lVQ==", + "license": "MIT", "dependencies": { - "is-plain-object": "^3.0.0", - "universal-user-agent": "^4.0.0" + "@octokit-next/types": "2.3.0", + "is-plain-object": "^5.0.0", + "type-fest": "^3.0.0", + "universal-user-agent": "^7.0.1" } }, - "node_modules/@octokit/endpoint/node_modules/universal-user-agent": { + "node_modules/@octokit-next/types": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@octokit-next/types/-/types-2.3.0.tgz", + "integrity": "sha512-YFKJPiFk3doWX4x9pxqOr3BkWA8Fgs0xyOj1PVKh0IZs7X2iM7cBpZK40WEclSunUjzQ8Bb55qO0MIZwvO3kdA==", + "license": "MIT" + }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", + "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.3", + "@octokit/request": "^10.0.6", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "before-after-hook": "^4.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/auth-token": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", + "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/endpoint": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.3.tgz", + "integrity": "sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/graphql": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz", + "integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/openapi-types": { + "version": "27.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz", + "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==", + "license": "MIT", + "peer": true + }, + "node_modules/@octokit/core/node_modules/@octokit/request": { + "version": "10.0.10", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.10.tgz", + "integrity": "sha512-KxNC2pTqqhszMNrf12ZRd4PonRgyJdsM4F/jySiddQK+DsRcfBtUvqn8t7UsyZhnRJHvX46OohDt5N3VqIWC2w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/endpoint": "^11.0.3", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "content-type": "^2.0.0", + "json-with-bigint": "^3.5.3", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/request-error": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.1.0.tgz", + "integrity": "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/core/node_modules/@octokit/types": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz", + "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/openapi-types": "^27.0.0" + } + }, + "node_modules/@octokit/core/node_modules/before-after-hook": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz", - "integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", + "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "license": "MIT", "dependencies": { - "os-name": "^3.1.0" + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" } }, + "node_modules/@octokit/endpoint/node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "license": "ISC" + }, "node_modules/@octokit/graphql": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-2.1.3.tgz", - "integrity": "sha512-XoXJqL2ondwdnMIW3wtqJWEwcBfKk37jO/rYkoxNPEVeLBDGsGO1TCWggrAlq3keGt/O+C/7VepXnukUxwt5vA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-2.3.0.tgz", + "integrity": "sha512-QbqI9XWcDNfnAq8WI5BzYbOT8Z6vRGxCxoePcajW7U7GIWpFaZKG9S0j5C2JSl9bX/lJlEBKkB3gnDn2ud+zrg==", + "license": "MIT", "dependencies": { - "@octokit/request": "^5.0.0", - "universal-user-agent": "^2.0.3" + "@octokit-next/request": "2.3.0", + "@octokit-next/types": "2.3.0", + "universal-user-agent": "^7.0.1" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz", + "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^2.0.1" + } + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "license": "MIT", + "dependencies": { + "@types/node": ">= 8" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "license": "MIT", + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz", + "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^2.0.1", + "deprecation": "^2.3.1" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "license": "MIT", + "dependencies": { + "@types/node": ">= 8" } }, "node_modules/@octokit/request": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.1.0.tgz", - "integrity": "sha512-I15T9PwjFs4tbWyhtFU2Kq7WDPidYMvRB7spmxoQRZfxSmiqullG+Nz+KbSmpkfnlvHwTr1e31R5WReFRKMXjg==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "license": "MIT", "dependencies": { - "@octokit/endpoint": "^5.1.0", - "@octokit/request-error": "^1.0.1", - "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" + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" } }, "node_modules/@octokit/request-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.4.tgz", - "integrity": "sha512-L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz", + "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==", + "license": "MIT", "dependencies": { + "@octokit/types": "^2.0.0", "deprecation": "^2.0.0", "once": "^1.4.0" } }, - "node_modules/@octokit/request/node_modules/universal-user-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz", - "integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==", + "node_modules/@octokit/request-error/node_modules/@octokit/types": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz", + "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==", + "license": "MIT", "dependencies": { - "os-name": "^3.1.0" + "@types/node": ">= 8" } }, + "node_modules/@octokit/request/node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/request/node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "license": "ISC" + }, "node_modules/@octokit/rest": { - "version": "16.28.9", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.28.9.tgz", - "integrity": "sha512-IKGnX+Tvzt7XHhs8f4ajqxyJvYAMNX5nWfoJm4CQj8LZToMiaJgutf5KxxpxoC3y5w7JTJpW5rnWnF4TsIvCLA==", + "version": "16.43.2", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz", + "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==", + "license": "MIT", "dependencies": { - "@octokit/request": "^5.0.0", + "@octokit/auth-token": "^2.4.0", + "@octokit/plugin-paginate-rest": "^1.1.1", + "@octokit/plugin-request-log": "^1.0.0", + "@octokit/plugin-rest-endpoint-methods": "2.4.0", + "@octokit/request": "^5.2.0", "@octokit/request-error": "^1.0.2", "atob-lite": "^2.0.0", "before-after-hook": "^2.0.0", @@ -106,32 +354,69 @@ } }, "node_modules/@octokit/rest/node_modules/universal-user-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz", - "integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz", + "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==", + "license": "ISC", "dependencies": { "os-name": "^3.1.0" } }, + "node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@types/node": { + "version": "25.9.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.3.tgz", + "integrity": "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg==", + "license": "MIT", + "dependencies": { + "undici-types": ">=7.24.0 <7.24.7" + } + }, "node_modules/atob-lite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", - "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=" + "integrity": "sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==", + "license": "MIT" }, "node_modules/before-after-hook": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", - "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "license": "Apache-2.0" }, "node_modules/btoa-lite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", - "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=" + "integrity": "sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==", + "license": "MIT" + }, + "node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } }, "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", + "license": "MIT", "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -146,12 +431,14 @@ "node_modules/deprecation": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "license": "ISC" }, "node_modules/end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", "dependencies": { "once": "^1.4.0" } @@ -160,6 +447,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "license": "MIT", "dependencies": { "cross-spawn": "^6.0.0", "get-stream": "^4.0.0", @@ -177,6 +465,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -185,12 +474,10 @@ } }, "node_modules/is-plain-object": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", - "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", - "dependencies": { - "isobject": "^4.0.0" - }, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -198,7 +485,8 @@ "node_modules/is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -206,48 +494,58 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" }, - "node_modules/isobject": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", - "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/json-with-bigint": { + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.8.tgz", + "integrity": "sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==", + "license": "MIT", + "peer": true }, "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", + "license": "MIT" }, "node_modules/lodash.set": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=" + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", + "license": "MIT" }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" }, "node_modules/macos-release": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz", - "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.1.tgz", + "integrity": "sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==", + "license": "MIT", "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "license": "MIT" }, "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -266,7 +564,8 @@ "node_modules/npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "license": "MIT", "dependencies": { "path-key": "^2.0.0" }, @@ -277,12 +576,14 @@ "node_modules/octokit-pagination-methods": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", - "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==" + "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==", + "license": "MIT" }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -291,6 +592,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", + "license": "MIT", "dependencies": { "macos-release": "^2.2.0", "windows-release": "^3.1.0" @@ -302,7 +604,8 @@ "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "license": "MIT", "engines": { "node": ">=4" } @@ -310,24 +613,27 @@ "node_modules/path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } @@ -335,7 +641,8 @@ "node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -346,20 +653,23 @@ "node_modules/shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" }, "node_modules/strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -367,33 +677,65 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "license": "MIT", "engines": { "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "node_modules/universal-user-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.1.0.tgz", - "integrity": "sha512-8itiX7G05Tu3mGDTdNY2fB4KJ8MgZLS54RdG6PkkfwMAavrXu1mV/lls/GABx9O3Rw4PnTtasxrvbMQoBYY92Q==", + "node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/undici": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", + "license": "MIT", "dependencies": { - "os-name": "^3.0.0" + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" } }, + "node_modules/undici-types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", + "license": "MIT" + }, + "node_modules/universal-user-agent": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "license": "ISC" + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -403,6 +745,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -411,20 +754,25 @@ } }, "node_modules/windows-release": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.2.0.tgz", - "integrity": "sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz", + "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==", + "license": "MIT", "dependencies": { "execa": "^1.0.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" } } } diff --git a/node_modules/@actions/core/README.md b/node_modules/@actions/core/README.md index 8f227a8..ac8ced9 100644 --- a/node_modules/@actions/core/README.md +++ b/node_modules/@actions/core/README.md @@ -121,7 +121,7 @@ const result = await core.group('Do something async', async () => { This library has 3 methods that will produce [annotations](https://docs.github.com/en/rest/reference/checks#create-a-check-run). ```js -core.error('This is a bad error. This will also fail the build.') +core.error('This is a bad error, action may still succeed though.') core.warning('Something went wrong, but it\'s not bad enough to fail the build.') @@ -163,7 +163,7 @@ export interface AnnotationProperties { startColumn?: number /** - * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + * The end column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. * Defaults to `startColumn` when `startColumn` is provided. */ endColumn?: number @@ -309,4 +309,178 @@ outputs: runs: using: 'node12' main: 'dist/index.js' +``` + +#### Filesystem path helpers + +You can use these methods to manipulate file paths across operating systems. + +The `toPosixPath` function converts input paths to Posix-style (Linux) paths. +The `toWin32Path` function converts input paths to Windows-style paths. These +functions work independently of the underlying runner operating system. + +```js +toPosixPath('\\foo\\bar') // => /foo/bar +toWin32Path('/foo/bar') // => \foo\bar +``` + +The `toPlatformPath` function converts input paths to the expected value on the runner's operating system. + +```js +// On a Windows runner. +toPlatformPath('/foo/bar') // => \foo\bar + +// On a Linux runner. +toPlatformPath('\\foo\\bar') // => /foo/bar +``` + +#### Platform helper + +Provides shorthands for getting information about platform action is running on. + +```js +import { platform } from '@actions/core' + +/* equals to a call of os.platform() */ +platform.platform // 'win32' | 'darwin' | 'linux' | 'freebsd' | 'openbsd' | 'android' | 'cygwin' | 'sunos' + +/* equals to a call of os.arch() */ +platform.arch // 'x64' | 'arm' | 'arm64' | 'ia32' | 'mips' | 'mipsel' | 'ppc' | 'ppc64' | 'riscv64' | 's390' | 's390x' + +/* common shorthands for platform-specific logic */ +platform.isWindows // true +platform.isMacOS // false +platform.isLinux // false + +/* run platform-specific script to get more details about the exact platform, works on Windows, MacOS and Linux */ +const { + name, // Microsoft Windows 11 Enterprise + version, // 10.0.22621 +} = await platform.getDetails() +``` + +#### Populating job summary + +These methods can be used to populate a [job summary](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary). A job summary is a buffer that can be added to throughout your job via `core.summary` methods. + +Job summaries when complete must be written to the summary buffer file via the `core.summary.write()` method. + +All methods except `addRaw()` utilize the `addRaw()` method to append to the buffer, followed by an EOL using the `addEOL()` method. + +```typescript + +// Write raw text, optionally add an EOL after the content, defaults to false +core.summary.addRaw('Some content here :speech_balloon:', true) +// Output: Some content here :speech_balloon:\n + +// Add an operating system-specific end-of-line marker +core.summary.addEOL() +// Output (POSIX): \n +// Output (Windows): \r\n + +// Add a codeblock with an optional language for syntax highlighting +core.summary.addCodeBlock('console.log(\'hello world\')', 'javascript') +// Output:
console.log('hello world')
+ +// Add a list, second parameter indicates if list is ordered, defaults to false +core.summary.addList(['item1','item2','item3'], true) +// Output:
  1. item1
  2. item2
  3. item3
+ +// Add a collapsible HTML details element +core.summary.addDetails('Label', 'Some detail that will be collapsed') +// Output:
LabelSome detail that will be collapsed
+ +// Add an image, image options parameter is optional, you can supply one of or both width and height in pixels +core.summary.addImage('example.png', 'alt description of img', {width: '100', height: '100'}) +// Output: alt description of img + +// Add an HTML section heading element, optionally pass a level that translates to 'hX' ie. h2. Defaults to h1 +core.summary.addHeading('My Heading', '2') +// Output:

My Heading

+ +// Add an HTML thematic break
+core.summary.addSeparator() +// Output:
+ +// Add an HTML line break
+core.summary.addBreak() +// Output:
+ +// Add an HTML blockquote with an optional citation +core.summary.addQuote('To be or not to be', 'Shakespeare') +// Output:
To be or not to be
+ +// Add an HTML anchor tag +core.summary.addLink('click here', 'https://github.com') +// Output: click here + +``` + +Tables are added using the `addTable()` method, and an array of `SummaryTableRow`. + +```typescript + +export type SummaryTableRow = (SummaryTableCell | string)[] + +export interface SummaryTableCell { + /** + * Cell content + */ + data: string + /** + * Render cell as header + * (optional) default: false + */ + header?: boolean + /** + * Number of columns the cell extends + * (optional) default: '1' + */ + colspan?: string + /** + * Number of rows the cell extends + * (optional) default: '1' + */ + rowspan?: string +} + +``` + +For example + +```typescript + +const tableData = [ + {data: 'Header1', header: true}, + {data: 'Header2', header: true}, + {data: 'Header3', header: true}, + {data: 'MyData1'}, + {data: 'MyData2'}, + {data: 'MyData3'} +] + +// Add an HTML table +core.summary.addTable([tableData]) +// Output:
Header1Header2Header3
MyData1MyData2MyData3
+ +``` + +In addition to job summary content, there are utility functions for interfacing with the buffer. + +```typescript + +// Empties the summary buffer AND wipes the summary file on disk +core.summary.clear() + +// Returns the current summary buffer as a string +core.summary.stringify() + +// If the summary buffer is empty +core.summary.isEmptyBuffer() + +// Resets the summary buffer without writing to the summary file on disk +core.summary.emptyBuffer() + +// Writes text in the buffer to the summary buffer file and empties the buffer, optionally overwriting all existing content in the summary file with buffer contents. Defaults to false. +core.summary.write({overwrite: true}) ``` \ No newline at end of file diff --git a/node_modules/@actions/core/lib/command.js b/node_modules/@actions/core/lib/command.js index 0b28c66..728a014 100644 --- a/node_modules/@actions/core/lib/command.js +++ b/node_modules/@actions/core/lib/command.js @@ -1,7 +1,11 @@ "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; @@ -14,7 +18,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; @@ -76,13 +80,13 @@ class Command { } } function escapeData(s) { - return utils_1.toCommandValue(s) + return (0, utils_1.toCommandValue)(s) .replace(/%/g, '%25') .replace(/\r/g, '%0D') .replace(/\n/g, '%0A'); } function escapeProperty(s) { - return utils_1.toCommandValue(s) + return (0, utils_1.toCommandValue)(s) .replace(/%/g, '%25') .replace(/\r/g, '%0D') .replace(/\n/g, '%0A') diff --git a/node_modules/@actions/core/lib/command.js.map b/node_modules/@actions/core/lib/command.js.map index 51c7c63..476bcf6 100644 --- a/node_modules/@actions/core/lib/command.js.map +++ b/node_modules/@actions/core/lib/command.js.map @@ -1 +1 @@ -{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,mCAAsC;AAWtC;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE;IAC9C,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,MAAM,IAAI,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;qBAC1C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"} \ No newline at end of file +{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,mCAAsC;AAWtC;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE;IAC9C,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,MAAM,IAAI,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;qBAC1C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO,IAAA,sBAAc,EAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,IAAA,sBAAc,EAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/core.d.ts b/node_modules/@actions/core/lib/core.d.ts index 356872e..a0803d7 100644 --- a/node_modules/@actions/core/lib/core.d.ts +++ b/node_modules/@actions/core/lib/core.d.ts @@ -21,7 +21,7 @@ export declare enum ExitCode { Failure = 1 } /** - * Optional properties that can be sent with annotatation commands (notice, error, and warning) + * Optional properties that can be sent with annotation commands (notice, error, and warning) * See: https://docs.github.com/en/rest/reference/checks#create-a-check-run for more information about annotations. */ export interface AnnotationProperties { @@ -46,7 +46,7 @@ export interface AnnotationProperties { */ startColumn?: number; /** - * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. + * The end column for the annotation. Cannot be sent when `startLine` and `endLine` are different values. * Defaults to `startColumn` when `startColumn` is provided. */ endColumn?: number; @@ -184,3 +184,19 @@ export declare function saveState(name: string, value: any): void; */ export declare function getState(name: string): string; export declare function getIDToken(aud?: string): Promise; +/** + * Summary exports + */ +export { summary } from './summary'; +/** + * @deprecated use core.summary + */ +export { markdownSummary } from './summary'; +/** + * Path exports + */ +export { toPosixPath, toWin32Path, toPlatformPath } from './path-utils'; +/** + * Platform utilities exports + */ +export * as platform from './platform'; diff --git a/node_modules/@actions/core/lib/core.js b/node_modules/@actions/core/lib/core.js index e0ceced..8f85466 100644 --- a/node_modules/@actions/core/lib/core.js +++ b/node_modules/@actions/core/lib/core.js @@ -1,7 +1,11 @@ "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; @@ -14,7 +18,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; @@ -28,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; +exports.platform = exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = exports.markdownSummary = exports.summary = exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; const command_1 = require("./command"); const file_command_1 = require("./file-command"); const utils_1 = require("./utils"); @@ -48,7 +52,7 @@ var ExitCode; * A code indicating that the action was a failure */ ExitCode[ExitCode["Failure"] = 1] = "Failure"; -})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); +})(ExitCode || (exports.ExitCode = ExitCode = {})); //----------------------------------------------------------------------- // Variables //----------------------------------------------------------------------- @@ -59,17 +63,13 @@ var ExitCode; */ // eslint-disable-next-line @typescript-eslint/no-explicit-any function exportVariable(name, val) { - const convertedVal = utils_1.toCommandValue(val); + const convertedVal = (0, utils_1.toCommandValue)(val); process.env[name] = convertedVal; const filePath = process.env['GITHUB_ENV'] || ''; if (filePath) { - const delimiter = '_GitHubActionsFileCommandDelimeter_'; - const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`; - file_command_1.issueCommand('ENV', commandValue); - } - else { - command_1.issueCommand('set-env', { name }, convertedVal); + return (0, file_command_1.issueFileCommand)('ENV', (0, file_command_1.prepareKeyValueMessage)(name, val)); } + (0, command_1.issueCommand)('set-env', { name }, convertedVal); } exports.exportVariable = exportVariable; /** @@ -77,7 +77,7 @@ exports.exportVariable = exportVariable; * @param secret value of the secret */ function setSecret(secret) { - command_1.issueCommand('add-mask', {}, secret); + (0, command_1.issueCommand)('add-mask', {}, secret); } exports.setSecret = setSecret; /** @@ -87,10 +87,10 @@ exports.setSecret = setSecret; function addPath(inputPath) { const filePath = process.env['GITHUB_PATH'] || ''; if (filePath) { - file_command_1.issueCommand('PATH', inputPath); + (0, file_command_1.issueFileCommand)('PATH', inputPath); } else { - command_1.issueCommand('add-path', {}, inputPath); + (0, command_1.issueCommand)('add-path', {}, inputPath); } process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; } @@ -127,7 +127,10 @@ function getMultilineInput(name, options) { const inputs = getInput(name, options) .split('\n') .filter(x => x !== ''); - return inputs; + if (options && options.trimWhitespace === false) { + return inputs; + } + return inputs.map(input => input.trim()); } exports.getMultilineInput = getMultilineInput; /** @@ -160,8 +163,12 @@ exports.getBooleanInput = getBooleanInput; */ // eslint-disable-next-line @typescript-eslint/no-explicit-any function setOutput(name, value) { + const filePath = process.env['GITHUB_OUTPUT'] || ''; + if (filePath) { + return (0, file_command_1.issueFileCommand)('OUTPUT', (0, file_command_1.prepareKeyValueMessage)(name, value)); + } process.stdout.write(os.EOL); - command_1.issueCommand('set-output', { name }, value); + (0, command_1.issueCommand)('set-output', { name }, (0, utils_1.toCommandValue)(value)); } exports.setOutput = setOutput; /** @@ -170,7 +177,7 @@ exports.setOutput = setOutput; * */ function setCommandEcho(enabled) { - command_1.issue('echo', enabled ? 'on' : 'off'); + (0, command_1.issue)('echo', enabled ? 'on' : 'off'); } exports.setCommandEcho = setCommandEcho; //----------------------------------------------------------------------- @@ -201,7 +208,7 @@ exports.isDebug = isDebug; * @param message debug message */ function debug(message) { - command_1.issueCommand('debug', {}, message); + (0, command_1.issueCommand)('debug', {}, message); } exports.debug = debug; /** @@ -210,7 +217,7 @@ exports.debug = debug; * @param properties optional properties to add to the annotation. */ function error(message, properties = {}) { - command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + (0, command_1.issueCommand)('error', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); } exports.error = error; /** @@ -219,7 +226,7 @@ exports.error = error; * @param properties optional properties to add to the annotation. */ function warning(message, properties = {}) { - command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + (0, command_1.issueCommand)('warning', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); } exports.warning = warning; /** @@ -228,7 +235,7 @@ exports.warning = warning; * @param properties optional properties to add to the annotation. */ function notice(message, properties = {}) { - command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + (0, command_1.issueCommand)('notice', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); } exports.notice = notice; /** @@ -247,14 +254,14 @@ exports.info = info; * @param name The name of the output group */ function startGroup(name) { - command_1.issue('group', name); + (0, command_1.issue)('group', name); } exports.startGroup = startGroup; /** * End an output group. */ function endGroup() { - command_1.issue('endgroup'); + (0, command_1.issue)('endgroup'); } exports.endGroup = endGroup; /** @@ -290,7 +297,11 @@ exports.group = group; */ // eslint-disable-next-line @typescript-eslint/no-explicit-any function saveState(name, value) { - command_1.issueCommand('save-state', { name }, value); + const filePath = process.env['GITHUB_STATE'] || ''; + if (filePath) { + return (0, file_command_1.issueFileCommand)('STATE', (0, file_command_1.prepareKeyValueMessage)(name, value)); + } + (0, command_1.issueCommand)('save-state', { name }, (0, utils_1.toCommandValue)(value)); } exports.saveState = saveState; /** @@ -309,4 +320,25 @@ function getIDToken(aud) { }); } exports.getIDToken = getIDToken; +/** + * Summary exports + */ +var summary_1 = require("./summary"); +Object.defineProperty(exports, "summary", { enumerable: true, get: function () { return summary_1.summary; } }); +/** + * @deprecated use core.summary + */ +var summary_2 = require("./summary"); +Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return summary_2.markdownSummary; } }); +/** + * Path exports + */ +var path_utils_1 = require("./path-utils"); +Object.defineProperty(exports, "toPosixPath", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } }); +Object.defineProperty(exports, "toWin32Path", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } }); +Object.defineProperty(exports, "toPlatformPath", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }); +/** + * Platform utilities exports + */ +exports.platform = __importStar(require("./platform")); //# sourceMappingURL=core.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/core.js.map b/node_modules/@actions/core/lib/core.js.map index 087a91d..1261718 100644 --- a/node_modules/@actions/core/lib/core.js.map +++ b/node_modules/@actions/core/lib/core.js.map @@ -1 +1 @@ -{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA6C;AAC7C,iDAA+D;AAC/D,mCAA2D;AAE3D,uCAAwB;AACxB,2CAA4B;AAE5B,6CAAuC;AAavC;;GAEG;AACH,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB;;OAEG;IACH,6CAAW,CAAA;IAEX;;OAEG;IACH,6CAAW,CAAA;AACb,CAAC,EAVW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAUnB;AAuCD,yEAAyE;AACzE,YAAY;AACZ,yEAAyE;AAEzE;;;;GAIG;AACH,8DAA8D;AAC9D,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAQ;IACnD,MAAM,YAAY,GAAG,sBAAc,CAAC,GAAG,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAA;IAEhC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAChD,IAAI,QAAQ,EAAE;QACZ,MAAM,SAAS,GAAG,qCAAqC,CAAA;QACvD,MAAM,YAAY,GAAG,GAAG,IAAI,KAAK,SAAS,GAAG,EAAE,CAAC,GAAG,GAAG,YAAY,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAA;QACzF,2BAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;KACtC;SAAM;QACL,sBAAY,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,EAAE,YAAY,CAAC,CAAA;KAC9C;AACH,CAAC;AAZD,wCAYC;AAED;;;GAGG;AACH,SAAgB,SAAS,CAAC,MAAc;IACtC,sBAAY,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC;AAFD,8BAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,SAAiB;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IACjD,IAAI,QAAQ,EAAE;QACZ,2BAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;KACpC;SAAM;QACL,sBAAY,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;KACxC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;AAC7E,CAAC;AARD,0BAQC;AAED;;;;;;;;GAQG;AACH,SAAgB,QAAQ,CAAC,IAAY,EAAE,OAAsB;IAC3D,MAAM,GAAG,GACP,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IACrE,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAA;KAC5D;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;QAC/C,OAAO,GAAG,CAAA;KACX;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC;AAZD,4BAYC;AAED;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,IAAY,EACZ,OAAsB;IAEtB,MAAM,MAAM,GAAa,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;SAC7C,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAExB,OAAO,MAAM,CAAA;AACf,CAAC;AATD,8CASC;AAED;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,IAAY,EAAE,OAAsB;IAClE,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1C,MAAM,IAAI,SAAS,CACjB,6DAA6D,IAAI,IAAI;QACnE,4EAA4E,CAC/E,CAAA;AACH,CAAC;AAVD,0CAUC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAU;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAC5B,sBAAY,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAHD,8BAGC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAgB;IAC7C,eAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AACvC,CAAC;AAFD,wCAEC;AAED,yEAAyE;AACzE,UAAU;AACV,yEAAyE;AAEzE;;;;GAIG;AACH,SAAgB,SAAS,CAAC,OAAuB;IAC/C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAA;IAEnC,KAAK,CAAC,OAAO,CAAC,CAAA;AAChB,CAAC;AAJD,8BAIC;AAED,yEAAyE;AACzE,mBAAmB;AACnB,yEAAyE;AAEzE;;GAEG;AACH,SAAgB,OAAO;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG,CAAA;AAC5C,CAAC;AAFD,0BAEC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAC,OAAe;IACnC,sBAAY,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC;AAFD,sBAEC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CACnB,OAAuB,EACvB,aAAmC,EAAE;IAErC,sBAAY,CACV,OAAO,EACP,2BAAmB,CAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,sBASC;AAED;;;;GAIG;AACH,SAAgB,OAAO,CACrB,OAAuB,EACvB,aAAmC,EAAE;IAErC,sBAAY,CACV,SAAS,EACT,2BAAmB,CAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,0BASC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CACpB,OAAuB,EACvB,aAAmC,EAAE;IAErC,sBAAY,CACV,QAAQ,EACR,2BAAmB,CAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,wBASC;AAED;;;GAGG;AACH,SAAgB,IAAI,CAAC,OAAe;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,oBAEC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,eAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACtB,CAAC;AAFD,gCAEC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,eAAK,CAAC,UAAU,CAAC,CAAA;AACnB,CAAC;AAFD,4BAEC;AAED;;;;;;;GAOG;AACH,SAAsB,KAAK,CAAI,IAAY,EAAE,EAAoB;;QAC/D,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhB,IAAI,MAAS,CAAA;QAEb,IAAI;YACF,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;SACpB;gBAAS;YACR,QAAQ,EAAE,CAAA;SACX;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CAAA;AAZD,sBAYC;AAED,yEAAyE;AACzE,uBAAuB;AACvB,yEAAyE;AAEzE;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAU;IAChD,sBAAY,CAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAFD,8BAEC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;AAC3C,CAAC;AAFD,4BAEC;AAED,SAAsB,UAAU,CAAC,GAAY;;QAC3C,OAAO,MAAM,uBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;CAAA;AAFD,gCAEC"} \ No newline at end of file +{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA6C;AAC7C,iDAAuE;AACvE,mCAA2D;AAE3D,uCAAwB;AACxB,2CAA4B;AAE5B,6CAAuC;AAavC;;GAEG;AACH,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB;;OAEG;IACH,6CAAW,CAAA;IAEX;;OAEG;IACH,6CAAW,CAAA;AACb,CAAC,EAVW,QAAQ,wBAAR,QAAQ,QAUnB;AAuCD,yEAAyE;AACzE,YAAY;AACZ,yEAAyE;AAEzE;;;;GAIG;AACH,8DAA8D;AAC9D,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAQ;IACnD,MAAM,YAAY,GAAG,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAA;IAEhC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAChD,IAAI,QAAQ,EAAE;QACZ,OAAO,IAAA,+BAAgB,EAAC,KAAK,EAAE,IAAA,qCAAsB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;KAClE;IAED,IAAA,sBAAY,EAAC,SAAS,EAAE,EAAC,IAAI,EAAC,EAAE,YAAY,CAAC,CAAA;AAC/C,CAAC;AAVD,wCAUC;AAED;;;GAGG;AACH,SAAgB,SAAS,CAAC,MAAc;IACtC,IAAA,sBAAY,EAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC;AAFD,8BAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,SAAiB;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IACjD,IAAI,QAAQ,EAAE;QACZ,IAAA,+BAAgB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;KACpC;SAAM;QACL,IAAA,sBAAY,EAAC,UAAU,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;KACxC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;AAC7E,CAAC;AARD,0BAQC;AAED;;;;;;;;GAQG;AACH,SAAgB,QAAQ,CAAC,IAAY,EAAE,OAAsB;IAC3D,MAAM,GAAG,GACP,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IACrE,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAA;KAC5D;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;QAC/C,OAAO,GAAG,CAAA;KACX;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC;AAZD,4BAYC;AAED;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,IAAY,EACZ,OAAsB;IAEtB,MAAM,MAAM,GAAa,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;SAC7C,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAExB,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;QAC/C,OAAO,MAAM,CAAA;KACd;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;AAC1C,CAAC;AAbD,8CAaC;AAED;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,IAAY,EAAE,OAAsB;IAClE,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1C,MAAM,IAAI,SAAS,CACjB,6DAA6D,IAAI,IAAI;QACnE,4EAA4E,CAC/E,CAAA;AACH,CAAC;AAVD,0CAUC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAU;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAA;IACnD,IAAI,QAAQ,EAAE;QACZ,OAAO,IAAA,+BAAgB,EAAC,QAAQ,EAAE,IAAA,qCAAsB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;KACvE;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAA,sBAAY,EAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC,CAAA;AAC3D,CAAC;AARD,8BAQC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAgB;IAC7C,IAAA,eAAK,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AACvC,CAAC;AAFD,wCAEC;AAED,yEAAyE;AACzE,UAAU;AACV,yEAAyE;AAEzE;;;;GAIG;AACH,SAAgB,SAAS,CAAC,OAAuB;IAC/C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAA;IAEnC,KAAK,CAAC,OAAO,CAAC,CAAA;AAChB,CAAC;AAJD,8BAIC;AAED,yEAAyE;AACzE,mBAAmB;AACnB,yEAAyE;AAEzE;;GAEG;AACH,SAAgB,OAAO;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG,CAAA;AAC5C,CAAC;AAFD,0BAEC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAC,OAAe;IACnC,IAAA,sBAAY,EAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC;AAFD,sBAEC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CACnB,OAAuB,EACvB,aAAmC,EAAE;IAErC,IAAA,sBAAY,EACV,OAAO,EACP,IAAA,2BAAmB,EAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,sBASC;AAED;;;;GAIG;AACH,SAAgB,OAAO,CACrB,OAAuB,EACvB,aAAmC,EAAE;IAErC,IAAA,sBAAY,EACV,SAAS,EACT,IAAA,2BAAmB,EAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,0BASC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CACpB,OAAuB,EACvB,aAAmC,EAAE;IAErC,IAAA,sBAAY,EACV,QAAQ,EACR,IAAA,2BAAmB,EAAC,UAAU,CAAC,EAC/B,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CACxD,CAAA;AACH,CAAC;AATD,wBASC;AAED;;;GAGG;AACH,SAAgB,IAAI,CAAC,OAAe;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,oBAEC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,IAAA,eAAK,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACtB,CAAC;AAFD,gCAEC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,IAAA,eAAK,EAAC,UAAU,CAAC,CAAA;AACnB,CAAC;AAFD,4BAEC;AAED;;;;;;;GAOG;AACH,SAAsB,KAAK,CAAI,IAAY,EAAE,EAAoB;;QAC/D,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhB,IAAI,MAAS,CAAA;QAEb,IAAI;YACF,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;SACpB;gBAAS;YACR,QAAQ,EAAE,CAAA;SACX;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CAAA;AAZD,sBAYC;AAED,yEAAyE;AACzE,uBAAuB;AACvB,yEAAyE;AAEzE;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAU;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IAClD,IAAI,QAAQ,EAAE;QACZ,OAAO,IAAA,+BAAgB,EAAC,OAAO,EAAE,IAAA,qCAAsB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;KACtE;IAED,IAAA,sBAAY,EAAC,YAAY,EAAE,EAAC,IAAI,EAAC,EAAE,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC,CAAA;AAC3D,CAAC;AAPD,8BAOC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;AAC3C,CAAC;AAFD,4BAEC;AAED,SAAsB,UAAU,CAAC,GAAY;;QAC3C,OAAO,MAAM,uBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;CAAA;AAFD,gCAEC;AAED;;GAEG;AACH,qCAAiC;AAAzB,kGAAA,OAAO,OAAA;AAEf;;GAEG;AACH,qCAAyC;AAAjC,0GAAA,eAAe,OAAA;AAEvB;;GAEG;AACH,2CAAqE;AAA7D,yGAAA,WAAW,OAAA;AAAE,yGAAA,WAAW,OAAA;AAAE,4GAAA,cAAc,OAAA;AAEhD;;GAEG;AACH,uDAAsC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/file-command.d.ts b/node_modules/@actions/core/lib/file-command.d.ts index ed408eb..2d1f2f4 100644 --- a/node_modules/@actions/core/lib/file-command.d.ts +++ b/node_modules/@actions/core/lib/file-command.d.ts @@ -1 +1,2 @@ -export declare function issueCommand(command: string, message: any): void; +export declare function issueFileCommand(command: string, message: any): void; +export declare function prepareKeyValueMessage(key: string, value: any): string; diff --git a/node_modules/@actions/core/lib/file-command.js b/node_modules/@actions/core/lib/file-command.js index 55e3e9f..e4cae44 100644 --- a/node_modules/@actions/core/lib/file-command.js +++ b/node_modules/@actions/core/lib/file-command.js @@ -2,7 +2,11 @@ // For internal use, subject to change. var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; @@ -15,18 +19,19 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.issueCommand = void 0; +exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; // We use any as a valid input type /* eslint-disable @typescript-eslint/no-explicit-any */ +const crypto = __importStar(require("crypto")); const fs = __importStar(require("fs")); const os = __importStar(require("os")); const utils_1 = require("./utils"); -function issueCommand(command, message) { +function issueFileCommand(command, message) { const filePath = process.env[`GITHUB_${command}`]; if (!filePath) { throw new Error(`Unable to find environment variable for file command ${command}`); @@ -34,9 +39,24 @@ function issueCommand(command, message) { if (!fs.existsSync(filePath)) { throw new Error(`Missing file at path: ${filePath}`); } - fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { + fs.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os.EOL}`, { encoding: 'utf8' }); } -exports.issueCommand = issueCommand; +exports.issueFileCommand = issueFileCommand; +function prepareKeyValueMessage(key, value) { + const delimiter = `ghadelimiter_${crypto.randomUUID()}`; + const convertedValue = (0, utils_1.toCommandValue)(value); + // These should realistically never happen, but just in case someone finds a + // way to exploit uuid generation let's not allow keys or values that contain + // the delimiter. + if (key.includes(delimiter)) { + throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); + } + if (convertedValue.includes(delimiter)) { + throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); + } + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; +} +exports.prepareKeyValueMessage = prepareKeyValueMessage; //# sourceMappingURL=file-command.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/file-command.js.map b/node_modules/@actions/core/lib/file-command.js.map index ee35699..8510a57 100644 --- a/node_modules/@actions/core/lib/file-command.js.map +++ b/node_modules/@actions/core/lib/file-command.js.map @@ -1 +1 @@ -{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,mCAAsC;AAEtC,SAAgB,YAAY,CAAC,OAAe,EAAE,OAAY;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,oCAcC"} \ No newline at end of file +{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,+CAAgC;AAChC,uCAAwB;AACxB,uCAAwB;AACxB,mCAAsC;AAEtC,SAAgB,gBAAgB,CAAC,OAAe,EAAE,OAAY;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,IAAA,sBAAc,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,4CAcC;AAED,SAAgB,sBAAsB,CAAC,GAAW,EAAE,KAAU;IAC5D,MAAM,SAAS,GAAG,gBAAgB,MAAM,CAAC,UAAU,EAAE,EAAE,CAAA;IACvD,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAA;IAE5C,4EAA4E;IAC5E,6EAA6E;IAC7E,iBAAiB;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,4DAA4D,SAAS,GAAG,CACzE,CAAA;KACF;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,6DAA6D,SAAS,GAAG,CAC1E,CAAA;KACF;IAED,OAAO,GAAG,GAAG,KAAK,SAAS,GAAG,EAAE,CAAC,GAAG,GAAG,cAAc,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAA;AAC9E,CAAC;AApBD,wDAoBC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/oidc-utils.js b/node_modules/@actions/core/lib/oidc-utils.js index 9ee10fa..f8895d0 100644 --- a/node_modules/@actions/core/lib/oidc-utils.js +++ b/node_modules/@actions/core/lib/oidc-utils.js @@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge Object.defineProperty(exports, "__esModule", { value: true }); exports.OidcClient = void 0; const http_client_1 = require("@actions/http-client"); -const auth_1 = require("@actions/http-client/auth"); +const auth_1 = require("@actions/http-client/lib/auth"); const core_1 = require("./core"); class OidcClient { static createHttpClient(allowRetry = true, maxRetry = 10) { @@ -44,7 +44,7 @@ class OidcClient { .catch(error => { throw new Error(`Failed to get ID Token. \n Error Code : ${error.statusCode}\n - Error Message: ${error.result.message}`); + Error Message: ${error.message}`); }); const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; if (!id_token) { @@ -62,9 +62,9 @@ class OidcClient { const encodedAudience = encodeURIComponent(audience); id_token_url = `${id_token_url}&audience=${encodedAudience}`; } - core_1.debug(`ID token url is ${id_token_url}`); + (0, core_1.debug)(`ID token url is ${id_token_url}`); const id_token = yield OidcClient.getCall(id_token_url); - core_1.setSecret(id_token); + (0, core_1.setSecret)(id_token); return id_token; } catch (error) { diff --git a/node_modules/@actions/core/lib/oidc-utils.js.map b/node_modules/@actions/core/lib/oidc-utils.js.map index 0ddbca9..f144099 100644 --- a/node_modules/@actions/core/lib/oidc-utils.js.map +++ b/node_modules/@actions/core/lib/oidc-utils.js.map @@ -1 +1 @@ -{"version":3,"file":"oidc-utils.js","sourceRoot":"","sources":["../src/oidc-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,sDAA+C;AAC/C,oDAAiE;AACjE,iCAAuC;AAKvC,MAAa,UAAU;IACb,MAAM,CAAC,gBAAgB,CAC7B,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,EAAE;QAEb,MAAM,cAAc,GAAoB;YACtC,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,QAAQ;SACrB,CAAA;QAED,OAAO,IAAI,wBAAU,CACnB,qBAAqB,EACrB,CAAC,IAAI,8BAAuB,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,EAC3D,cAAc,CACf,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,eAAe;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAC3D,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,MAAM,CAAC,aAAa;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC9D,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;SAC3E;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,MAAM,CAAO,OAAO,CAAC,YAAoB;;;YAC/C,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAA;YAEhD,MAAM,GAAG,GAAG,MAAM,UAAU;iBACzB,OAAO,CAAgB,YAAY,CAAC;iBACpC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,MAAM,IAAI,KAAK,CACb;uBACa,KAAK,CAAC,UAAU;yBACd,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CACtC,CAAA;YACH,CAAC,CAAC,CAAA;YAEJ,MAAM,QAAQ,SAAG,GAAG,CAAC,MAAM,0CAAE,KAAK,CAAA;YAClC,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;aACjE;YACD,OAAO,QAAQ,CAAA;;KAChB;IAED,MAAM,CAAO,UAAU,CAAC,QAAiB;;YACvC,IAAI;gBACF,gDAAgD;gBAChD,IAAI,YAAY,GAAW,UAAU,CAAC,aAAa,EAAE,CAAA;gBACrD,IAAI,QAAQ,EAAE;oBACZ,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;oBACpD,YAAY,GAAG,GAAG,YAAY,aAAa,eAAe,EAAE,CAAA;iBAC7D;gBAED,YAAK,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAA;gBAExC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;gBACvD,gBAAS,CAAC,QAAQ,CAAC,CAAA;gBACnB,OAAO,QAAQ,CAAA;aAChB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;aACnD;QACH,CAAC;KAAA;CACF;AAzED,gCAyEC"} \ No newline at end of file +{"version":3,"file":"oidc-utils.js","sourceRoot":"","sources":["../src/oidc-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,sDAA+C;AAC/C,wDAAqE;AACrE,iCAAuC;AAKvC,MAAa,UAAU;IACb,MAAM,CAAC,gBAAgB,CAC7B,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,EAAE;QAEb,MAAM,cAAc,GAAmB;YACrC,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,QAAQ;SACrB,CAAA;QAED,OAAO,IAAI,wBAAU,CACnB,qBAAqB,EACrB,CAAC,IAAI,8BAAuB,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,EAC3D,cAAc,CACf,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,eAAe;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAC3D,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,MAAM,CAAC,aAAa;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC9D,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;SAC3E;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,MAAM,CAAO,OAAO,CAAC,YAAoB;;;YAC/C,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAA;YAEhD,MAAM,GAAG,GAAG,MAAM,UAAU;iBACzB,OAAO,CAAgB,YAAY,CAAC;iBACpC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,MAAM,IAAI,KAAK,CACb;uBACa,KAAK,CAAC,UAAU;yBACd,KAAK,CAAC,OAAO,EAAE,CAC/B,CAAA;YACH,CAAC,CAAC,CAAA;YAEJ,MAAM,QAAQ,GAAG,MAAA,GAAG,CAAC,MAAM,0CAAE,KAAK,CAAA;YAClC,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;aACjE;YACD,OAAO,QAAQ,CAAA;;KAChB;IAED,MAAM,CAAO,UAAU,CAAC,QAAiB;;YACvC,IAAI;gBACF,gDAAgD;gBAChD,IAAI,YAAY,GAAW,UAAU,CAAC,aAAa,EAAE,CAAA;gBACrD,IAAI,QAAQ,EAAE;oBACZ,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;oBACpD,YAAY,GAAG,GAAG,YAAY,aAAa,eAAe,EAAE,CAAA;iBAC7D;gBAED,IAAA,YAAK,EAAC,mBAAmB,YAAY,EAAE,CAAC,CAAA;gBAExC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;gBACvD,IAAA,gBAAS,EAAC,QAAQ,CAAC,CAAA;gBACnB,OAAO,QAAQ,CAAA;aAChB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;aACnD;QACH,CAAC;KAAA;CACF;AAzED,gCAyEC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/path-utils.d.ts b/node_modules/@actions/core/lib/path-utils.d.ts new file mode 100644 index 0000000..1fee9f3 --- /dev/null +++ b/node_modules/@actions/core/lib/path-utils.d.ts @@ -0,0 +1,25 @@ +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +export declare function toPosixPath(pth: string): string; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +export declare function toWin32Path(pth: string): string; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +export declare function toPlatformPath(pth: string): string; diff --git a/node_modules/@actions/core/lib/path-utils.js b/node_modules/@actions/core/lib/path-utils.js new file mode 100644 index 0000000..d13f4ec --- /dev/null +++ b/node_modules/@actions/core/lib/path-utils.js @@ -0,0 +1,62 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; +const path = __importStar(require("path")); +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +function toPosixPath(pth) { + return pth.replace(/[\\]/g, '/'); +} +exports.toPosixPath = toPosixPath; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +function toWin32Path(pth) { + return pth.replace(/[/]/g, '\\'); +} +exports.toWin32Path = toWin32Path; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); +} +exports.toPlatformPath = toPlatformPath; +//# sourceMappingURL=path-utils.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/path-utils.js.map b/node_modules/@actions/core/lib/path-utils.js.map new file mode 100644 index 0000000..b296008 --- /dev/null +++ b/node_modules/@actions/core/lib/path-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAE5B;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC;AAFD,kCAEC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAClC,CAAC;AAFD,kCAEC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,wCAEC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/platform.d.ts b/node_modules/@actions/core/lib/platform.d.ts new file mode 100644 index 0000000..34dbd93 --- /dev/null +++ b/node_modules/@actions/core/lib/platform.d.ts @@ -0,0 +1,15 @@ +/// +export declare const platform: NodeJS.Platform; +export declare const arch: string; +export declare const isWindows: boolean; +export declare const isMacOS: boolean; +export declare const isLinux: boolean; +export declare function getDetails(): Promise<{ + name: string; + platform: string; + arch: string; + version: string; + isWindows: boolean; + isMacOS: boolean; + isLinux: boolean; +}>; diff --git a/node_modules/@actions/core/lib/platform.js b/node_modules/@actions/core/lib/platform.js new file mode 100644 index 0000000..c6b58c5 --- /dev/null +++ b/node_modules/@actions/core/lib/platform.js @@ -0,0 +1,94 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getDetails = exports.isLinux = exports.isMacOS = exports.isWindows = exports.arch = exports.platform = void 0; +const os_1 = __importDefault(require("os")); +const exec = __importStar(require("@actions/exec")); +const getWindowsInfo = () => __awaiter(void 0, void 0, void 0, function* () { + const { stdout: version } = yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"', undefined, { + silent: true + }); + const { stdout: name } = yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"', undefined, { + silent: true + }); + return { + name: name.trim(), + version: version.trim() + }; +}); +const getMacOsInfo = () => __awaiter(void 0, void 0, void 0, function* () { + var _a, _b, _c, _d; + const { stdout } = yield exec.getExecOutput('sw_vers', undefined, { + silent: true + }); + const version = (_b = (_a = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : ''; + const name = (_d = (_c = stdout.match(/ProductName:\s*(.+)/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : ''; + return { + name, + version + }; +}); +const getLinuxInfo = () => __awaiter(void 0, void 0, void 0, function* () { + const { stdout } = yield exec.getExecOutput('lsb_release', ['-i', '-r', '-s'], { + silent: true + }); + const [name, version] = stdout.trim().split('\n'); + return { + name, + version + }; +}); +exports.platform = os_1.default.platform(); +exports.arch = os_1.default.arch(); +exports.isWindows = exports.platform === 'win32'; +exports.isMacOS = exports.platform === 'darwin'; +exports.isLinux = exports.platform === 'linux'; +function getDetails() { + return __awaiter(this, void 0, void 0, function* () { + return Object.assign(Object.assign({}, (yield (exports.isWindows + ? getWindowsInfo() + : exports.isMacOS + ? getMacOsInfo() + : getLinuxInfo()))), { platform: exports.platform, + arch: exports.arch, + isWindows: exports.isWindows, + isMacOS: exports.isMacOS, + isLinux: exports.isLinux }); + }); +} +exports.getDetails = getDetails; +//# sourceMappingURL=platform.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/platform.js.map b/node_modules/@actions/core/lib/platform.js.map new file mode 100644 index 0000000..976102b --- /dev/null +++ b/node_modules/@actions/core/lib/platform.js.map @@ -0,0 +1 @@ +{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAmB;AACnB,oDAAqC;AAErC,MAAM,cAAc,GAAG,GAAmD,EAAE;IAC1E,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAChD,kFAAkF,EAClF,SAAS,EACT;QACE,MAAM,EAAE,IAAI;KACb,CACF,CAAA;IAED,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAC7C,kFAAkF,EAClF,SAAS,EACT;QACE,MAAM,EAAE,IAAI;KACb,CACF,CAAA;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;QACjB,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;KACxB,CAAA;AACH,CAAC,CAAA,CAAA;AAED,MAAM,YAAY,GAAG,GAGlB,EAAE;;IACH,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE;QAC9D,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAA,MAAA,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,0CAAG,CAAC,CAAC,mCAAI,EAAE,CAAA;IACjE,MAAM,IAAI,GAAG,MAAA,MAAA,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,0CAAG,CAAC,CAAC,mCAAI,EAAE,CAAA;IAE3D,OAAO;QACL,IAAI;QACJ,OAAO;KACR,CAAA;AACH,CAAC,CAAA,CAAA;AAED,MAAM,YAAY,GAAG,GAGlB,EAAE;IACH,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;QAC3E,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAEjD,OAAO;QACL,IAAI;QACJ,OAAO;KACR,CAAA;AACH,CAAC,CAAA,CAAA;AAEY,QAAA,QAAQ,GAAG,YAAE,CAAC,QAAQ,EAAE,CAAA;AACxB,QAAA,IAAI,GAAG,YAAE,CAAC,IAAI,EAAE,CAAA;AAChB,QAAA,SAAS,GAAG,gBAAQ,KAAK,OAAO,CAAA;AAChC,QAAA,OAAO,GAAG,gBAAQ,KAAK,QAAQ,CAAA;AAC/B,QAAA,OAAO,GAAG,gBAAQ,KAAK,OAAO,CAAA;AAE3C,SAAsB,UAAU;;QAS9B,uCACK,CAAC,MAAM,CAAC,iBAAS;YAClB,CAAC,CAAC,cAAc,EAAE;YAClB,CAAC,CAAC,eAAO;gBACT,CAAC,CAAC,YAAY,EAAE;gBAChB,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,KACpB,QAAQ,EAAR,gBAAQ;YACR,IAAI,EAAJ,YAAI;YACJ,SAAS,EAAT,iBAAS;YACT,OAAO,EAAP,eAAO;YACP,OAAO,EAAP,eAAO,IACR;IACH,CAAC;CAAA;AArBD,gCAqBC"} \ No newline at end of file diff --git a/node_modules/@actions/core/lib/summary.d.ts b/node_modules/@actions/core/lib/summary.d.ts new file mode 100644 index 0000000..0ea4384 --- /dev/null +++ b/node_modules/@actions/core/lib/summary.d.ts @@ -0,0 +1,202 @@ +export declare const SUMMARY_ENV_VAR = "GITHUB_STEP_SUMMARY"; +export declare const SUMMARY_DOCS_URL = "https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary"; +export type SummaryTableRow = (SummaryTableCell | string)[]; +export interface SummaryTableCell { + /** + * Cell content + */ + data: string; + /** + * Render cell as header + * (optional) default: false + */ + header?: boolean; + /** + * Number of columns the cell extends + * (optional) default: '1' + */ + colspan?: string; + /** + * Number of rows the cell extends + * (optional) default: '1' + */ + rowspan?: string; +} +export interface SummaryImageOptions { + /** + * The width of the image in pixels. Must be an integer without a unit. + * (optional) + */ + width?: string; + /** + * The height of the image in pixels. Must be an integer without a unit. + * (optional) + */ + height?: string; +} +export interface SummaryWriteOptions { + /** + * Replace all existing content in summary file with buffer contents + * (optional) default: false + */ + overwrite?: boolean; +} +declare class Summary { + private _buffer; + private _filePath?; + constructor(); + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + private filePath; + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + private wrap; + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options?: SummaryWriteOptions): Promise; + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear(): Promise; + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify(): string; + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer(): boolean; + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer(): Summary; + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text: string, addEOL?: boolean): Summary; + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL(): Summary; + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code: string, lang?: string): Summary; + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items: string[], ordered?: boolean): Summary; + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows: SummaryTableRow[]): Summary; + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label: string, content: string): Summary; + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src: string, alt: string, options?: SummaryImageOptions): Summary; + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text: string, level?: number | string): Summary; + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator(): Summary; + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak(): Summary; + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text: string, cite?: string): Summary; + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text: string, href: string): Summary; +} +/** + * @deprecated use `core.summary` + */ +export declare const markdownSummary: Summary; +export declare const summary: Summary; +export {}; diff --git a/node_modules/@actions/core/lib/summary.js b/node_modules/@actions/core/lib/summary.js new file mode 100644 index 0000000..04a335b --- /dev/null +++ b/node_modules/@actions/core/lib/summary.js @@ -0,0 +1,283 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; +const os_1 = require("os"); +const fs_1 = require("fs"); +const { access, appendFile, writeFile } = fs_1.promises; +exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; +exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; +class Summary { + constructor() { + this._buffer = ''; + } + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + filePath() { + return __awaiter(this, void 0, void 0, function* () { + if (this._filePath) { + return this._filePath; + } + const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; + if (!pathFromEnv) { + throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + } + try { + yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); + } + catch (_a) { + throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); + } + this._filePath = pathFromEnv; + return this._filePath; + }); + } + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + wrap(tag, content, attrs = {}) { + const htmlAttrs = Object.entries(attrs) + .map(([key, value]) => ` ${key}="${value}"`) + .join(''); + if (!content) { + return `<${tag}${htmlAttrs}>`; + } + return `<${tag}${htmlAttrs}>${content}`; + } + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options) { + return __awaiter(this, void 0, void 0, function* () { + const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + const filePath = yield this.filePath(); + const writeFunc = overwrite ? writeFile : appendFile; + yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); + return this.emptyBuffer(); + }); + } + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear() { + return __awaiter(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); + } + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify() { + return this._buffer; + } + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer() { + return this._buffer.length === 0; + } + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer() { + this._buffer = ''; + return this; + } + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text, addEOL = false) { + this._buffer += text; + return addEOL ? this.addEOL() : this; + } + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL() { + return this.addRaw(os_1.EOL); + } + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code, lang) { + const attrs = Object.assign({}, (lang && { lang })); + const element = this.wrap('pre', this.wrap('code', code), attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items, ordered = false) { + const tag = ordered ? 'ol' : 'ul'; + const listItems = items.map(item => this.wrap('li', item)).join(''); + const element = this.wrap(tag, listItems); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows) { + const tableBody = rows + .map(row => { + const cells = row + .map(cell => { + if (typeof cell === 'string') { + return this.wrap('td', cell); + } + const { header, data, colspan, rowspan } = cell; + const tag = header ? 'th' : 'td'; + const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); + return this.wrap(tag, data, attrs); + }) + .join(''); + return this.wrap('tr', cells); + }) + .join(''); + const element = this.wrap('table', tableBody); + return this.addRaw(element).addEOL(); + } + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label, content) { + const element = this.wrap('details', this.wrap('summary', label) + content); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src, alt, options) { + const { width, height } = options || {}; + const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); + const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text, level) { + const tag = `h${level}`; + const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) + ? tag + : 'h1'; + const element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap('hr', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap('br', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, (cite && { cite })); + const element = this.wrap('blockquote', text, attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap('a', text, { href }); + return this.addRaw(element).addEOL(); + } +} +const _summary = new Summary(); +/** + * @deprecated use `core.summary` + */ +exports.markdownSummary = _summary; +exports.summary = _summary; +//# sourceMappingURL=summary.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/lib/summary.js.map b/node_modules/@actions/core/lib/summary.js.map new file mode 100644 index 0000000..9637351 --- /dev/null +++ b/node_modules/@actions/core/lib/summary.js.map @@ -0,0 +1 @@ +{"version":3,"file":"summary.js","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAsB;AACtB,2BAAsC;AACtC,MAAM,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAC,GAAG,aAAQ,CAAA;AAEnC,QAAA,eAAe,GAAG,qBAAqB,CAAA;AACvC,QAAA,gBAAgB,GAC3B,2GAA2G,CAAA;AA+C7G,MAAM,OAAO;IAIX;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACW,QAAQ;;YACpB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,IAAI,CAAC,SAAS,CAAA;aACtB;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAe,CAAC,CAAA;YAChD,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,IAAI,KAAK,CACb,4CAA4C,uBAAe,6DAA6D,CACzH,CAAA;aACF;YAED,IAAI;gBACF,MAAM,MAAM,CAAC,WAAW,EAAE,cAAS,CAAC,IAAI,GAAG,cAAS,CAAC,IAAI,CAAC,CAAA;aAC3D;YAAC,WAAM;gBACN,MAAM,IAAI,KAAK,CACb,mCAAmC,WAAW,0DAA0D,CACzG,CAAA;aACF;YAED,IAAI,CAAC,SAAS,GAAG,WAAW,CAAA;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;KAAA;IAED;;;;;;;;OAQG;IACK,IAAI,CACV,GAAW,EACX,OAAsB,EACtB,QAAuC,EAAE;QAEzC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,KAAK,GAAG,CAAC;aAC3C,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,GAAG,GAAG,SAAS,GAAG,CAAA;SAC9B;QAED,OAAO,IAAI,GAAG,GAAG,SAAS,IAAI,OAAO,KAAK,GAAG,GAAG,CAAA;IAClD,CAAC;IAED;;;;;;OAMG;IACG,KAAK,CAAC,OAA6B;;YACvC,MAAM,SAAS,GAAG,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,CAAA;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;YACtC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;YACpD,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAA;YAC3D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;QAC3B,CAAC;KAAA;IAED;;;;OAIG;IACG,KAAK;;YACT,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;QACpD,CAAC;KAAA;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;IAClC,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAY,EAAE,MAAM,GAAG,KAAK;QACjC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAA;QACpB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAG,CAAC,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,IAAY,EAAE,IAAa;QACtC,MAAM,KAAK,qBACN,CAAC,IAAI,IAAI,EAAC,IAAI,EAAC,CAAC,CACpB,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;QAChE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,KAAe,EAAE,OAAO,GAAG,KAAK;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,IAAuB;QAC9B,MAAM,SAAS,GAAG,IAAI;aACnB,GAAG,CAAC,GAAG,CAAC,EAAE;YACT,MAAM,KAAK,GAAG,GAAG;iBACd,GAAG,CAAC,IAAI,CAAC,EAAE;gBACV,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;iBAC7B;gBAED,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAC,GAAG,IAAI,CAAA;gBAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;gBAChC,MAAM,KAAK,mCACN,CAAC,OAAO,IAAI,EAAC,OAAO,EAAC,CAAC,GACtB,CAAC,OAAO,IAAI,EAAC,OAAO,EAAC,CAAC,CAC1B,CAAA;gBAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACpC,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAA;YAEX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,KAAa,EAAE,OAAe;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAA;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAW,EAAE,GAAW,EAAE,OAA6B;QAC9D,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,OAAO,IAAI,EAAE,CAAA;QACrC,MAAM,KAAK,mCACN,CAAC,KAAK,IAAI,EAAC,KAAK,EAAC,CAAC,GAClB,CAAC,MAAM,IAAI,EAAC,MAAM,EAAC,CAAC,CACxB,CAAA;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,kBAAG,GAAG,EAAE,GAAG,IAAK,KAAK,EAAE,CAAA;QAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,IAAY,EAAE,KAAuB;QAC9C,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;QACvB,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnE,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,CAAA;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAY,EAAE,IAAa;QAClC,MAAM,KAAK,qBACN,CAAC,IAAI,IAAI,EAAC,IAAI,EAAC,CAAC,CACpB,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,IAAY,EAAE,IAAY;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAC,IAAI,EAAC,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAA;AAE9B;;GAEG;AACU,QAAA,eAAe,GAAG,QAAQ,CAAA;AAC1B,QAAA,OAAO,GAAG,QAAQ,CAAA"} \ No newline at end of file diff --git a/node_modules/@actions/core/package.json b/node_modules/@actions/core/package.json index 8d7a399..6d60010 100644 --- a/node_modules/@actions/core/package.json +++ b/node_modules/@actions/core/package.json @@ -1,6 +1,6 @@ { "name": "@actions/core", - "version": "1.6.0", + "version": "1.11.1", "description": "Actions core lib", "keywords": [ "github", @@ -30,15 +30,16 @@ "scripts": { "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", "test": "echo \"Error: run tests from root\" && exit 1", - "tsc": "tsc" + "tsc": "tsc -p tsconfig.json" }, "bugs": { "url": "https://github.com/actions/toolkit/issues" }, "dependencies": { - "@actions/http-client": "^1.0.11" + "@actions/exec": "^1.1.1", + "@actions/http-client": "^2.0.1" }, "devDependencies": { - "@types/node": "^12.0.2" + "@types/node": "^16.18.112" } -} +} \ No newline at end of file diff --git a/node_modules/@actions/exec/LICENSE.md b/node_modules/@actions/exec/LICENSE.md new file mode 100644 index 0000000..dbae2ed --- /dev/null +++ b/node_modules/@actions/exec/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright 2019 GitHub + +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/exec/README.md b/node_modules/@actions/exec/README.md new file mode 100644 index 0000000..53a6bf5 --- /dev/null +++ b/node_modules/@actions/exec/README.md @@ -0,0 +1,57 @@ +# `@actions/exec` + +## Usage + +#### Basic + +You can use this package to execute tools in a cross platform way: + +```js +const exec = require('@actions/exec'); + +await exec.exec('node index.js'); +``` + +#### Args + +You can also pass in arg arrays: + +```js +const exec = require('@actions/exec'); + +await exec.exec('node', ['index.js', 'foo=bar']); +``` + +#### Output/options + +Capture output or specify [other options](https://github.com/actions/toolkit/blob/d9347d4ab99fd507c0b9104b2cf79fb44fcc827d/packages/exec/src/interfaces.ts#L5): + +```js +const exec = require('@actions/exec'); + +let myOutput = ''; +let myError = ''; + +const options = {}; +options.listeners = { + stdout: (data: Buffer) => { + myOutput += data.toString(); + }, + stderr: (data: Buffer) => { + myError += data.toString(); + } +}; +options.cwd = './lib'; + +await exec.exec('node', ['index.js', 'foo=bar'], options); +``` + +#### Exec tools not in the PATH + +You can specify the full path for tools not in the PATH: + +```js +const exec = require('@actions/exec'); + +await exec.exec('"/path/to/my-tool"', ['arg1']); +``` diff --git a/node_modules/@actions/exec/lib/exec.d.ts b/node_modules/@actions/exec/lib/exec.d.ts new file mode 100644 index 0000000..baedcdb --- /dev/null +++ b/node_modules/@actions/exec/lib/exec.d.ts @@ -0,0 +1,24 @@ +import { ExecOptions, ExecOutput, ExecListeners } from './interfaces'; +export { ExecOptions, ExecOutput, ExecListeners }; +/** + * Exec a command. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code + */ +export declare function exec(commandLine: string, args?: string[], options?: ExecOptions): Promise; +/** + * Exec a command and get the output. + * Output will be streamed to the live console. + * Returns promise with the exit code and collected stdout and stderr + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code, stdout, and stderr + */ +export declare function getExecOutput(commandLine: string, args?: string[], options?: ExecOptions): Promise; diff --git a/node_modules/@actions/exec/lib/exec.js b/node_modules/@actions/exec/lib/exec.js new file mode 100644 index 0000000..72c7a9c --- /dev/null +++ b/node_modules/@actions/exec/lib/exec.js @@ -0,0 +1,103 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getExecOutput = exports.exec = void 0; +const string_decoder_1 = require("string_decoder"); +const tr = __importStar(require("./toolrunner")); +/** + * Exec a command. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code + */ +function exec(commandLine, args, options) { + return __awaiter(this, void 0, void 0, function* () { + const commandArgs = tr.argStringToArray(commandLine); + if (commandArgs.length === 0) { + throw new Error(`Parameter 'commandLine' cannot be null or empty.`); + } + // Path to tool to execute should be first arg + const toolPath = commandArgs[0]; + args = commandArgs.slice(1).concat(args || []); + const runner = new tr.ToolRunner(toolPath, args, options); + return runner.exec(); + }); +} +exports.exec = exec; +/** + * Exec a command and get the output. + * Output will be streamed to the live console. + * Returns promise with the exit code and collected stdout and stderr + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code, stdout, and stderr + */ +function getExecOutput(commandLine, args, options) { + var _a, _b; + return __awaiter(this, void 0, void 0, function* () { + let stdout = ''; + let stderr = ''; + //Using string decoder covers the case where a mult-byte character is split + const stdoutDecoder = new string_decoder_1.StringDecoder('utf8'); + const stderrDecoder = new string_decoder_1.StringDecoder('utf8'); + const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout; + const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr; + const stdErrListener = (data) => { + stderr += stderrDecoder.write(data); + if (originalStdErrListener) { + originalStdErrListener(data); + } + }; + const stdOutListener = (data) => { + stdout += stdoutDecoder.write(data); + if (originalStdoutListener) { + originalStdoutListener(data); + } + }; + const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { stdout: stdOutListener, stderr: stdErrListener }); + const exitCode = yield exec(commandLine, args, Object.assign(Object.assign({}, options), { listeners })); + //flush any remaining characters + stdout += stdoutDecoder.end(); + stderr += stderrDecoder.end(); + return { + exitCode, + stdout, + stderr + }; + }); +} +exports.getExecOutput = getExecOutput; +//# sourceMappingURL=exec.js.map \ No newline at end of file diff --git a/node_modules/@actions/exec/lib/exec.js.map b/node_modules/@actions/exec/lib/exec.js.map new file mode 100644 index 0000000..0762636 --- /dev/null +++ b/node_modules/@actions/exec/lib/exec.js.map @@ -0,0 +1 @@ +{"version":3,"file":"exec.js","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA4C;AAE5C,iDAAkC;AAIlC;;;;;;;;;GASG;AACH,SAAsB,IAAI,CACxB,WAAmB,EACnB,IAAe,EACf,OAAqB;;QAErB,MAAM,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QACpD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACpE;QACD,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAkB,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACxE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;IACtB,CAAC;CAAA;AAdD,oBAcC;AAED;;;;;;;;;GASG;AAEH,SAAsB,aAAa,CACjC,WAAmB,EACnB,IAAe,EACf,OAAqB;;;QAErB,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,2EAA2E;QAC3E,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAA;QAE/C,MAAM,sBAAsB,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,CAAA;QACzD,MAAM,sBAAsB,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,CAAA;QAEzD,MAAM,cAAc,GAAG,CAAC,IAAY,EAAQ,EAAE;YAC5C,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,sBAAsB,EAAE;gBAC1B,sBAAsB,CAAC,IAAI,CAAC,CAAA;aAC7B;QACH,CAAC,CAAA;QAED,MAAM,cAAc,GAAG,CAAC,IAAY,EAAQ,EAAE;YAC5C,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,sBAAsB,EAAE;gBAC1B,sBAAsB,CAAC,IAAI,CAAC,CAAA;aAC7B;QACH,CAAC,CAAA;QAED,MAAM,SAAS,mCACV,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KACrB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,GACvB,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,IAAI,kCAAM,OAAO,KAAE,SAAS,IAAE,CAAA;QAEvE,gCAAgC;QAChC,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,CAAA;QAC7B,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,CAAA;QAE7B,OAAO;YACL,QAAQ;YACR,MAAM;YACN,MAAM;SACP,CAAA;;CACF;AA9CD,sCA8CC"} \ No newline at end of file diff --git a/node_modules/@actions/exec/lib/interfaces.d.ts b/node_modules/@actions/exec/lib/interfaces.d.ts new file mode 100644 index 0000000..8ae20e4 --- /dev/null +++ b/node_modules/@actions/exec/lib/interfaces.d.ts @@ -0,0 +1,57 @@ +/// +import * as stream from 'stream'; +/** + * Interface for exec options + */ +export interface ExecOptions { + /** optional working directory. defaults to current */ + cwd?: string; + /** optional envvar dictionary. defaults to current process's env */ + env?: { + [key: string]: string; + }; + /** optional. defaults to false */ + silent?: boolean; + /** optional out stream to use. Defaults to process.stdout */ + outStream?: stream.Writable; + /** optional err stream to use. Defaults to process.stderr */ + errStream?: stream.Writable; + /** optional. whether to skip quoting/escaping arguments if needed. defaults to false. */ + windowsVerbatimArguments?: boolean; + /** optional. whether to fail if output to stderr. defaults to false */ + failOnStdErr?: boolean; + /** optional. defaults to failing on non zero. ignore will not fail leaving it up to the caller */ + ignoreReturnCode?: boolean; + /** optional. How long in ms to wait for STDIO streams to close after the exit event of the process before terminating. defaults to 10000 */ + delay?: number; + /** optional. input to write to the process on STDIN. */ + input?: Buffer; + /** optional. Listeners for output. Callback functions that will be called on these events */ + listeners?: ExecListeners; +} +/** + * Interface for the output of getExecOutput() + */ +export interface ExecOutput { + /**The exit code of the process */ + exitCode: number; + /**The entire stdout of the process as a string */ + stdout: string; + /**The entire stderr of the process as a string */ + stderr: string; +} +/** + * The user defined listeners for an exec call + */ +export interface ExecListeners { + /** A call back for each buffer of stdout */ + stdout?: (data: Buffer) => void; + /** A call back for each buffer of stderr */ + stderr?: (data: Buffer) => void; + /** A call back for each line of stdout */ + stdline?: (data: string) => void; + /** A call back for each line of stderr */ + errline?: (data: string) => void; + /** A call back for each debug log */ + debug?: (data: string) => void; +} diff --git a/node_modules/@actions/http-client/interfaces.js b/node_modules/@actions/exec/lib/interfaces.js similarity index 66% rename from node_modules/@actions/http-client/interfaces.js rename to node_modules/@actions/exec/lib/interfaces.js index c8ad2e5..db91911 100644 --- a/node_modules/@actions/http-client/interfaces.js +++ b/node_modules/@actions/exec/lib/interfaces.js @@ -1,2 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=interfaces.js.map \ No newline at end of file diff --git a/node_modules/@actions/exec/lib/interfaces.js.map b/node_modules/@actions/exec/lib/interfaces.js.map new file mode 100644 index 0000000..8fb5f7d --- /dev/null +++ b/node_modules/@actions/exec/lib/interfaces.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@actions/exec/lib/toolrunner.d.ts b/node_modules/@actions/exec/lib/toolrunner.d.ts new file mode 100644 index 0000000..9bbbb1e --- /dev/null +++ b/node_modules/@actions/exec/lib/toolrunner.d.ts @@ -0,0 +1,37 @@ +/// +import * as events from 'events'; +import * as im from './interfaces'; +export declare class ToolRunner extends events.EventEmitter { + constructor(toolPath: string, args?: string[], options?: im.ExecOptions); + private toolPath; + private args; + private options; + private _debug; + private _getCommandString; + private _processLineBuffer; + private _getSpawnFileName; + private _getSpawnArgs; + private _endsWith; + private _isCmdFile; + private _windowsQuoteCmdArg; + private _uvQuoteCmdArg; + private _cloneExecOptions; + private _getSpawnOptions; + /** + * Exec a tool. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param tool path to tool to exec + * @param options optional exec options. See ExecOptions + * @returns number + */ + exec(): Promise; +} +/** + * Convert an arg string to an array of args. Handles escaping + * + * @param argString string of arguments + * @returns string[] array of arguments + */ +export declare function argStringToArray(argString: string): string[]; diff --git a/node_modules/@actions/exec/lib/toolrunner.js b/node_modules/@actions/exec/lib/toolrunner.js new file mode 100644 index 0000000..e456a72 --- /dev/null +++ b/node_modules/@actions/exec/lib/toolrunner.js @@ -0,0 +1,618 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.argStringToArray = exports.ToolRunner = void 0; +const os = __importStar(require("os")); +const events = __importStar(require("events")); +const child = __importStar(require("child_process")); +const path = __importStar(require("path")); +const io = __importStar(require("@actions/io")); +const ioUtil = __importStar(require("@actions/io/lib/io-util")); +const timers_1 = require("timers"); +/* eslint-disable @typescript-eslint/unbound-method */ +const IS_WINDOWS = process.platform === 'win32'; +/* + * Class for running command line tools. Handles quoting and arg parsing in a platform agnostic way. + */ +class ToolRunner extends events.EventEmitter { + constructor(toolPath, args, options) { + super(); + if (!toolPath) { + throw new Error("Parameter 'toolPath' cannot be null or empty."); + } + this.toolPath = toolPath; + this.args = args || []; + this.options = options || {}; + } + _debug(message) { + if (this.options.listeners && this.options.listeners.debug) { + this.options.listeners.debug(message); + } + } + _getCommandString(options, noPrefix) { + const toolPath = this._getSpawnFileName(); + const args = this._getSpawnArgs(options); + let cmd = noPrefix ? '' : '[command]'; // omit prefix when piped to a second tool + if (IS_WINDOWS) { + // Windows + cmd file + if (this._isCmdFile()) { + cmd += toolPath; + for (const a of args) { + cmd += ` ${a}`; + } + } + // Windows + verbatim + else if (options.windowsVerbatimArguments) { + cmd += `"${toolPath}"`; + for (const a of args) { + cmd += ` ${a}`; + } + } + // Windows (regular) + else { + cmd += this._windowsQuoteCmdArg(toolPath); + for (const a of args) { + cmd += ` ${this._windowsQuoteCmdArg(a)}`; + } + } + } + else { + // OSX/Linux - this can likely be improved with some form of quoting. + // creating processes on Unix is fundamentally different than Windows. + // on Unix, execvp() takes an arg array. + cmd += toolPath; + for (const a of args) { + cmd += ` ${a}`; + } + } + return cmd; + } + _processLineBuffer(data, strBuffer, onLine) { + try { + let s = strBuffer + data.toString(); + let n = s.indexOf(os.EOL); + while (n > -1) { + const line = s.substring(0, n); + onLine(line); + // the rest of the string ... + s = s.substring(n + os.EOL.length); + n = s.indexOf(os.EOL); + } + return s; + } + catch (err) { + // streaming lines to console is best effort. Don't fail a build. + this._debug(`error processing line. Failed with error ${err}`); + return ''; + } + } + _getSpawnFileName() { + if (IS_WINDOWS) { + if (this._isCmdFile()) { + return process.env['COMSPEC'] || 'cmd.exe'; + } + } + return this.toolPath; + } + _getSpawnArgs(options) { + if (IS_WINDOWS) { + if (this._isCmdFile()) { + let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; + for (const a of this.args) { + argline += ' '; + argline += options.windowsVerbatimArguments + ? a + : this._windowsQuoteCmdArg(a); + } + argline += '"'; + return [argline]; + } + } + return this.args; + } + _endsWith(str, end) { + return str.endsWith(end); + } + _isCmdFile() { + const upperToolPath = this.toolPath.toUpperCase(); + return (this._endsWith(upperToolPath, '.CMD') || + this._endsWith(upperToolPath, '.BAT')); + } + _windowsQuoteCmdArg(arg) { + // for .exe, apply the normal quoting rules that libuv applies + if (!this._isCmdFile()) { + return this._uvQuoteCmdArg(arg); + } + // otherwise apply quoting rules specific to the cmd.exe command line parser. + // the libuv rules are generic and are not designed specifically for cmd.exe + // command line parser. + // + // for a detailed description of the cmd.exe command line parser, refer to + // http://stackoverflow.com/questions/4094699/how-does-the-windows-command-interpreter-cmd-exe-parse-scripts/7970912#7970912 + // need quotes for empty arg + if (!arg) { + return '""'; + } + // determine whether the arg needs to be quoted + const cmdSpecialChars = [ + ' ', + '\t', + '&', + '(', + ')', + '[', + ']', + '{', + '}', + '^', + '=', + ';', + '!', + "'", + '+', + ',', + '`', + '~', + '|', + '<', + '>', + '"' + ]; + let needsQuotes = false; + for (const char of arg) { + if (cmdSpecialChars.some(x => x === char)) { + needsQuotes = true; + break; + } + } + // short-circuit if quotes not needed + if (!needsQuotes) { + return arg; + } + // the following quoting rules are very similar to the rules that by libuv applies. + // + // 1) wrap the string in quotes + // + // 2) double-up quotes - i.e. " => "" + // + // this is different from the libuv quoting rules. libuv replaces " with \", which unfortunately + // doesn't work well with a cmd.exe command line. + // + // note, replacing " with "" also works well if the arg is passed to a downstream .NET console app. + // for example, the command line: + // foo.exe "myarg:""my val""" + // is parsed by a .NET console app into an arg array: + // [ "myarg:\"my val\"" ] + // which is the same end result when applying libuv quoting rules. although the actual + // command line from libuv quoting rules would look like: + // foo.exe "myarg:\"my val\"" + // + // 3) double-up slashes that precede a quote, + // e.g. hello \world => "hello \world" + // hello\"world => "hello\\""world" + // hello\\"world => "hello\\\\""world" + // hello world\ => "hello world\\" + // + // technically this is not required for a cmd.exe command line, or the batch argument parser. + // the reasons for including this as a .cmd quoting rule are: + // + // a) this is optimized for the scenario where the argument is passed from the .cmd file to an + // external program. many programs (e.g. .NET console apps) rely on the slash-doubling rule. + // + // b) it's what we've been doing previously (by deferring to node default behavior) and we + // haven't heard any complaints about that aspect. + // + // note, a weakness of the quoting rules chosen here, is that % is not escaped. in fact, % cannot be + // escaped when used on the command line directly - even though within a .cmd file % can be escaped + // by using %%. + // + // the saving grace is, on the command line, %var% is left as-is if var is not defined. this contrasts + // the line parsing rules within a .cmd file, where if var is not defined it is replaced with nothing. + // + // one option that was explored was replacing % with ^% - i.e. %var% => ^%var^%. this hack would + // often work, since it is unlikely that var^ would exist, and the ^ character is removed when the + // variable is used. the problem, however, is that ^ is not removed when %* is used to pass the args + // to an external program. + // + // an unexplored potential solution for the % escaping problem, is to create a wrapper .cmd file. + // % can be escaped within a .cmd file. + let reverse = '"'; + let quoteHit = true; + for (let i = arg.length; i > 0; i--) { + // walk the string in reverse + reverse += arg[i - 1]; + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\'; // double the slash + } + else if (arg[i - 1] === '"') { + quoteHit = true; + reverse += '"'; // double the quote + } + else { + quoteHit = false; + } + } + reverse += '"'; + return reverse + .split('') + .reverse() + .join(''); + } + _uvQuoteCmdArg(arg) { + // Tool runner wraps child_process.spawn() and needs to apply the same quoting as + // Node in certain cases where the undocumented spawn option windowsVerbatimArguments + // is used. + // + // Since this function is a port of quote_cmd_arg from Node 4.x (technically, lib UV, + // see https://github.com/nodejs/node/blob/v4.x/deps/uv/src/win/process.c for details), + // pasting copyright notice from Node within this function: + // + // Copyright Joyent, Inc. and other Node contributors. All rights reserved. + // + // Permission is hereby granted, free of charge, to any person obtaining a copy + // of this software and associated documentation files (the "Software"), to + // deal in the Software without restriction, including without limitation the + // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + // sell copies of the Software, and to permit persons to whom the Software is + // furnished to do so, subject to the following conditions: + // + // The above copyright notice and this permission notice shall be included in + // all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + // IN THE SOFTWARE. + if (!arg) { + // Need double quotation for empty argument + return '""'; + } + if (!arg.includes(' ') && !arg.includes('\t') && !arg.includes('"')) { + // No quotation needed + return arg; + } + if (!arg.includes('"') && !arg.includes('\\')) { + // No embedded double quotes or backslashes, so I can just wrap + // quote marks around the whole thing. + return `"${arg}"`; + } + // Expected input/output: + // input : hello"world + // output: "hello\"world" + // input : hello""world + // output: "hello\"\"world" + // input : hello\world + // output: hello\world + // input : hello\\world + // output: hello\\world + // input : hello\"world + // output: "hello\\\"world" + // input : hello\\"world + // output: "hello\\\\\"world" + // input : hello world\ + // output: "hello world\\" - note the comment in libuv actually reads "hello world\" + // but it appears the comment is wrong, it should be "hello world\\" + let reverse = '"'; + let quoteHit = true; + for (let i = arg.length; i > 0; i--) { + // walk the string in reverse + reverse += arg[i - 1]; + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\'; + } + else if (arg[i - 1] === '"') { + quoteHit = true; + reverse += '\\'; + } + else { + quoteHit = false; + } + } + reverse += '"'; + return reverse + .split('') + .reverse() + .join(''); + } + _cloneExecOptions(options) { + options = options || {}; + const result = { + cwd: options.cwd || process.cwd(), + env: options.env || process.env, + silent: options.silent || false, + windowsVerbatimArguments: options.windowsVerbatimArguments || false, + failOnStdErr: options.failOnStdErr || false, + ignoreReturnCode: options.ignoreReturnCode || false, + delay: options.delay || 10000 + }; + result.outStream = options.outStream || process.stdout; + result.errStream = options.errStream || process.stderr; + return result; + } + _getSpawnOptions(options, toolPath) { + options = options || {}; + const result = {}; + result.cwd = options.cwd; + result.env = options.env; + result['windowsVerbatimArguments'] = + options.windowsVerbatimArguments || this._isCmdFile(); + if (options.windowsVerbatimArguments) { + result.argv0 = `"${toolPath}"`; + } + return result; + } + /** + * Exec a tool. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param tool path to tool to exec + * @param options optional exec options. See ExecOptions + * @returns number + */ + exec() { + return __awaiter(this, void 0, void 0, function* () { + // root the tool path if it is unrooted and contains relative pathing + if (!ioUtil.isRooted(this.toolPath) && + (this.toolPath.includes('/') || + (IS_WINDOWS && this.toolPath.includes('\\')))) { + // prefer options.cwd if it is specified, however options.cwd may also need to be rooted + this.toolPath = path.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); + } + // if the tool is only a file name, then resolve it from the PATH + // otherwise verify it exists (add extension on Windows if necessary) + this.toolPath = yield io.which(this.toolPath, true); + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + this._debug(`exec tool: ${this.toolPath}`); + this._debug('arguments:'); + for (const arg of this.args) { + this._debug(` ${arg}`); + } + const optionsNonNull = this._cloneExecOptions(this.options); + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL); + } + const state = new ExecState(optionsNonNull, this.toolPath); + state.on('debug', (message) => { + this._debug(message); + }); + if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) { + return reject(new Error(`The cwd: ${this.options.cwd} does not exist!`)); + } + const fileName = this._getSpawnFileName(); + const cp = child.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName)); + let stdbuffer = ''; + if (cp.stdout) { + cp.stdout.on('data', (data) => { + if (this.options.listeners && this.options.listeners.stdout) { + this.options.listeners.stdout(data); + } + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write(data); + } + stdbuffer = this._processLineBuffer(data, stdbuffer, (line) => { + if (this.options.listeners && this.options.listeners.stdline) { + this.options.listeners.stdline(line); + } + }); + }); + } + let errbuffer = ''; + if (cp.stderr) { + cp.stderr.on('data', (data) => { + state.processStderr = true; + if (this.options.listeners && this.options.listeners.stderr) { + this.options.listeners.stderr(data); + } + if (!optionsNonNull.silent && + optionsNonNull.errStream && + optionsNonNull.outStream) { + const s = optionsNonNull.failOnStdErr + ? optionsNonNull.errStream + : optionsNonNull.outStream; + s.write(data); + } + errbuffer = this._processLineBuffer(data, errbuffer, (line) => { + if (this.options.listeners && this.options.listeners.errline) { + this.options.listeners.errline(line); + } + }); + }); + } + cp.on('error', (err) => { + state.processError = err.message; + state.processExited = true; + state.processClosed = true; + state.CheckComplete(); + }); + cp.on('exit', (code) => { + state.processExitCode = code; + state.processExited = true; + this._debug(`Exit code ${code} received from tool '${this.toolPath}'`); + state.CheckComplete(); + }); + cp.on('close', (code) => { + state.processExitCode = code; + state.processExited = true; + state.processClosed = true; + this._debug(`STDIO streams have closed for tool '${this.toolPath}'`); + state.CheckComplete(); + }); + state.on('done', (error, exitCode) => { + if (stdbuffer.length > 0) { + this.emit('stdline', stdbuffer); + } + if (errbuffer.length > 0) { + this.emit('errline', errbuffer); + } + cp.removeAllListeners(); + if (error) { + reject(error); + } + else { + resolve(exitCode); + } + }); + if (this.options.input) { + if (!cp.stdin) { + throw new Error('child process missing stdin'); + } + cp.stdin.end(this.options.input); + } + })); + }); + } +} +exports.ToolRunner = ToolRunner; +/** + * Convert an arg string to an array of args. Handles escaping + * + * @param argString string of arguments + * @returns string[] array of arguments + */ +function argStringToArray(argString) { + const args = []; + let inQuotes = false; + let escaped = false; + let arg = ''; + function append(c) { + // we only escape double quotes. + if (escaped && c !== '"') { + arg += '\\'; + } + arg += c; + escaped = false; + } + for (let i = 0; i < argString.length; i++) { + const c = argString.charAt(i); + if (c === '"') { + if (!escaped) { + inQuotes = !inQuotes; + } + else { + append(c); + } + continue; + } + if (c === '\\' && escaped) { + append(c); + continue; + } + if (c === '\\' && inQuotes) { + escaped = true; + continue; + } + if (c === ' ' && !inQuotes) { + if (arg.length > 0) { + args.push(arg); + arg = ''; + } + continue; + } + append(c); + } + if (arg.length > 0) { + args.push(arg.trim()); + } + return args; +} +exports.argStringToArray = argStringToArray; +class ExecState extends events.EventEmitter { + constructor(options, toolPath) { + super(); + this.processClosed = false; // tracks whether the process has exited and stdio is closed + this.processError = ''; + this.processExitCode = 0; + this.processExited = false; // tracks whether the process has exited + this.processStderr = false; // tracks whether stderr was written to + this.delay = 10000; // 10 seconds + this.done = false; + this.timeout = null; + if (!toolPath) { + throw new Error('toolPath must not be empty'); + } + this.options = options; + this.toolPath = toolPath; + if (options.delay) { + this.delay = options.delay; + } + } + CheckComplete() { + if (this.done) { + return; + } + if (this.processClosed) { + this._setResult(); + } + else if (this.processExited) { + this.timeout = timers_1.setTimeout(ExecState.HandleTimeout, this.delay, this); + } + } + _debug(message) { + this.emit('debug', message); + } + _setResult() { + // determine whether there is an error + let error; + if (this.processExited) { + if (this.processError) { + error = new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`); + } + else if (this.processExitCode !== 0 && !this.options.ignoreReturnCode) { + error = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`); + } + else if (this.processStderr && this.options.failOnStdErr) { + error = new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`); + } + } + // clear the timeout + if (this.timeout) { + clearTimeout(this.timeout); + this.timeout = null; + } + this.done = true; + this.emit('done', error, this.processExitCode); + } + static HandleTimeout(state) { + if (state.done) { + return; + } + if (!state.processClosed && state.processExited) { + const message = `The STDIO streams did not close within ${state.delay / + 1000} seconds of the exit event from process '${state.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`; + state._debug(message); + } + state._setResult(); + } +} +//# sourceMappingURL=toolrunner.js.map \ No newline at end of file diff --git a/node_modules/@actions/exec/lib/toolrunner.js.map b/node_modules/@actions/exec/lib/toolrunner.js.map new file mode 100644 index 0000000..6eaf183 --- /dev/null +++ b/node_modules/@actions/exec/lib/toolrunner.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toolrunner.js","sourceRoot":"","sources":["../src/toolrunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,+CAAgC;AAChC,qDAAsC;AACtC,2CAA4B;AAG5B,gDAAiC;AACjC,gEAAiD;AACjD,mCAAiC;AAEjC,sDAAsD;AAEtD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AAE/C;;GAEG;AACH,MAAa,UAAW,SAAQ,MAAM,CAAC,YAAY;IACjD,YAAY,QAAgB,EAAE,IAAe,EAAE,OAAwB;QACrE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;SACjE;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;IAC9B,CAAC;IAMO,MAAM,CAAC,OAAe;QAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;YAC1D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SACtC;IACH,CAAC;IAEO,iBAAiB,CACvB,OAAuB,EACvB,QAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA,CAAC,0CAA0C;QAChF,IAAI,UAAU,EAAE;YACd,qBAAqB;YACrB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACrB,GAAG,IAAI,QAAQ,CAAA;gBACf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;oBACpB,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;iBACf;aACF;YACD,qBAAqB;iBAChB,IAAI,OAAO,CAAC,wBAAwB,EAAE;gBACzC,GAAG,IAAI,IAAI,QAAQ,GAAG,CAAA;gBACtB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;oBACpB,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;iBACf;aACF;YACD,oBAAoB;iBACf;gBACH,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;gBACzC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;oBACpB,GAAG,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAA;iBACzC;aACF;SACF;aAAM;YACL,qEAAqE;YACrE,sEAAsE;YACtE,wCAAwC;YACxC,GAAG,IAAI,QAAQ,CAAA;YACf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;gBACpB,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;aACf;SACF;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,kBAAkB,CACxB,IAAY,EACZ,SAAiB,EACjB,MAA8B;QAE9B,IAAI;YACF,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;YACnC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YAEzB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;gBACb,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC9B,MAAM,CAAC,IAAI,CAAC,CAAA;gBAEZ,6BAA6B;gBAC7B,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBAClC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;aACtB;YAED,OAAO,CAAC,CAAA;SACT;QAAC,OAAO,GAAG,EAAE;YACZ,kEAAkE;YAClE,IAAI,CAAC,MAAM,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAA;YAE9D,OAAO,EAAE,CAAA;SACV;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,UAAU,EAAE;YACd,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACrB,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAA;aAC3C;SACF;QAED,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAEO,aAAa,CAAC,OAAuB;QAC3C,IAAI,UAAU,EAAE;YACd,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACrB,IAAI,OAAO,GAAG,aAAa,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;gBACpE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;oBACzB,OAAO,IAAI,GAAG,CAAA;oBACd,OAAO,IAAI,OAAO,CAAC,wBAAwB;wBACzC,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;iBAChC;gBAED,OAAO,IAAI,GAAG,CAAA;gBACd,OAAO,CAAC,OAAO,CAAC,CAAA;aACjB;SACF;QAED,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAEO,SAAS,CAAC,GAAW,EAAE,GAAW;QACxC,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAEO,UAAU;QAChB,MAAM,aAAa,GAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;QACzD,OAAO,CACL,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CACtC,CAAA;IACH,CAAC;IAEO,mBAAmB,CAAC,GAAW;QACrC,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YACtB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;SAChC;QAED,6EAA6E;QAC7E,4EAA4E;QAC5E,uBAAuB;QACvB,EAAE;QACF,0EAA0E;QAC1E,4HAA4H;QAE5H,4BAA4B;QAC5B,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,IAAI,CAAA;SACZ;QAED,+CAA+C;QAC/C,MAAM,eAAe,GAAG;YACtB,GAAG;YACH,IAAI;YACJ,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;SACJ,CAAA;QACD,IAAI,WAAW,GAAG,KAAK,CAAA;QACvB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACtB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE;gBACzC,WAAW,GAAG,IAAI,CAAA;gBAClB,MAAK;aACN;SACF;QAED,qCAAqC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,GAAG,CAAA;SACX;QAED,mFAAmF;QACnF,EAAE;QACF,+BAA+B;QAC/B,EAAE;QACF,qCAAqC;QACrC,EAAE;QACF,mGAAmG;QACnG,oDAAoD;QACpD,EAAE;QACF,sGAAsG;QACtG,oCAAoC;QACpC,sCAAsC;QACtC,wDAAwD;QACxD,kCAAkC;QAClC,yFAAyF;QACzF,4DAA4D;QAC5D,sCAAsC;QACtC,EAAE;QACF,6CAA6C;QAC7C,6CAA6C;QAC7C,+CAA+C;QAC/C,iDAAiD;QACjD,8CAA8C;QAC9C,EAAE;QACF,gGAAgG;QAChG,gEAAgE;QAChE,EAAE;QACF,iGAAiG;QACjG,kGAAkG;QAClG,EAAE;QACF,6FAA6F;QAC7F,wDAAwD;QACxD,EAAE;QACF,oGAAoG;QACpG,mGAAmG;QACnG,eAAe;QACf,EAAE;QACF,sGAAsG;QACtG,sGAAsG;QACtG,EAAE;QACF,gGAAgG;QAChG,kGAAkG;QAClG,oGAAoG;QACpG,0BAA0B;QAC1B,EAAE;QACF,iGAAiG;QACjG,uCAAuC;QACvC,IAAI,OAAO,GAAG,GAAG,CAAA;QACjB,IAAI,QAAQ,GAAG,IAAI,CAAA;QACnB,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACnC,6BAA6B;YAC7B,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACrB,IAAI,QAAQ,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;gBACnC,OAAO,IAAI,IAAI,CAAA,CAAC,mBAAmB;aACpC;iBAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC7B,QAAQ,GAAG,IAAI,CAAA;gBACf,OAAO,IAAI,GAAG,CAAA,CAAC,mBAAmB;aACnC;iBAAM;gBACL,QAAQ,GAAG,KAAK,CAAA;aACjB;SACF;QAED,OAAO,IAAI,GAAG,CAAA;QACd,OAAO,OAAO;aACX,KAAK,CAAC,EAAE,CAAC;aACT,OAAO,EAAE;aACT,IAAI,CAAC,EAAE,CAAC,CAAA;IACb,CAAC;IAEO,cAAc,CAAC,GAAW;QAChC,iFAAiF;QACjF,qFAAqF;QACrF,WAAW;QACX,EAAE;QACF,qFAAqF;QACrF,uFAAuF;QACvF,2DAA2D;QAC3D,EAAE;QACF,gFAAgF;QAChF,EAAE;QACF,oFAAoF;QACpF,gFAAgF;QAChF,kFAAkF;QAClF,mFAAmF;QACnF,kFAAkF;QAClF,gEAAgE;QAChE,EAAE;QACF,kFAAkF;QAClF,2DAA2D;QAC3D,EAAE;QACF,kFAAkF;QAClF,gFAAgF;QAChF,mFAAmF;QACnF,8EAA8E;QAC9E,+EAA+E;QAC/E,oFAAoF;QACpF,wBAAwB;QAExB,IAAI,CAAC,GAAG,EAAE;YACR,2CAA2C;YAC3C,OAAO,IAAI,CAAA;SACZ;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACnE,sBAAsB;YACtB,OAAO,GAAG,CAAA;SACX;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC7C,+DAA+D;YAC/D,sCAAsC;YACtC,OAAO,IAAI,GAAG,GAAG,CAAA;SAClB;QAED,yBAAyB;QACzB,wBAAwB;QACxB,2BAA2B;QAC3B,yBAAyB;QACzB,6BAA6B;QAC7B,wBAAwB;QACxB,wBAAwB;QACxB,yBAAyB;QACzB,yBAAyB;QACzB,yBAAyB;QACzB,6BAA6B;QAC7B,0BAA0B;QAC1B,+BAA+B;QAC/B,yBAAyB;QACzB,sFAAsF;QACtF,gGAAgG;QAChG,IAAI,OAAO,GAAG,GAAG,CAAA;QACjB,IAAI,QAAQ,GAAG,IAAI,CAAA;QACnB,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACnC,6BAA6B;YAC7B,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACrB,IAAI,QAAQ,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;gBACnC,OAAO,IAAI,IAAI,CAAA;aAChB;iBAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC7B,QAAQ,GAAG,IAAI,CAAA;gBACf,OAAO,IAAI,IAAI,CAAA;aAChB;iBAAM;gBACL,QAAQ,GAAG,KAAK,CAAA;aACjB;SACF;QAED,OAAO,IAAI,GAAG,CAAA;QACd,OAAO,OAAO;aACX,KAAK,CAAC,EAAE,CAAC;aACT,OAAO,EAAE;aACT,IAAI,CAAC,EAAE,CAAC,CAAA;IACb,CAAC;IAEO,iBAAiB,CAAC,OAAwB;QAChD,OAAO,GAAG,OAAO,IAAoB,EAAE,CAAA;QACvC,MAAM,MAAM,GAAmC;YAC7C,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YACjC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC/B,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,IAAI,KAAK;YACnE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;YAC3C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;YACnD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;SAC9B,CAAA;QACD,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAqB,OAAO,CAAC,MAAM,CAAA;QACvE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAqB,OAAO,CAAC,MAAM,CAAA;QACvE,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,gBAAgB,CACtB,OAAuB,EACvB,QAAgB;QAEhB,OAAO,GAAG,OAAO,IAAoB,EAAE,CAAA;QACvC,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACxB,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACxB,MAAM,CAAC,0BAA0B,CAAC;YAChC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAA;QACvD,IAAI,OAAO,CAAC,wBAAwB,EAAE;YACpC,MAAM,CAAC,KAAK,GAAG,IAAI,QAAQ,GAAG,CAAA;SAC/B;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACG,IAAI;;YACR,qEAAqE;YACrE,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC/B,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAC1B,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAC/C;gBACA,wFAAwF;gBACxF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAC1B,OAAO,CAAC,GAAG,EAAE,EACb,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EACjC,IAAI,CAAC,QAAQ,CACd,CAAA;aACF;YAED,iEAAiE;YACjE,qEAAqE;YACrE,IAAI,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAEnD,OAAO,IAAI,OAAO,CAAS,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnD,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC1C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;oBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;iBACzB;gBAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC3D,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,SAAS,EAAE;oBACtD,cAAc,CAAC,SAAS,CAAC,KAAK,CAC5B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAChD,CAAA;iBACF;gBAED,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC1D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAe,EAAE,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACtB,CAAC,CAAC,CAAA;gBAEF,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;oBAChE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAA;iBACzE;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;gBACzC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CACpB,QAAQ,EACR,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAC9C,CAAA;gBAED,IAAI,SAAS,GAAG,EAAE,CAAA;gBAClB,IAAI,EAAE,CAAC,MAAM,EAAE;oBACb,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;wBACpC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;4BAC3D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;yBACpC;wBAED,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,SAAS,EAAE;4BACtD,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;yBACrC;wBAED,SAAS,GAAG,IAAI,CAAC,kBAAkB,CACjC,IAAI,EACJ,SAAS,EACT,CAAC,IAAY,EAAE,EAAE;4BACf,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;gCAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;6BACrC;wBACH,CAAC,CACF,CAAA;oBACH,CAAC,CAAC,CAAA;iBACH;gBAED,IAAI,SAAS,GAAG,EAAE,CAAA;gBAClB,IAAI,EAAE,CAAC,MAAM,EAAE;oBACb,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;wBACpC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;wBAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;4BAC3D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;yBACpC;wBAED,IACE,CAAC,cAAc,CAAC,MAAM;4BACtB,cAAc,CAAC,SAAS;4BACxB,cAAc,CAAC,SAAS,EACxB;4BACA,MAAM,CAAC,GAAG,cAAc,CAAC,YAAY;gCACnC,CAAC,CAAC,cAAc,CAAC,SAAS;gCAC1B,CAAC,CAAC,cAAc,CAAC,SAAS,CAAA;4BAC5B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;yBACd;wBAED,SAAS,GAAG,IAAI,CAAC,kBAAkB,CACjC,IAAI,EACJ,SAAS,EACT,CAAC,IAAY,EAAE,EAAE;4BACf,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;gCAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;6BACrC;wBACH,CAAC,CACF,CAAA;oBACH,CAAC,CAAC,CAAA;iBACH;gBAED,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;oBAC5B,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,CAAA;oBAChC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC1B,KAAK,CAAC,aAAa,EAAE,CAAA;gBACvB,CAAC,CAAC,CAAA;gBAEF,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC7B,KAAK,CAAC,eAAe,GAAG,IAAI,CAAA;oBAC5B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,wBAAwB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;oBACtE,KAAK,CAAC,aAAa,EAAE,CAAA;gBACvB,CAAC,CAAC,CAAA;gBAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC9B,KAAK,CAAC,eAAe,GAAG,IAAI,CAAA;oBAC5B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC1B,IAAI,CAAC,MAAM,CAAC,uCAAuC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;oBACpE,KAAK,CAAC,aAAa,EAAE,CAAA;gBACvB,CAAC,CAAC,CAAA;gBAEF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAY,EAAE,QAAgB,EAAE,EAAE;oBAClD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;wBACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;qBAChC;oBAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;wBACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;qBAChC;oBAED,EAAE,CAAC,kBAAkB,EAAE,CAAA;oBAEvB,IAAI,KAAK,EAAE;wBACT,MAAM,CAAC,KAAK,CAAC,CAAA;qBACd;yBAAM;wBACL,OAAO,CAAC,QAAQ,CAAC,CAAA;qBAClB;gBACH,CAAC,CAAC,CAAA;gBAEF,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;oBACtB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;wBACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;qBAC/C;oBAED,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;iBACjC;YACH,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AAthBD,gCAshBC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,SAAiB;IAChD,MAAM,IAAI,GAAa,EAAE,CAAA;IAEzB,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,SAAS,MAAM,CAAC,CAAS;QACvB,gCAAgC;QAChC,IAAI,OAAO,IAAI,CAAC,KAAK,GAAG,EAAE;YACxB,GAAG,IAAI,IAAI,CAAA;SACZ;QAED,GAAG,IAAI,CAAC,CAAA;QACR,OAAO,GAAG,KAAK,CAAA;IACjB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAE7B,IAAI,CAAC,KAAK,GAAG,EAAE;YACb,IAAI,CAAC,OAAO,EAAE;gBACZ,QAAQ,GAAG,CAAC,QAAQ,CAAA;aACrB;iBAAM;gBACL,MAAM,CAAC,CAAC,CAAC,CAAA;aACV;YACD,SAAQ;SACT;QAED,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,EAAE;YACzB,MAAM,CAAC,CAAC,CAAC,CAAA;YACT,SAAQ;SACT;QAED,IAAI,CAAC,KAAK,IAAI,IAAI,QAAQ,EAAE;YAC1B,OAAO,GAAG,IAAI,CAAA;YACd,SAAQ;SACT;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACd,GAAG,GAAG,EAAE,CAAA;aACT;YACD,SAAQ;SACT;QAED,MAAM,CAAC,CAAC,CAAC,CAAA;KACV;IAED,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;QAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;KACtB;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAvDD,4CAuDC;AAED,MAAM,SAAU,SAAQ,MAAM,CAAC,YAAY;IACzC,YAAY,OAAuB,EAAE,QAAgB;QACnD,KAAK,EAAE,CAAA;QAaT,kBAAa,GAAG,KAAK,CAAA,CAAC,4DAA4D;QAClF,iBAAY,GAAG,EAAE,CAAA;QACjB,oBAAe,GAAG,CAAC,CAAA;QACnB,kBAAa,GAAG,KAAK,CAAA,CAAC,wCAAwC;QAC9D,kBAAa,GAAG,KAAK,CAAA,CAAC,uCAAuC;QACrD,UAAK,GAAG,KAAK,CAAA,CAAC,aAAa;QAC3B,SAAI,GAAG,KAAK,CAAA;QAEZ,YAAO,GAAwB,IAAI,CAAA;QAnBzC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC9C;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;SAC3B;IACH,CAAC;IAaD,aAAa;QACX,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAM;SACP;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,UAAU,EAAE,CAAA;SAClB;aAAM,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,mBAAU,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;SACrE;IACH,CAAC;IAEO,MAAM,CAAC,OAAe;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7B,CAAC;IAEO,UAAU;QAChB,sCAAsC;QACtC,IAAI,KAAwB,CAAA;QAC5B,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,KAAK,GAAG,IAAI,KAAK,CACf,8DAA8D,IAAI,CAAC,QAAQ,4DAA4D,IAAI,CAAC,YAAY,EAAE,CAC3J,CAAA;aACF;iBAAM,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;gBACvE,KAAK,GAAG,IAAI,KAAK,CACf,gBAAgB,IAAI,CAAC,QAAQ,2BAA2B,IAAI,CAAC,eAAe,EAAE,CAC/E,CAAA;aACF;iBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC1D,KAAK,GAAG,IAAI,KAAK,CACf,gBAAgB,IAAI,CAAC,QAAQ,sEAAsE,CACpG,CAAA;aACF;SACF;QAED,oBAAoB;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;SACpB;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;IAChD,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,KAAgB;QAC3C,IAAI,KAAK,CAAC,IAAI,EAAE;YACd,OAAM;SACP;QAED,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE;YAC/C,MAAM,OAAO,GAAG,0CAA0C,KAAK,CAAC,KAAK;gBACnE,IAAI,4CACJ,KAAK,CAAC,QACR,0FAA0F,CAAA;YAC1F,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;SACtB;QAED,KAAK,CAAC,UAAU,EAAE,CAAA;IACpB,CAAC;CACF"} \ No newline at end of file diff --git a/node_modules/@actions/exec/package.json b/node_modules/@actions/exec/package.json new file mode 100644 index 0000000..bc4d77a --- /dev/null +++ b/node_modules/@actions/exec/package.json @@ -0,0 +1,41 @@ +{ + "name": "@actions/exec", + "version": "1.1.1", + "description": "Actions exec lib", + "keywords": [ + "github", + "actions", + "exec" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/exec", + "license": "MIT", + "main": "lib/exec.js", + "types": "lib/exec.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib", + "!.DS_Store" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/exec" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "echo \"Error: run tests from root\" && exit 1", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + }, + "dependencies": { + "@actions/io": "^1.0.1" + } +} diff --git a/node_modules/@actions/http-client/README.md b/node_modules/@actions/http-client/README.md index be61eb3..7e06ade 100644 --- a/node_modules/@actions/http-client/README.md +++ b/node_modules/@actions/http-client/README.md @@ -1,18 +1,11 @@ +# `@actions/http-client` -

- -

- -# Actions Http-Client - -[![Http Status](https://github.com/actions/http-client/workflows/http-tests/badge.svg)](https://github.com/actions/http-client/actions) - -A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await. +A lightweight HTTP client optimized for building actions. ## Features - HTTP client with TypeScript generics and async/await/Promises - - Typings included so no need to acquire separately (great for intellisense and no versioning drift) + - Typings included! - [Proxy support](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#using-a-proxy-server-with-self-hosted-runners) just works with actions and the runner - Targets ES2019 (runner runs actions with node 12+). Only supported on node 12+. - Basic, Bearer and PAT Support out of the box. Extensible handlers for others. @@ -28,7 +21,7 @@ npm install @actions/http-client --save ## Samples -See the [HTTP](./__tests__) tests for detailed examples. +See the [tests](./__tests__) for detailed examples. ## Errors @@ -39,13 +32,13 @@ The HTTP client does not throw unless truly exceptional. * A request that successfully executes resulting in a 404, 500 etc... will return a response object with a status code and a body. * Redirects (3xx) will be followed by default. -See [HTTP tests](./__tests__) for detailed examples. +See the [tests](./__tests__) for detailed examples. ## Debugging To enable detailed console logging of all HTTP requests and responses, set the NODE_DEBUG environment varible: -``` +```shell export NODE_DEBUG=http ``` @@ -63,17 +56,18 @@ We welcome PRs. Please create an issue and if applicable, a design before proce once: -```bash -$ npm install +``` +npm install ``` To build: -```bash -$ npm run build +``` +npm run build ``` To run all tests: -```bash -$ npm test + +``` +npm test ``` diff --git a/node_modules/@actions/http-client/RELEASES.md b/node_modules/@actions/http-client/RELEASES.md deleted file mode 100644 index 935178a..0000000 --- a/node_modules/@actions/http-client/RELEASES.md +++ /dev/null @@ -1,26 +0,0 @@ -## Releases - -## 1.0.10 - -Contains a bug fix where proxy is defined without a user and password. see [PR here](https://github.com/actions/http-client/pull/42) - -## 1.0.9 -Throw HttpClientError instead of a generic Error from the \Json() helper methods when the server responds with a non-successful status code. - -## 1.0.8 -Fixed security issue where a redirect (e.g. 302) to another domain would pass headers. The fix was to strip the authorization header if the hostname was different. More [details in PR #27](https://github.com/actions/http-client/pull/27) - -## 1.0.7 -Update NPM dependencies and add 429 to the list of HttpCodes - -## 1.0.6 -Automatically sends Content-Type and Accept application/json headers for \Json() helper methods if not set in the client or parameters. - -## 1.0.5 -Adds \Json() helper methods for json over http scenarios. - -## 1.0.4 -Started to add \Json() helper methods. Do not use this release for that. Use >= 1.0.5 since there was an issue with types. - -## 1.0.1 to 1.0.3 -Adds proxy support. diff --git a/node_modules/@actions/http-client/actions.png b/node_modules/@actions/http-client/actions.png deleted file mode 100644 index 1857ef375592b5bbce3f2b225865d32428c13acb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33889 zcmdSAWpo|Qt{`fRDQ0Hon3-{RMHd;v*6ILy$;QPLW6i;9yF`M$b-X%*4t`#KA?+ z#Lmjd!v2MbnURT$fsvDeiG_}liJOs~n~j6$UyTGv&B4TsTUk{6U$lUCd?eqTob0$6 z7+hUl>0Mdq0S@L2Ok7+*9Lx;N%yd8qI!AX~Cqp+nTSwA=V-PiUGqpm$->BgQ>Nt zjj64ZBM_G9Kd^S+08RkMZ-D;|>i=~APXvIXm6Q7qjsJEmHa7nu;pimh0%YS~0{L&D z9aY`!Oc|6-9Rbb`#-?H}z+sa9;l_?z#KF|i3E-d#09gNfq7?r>^ zQFH*9Sy%%*9F--6iKN6t*qON4+3A?+nf?w}PL5m3*3rq(*4R`^l#c``9(oH46K)PB zE@o3k7Bf0CP9sJ-RxV=>I!;bjLpoLyBMwt8BMv53HXxzDbH*(SFn0c<1pj{D&H2-K1x1@z5a9-X2WjrdT_W!!FwjlbeFx-a5e++?-#Q2W}n3|CM z>#@cEwFLe_>-x1p?x8CM7DQ>Xvbu>DsQVHXoAhy>gqn z>gjO-V?maH7Jj?#i42M?D)#mzCxD8^MN~)-DP~>fTP~Eaq_D@u-aXHQd^VTk z*#p~?@D6P5-#$zn4QM@GVC$S}5kA}ow(HF`j3C7vn>+O_4d)TbAk)uwf) z8;`w+c_-s`{uq~fjZSKU_(txjUVgLF*r5@ox2}yds~nRvKJyBai8*h+XH2)_>wTS z>l>Cf1-`Q0bUD!G6Sg1=Z<@HccOuqJ)EsrAraGJyemSn=tSgGU-n(ge*Qke?Lon^l z?f1>*6$Tmu5zz`T$xn#I@~f& z)pq!{S}#k>bKTr=N^hC(h);+CEkfc1iXaJ9q0Y#`1A*|Yu1<@p)7(Dd(r7v8b&;db zu$R>JYHJ~4F>}(7bbZ6G1k|A{pfV+U6N2{EUV5Od|Hk>Y#Q${^^64;TR=x9xurQK0 zu3rbGQIv=kNf|UT0AxS>S27VABpwn9p!2)Xnam!MLiW|{D#oal$#a2e-HeZ2dS;se z@`zkYY480XjfMtl^s;#@3L3g9KCgToH`{B56`>S-+msKMuhddBK6q)MI=vtm0uj|~ zNAa+{UxOgkS5+93PuEQTir%EnoqMmh7l8pBU*%fYcygXFQ#fzF)-sOev%*Hr5*l|Qyo3@&8%9t6QQm@_JH{{3oCP_Azu?;k zcAQh%v=Hv zhbCMA5+8oN%C?IdyQ5s%+dW`Cg(lNylrZhV(L{L8{y2;9Oay4)}%s;!3-7zJ-?i zQ6<)XIp58`w70Ia`zp(?I|{RNLM+eit)nk{^19n_n8oUlJVgpOa+^w42j^q?oGB-z4tGyF#M9r(w8^bq_8lF^DllFIQre4Y@tMkw? zkBWO$ZtWG}i&|sX`!(tYK+Z&&3MxZHdHzVPXu6I+DsyBzC{8nLs!R}rg6$oheC0i~ z+h4t)aHA)*nY^!fD6cc$6r*|^y;z4F8Xpbxr`qHCfE+`Q)t}kSBsPg~+orc$jo2Jl5r%Z*sut1@U940uk?wYH?73~ksYH4FLwAS)n)a7$OSL1yPaQje?MRSE`^?ZbodVPvxus+MXIGbB!(vwU6~tN z4V*196SUlB`3oiWMnY4|1dq}4vRT8|4M7n1uoCXE**BlNHrFN_+Db$LthFSf>|Y;? zCJEBiN^0n8YOx>W+h^M|sKC{1#`ueu@7B4iq`$R+#1WJP;&OY`>KwiQN(Tj1Hxscj z&u0OlC)2)i$1YlZuT=I6u16Gn*3OnR!w{i#R~|KkXOuTTalu8^3Q;&6ntO>e1NjS5 zabyBs9HY#zBCKz)*Q60%D7jQ6x!fyB07-n6=En>S@1;@n+~e$LWwA_DB0R;NOKs!6 z4e`v^AMk`3Eg$VBDmZk97qKS~*>O^2SdAN;MFgygqP$n`gi#S={DJ>SxQ2x!L3vw> zlCk=Qm^O3gJ*OgnuwKR}a$9hP7TXR=4thakK^euwzR9rUkEv-b5TKk*z+4!uNfjn~A>jGPV-|pP6~@Twd|@oAm9M3i zlOEL3LR;+}Kd=i@c2baZ&_<%09w|Ze@iF)8O1Iqhm{$nIkSrt$DFfjdA^Qj#tEyY~ zeJJ8bMI5ZljqVD&O>SN@((oc~(zbj}uQq--%R5 zCSCI&DnD~)zpdu);cmQ4hvk0^dI*})1*Hxwugk78Qa9_Qq+4(rR1rRBPW;m8BfPcP z^y6SO{m!&Cy5ZT(&_bL3gE-Mc^!J#4c*rgr{OFk)+#kV;h&Gm zPJiZ_*~qoqVqA@fHfzaZCC{p?;u`%DzgYyOy(s|U-NeT0&O&-uttsk@ODYApq*?vz zo9803%|-XljrV%!?sna;P1szSXySZ)5R+~DXL+2-CZ&xoh zAr!d4g9N1p4i5!#6pVF_Og&Jj=<&I^6w7mb9A;gcOf_uv8=1$-7_xf~4N0%YITI?7 z+#E8k`8MlFb!Jg*zgU?_xRjP*xRUr|LHl0xi9mVVq|Nd?u%K2&yE#y)+ct}0A4#HF zOP2-S9?x$V7?5r(B*X*cI> zWx7wV#oezuAEkM*{#062W)j@(0GpZ*+-&dwcfo~2Zl?fOqXUPaGPcplk5%_t^n{nd zVD9X&fLJ}45sCDDQ$j?%J47_E1oH((d2et^Y!Ms45Vsr3>KiIO(irvlgSVz@_y@x* z5n6SzW9Pgo%0f{ zmI`V@=<~ai$7&J~S}clWX<^>;@SKRTP~Zw(IK*jh$wso=vv4#^Q90EMHGDU)k|jt2 zpFebS`bhrJwchlVNn48AqauE(MasJ6N#k3oa6utNP@X`f<#}2vNe=~=M5Q8_<$}OM zIHqMV2`FSF^e`{gT|NW)RV!+{_&d&g{S&_kg=;x%K2?D3WPyz*>K%(2^IJPySaTzq z@Q^6pMz{XhM^jX>Iv}n%q%XKc`6keK#{8(#ks@@l^SMA}rRJAfT5WLndS@_yhcq&I zq2$8@~RomQQ88|x3}+mCY#^3a01Ev)*k&`@|pJ8LR0uVS5rWJLN)M{AZu>ez}^oKWBmSIh9ZQ`%sT7P`Ok&-}oB zI;p=B^k-Af&| z2_i`$a3KQRmmK_67ESvdjp@-78czdXT?RJQlq!fR8Dh4Ny+!^MzH*CN$}lt>Gezo4Mfdvkn5{KaV?h=O|Mp9I zFYTv2=W@`_=yW(%J1CwQa^z-Ar zn#uvPkWlJ`537bveayM1JX)#PGKPMwKU%|Gl)ne*Sg#J4BL4M-s(4PwmQowY^4fD} zkNinF&&1if9L?@KmeBAJc#_sV?Cq-Hc`1rFQk+S_>RNIJ6U1q7D*1cZNIoa~lPp90 ztF5{F51AJueduyI--5lRVZuM{vEfw8IY<|?KXt6Q*gFdF+=!5`$3EPjMc^Qij*=FL z!Ehl9PEaECA@*>14X#Z77%-08G!Z;}Pb*`gzo;%XTIP@Er0G`w+P&IEzR^OkMfcPm zJq*<9{y$os|9s6Ob5=1+xk~W^e{asut4-uB*kDcHcMF~8HAr$R_E;+MaCAqX;Km+p#6dKhwkaG`>fVpwrX~d(?$7~pV*;cw4$Y}3mF#Se_taq zXO(pTcPQj|L&Sh(H?)X$N?`Wm&yFhM&w?KUBP0>#VC@o?KGnliUpihlaH5tS;slGh zbcN?pLm;%_>n@-iP$cOj7c&Mk-V#_m7NOTD=K=ajIn*Uh9PV@zmg(Z2gBaGFGWHgvJDY-%0&E~|VVtr*k!jq9 z?y6`CJu$Y$cnx1iy6*1I5JQ*itg)Y(5QK{}L^%^E=B>AHlD?*aK671+6YN#s&1yG( zXvEz=UhJlqUS!cEqI|A4SDha(z0*g`M2PwI!_0F80#7E728E|2eN^2c#V@(H!J2?| z9``a~AxE6wmsqyAE|P%9FRmtAl(|nJ(*T&e0IO%f9Cv*(5UCsL7NtVNII%9itlmLG zyH>%O6=+Y~;dBGXG1DH>w|02s6j&*G!gGe5AZo5B1 z2Pq@65Y`n2lQgrruGFc~W;bNB>9z%+N%n^}ifwa7#Y=E69C(bG)h8sm9qDKYQ`}H9 z{{ZI9Hi2Qh%rC>QJ6~&MczARD;vLZ_6JzBm!0Q+lsHJvN_PZK!^;D$TT~XBfRB5zx z#hV(gsIx z2Tg=PAvv{>!jaFN&pOCwj88Rr8c;B{n6`Y~y{BRkas^}HJ;+znb|SB+HT{wlVl}$4 zeQs-G^#g6!R)}#L@Z5Nf%u{h-+@Z>79e+K4IIN1Jz@YK@*^(3QN_=`fl#eq_*QSXJ z9QV^;bAc|I>Ir8Xysn+l99j5v81NP$33bE?LF2(v^6_rsXp4@GnXK?nY=f<5ufnoo z973oxz7fMN*`=@DYOvAiBlo4D?W8V65MA@bC^IQ%aqK?PN^8ZFrqK+JJB|k8=(*=D znWA`oZm*h`tprV*->^mn0y4)x(>d?X+i3BGb^%3aR$5BaeBLEgPM(|}JRw6Y0{`eB z*|Jm-c4)(!K)Rq^>PmEq=K1XaQwBO{s^%JnN4E!IcAGL6YwBmBeV_E@OFLQok#{3) z0?=y&{|yuNL=2+YtVEhk#C;hEr>0Fik+9PEA@6=3SXyGfhevi1fHW4S&Xt-Yb)BN{ zuZbGxy5``2uJPXdI-|o4V};#n9kHl>tU(zU2#^$?&yfI^Fh8i%VxnO~|K7EtMOa!( zZ&&g9iBdBhITAS{VVd`dgn91k$QP7!6u>exW!1B*8!>*3HooO#7pt1*mFb5PCB+b! z3>fzJOq9n2GBqm$AtKk4!WK&Fc?qJ%;MPasnWISB0DAgt6ks;N<8!@fVj}Vt`ec|U zk4Hh1PGmc*^>UT0ZZkc|mN2NYqmJLGOC~>BK%YY1%M1VJO|7LBYWnj$>UAL#?U1a` z2jAQNnH4AFwu+M1z-zi*k?;f_RicT<>e&0#{pgxNZ1Ed2X<>Lk;5OpTsFjR`?=i~d zcVWnj!9rHuw?{?52Wia;TpyKw%#$qh`?gFu+*sg;HbPpS#V)roS!?U1hKADK;&5o$ zh!rlj`#ozwHE&P@{uKYy4o$(2$|p&yEu)fSVEW49@6wLN=?2XP@7+v?wY!m^DOIW8 zKrqai(g-Cx3+5XUc|>khv@Nl4CuDF%@bn{;_+_4yIh(NtBvn?b5dh)ohOR9`bBgPI ze}}(iuQ4i~Ael2I>M8+Y9>@sWs;-UiYd#gbRh`J7d(~srJV9zufm#L|no_F5{uS1= z6d@>YbDAvoEgIUoE_A%cm5X2t^tOM-ra7y2YUJG$hF@9?-8d9}dlQ_&d?Ie(i@Q1e z^VLuu4Xj1SXSA1W*ewJ+4G5rRqW|@y?AA+?RkSiI^)|6MryQmd6p=ygl)tM#4o9G} zcqiQG&niKOgr!W~=B;WH@qf_Vhs8qxKGF*KOntAHg(%(M-fWfXwzRhg;8k6;ImnQ} zkn<*vJ>EjXClPJWtO(4TLr!Y=3WJ4NW{9U}{H<+GytH5}H3w>Kq(8^E%5-tOGr+w> zImL;shJw^%OW!l-@Eq4Rx^&J8QDyT|Qlmlgq(dHkEpo)Fyx3w}X?gxVJHo+b&E&mw zl0H=!V)K)L5;M8uPx_xvTtb4N)|C1#wDU<Y(@RL4IBsb1^-j$$C-CaoyDS7-&)bxDG9z?juL3R6*fu zUkV^Q4X56BH_XkG+Wpn_A4c9Kh-*}+Z)cPn?9ffk<<0vC%xkX@U1t^&#YRdrxkd!E z5P&t1r_XESL={n8D1D+OLGy^`TQL%vK z5qx0$%ixgvX;9qSNHxm|bQ-f6MduOaiL^7=W-B}!Sk4K0nRYy4nkmkbzrMYh4qC6Y{muPK8fhoD)SNSJ!z9!l*KaO5KpBmCTY1%HGKJemUB+Yu0A2~j z{p=^C-p_+ZLP$YKNE*z#gvSXmeR&Eq7g9oc;=K>Kn#pWEdnf`#f>$CgY$jv$t@blaj)>X6+g2hyqWi6_ ziryNNl~fb0xd+3*5r48MExeTc05~fDY*vgE|0Y<=Ye9hs+IKu^o#Jg{V6$_^%snbQ zUE^4$0wSFA4dJ^rY@JbY2vuuTmUWTS-c6Ts|CV{aB|l!co=49~d3F-#b5*v@n#%**);wSf zCb-tQ1|I#DjqJmPhXq03Q@k3S;dSptW_Pi7PgsR@c)weU^C>NMw8Qwty7hkT;;od4 z=~feL<(#XyjAZJRGxb|o=S~r$#i3#nq}mEJ5`DEO3%ke(?Pq?f;iT35*vUCPD>p6^ z4dbB9P)Pt5q3-L8lTFyVdFGGS6XC!eL6YxWPFS_^3Io_ISYL*V;H)x%lk ze60aN?dc3YHdX?EUvltN^IWAHH<JwGY?=EKa6+x0<=1dnX0p17ZI;OA&?hHXrHHBog&b0Or zD}+8WV+yuIT^;qCa!z(_#6Me3^Z$moqUmX_@6ic)RqU zRPL|%7vHLbjx%RRv=I-sEtsR^vZ+zAQ)ZW5&vg!$!p_Y)!x1G)+(owvkECjU{K_4IOMvJynI7e(A?|Jt6;c-I+sPeJWYG-l2>1-as zJM673w!2=OtuD;N4`9IAeSx#kQdL(qLckqAY_-Iz4mW%AOf&-)!95Uw8M7JV5}%Dp zo$hFylKxSrspo@P{Ro zb9Pb|NP)nT)4&Gr3hzVv1-^GMXMv8SSFKRP=k|hit)P`Dzb(K0k{oJ6rcNtZO_#{- z1lmpm_m#|OTI$bgYo;tv4lpAzrLQfM+D{Fsp+$of+PLW!8%oMbt> zLaj=`BpH7+E^@0^6dKxKxW(rZ`PW+V+CpMf>uMih7Jf>}KW3RV_rp*Na zR_FcRx(TMX1z{coprCbMvW%V!`ofid>kP0y($uxq4Qie#wcOk(&ipB=3=>5xGg=$n zng|-=Ek=H(hTUb;#^t+50u6e>NK|(C3@9bTRW!1zXLj2QWnUit?axhGs_^b`+aZp3 zlcH!sNfmy7r&Her#*u*mQ^MXK!0MJc#GyXkM9xiZwGYSB`o=|Er|=B9;^BK0Iy0YK z+ieY7y7(72Qu|Fg+6MnUeoAl?MQ@?G986??UDi*2+RDKblpKb3byA~X2&-hd5Bg&U zZQBSxD;!gO5*QPEBQ2QRC04$YllA0Y=U!sbkFyObeF@DO%ArBanMSB#p7lenB1;}` zH3Uk{7aOUt#(>+RytJQ!=+6oa`QYiB?(vj?*bk4;hnt))Q6&sj(gKB5~#o1+3^(y_s zUdWAy;pEzX$p7Wb@Bto4G4;cfM}#Bl#HJf~$?}&gFCM}KS;Lzp3szQJ@llUv*)-s| zh=HE#6ju^=>&o~5UR>6`N?!A+axAMEu)xL;F4V(@m?NYm86z_$8PBwREO`-YAQO>z z)4+Xk`kOroCf^AiOYYY4+bqZ$NHMFQwifc7@SDe88Wswc>&mx!cD`ATuctj$It5e6 z32NnSV!0&)M^n(Z=jrX8zXr{H60$NW0Z-6PmBfUlMLVY~-}ILv4`-$dM5VP(?P4WB z@mQjyF~DnFYni2C8)eW_2b*R}#J9MV&q==*3KLcGhL;hk;#yEJy$0{NxNsrD*Sre0 zL(*YFtwlHJMTd>~68_8V{t}1Uu?(mdzxO*_GC)V$Fn%VrdV&bv7cUrG*C^! zci2^UiUHQxB_f9kIwuth5NthWoANfV*tH@dqo4YtnmYXQc&RsHxtzi5;?u2bTJ0CR zpl;ePqrl=FP8p0hxN$T={8>rbZ_a2?mv9j6T#>oa0@6sdsG6C0DO=Gy<;7KxVwpX)@%oR?y3FhoiAVdQ`Xat zTfIvvx<=5Jxw)?p>`AD6>*I&8(4qKGS*0x9Pgf6ucOcwU`uG#YJGq(K#C8B%t zKvvkpl%WABA31BU`)o&plV{7*lraqDy|PwcvBG3O8Lm>f3o6-F;1Qs(9=zo?b9g8u zCMIXMZ)+^%Y7Yp7q$aQm>=LO$8lpWI!)CMxHZS@Vb4&GHuhv)gtib7e8LNzuir~_i zKV8Go8R`rZpriP2nM`LuFihyPH@qFv{@Undb#}YGh`fU5Qay8<5LyCr@}C05&Bzd) z?%~{(P3l7US!tkMXQ=xWkGlUZhIZ*vYoT&;t!;O9@jZ8LFd)b?*K(e)u`Rz|G&#!f6WNs&9lPmFp4J`5= zcI7fc{hf^Q(}>!UtFc=EidQqjos2j&&T zlE2CDi2Lk8Jv868&U|o&Y~T{rAPGI zY+wslqAw`y3h0ZjIZ3Vo@6|bcGk2E0)%K5{py(xSXYi<;cXj2zDL$Y%i6&Fy1{n(@ z!ow{^kF#|lf*=7H1v#UUGKw-}yO~=a_Jb?qE9#VQY38^+)Lii4rC*|*t0Sp;vaTdC z=JMJ7E+2g)c6}zHt!DO;*XE`u+agb&h;9DTPbnI%EbUZ{sip>JmE`HBJI^Z04)>jG z7v&MBY}f`aqiv99GfDN#&#q89HzZ@Jkn?e}Xqd303AV()H=9_%FOT|-LLY@1*UOS( zVsY4c?ZO^qDeu}idUas$=1(@+8%IoV-M^twP&~IT*~@$$%GaC2VQBmVszBWQ==^iycY^92kUEE4mmMyw3Zg#hAvx?k^6q2t3GU`U6w}tL^)Wa zv-L(x?5k3u<`rwW-LNM(r_5q58S1bXLG*HPQn>LQe2hFtMy{%^orDJ+=sY;Tw|PVn ze(2XgI=BFmgn)YCeKPe=ta3T0b$C?dkL`Y!J8pye){9Z;E9f=?bcc8JWBoI3G9-_z zHql^QfB198Eq5mIsGGFNK(^*yjkOd99F&Y%wP(HFAtLnOHZuaE$*?z4`+k z8g`?Lt2WibiSnlio| z8Y*wQWJl)>FsXg6cR5V56E?)X$j1i-sP^Y12OGQ2!QzjR&&`Z4L{>FQ@L`0aO%cLn z4ac}pWQ->Zk$W9X(s~AnQkHZ^69DKbrb)pDz?qG!5`W;TuRf7+Mv(-}^H;Y2f@YIU zoQIKDHWGz!NUl&r7qUd|Q*Tgfr)?yi)c#ls{^hlEm(1llgSE1=9Q{)g%wVc7zUvv^ z>Yz)Zrs0+}{n1-L=~t@6>&i#|N3BH2!UyStn+JYq*&zMwcyMk_{a3E9L4xzcaWWM( zi`DBPWu=nTq6Gl#&bnH+%QU6$=X7MOXEjRPIsG}_=m)=Oe->OUoh{;P95oEGWLdhT zmH@NFzky-?UKfJc^e{|t1%A%$8B}UTg_+1y{cE2oUoa?F@m($P{g}W*rT2G)N`ap{ z(Z#t2e54#4H}6Rkn(xoTEmYwONt@6$V>E}ejo;VN-P_S)PEa17?}|z{MjD#0R`hdk+3;6Rp6PLyhEmHhG()rT_9V zwsY~2y;hWkhE=mcePmM?y@k4DM*Lj@EDh8wAxF(~w{I?*OI3sCAjsc(X>4cxti zJU1M{PmwLd3r~h4(Wcyuv31U|gmT;#IkTZhR+1N(K@@cF8U9?;a*=9m$YNWu=-zIS&l`I*!GvXCUoSNTX&p1uzM;| zyheBXcNO||1dRa%fqkHHH1gMO5e%f#n^KXppO@J^8d)Gomt% z4UPRzjahUR;G^ddC{VZ3F`Z3`9mTF$KHbZaH%kg@NRrjQzLC<&3S+3ZRza@>mc80O zc&xb5Z_k-IPg86v3??Rb{ZWKwv(u4NOBSP;IZI#N&;YvuZ5Q*s`Ia)&VQZlPAwg#% zND~!{-YujpJGW*XDR)S5_9%|S!n?*5o_q#}1j^n?0BA81I*q>6lj_s!R5f$qg->}D z`f8TD36}M_L0&Y$&>$}Q6{XGWvW7gHSph8_QdrG!Olr9p91ERX@S0m9e0zK%>Xq!4>Eml&Rpz_)7u52Ug0j;?U#i*7 z{LYP&^p=6&P0zc-WzDhgYX`=&wOHVkvR|L)zRyMDO^7saNVT*l;D?hz91T*4XL^5G zzv#R~x6$7PW9A_oq^~GmDcw&{kkX&N81{cS6r`y%-pNM|(+OzL&*#JurXf4+jlaQS zWh;`h$!zPzUH39NEQ$EFaUFCQnp4et%CR)reC@`qL^y^wU_wC)mQ`!SV}?6#t2(*cSl`U{Vr@dFYT>z$`F*r2 zck2WTQdkh#_dLghl9E1;Y})BuMs6Nw(KU9jkyV7jCS0ZfL-zE$@AG`+)(;jVba<=94LZ%^kxQSFH!y)oEw;aT6Bn9}P*1s2*-zxqNvXk+{-|KAsIybh zX?ji_*Plo~1#!Arp*lGeAv~c(?VM_6L||dFS5zx;H24D+wb(%mecaCH`=t`ibv>@# z)_hJI&G(UFwA4TU4BDR~dCulUVh5OY%|;tfj})tnJQYY$CsNcOz2(1~ z1IK^!xN(tyTGe(e4UyW%PD<{+Z{D32uQ{AYMH&Zr8+sEA-^nTm=(bQ}mIy1Mp=9d0 zk(kQz-eWa^pbkbGK7TL1c}7LtI-AF|&{|sl+{p~Tk-}gw%ajb;Hx{*v#{+Lfb`_#e z8?}6Wrg6YMUvZf@t2;4%zPc;r+R)dZz`vc!trL#;WRrI6d3l zAF%G(8?anCLHYYq-bX(By`z2YCsX(*mjD#=amYo4-`oe=LV*%(1R}}5@c$HTBEz3o zqJNtg&OXwPj?nAMSrCP(!QF3D%nf2S))N*D7RPnDBGjvbPcYiu>UH)+VEtrY30YiP zFXMhx?2XI}EvrKU*z6{$Hrd)1aw5t1_QjNkoo7Yv0t!92k1^x01~EwmT1BpVxVpD zEAzku?#Ub+@4wMLC7H&KXk4ycWC>T7DRW+iT{3ya9o63@Vt;041vvJ0DXuyZ0e9Ozv$RM zfO&liuq|@D!8tx28##&N7mlHUaeQc{=!}bDb?R(ofq;F{Pg6z&^Xhf*35jr<1va)be@+VMsgHyuR>*r zhYIXX!Ml32OR7H5Bg2eAByK|ixdQK8#>sR!rL53?h|rICI5xhD{?BwHUmcV6vBxH! zm>j!)VoXr#oX%WrAS%4=Z%icRH41@7`vs|ZXzz?QzX=aHU6;~-QpoH{F8YWe^9#Di zlP&$SM@2a#hu9v;>BhaEG_W-KF7X_qvYt6l4bhK^z~;P9Dv@aI_I2|0?laEs=x-;? zO+F_&b9nYNR&U0fM#Ds(iIPT$As*X5`70tR=|h22AhDD!OnFD zdgck;%uxJP>RQ@)&#K;e1)IL1Gad#$m{Xx2o|<$>js&&>mFa!^CUfG8+Zqe%QL>Sy z+r`2#kJ)i!b`tS`DR1DttDpZ~!V>wME3vGH#%x$0Gix zi+bpn)dcb`PxO@46k43=PAaD(qYk^R+1pGZ1PQV=4D-5F(IOK2j~8wo^#Y&kV}m`l zD0wNlGYvv&p54T1Td%$EF1a|8s|6jegSev#EpLpDEaX&vV4#re-fP^W(Dy%;a811; znPvtG&Ht&k+Fv$wFxyJX)aEt{uc3igcOKXjfW(3VT09bvo*wK`7NHRzzKLgf@z<}q zz;5!{!S-lm7o7#lx1NSu=;KrQ=)o}zTQ}vOO$+dIm**oFx2G}nIkA6UCzSJz3_I_m zx-u^PDg~t`Z4JBcBqsPB@m!Zu!OdYOhO*s5=#)k8b0zN^Eh3EL)~*fWMiV*n6Oy!f zRG&b}&BZd7M6MzgsX2O`s!SB0yZ9`AH2;QGH>db1M|eTw%hNtSqhI_>w=q|G(~o=2 z4~S3B5kx3+NMTKM3IM&EgRL;CB8V5^)Cq$bRMYqF#4bb z3}mY%Kd}JW${Yyh*LtBFPl5*H3P;8GCfJr>moW)xIM> zDn$eW%rl)v@8(zhcJ@!Mf9s0hR@>dHBhx9wh*j0^+A3r- z_;O`xd0V-~9Ke9rg<}sWItJ6Q^P~HC!K*aUIFAw15vE69=n^)>BV~P?Xw>1xY_?^j zHh5x9T*kH@h2t&rFN3{COJYVxQx)q0bpjrV?* z@uOR=qR%UDn)!MBi$NWa$sXIn#^k|0=#}x|Z7F7Yi$=cXQj~^@_oMI15teheJ1}*Y zH5$;lBfETChI(~08l_7x1{Zr)&9}hji?J6gZCOkx*sFo~i$RR#GpiaM*=H#vVWAS5 z@YDiUt63!sv)YT8whF}EVEyc+=@Ajgy7EBO#?5YSx?R>L_Qtw14&R*J%Qy)URC;dO z4P{O!H7Fj)oApTioF)!)&dj~+Egj(Z5C(sXQ6fqYQRcEjv~%+bZEG-1~{9 zbgXS>Rno=*7`=16r4u0jInkX^lijPEN6fVI^FJ7vW~i2b+C-&&SMhNQ=hzarAxjyCODN`LxTCUwKt(yWIA1C+%_d+!#` zc#eVPT#y84#@q}3oWE<9dOQ8O8uG(*$tNG1q)s!c_vC7vS>`7DH(zB7*Ncwe zX6Id;jLwbc1wLoB@vGCvmz3#;Sl(deG87-=FH!9cKmodSfa1XkgA+47q;6=*;X0Op zipyn>_JBh%0<0RS7xDDMlw1@aYN^Y*Q7kVi=y3S+n*$=oy8fR2864$uydQ1RFAo%5 z(;R}nTb?eS8VOW{X2YxKN^HPbUu>Fq$x!EiRcu3TU0lr}`s@MX1Yr_B8L0=RLD+V1 z%E>j1y@aZOzo<-u(9?d+Ll(uAk(Bu4=%7&kpf1nm74Z~9D>aIfEJI|$ZO#+>`X#mhG4+2Lnuih>Q+ zbJb04uyn~mAOmO({KISL`7ccs^`s;2h}R`?XrobOtZ1kPqd8^mH&L;UzFs4BNfWyg zKg{-K_S%_FxTqFfO0j;&Dh^1X8YSvQ-^HU?KU}8ZLw%%_Idx&?MOG|6g%0(N+DwA# z;U=Ius|{F!MMKDx6Ffbj^LAD;JN1t(zjZC*!5M7VQ;DwEkRIROhAgyI@lP16Jh!ON zVEVlk=?8y7JP3ocEH7}_P+1U}Qua~d+56d~x&X1{Q; zi~6_Uj!0WbBsQhY)fmETFxp5J6eE_-yCO}3)2oGf!7feOCw`M-L%xHxs)!#rF!&1W z)QMkH@Tc{Mp>PjIzBg+iuI`R(KI|T&pn&*EBz{lJgksl4?G_f_2+!h;P}nt2JMb`q->AkMpIj^KG;)G z!TlWSl>br&TfffA%Gj#@TaSHUx^H~TcH2<Db7`gcYd{7r8^Cs;_OT98(uRsoC!?66d~da zD#P4*7L)?TMoLa38dAA~$+mM!M3ANMs8m^pXD&>pw^z8ZrlxHcva{)o=kEL5MzgZV zLQ+9(6lzlfxutBp8Q|AQdjITkeb1LWn5!0#bIPk0v*7RY7$GgJz8;`JPeha^vlxCg zmB@?p)L(WP;xmrsQ3{T>+j~;S(ol=3M*Rm849yt@ioTt5nP**$OKqmL*`26ZANf*3W59;f9_|C*ATw^+QS(Plru<9Y(1% zTrl$i^9Ci>X=ChYcPysy_@cl&8HI^B1d(wWQ>OCHT2S8TK5{LvF@_xaBkw_~Z?e-_ zY=YLT!lb2ECJ=6~58acDGncn>JWmBmuF~t4uk!P^erfR|K6~c)D87*6+_&$F-%!z| zRI1;D-yAGl!bX#`^NUlx~|#Swr$(CjgD<6 zJ5D<6*zDN0(Q(JNZQDG#`?;?7H=O->eVJ>|nzP0jRkhCjLBEe{V)}vCMdyL2E8|kk zKV)sgeE?m{(_YIfb`ov7UG7jWB6-M#f`0fPmuYWMdJgNIChJ5@KK|{N4a_?Pvb- z1|K5>3Ow@p`H1C6$L$It3tDbx2G^wV5rI-}Jw5T+%V~;;oNjg;H6U&0yiKxxZfm>l z1{R7%35BWDJdjsgl-@qP zLqbAxFy}e1@F=tsll|lhx`ZsQjV1LE-8yKJ#4c+m|g@ zW!j&lf=L{mxyKhV1|O>^t+|(9_|i-h!ca==4y}etSk8}>BULL9`V*P#(wje%M636z zGrXAJ>fV(95?Wi3fk}nqJBZDU9eZ3pa>~TK*r}9yDXsnr&4MFaYfMXC801$kP%Q9T z{*jO_zHl1a0x9xB%7MUtrEbySSDHw#06!K;rENBS)5ka|)BP9!$^rZd?YR-G;@j#5e2b{Kxto z&;9CuKU~E`{!;srJ`4+nQ*t>G52L?Wo|%l@njcqHQ5DavOsQ^ixq;Vx%!ZQZ2_^%# zk-)geIVBm=b<1!4=rq9IWWgcy0x3fmP#As3t;TswO>;gF)h$wy;v3;%@(?_WsW$LC zNT}9Ls0S{XMt4+E200LZ)%(=b->TepaOmH=L$0Qytojz2c226aU=+J6!zi0`KtE<; z9_|knaa~_y(;2kJ9S&ls#n#>7*}~?XB;f%N+%zGzrF{aFOKKErjH6CzGeb9^!$ZJX0=@dSWVpsB%-5hV4 zv7l6&NE!mak`-7!=I_#OuQzOg8+X;}cYXyAY{ScPYita-lv*O`WN2&oS#G)Re7t_1 zF}6pJS%m#}cSxA!2>i!fQ~KskG2Nmz61WBA1mF)$yhtYngWv088BJ&Xj)@Ss_le|K z6*v5MY%jDQ?wcv@(*3QmHmGA?G>&2Le=d{>ew=ke&W|2yA@YeXQqdKbNrY{FPS(^s z(OVUou9~^oq^i6fBy_|7xPMmEtkQ{Q_wwtIiJ5%FfQso8^c6fsB#=JSx!Qf1n}`ww z@M!uRzbn?|LfBCcutY{|(O{l$1t&Ha$xY_$vXYCAU`Qbn^^v%<{# z-r7PP)N^<=?Pn=6P*_dy(V$)LWAa%onMd%)^RYN%#6vm5#o&ZUI!zEIHjj+Wg3fzY zO&Of!A6=d0v<;OglJMJ_@}DZ?gs?Q-b&RF=(kcy;OmpJ$s(9nKKGC)O3@E01$JfCl&62| z5rA(8y})X<0kC8C{LPHDaTbCkJ_fOzH}l#Kh$7yo;9*nf_STm_E$Ayf&l9!|2!3Yo z>`6Gk4_MqRMmiYf8FAFeQsGy5prPxr&)hK|c74LIaG-pIjUm%^gSgeXicJneodWO$ zvTzNqw>Da{l+h0iF)I$Jcz#f~;}EuAUN+Gl`QEQb5y|A@jUz}Pr1jrJ7f4ySNUcdE zBd|1_1hoX!h4Qe(N6PYn+XR#PKjcb0cDt%?+;Pn4iKm7y$V8zpVr{>@Xm*@upGLnRm6O%vT_2C?E zlt+DQNLn~Y!i!Sn^6Ryt#lnW;s%Y~Lf2ViZm>Y~QLIy_i2ZvzR`n1X?-7I&X5Y0-4 zunvzEEF2lChGiBjq24{E+v`Q+27vE#aU!V*zwi|N1dXT1f_E7Hd;$`6>eJ+nMS%tu zom~Y;BQMcMdSW)`sG{@i*!z`XP;C1Br*Va5;*U?@-c@}#?B&>)qipgVR$-_@JCkMV zK|QW#bC=uk22|K?)yQGpm9c@%BL6_=rXe27Y&kgeZ&c3H-4Bod^tjc;P08X|PLoKArztsdd zoptqF++c&zef0wKqN4*vq5p22-%gvJ-^XPv>%1Rc446UJHoe+t1v7wAnn*=sG|4G3 zufwP1q6mzBL9Xzj2{-jg;1 zKZ1}z`VHD*_G`0gIOw(Ds|iegI51r%oWWK^$gpR5wCZo@)?`rTHYQPIv_E*R`)$jB- zef16w1*1tVE-}6Yw&@?d54D3$P43V;R!E+1i}vVoW1`}<2dgtnSuG@q9Lu&VIn7`7 zkz@LQ|Lg0U>{M!bo9Wh|7gaR3*nvH*|A$cQ(vDr2+wwp&QE4Wjt((1Cl6XWrDk(N~ z7GZmBZM{XW5tE9sPvv||UOMmyL@|u!YP)BN(F9e#p=;65ep}k5m^hS7zKAIy&`K^Y z^PMq+RZph9{-WZ}j$g1XQx_j5Y)vt8b+Qt5_EwW%eqkx3BC_4)KkuH%?jvHuBt_KA zT5hq(;mH!HRYuU7?XG@sg4H4e2IowTYc|jE`F_g$Oy(Qe!{j}!qJg36iWt?kS(#(( z8q7kM{s@W7UdwKjH|>gppec$Nf*@bgqg4=}Xx=6rsW-<-nb?6mTYT)CPn8VIKSF|e zj0B+JJnqe;805U&A?o{JS2fxniP#@))-8VLJK_ARL?9HiJ2VI3%cvItNz^Z5bz21I z_N8A~!C-3@)7rLFwDcKbd;wKHjSj{niGNkKV!sv$`Qui&oP(^ex*Zp`pqXl!nrF<$~phHiMhn09CeRvAhb8(B#&a+CgB6p8*xH z;ec_@J4jpWJ<`AGzHV{x`_d%e{h<)Uf4oFVDzq<5V@R7@Jm;fJZbM8Kb4pB*_`Li) z*A-e&{WFQshQsnSMoYn`H&826=?eS8)nY=4m%ib0v?L|Wf7!ALIkCBX-tTEcMeYhH zDP8%~3NykMH@H*$&ez?%D7XWRb)V@H>!5N5)Ptc*XRH?u%m-KvYOYtP|oTl014Ez1ut zYJ5`EAGA01aHbBqaQrDinhv7Q{%AOjqNJ@%N7pr0edh^v@2(NUt;j#=pOnV9D(54h ztNRH4Z%(*0FY?kOQsANE*p8f;wlM2xyCZtH2 zPijt6q7jAAkq$(nkk>XqNkR?HBZFW87e3n2rihRzhhnl)g_mlN7S1Fi1b!Sj4x z-+)F)uk|K+QSiMs;D2kghJah9-3w`A%RcN8WS{q=t49hL=mJpnE}0j!G#Q7I60(!1 z(8-&NA{<}oef~KPQHL$?wRm56M0}_;XW4`%37xT#Pa3dkFs~R@ZH0yi(tau}?J<|A`R5EI8tZy@~)U^E6)!!2p>Uawv_OIfE;ia~FLe zJ6|C+s-1>8tV= ztXNnAzY!{ggFd$($jXb2K&lD*Jl@uS1)EmN9lOwCspS&EGff zDO=9NA3ASq^XDzr1xx?QD>tWk#A*!rod1{FU=K@RnBSt)Q-g?%lKQL!c(y4_ti_tH zI9>Kx1@FB#?$75nP~0x}H8$ji*Fw!|+u>YrG(AnH!Z-~I^Ly-NjLHXxpx(rG`X z$YHP~`@t`zWB-V)X_7RJeu#4$u5eCbb8#9Cyl#m?OpqX;UjwePBVf0Tq@|NOUhAcg zj@e(U=`OY5^l5LvO&Rk#c?oxx!_4iiPwWHHpk;JWzQA+Lczn^BtpIO`MG0U~XFS#2 zV0pGX+web}c%2;lSM)@nRGge)1-xd3yejUHuA`DbrWjB%-#OCQf3Ygm)=C{pF{!~+ zB~q=D!~7x6$FOxxFlLE1D*!7OiZ(0}Qibz+!u>t*GFC5KV>qS)gii^ta!i#@XvHm6 zRoiccF_f%fgfLrJ3x_!iJ9JYg6>f4UxDf9BAkwEe8^Qohu7adkq(q;=0Hzlc6cDgm zQP>0F6=;mkRf z|7`&Im&i5PbMy9%9#QLvg&7nh@)xVdSOIsqCd6HRhC6W%FCO}f!gXaEGIxTDyUMpQMY-e=paTv z;zCh~3WfBc=9P#$szB=PpfTuwL=By7>@mwy&j7M+PhocP?R=ccitBwpFixGB>e+{$`;W>ZASmI4@b- z7Q#lb0Tu947Y|!loOLi`L}#fBR<*`SYR| zCcCdEp~$1zzW3$@_*#;r(x5i(f>vWY%ZG`^P^uO`LzAE*)@th&qg-kDs8{n$c$i{* z9wG{7SVsEpal&Js$CfrW?*v>n5I$QUa=UCLY2RyU(vjJAPnWH3^F6AfGJJ{&XSK=n8RKqEMF`5sN5};7+eIinno1cO zu6l+NcSqshWM4xowOgUV5F#k?frut$b*)}A$pvL)c-f&4uD>=W7I{&84oM-{thp%< zq7cTN-2M(3(jWmUo1n(uxH~ubw{;8mZaP_Oql~<7ZyS(Atk6n$b38HPCrCtz9r5ti z1~H*>y*s&L8ph^Jg|L84p8%#a7RSFaA{2>$=+_{)xb$>->guZKv^gTo{Kp4s6RFwI zfX|~Uz=jKXMh;=J*i;6_SJbT#RUQQGw0yJ_5T8Zh2jQX+))x83=8T zIMsm6W)3Wfq)eenff-7YSO-}7SOqF|vDhmd4F1bQhRv*7=_D@P$%%(%SG^h=P7%7i z^zpSg$W?N1qh&`Mx)u&~W219}xZbDizxJrdSsvumXsbkZat!lFQBB8^!kbvHlEWDR zo+#vzDg~nq(R-h)ziKJ&qoR+G3Ki5?e}!2*3k9DqWz3oGtgG|>unwXOgM5^OFR)-x zOs?}iGS^137TV)tov@P;_|T> zv7PKy9;8b^FGWrp9QVrVp$YhEK2vxZ00SjRYM!ZsWd}irvj~kp6bb z4~eBY{RJnu%qjWV|FfTq5T4#WY3($Dc?m2Wpz*f3`@NOxv!m(MZ>Fxbq8Wh+SU~~F z)x^H4Wo{2X{60wj>R^k`Ct}evb%w4djUhxm!+LSCsrYGXuERLap(IM2i3Wx0ydfjH z^Na>OivcyDitL+alGIaZl3(#WLo0mq1l>D7)jSJ z@9rTHom7p}et!0ihg*YKCHRC$!mVRG08(ECX(YVG0?hL5n|H<9<;O?~LB(Ou305M7 z2}L4dxAIM--jp~r1f1W}iu+b$snt3vt*O05&Y{3ho`OAJ_FYVm#dSo{O#Y^Yz9$AbBgO%6aByc?28N*s_FxvjRb$M z7z{tei{HhR*XVA*HQrK*4eU{F+YXkA-Ewzxm`LR_Y|iN$rd^t6>1>eUX8A1f&?& zAg?f|^6BD~;xYUYngNQ=vI}e1p*it~uV22Erj96RT(RR;f)^5kl0sp&F5bwdA@mVr zqhc%zI^I+gHPT8_lUUA#(-U}oCUw|o#^%F@0uXL7Jcz4<2Lrdk?Xzyf2b!Y=ckud2 z%1lQdT|JyW1AOItVw!S4w^h3d5FqV=1@3ltzK5OQ|KJ?`rdOvqxKQ}ZLCD#rOH9jQ z2)nw}ABYtu5BM(vu0ux=mmM`_XvA|ImJAvkrMPqrR82^+aaY@6&gB%-ZDW60+w(_= zz>QwlV8d4O+7IEXaR(D`~ikn-C0^lcRF@)YvgTP+Y<=?`L)wM=gz z%Kha6QUh~y0Oz{{Y%Wdf`y)JM-4Yi3#tFHC>QS!0pZQ4*(6sz}NhSyew~y2zoZ%3r zrurfUlPo~4dYaB-Au#!jZ-IQO(su2AmsfLK*JZJ##`0yA(J%S)fz*%D`+P_9xwDIZ=7a%-PtJQjANj^RW^lpZn$ma(zBcHDhsUaDw`{5~r=$V)iaJX+ zO5p1SLQP)piJuM1h*hrc_ma2n*5T!!b&`Vd8^tG?h2Nv2)wN^gHMN-6L94s;v&A%H zG5`6N%OBmYcyco(;#cD!J8nuRuhW5|y}XWwzvY=db5@q?oK59~6oY*Lsd~EA>swXC;AVpNw=@17$d-r5p+co_Uwb>sdDS8wxvdWw>Q~l8YiGWv? zRUbFE7djg^(@NLy9k6XOJvM6jTyRygBCeJX7nkeDG=e<$1a<+2=`m^!pMYB@Nm$ZnlG>6owirK}ic9RkVZ zHCqnDQkR_jqyO#t3_ZcLYadl*#_~o~&O@Ol?lvUIa(@TMhVwPW;j+hqBjkxwYkgN* zV?ACS$GFB2SAzOZoJiFg?`jjo6QH?$h!!#{Q!uH3%)`JyU^ggb`h7|JzW1<06$nF` zDA4nl{{vB#(APozHpHFtt;^^KjRZ4~8oE;FbaO(^=e;-QI6j)vX51%>N?FueR^Nfk z(7!I9&uwQXrw328vdUt+Q{~-#aSPTVJxn+f(Og(lwtyfaycO4Ydds{sT#%F}_JJ93 zv+EDF z3v-Mmmmg!S&*kxxmoqjBbI=@iCaqJURaSqhP-TP$ii@i`;t0L^t`@5Ua{Wr6%w3dJ z5X{PwQw5m3A1@?h+aZ8|r$nInh;YI|i;(Z3orZ;|s|==Sc60mA3Xd(>GIloE@Inl* z>xhPWpj1r}OMcRDTrK=nwX3V{1@$)a6KTTxj^qBPaQJ}9b>pPSI98r~x1{}^HebURPEU2BC?k&Hp0)Zr?t|TdwVM!61 z1?ijmcpgDAtOZiR8l<_Lg!^mAnZ@6I$3`dfiI7j`bg0|d!sjoW!%WX5_zbj7_O1RJ zV9voHwJxPUn?cl9Pw?~pbu0>-Ew{F2gJ9xzT>I^;rphdM>W>T0{CJQt7ao^*8&~^q z8|_-!7W>JADzRG|dkcl*rtisQ^l5)o;nznpTEDIg6fTnmJL=V+hY5$~&il|a35Cok zJKm1F)yS{DO;#zjb_$Tw4E0^KMt*Ql4!BrzaRpEZ(3)~w~v%{xm zGjjvKi~{X2#I%JfOSG%$&-;%9MXje)Nu_xz)=QtYZk3zb`?5; z4Yw_;!>PqJJ(pDE3qdSYkC&MvCHCkKTsHlYmc)}`)G^Uy196$G+uA<=Ac)>driL7! zm~m*yM4Bog>9qZyu4a36EzyD>ZOK6xKd=GnMM`jd(4YDXsNPv`1*{iC4jp>0W0B-5 zJx+LN;zsw&$Vpf{Fid_gGTIt75||*o8TniLA2y4HZwA{xa;aJ5HZdm_f=>KYxDyny#HLU=mgfzOMF4HoEKVKKA>JMa<#URDgyA zQ^Dv6i?0tEJ<o|v*m)sQf zK()QT@{0hxe|v&iZKo@U8ecbf%|C8&9q3OMV&%^`R2HT)Dnb$WqgQG`#tR z_=8E^F-9lN=98`aUgI9=gH<|?{!t}y0F@?Z(H@lcq^hG$`UWB6s+&T zvXfRiO>_Bqr9|UoitnG7xQ&zWcuu#{9znpyIxW|uS?;U_?gk(P7pS-&FnNZu0eM2y zzb;WQGkqyS@ovb0LgrH~oQZ#S^f+d_;&&iskBm4dmn|W={3{@q5C#QE!f~^F7!DA3YId6VjJy^zZh- zLkTDZzXn}p@S5c>T9H>(P@&nbfPC7`JK8cmt6EYuJ;Qo^W>v})-UIS{BA99^e<`9sm!5qpjPr(bvp-;WgLKnaE)8(o7SU#$?lWVdrXd8p<&3Y z&K!J|i$8OtPkn?=LtcOn?>Z1enSsJ8m{1X=sGw`~szwbG4d6xdT7qPO*i zCwsm7W}mz&9LY;Gz9FaIEtb%ov>wmTR-_n^qr)`rk^(FQ{)W_xXfG zV_h4Va%7*!*L~A|Z8jCs?66}!0ii|Lnt%KY;qE1g!St)H#G5qJp7QjlNbzmYhW8&yb^+)G49(!BAXi(M#0d6pOo5xUJF=$D`6a=(eBa+vPxHe7(F>=w>^^DQIelokO ztIiyLRk5&Nhku={VG+%*gTc)Y$WUnY1e*IITLEm@JjGzvbS3z?^*n4u&UzT&cOMoAZK@Ent&t- z&Y{{pxK}9)j#+hbLqUrz(Vs$w7O{~n8Ch%Dj9IS@Sk*@daGxGiw%lfP2ZaS^s% zNT18&W(wC8XB{Dj2?5p?;ahwkY%1{eL^nhai;)65E(|GahE5;Vc~C%y)0smEeaK?@ z0sI2ns4#Oopy>^ZkM3K;)#~V1*OxBCrsSd_3s2Zuss>LEUDMyiIP~|e`;NG0SRrt| zfaH4~Y=FnZ{H||2d*WxGKBQEi>k*kDtpwLY7nXlGhlVDTiAK)LBMpfC4LTRZzEc^# z=JTqY1cy8Ef|)5^W9VO$_3`BGBH*Vv=P?Re+s^Nky92-ZhkHlP=AK%sn{xQ6`it8u zKe@WSj&w79j9(qYi~!MRx(qL3(%0(u<-=P7z2FP<6`gKGx?RzGp9 z=$645->%rs2#{+qHD_jYwP*@RoK!}O>FJ;EFV%0B8=Jx9zCK%GqKUS4QRG?adrR_J z96vqknOx+A&~2N<%_t;YxBT`NT%BGjzdL#dez?#g3qm#KAziNzg9(Tflczd2dMh($ zI&EMAdT7Ns?p#yuCm_U6rrwRhvBWM%*~hj5Cmsq5=!2fOh(s2DGoZa{h$?zMU?Np1P|&f=#|H*Q4osp$?Np5824UsjhKR7;eM?y$INl@6vdj81AUq`j zfF%P1|9^VyZ{Ha-L6DdPuv?dT{+9aPKE1_*a+KD&!F8yV z+n9k-2d0^H+sbh$vl!=^^7i42X&&%IGxc}Z-_*3YG7Q{VdE zBYbx{`e29n03!8HFB1*KSMPzwtL#qd%Z!~nAxV%)KB4uepu|aSZoe6AkR7Pht!G(~ zX8EOQf!MJ!$<73iF>baJ8dLS~E)wq{&6+OTk)0tz`TEAp7CI_*W7|!x#`dPV-?pk9 z(qkhK@(JoxT=W+mFY7L*_1HcSSNu+g(NA5ij>rZH*2L3IbN;@e!BuZ^Vln(r z!BaS{3Sq7qPVJzapQ8Mf#$h7OMKF^bVM`NOnSwRDRX(}EC5l*Ii%U>P%|}BIXFN?L z+kfh7QaA5VC&xfflOThsz@f|1V7r}X&UaoRtcHZBA z9KE08P$;JN*!csC0e#UvQoWHwAAr{>k#R-LHqA?7uC|y-r$tF7Lt{i`4R7H{>;l;&W~9<3iwk4zKc$#9iLhI&DA<7jwP# zK-?cwU{qO2j9DlJ6A?tR+8@d(2poWEukyMB3SXHbj8)4+Pe1E=Si5N9y_i2)17P&* zuS(|5zhegeeLu~BD|m0)!Dt6!8*NvpnKxYxy$}81 zSf6pU*)EKdKtb;Hu5n8ZWNiMy_IOna-tq6&<-y_C8}#NalSB?g)8RX1s2AxUw2Ma} zhGt*U_mq-!_E_=u#*pa9lw4`)Sruk=WWmigQ*nqKkg65Y-G>gt`;Z0E%E7V+T0#rJTVzunZ%-RjvJg^e{|ZKIsmy<$()2f z-)8t*^$>XMh^?amH@D_674`4%kyMv=`Rj~#K! zpT#wG-%hH)Z!|IhLE%|VTU!NFEdzJC-`Q2>bOItBz8L9MPrVhB2CVoy;Sy-aM<)DQ zyBX$Y7Q#@7SRI*~gceiC0*H_bnCQ#U(B~%$fx;c}uD#;T)Ol?osdoz6I}$KC?f1$o zBhq0fht9;9y(Th^>{ThKvW;(Jf&mZ|3gL7Sn=g%Rwj&y7IjKUPV(;?899a5nKZ|BmY1pKkPw zCn}Ql3!x~~ja@PXWCZr4BqVY6OnkNG9R9kqI*U-&&}c5`@uEmP_{}Kai!E^1uYQ)N zOFz%fbjM^%)W}(7P;WkvLHl3tWeV{dfx2$JPA~`4^Wu@iRcoWy5OWGInjLe6kJ*+& zM!u6^MPw|s@4*$ZIIGXA_-3F(@e?J}^|a772)&neRE^g4D$+nA?7s1(f2xXHhZM+v z680S(C~iID*yMOw5AA*UxxOlUVQY8&>I=*P;RYtx;T*?hx5A4Sr6@S1iBLK|Jtx7Y zH+=kO9)i#~FBS{>dcrKT!rYK|@WxuM=2P6FTl8c-`y>fGLUQMk=? zwLdVbn%G9u!wG>*p&N6^*uJC3VsRBY74%v8c6pP2w^^L1Nq`NeMJcZrvm8*iPKyeC zn9^dFGh}|(6rgb?fD7jB*|l~QHhyH+@58=Wss?h95C6GKnSQDbDuX-?FrOf{4O{6e$ApaMPlFqK{Q_>sgv9N;{VM(cts5%UZ{u zO0LeWvbb8|>@Avkxl9qfIlV~BG2`4*c3-?691*Pz)N~HbURaE8RE{9% zlH-tE^Z$8|kpbt0p(|USUYdlMF^hg86R={2=n;y4vk-GAQb>~}vMaN(9AI#k zm>ApjxEv|V(#F?b?bI)KhE`H%3;6RhuHPzn!bB7f;e^e z9wspzxy6wVB2Ud!d7=38h1Mc|xGkLJe?6vFwD6?V+TE-+zPIHwB^Ee`o>;gLM;>kb zhLf~4{vgGi?|e5A+I2P9X2$)H%1IGu#$^z+9N}+_+HHTN>gRvu8RQS{5vNJ{YaC0& zOIu(G`al`4Vf_3!)U}p?A288*9wQ|K1e6yYAMbiK47e9=W*txiL*AM(QN1n_BI0Pt zP8z5yu?i`xvz)+{CF{*EF1cK|3hvc;e+HL(0teWch1qG{K9alBWt-vVk+T0WEV}mG z{&=E(IOjah{+XJ^`cVuz6{QE58dKBI0P(R7$^o*K++|e@6v)~Xj@Ez@Z0P&KbUtqX z{JPliwoN|3hrGVJ>$+;|INF4zFH*9kY+Tn-69RTZ_{}gFfN5%N9A#>6I$7!@E7xI| zf?cu;&$;ni6%{`@7b*f2jLwKEU)OY98|FYIx9G{GyJM(+4#&}$xkM=J=rvwPlqc3`qu48Y%CD&3ebK-z5ZG-(0Y&beh>0R16ckKyV10NCUU z{AE($hP~sy9?T}4zZ+R`A#aUK$tr#Ifcch27yH#erbKT#Wg1&q8&SW|N7cM+GNR z&rS_!t%Q1Yz3SVMS3rx+3R7|t9Ijc1g(NnVVZ3dw{-i>y@gy@&np*NcOSA@J5qjl% zzbxl=$g8*|_su<=F#$zFZILAb7*Y@zHsWJ4Fj*KOsU^ zM1Y{+>nL%vU2jB^jE{Z_ffNH$U}Mej;IV&{BfcP->hZ1Bl`Dx47li^Qr-wR5>RckG zmnzzp5;ts>LxZDP>@X?WXnJ|>*^0%l3Pn*S3g5Jvvpp*s!89r8Ho5}km3hC`h<#7- zaudUZ2#T|nhX!S+fE+mSE!A;?yJ^u7n(J<3p-2wKj{fVu@jjG*Iwo1fu|rW3a89Dl zkc0vWv{Umbeul7KKiZeiQIX%APjsb9JSS8Ssc}k{gdUO-{0yiK}8fpmb=mMf%pQyMnPLE++7HSYLz%fGOyNj83geSr_lv+xv2x zlk3qtZp#EnP`A>oW?FAJL>-1?&jn2d9D7qNPCNpdo?E3B zJb+z>>m4UJ9#(i?LfHvOm}te*@~81y`B9P^x18zQ+XFkvJ&{g|JQfe2q+zN8Nu<|+ z3uz-u&wJ2x)#BnJr=`3}Z_MSi?bZp#5!>J1YI!9r9$D+fN2|_*&xfzccX)iLrRCjZ z#NOaqs{T*z_qcLr_4au>e}uBCqx|vjEFr*Z+LQxK-Cn-d-LtU(=^|%|p}pF5gb*Pr zhX=GhFRPA&dgj+45g89H2$MXVl`cfv4N-N++h)cR=KFn7C$3`&wklHbFnk5j4w%R< zoM7M&A=2{TlG0IS7hE_X>g1}r6#~%4ETL&yBKezWRcYB?ZjszlIxlzOi!<2J1vs&_ zQNLYAozr-k;#Z&0kh$>eW)2U~0D&CH`ec2HnDYMH1Dl)8*&-eDDer5TtLyNw7`7eA zG^p*#D&JF{?U{gF2BfpV7RX6y^1mU9?RmFGmN;=ErX{xCv;JW~0|f9Im#^yftnqok z(2z{Ucn^dfH|rB+?W$*KOssh$8eU%gbZ8(6h3Mg1fG2sPtz{9?)IwlPQ{o3JJ92Cy+QA zne_AZGQ69wN4ZN2oMq0S27@ZW zl`037`Ti26@6Yvzo=XgK-0%2@gqZIP*mT(uX`?s4b?u2bntO~qr%#7m znh+fvQKC+EB3DyNNtfIG=)y-5H4zH1DS^r_d{@OXeAsf6(B>N1Aplu4P(Czl`&Ouu zGV(h(xGzC(KFRN&U)ZA86-g?NJb2d_soRkgIc%CdXBL?41q}!`;hiFoUVShsKkd?# zvv4jR2uk!39ifO)z!G4FIZdKz4ZPhHY&LFJzzGaAK*`y#()~+n zK`tJ2p6;(cEf+KEPG~>W@vn+uk)#1SNH0KOaVH>Zd@ZPK;KM&2nOlK&AW$w)E= zl5`F3FGk{Bm>|RhUZ^6(mv&*ia|fKRy6YiPGzPhQXG6KSxubrg+?(RsL^2ap=qNG= zh9((!&p%M6obN)E6gUeoEeu9eu*^1&Vsl@>$6M83s% z9}ZRzA617#7b$|zv5dLo`Pt(hZlW`yzFNFo>`EAu!&6wY`-3&TBgl}u!?E0fa3w3% z1~|^yL#b49`s0xF26>9_%{rI$)7tFWbV8i9c%oF#x3!(Crc!&(tPCYxmIezbDZZ|+ zT*zT{Yq{0^vj6sicB%5!BkXd6smUBhqc8T8yoibItntJk|B4iXc*dP9uIh9a9Si7V zV*$&=6v6s{%j3Ci&4BgiU0}&>3bZHXV_1h8E}jg?AyGVCwb0R|=aqZEn`Gi&^NpZE z^f%;a1W7cn$Df_BdOuaArSe1(F+`u9M14g`Y4Be;{PvHV2Vis1Wm6fCDRs4LX@Mo> zdgp;{;>w;%qt1UCPr_et3Ve{!Y$yX7-ANF7WMm6jP$Ci)?)`)uVOf!pSFpeINJ&U^ zOps8J#vjK;J)UaRsqz5yQa$2bqkT3;+NC diff --git a/node_modules/@actions/http-client/auth.d.ts b/node_modules/@actions/http-client/auth.d.ts deleted file mode 100644 index 1094189..0000000 --- a/node_modules/@actions/http-client/auth.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import ifm = require('./interfaces'); -export declare class BasicCredentialHandler implements ifm.IRequestHandler { - username: string; - password: string; - constructor(username: string, password: string); - prepareRequest(options: any): void; - canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; - handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; -} -export declare class BearerCredentialHandler implements ifm.IRequestHandler { - token: string; - constructor(token: string); - prepareRequest(options: any): void; - canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; - handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; -} -export declare class PersonalAccessTokenCredentialHandler implements ifm.IRequestHandler { - token: string; - constructor(token: string); - prepareRequest(options: any): void; - canHandleAuthentication(response: ifm.IHttpClientResponse): boolean; - handleAuthentication(httpClient: ifm.IHttpClient, requestInfo: ifm.IRequestInfo, objs: any): Promise; -} diff --git a/node_modules/@actions/http-client/auth.js b/node_modules/@actions/http-client/auth.js deleted file mode 100644 index 67a58aa..0000000 --- a/node_modules/@actions/http-client/auth.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class BasicCredentialHandler { - constructor(username, password) { - this.username = username; - this.password = password; - } - prepareRequest(options) { - options.headers['Authorization'] = - 'Basic ' + - Buffer.from(this.username + ':' + this.password).toString('base64'); - } - // This handler cannot handle 401 - canHandleAuthentication(response) { - return false; - } - handleAuthentication(httpClient, requestInfo, objs) { - return null; - } -} -exports.BasicCredentialHandler = BasicCredentialHandler; -class BearerCredentialHandler { - constructor(token) { - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - options.headers['Authorization'] = 'Bearer ' + this.token; - } - // This handler cannot handle 401 - canHandleAuthentication(response) { - return false; - } - handleAuthentication(httpClient, requestInfo, objs) { - return null; - } -} -exports.BearerCredentialHandler = BearerCredentialHandler; -class PersonalAccessTokenCredentialHandler { - constructor(token) { - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - options.headers['Authorization'] = - 'Basic ' + Buffer.from('PAT:' + this.token).toString('base64'); - } - // This handler cannot handle 401 - canHandleAuthentication(response) { - return false; - } - handleAuthentication(httpClient, requestInfo, objs) { - return null; - } -} -exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; diff --git a/node_modules/@actions/http-client/index.js b/node_modules/@actions/http-client/index.js deleted file mode 100644 index 43b2b10..0000000 --- a/node_modules/@actions/http-client/index.js +++ /dev/null @@ -1,537 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const http = require("http"); -const https = require("https"); -const pm = require("./proxy"); -let tunnel; -var HttpCodes; -(function (HttpCodes) { - HttpCodes[HttpCodes["OK"] = 200] = "OK"; - HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; - HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; - HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; - HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; - HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; - HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; - HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; - HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; - HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; - HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; - HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; - HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; - HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; - HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; - HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; - HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; - HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; - HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; - HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; - HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; - HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; - HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; - HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; - HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; - HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; - HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; -})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); -var Headers; -(function (Headers) { - Headers["Accept"] = "accept"; - Headers["ContentType"] = "content-type"; -})(Headers = exports.Headers || (exports.Headers = {})); -var MediaTypes; -(function (MediaTypes) { - MediaTypes["ApplicationJson"] = "application/json"; -})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); -/** - * Returns the proxy URL, depending upon the supplied url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ -function getProxyUrl(serverUrl) { - let proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ''; -} -exports.getProxyUrl = getProxyUrl; -const HttpRedirectCodes = [ - HttpCodes.MovedPermanently, - HttpCodes.ResourceMoved, - HttpCodes.SeeOther, - HttpCodes.TemporaryRedirect, - HttpCodes.PermanentRedirect -]; -const HttpResponseRetryCodes = [ - HttpCodes.BadGateway, - HttpCodes.ServiceUnavailable, - HttpCodes.GatewayTimeout -]; -const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; -const ExponentialBackoffCeiling = 10; -const ExponentialBackoffTimeSlice = 5; -class HttpClientError extends Error { - constructor(message, statusCode) { - super(message); - this.name = 'HttpClientError'; - this.statusCode = statusCode; - Object.setPrototypeOf(this, HttpClientError.prototype); - } -} -exports.HttpClientError = HttpClientError; -class HttpClientResponse { - constructor(message) { - this.message = message; - } - readBody() { - return new Promise(async (resolve, reject) => { - let output = Buffer.alloc(0); - this.message.on('data', (chunk) => { - output = Buffer.concat([output, chunk]); - }); - this.message.on('end', () => { - resolve(output.toString()); - }); - }); - } -} -exports.HttpClientResponse = HttpClientResponse; -function isHttps(requestUrl) { - let parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === 'https:'; -} -exports.isHttps = isHttps; -class HttpClient { - constructor(userAgent, handlers, requestOptions) { - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; - if (requestOptions) { - if (requestOptions.ignoreSslError != null) { - this._ignoreSslError = requestOptions.ignoreSslError; - } - this._socketTimeout = requestOptions.socketTimeout; - if (requestOptions.allowRedirects != null) { - this._allowRedirects = requestOptions.allowRedirects; - } - if (requestOptions.allowRedirectDowngrade != null) { - this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; - } - if (requestOptions.maxRedirects != null) { - this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); - } - if (requestOptions.keepAlive != null) { - this._keepAlive = requestOptions.keepAlive; - } - if (requestOptions.allowRetries != null) { - this._allowRetries = requestOptions.allowRetries; - } - if (requestOptions.maxRetries != null) { - this._maxRetries = requestOptions.maxRetries; - } - } - } - options(requestUrl, additionalHeaders) { - return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); - } - get(requestUrl, additionalHeaders) { - return this.request('GET', requestUrl, null, additionalHeaders || {}); - } - del(requestUrl, additionalHeaders) { - return this.request('DELETE', requestUrl, null, additionalHeaders || {}); - } - post(requestUrl, data, additionalHeaders) { - return this.request('POST', requestUrl, data, additionalHeaders || {}); - } - patch(requestUrl, data, additionalHeaders) { - return this.request('PATCH', requestUrl, data, additionalHeaders || {}); - } - put(requestUrl, data, additionalHeaders) { - return this.request('PUT', requestUrl, data, additionalHeaders || {}); - } - head(requestUrl, additionalHeaders) { - return this.request('HEAD', requestUrl, null, additionalHeaders || {}); - } - sendStream(verb, requestUrl, stream, additionalHeaders) { - return this.request(verb, requestUrl, stream, additionalHeaders); - } - /** - * Gets a typed object from an endpoint - * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise - */ - async getJson(requestUrl, additionalHeaders = {}) { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - let res = await this.get(requestUrl, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - async postJson(requestUrl, obj, additionalHeaders = {}) { - let data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - let res = await this.post(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - async putJson(requestUrl, obj, additionalHeaders = {}) { - let data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - let res = await this.put(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - async patchJson(requestUrl, obj, additionalHeaders = {}) { - let data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - let res = await this.patch(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - /** - * Makes a raw http request. - * All other methods such as get, post, patch, and request ultimately call this. - * Prefer get, del, post and patch - */ - async request(verb, requestUrl, data, headers) { - if (this._disposed) { - throw new Error('Client has already been disposed.'); - } - let parsedUrl = new URL(requestUrl); - let info = this._prepareRequest(verb, parsedUrl, headers); - // Only perform retries on reads since writes may not be idempotent. - let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1 - ? this._maxRetries + 1 - : 1; - let numTries = 0; - let response; - while (numTries < maxTries) { - response = await this.requestRaw(info, data); - // Check if it's an authentication challenge - if (response && - response.message && - response.message.statusCode === HttpCodes.Unauthorized) { - let authenticationHandler; - for (let i = 0; i < this.handlers.length; i++) { - if (this.handlers[i].canHandleAuthentication(response)) { - authenticationHandler = this.handlers[i]; - break; - } - } - if (authenticationHandler) { - return authenticationHandler.handleAuthentication(this, info, data); - } - else { - // We have received an unauthorized response but have no handlers to handle it. - // Let the response return to the caller. - return response; - } - } - let redirectsRemaining = this._maxRedirects; - while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 && - this._allowRedirects && - redirectsRemaining > 0) { - const redirectUrl = response.message.headers['location']; - if (!redirectUrl) { - // if there's no location to redirect to, we won't - break; - } - let parsedRedirectUrl = new URL(redirectUrl); - if (parsedUrl.protocol == 'https:' && - parsedUrl.protocol != parsedRedirectUrl.protocol && - !this._allowRedirectDowngrade) { - throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); - } - // we need to finish reading the response before reassigning response - // which will leak the open socket. - await response.readBody(); - // strip authorization header if redirected to a different hostname - if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { - for (let header in headers) { - // header names are case insensitive - if (header.toLowerCase() === 'authorization') { - delete headers[header]; - } - } - } - // let's make the request with the new redirectUrl - info = this._prepareRequest(verb, parsedRedirectUrl, headers); - response = await this.requestRaw(info, data); - redirectsRemaining--; - } - if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) { - // If not a retry code, return immediately instead of retrying - return response; - } - numTries += 1; - if (numTries < maxTries) { - await response.readBody(); - await this._performExponentialBackoff(numTries); - } - } - return response; - } - /** - * Needs to be called if keepAlive is set to true in request options. - */ - dispose() { - if (this._agent) { - this._agent.destroy(); - } - this._disposed = true; - } - /** - * Raw request. - * @param info - * @param data - */ - requestRaw(info, data) { - return new Promise((resolve, reject) => { - let callbackForResult = function (err, res) { - if (err) { - reject(err); - } - resolve(res); - }; - this.requestRawWithCallback(info, data, callbackForResult); - }); - } - /** - * Raw request with callback. - * @param info - * @param data - * @param onResult - */ - requestRawWithCallback(info, data, onResult) { - let socket; - if (typeof data === 'string') { - info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); - } - let callbackCalled = false; - let handleResult = (err, res) => { - if (!callbackCalled) { - callbackCalled = true; - onResult(err, res); - } - }; - let req = info.httpModule.request(info.options, (msg) => { - let res = new HttpClientResponse(msg); - handleResult(null, res); - }); - req.on('socket', sock => { - socket = sock; - }); - // If we ever get disconnected, we want the socket to timeout eventually - req.setTimeout(this._socketTimeout || 3 * 60000, () => { - if (socket) { - socket.end(); - } - handleResult(new Error('Request timeout: ' + info.options.path), null); - }); - req.on('error', function (err) { - // err has statusCode property - // res should have headers - handleResult(err, null); - }); - if (data && typeof data === 'string') { - req.write(data, 'utf8'); - } - if (data && typeof data !== 'string') { - data.on('close', function () { - req.end(); - }); - data.pipe(req); - } - else { - req.end(); - } - } - /** - * Gets an http agent. This function is useful when you need an http agent that handles - * routing through a proxy server - depending upon the url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ - getAgent(serverUrl) { - let parsedUrl = new URL(serverUrl); - return this._getAgent(parsedUrl); - } - _prepareRequest(method, requestUrl, headers) { - const info = {}; - info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === 'https:'; - info.httpModule = usingSsl ? https : http; - const defaultPort = usingSsl ? 443 : 80; - info.options = {}; - info.options.host = info.parsedUrl.hostname; - info.options.port = info.parsedUrl.port - ? parseInt(info.parsedUrl.port) - : defaultPort; - info.options.path = - (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); - info.options.method = method; - info.options.headers = this._mergeHeaders(headers); - if (this.userAgent != null) { - info.options.headers['user-agent'] = this.userAgent; - } - info.options.agent = this._getAgent(info.parsedUrl); - // gives handlers an opportunity to participate - if (this.handlers) { - this.handlers.forEach(handler => { - handler.prepareRequest(info.options); - }); - } - return info; - } - _mergeHeaders(headers) { - const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); - if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers)); - } - return lowercaseKeys(headers || {}); - } - _getExistingOrDefaultHeader(additionalHeaders, header, _default) { - const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); - let clientHeader; - if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; - } - return additionalHeaders[header] || clientHeader || _default; - } - _getAgent(parsedUrl) { - let agent; - let proxyUrl = pm.getProxyUrl(parsedUrl); - let useProxy = proxyUrl && proxyUrl.hostname; - if (this._keepAlive && useProxy) { - agent = this._proxyAgent; - } - if (this._keepAlive && !useProxy) { - agent = this._agent; - } - // if agent is already assigned use that agent. - if (!!agent) { - return agent; - } - const usingSsl = parsedUrl.protocol === 'https:'; - let maxSockets = 100; - if (!!this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; - } - if (useProxy) { - // If using proxy, need tunnel - if (!tunnel) { - tunnel = require('tunnel'); - } - const agentOptions = { - maxSockets: maxSockets, - keepAlive: this._keepAlive, - proxy: { - ...((proxyUrl.username || proxyUrl.password) && { - proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` - }), - host: proxyUrl.hostname, - port: proxyUrl.port - } - }; - let tunnelAgent; - const overHttps = proxyUrl.protocol === 'https:'; - if (usingSsl) { - tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; - } - else { - tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; - } - agent = tunnelAgent(agentOptions); - this._proxyAgent = agent; - } - // if reusing agent across request and tunneling agent isn't assigned create a new agent - if (this._keepAlive && !agent) { - const options = { keepAlive: this._keepAlive, maxSockets: maxSockets }; - agent = usingSsl ? new https.Agent(options) : new http.Agent(options); - this._agent = agent; - } - // if not using private agent and tunnel agent isn't setup then use global agent - if (!agent) { - agent = usingSsl ? https.globalAgent : http.globalAgent; - } - if (usingSsl && this._ignoreSslError) { - // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process - // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options - // we have to cast it to any and change it directly - agent.options = Object.assign(agent.options || {}, { - rejectUnauthorized: false - }); - } - return agent; - } - _performExponentialBackoff(retryNumber) { - retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); - const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return new Promise(resolve => setTimeout(() => resolve(), ms)); - } - static dateTimeDeserializer(key, value) { - if (typeof value === 'string') { - let a = new Date(value); - if (!isNaN(a.valueOf())) { - return a; - } - } - return value; - } - async _processResponse(res, options) { - return new Promise(async (resolve, reject) => { - const statusCode = res.message.statusCode; - const response = { - statusCode: statusCode, - result: null, - headers: {} - }; - // not found leads to null obj returned - if (statusCode == HttpCodes.NotFound) { - resolve(response); - } - let obj; - let contents; - // get the result from the body - try { - contents = await res.readBody(); - if (contents && contents.length > 0) { - if (options && options.deserializeDates) { - obj = JSON.parse(contents, HttpClient.dateTimeDeserializer); - } - else { - obj = JSON.parse(contents); - } - response.result = obj; - } - response.headers = res.message.headers; - } - catch (err) { - // Invalid resource (contents not json); leaving result obj null - } - // note that 3xx redirects are handled by the http layer. - if (statusCode > 299) { - let msg; - // if exception/error in body, attempt to get better error - if (obj && obj.message) { - msg = obj.message; - } - else if (contents && contents.length > 0) { - // it may be the case that the exception is in the body message as string - msg = contents; - } - else { - msg = 'Failed request: (' + statusCode + ')'; - } - let err = new HttpClientError(msg, statusCode); - err.result = response.result; - reject(err); - } - else { - resolve(response); - } - }); - } -} -exports.HttpClient = HttpClient; diff --git a/node_modules/@actions/http-client/interfaces.d.ts b/node_modules/@actions/http-client/interfaces.d.ts deleted file mode 100644 index 78bd85b..0000000 --- a/node_modules/@actions/http-client/interfaces.d.ts +++ /dev/null @@ -1,49 +0,0 @@ -/// -import http = require('http'); -export interface IHeaders { - [key: string]: any; -} -export interface IHttpClient { - options(requestUrl: string, additionalHeaders?: IHeaders): Promise; - get(requestUrl: string, additionalHeaders?: IHeaders): Promise; - del(requestUrl: string, additionalHeaders?: IHeaders): Promise; - post(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; - patch(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; - put(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise; - sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: IHeaders): Promise; - request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: IHeaders): Promise; - requestRaw(info: IRequestInfo, data: string | NodeJS.ReadableStream): Promise; - requestRawWithCallback(info: IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: IHttpClientResponse) => void): void; -} -export interface IRequestHandler { - prepareRequest(options: http.RequestOptions): void; - canHandleAuthentication(response: IHttpClientResponse): boolean; - handleAuthentication(httpClient: IHttpClient, requestInfo: IRequestInfo, objs: any): Promise; -} -export interface IHttpClientResponse { - message: http.IncomingMessage; - readBody(): Promise; -} -export interface IRequestInfo { - options: http.RequestOptions; - parsedUrl: URL; - httpModule: any; -} -export interface IRequestOptions { - headers?: IHeaders; - socketTimeout?: number; - ignoreSslError?: boolean; - allowRedirects?: boolean; - allowRedirectDowngrade?: boolean; - maxRedirects?: number; - maxSockets?: number; - keepAlive?: boolean; - deserializeDates?: boolean; - allowRetries?: boolean; - maxRetries?: number; -} -export interface ITypedResponse { - statusCode: number; - result: T | null; - headers: Object; -} diff --git a/node_modules/@actions/http-client/lib/auth.d.ts b/node_modules/@actions/http-client/lib/auth.d.ts new file mode 100644 index 0000000..8cc9fc3 --- /dev/null +++ b/node_modules/@actions/http-client/lib/auth.d.ts @@ -0,0 +1,26 @@ +/// +import * as http from 'http'; +import * as ifm from './interfaces'; +import { HttpClientResponse } from './index'; +export declare class BasicCredentialHandler implements ifm.RequestHandler { + username: string; + password: string; + constructor(username: string, password: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} +export declare class BearerCredentialHandler implements ifm.RequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} +export declare class PersonalAccessTokenCredentialHandler implements ifm.RequestHandler { + token: string; + constructor(token: string); + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(): boolean; + handleAuthentication(): Promise; +} diff --git a/node_modules/@actions/http-client/lib/auth.js b/node_modules/@actions/http-client/lib/auth.js new file mode 100644 index 0000000..2c150a3 --- /dev/null +++ b/node_modules/@actions/http-client/lib/auth.js @@ -0,0 +1,81 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Bearer ${this.token}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; +//# sourceMappingURL=auth.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/auth.js.map b/node_modules/@actions/http-client/lib/auth.js.map new file mode 100644 index 0000000..62cc16b --- /dev/null +++ b/node_modules/@actions/http-client/lib/auth.js.map @@ -0,0 +1 @@ +{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,MAAa,sBAAsB;IAIjC,YAAY,QAAgB,EAAE,QAAgB;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CACrD,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CACpC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;IACxB,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AA1BD,wDA0BC;AAED,MAAa,uBAAuB;IAGlC,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,sDAAsD;IACtD,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,KAAK,EAAE,CAAA;IAC3D,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AAxBD,0DAwBC;AAED,MAAa,oCAAoC;IAK/C,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,sDAAsD;IACtD,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC1C;QACD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CACrD,OAAO,IAAI,CAAC,KAAK,EAAE,CACpB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;IACxB,CAAC;IAED,iCAAiC;IACjC,uBAAuB;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAEK,oBAAoB;;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;KAAA;CACF;AA5BD,oFA4BC"} \ No newline at end of file diff --git a/node_modules/@actions/http-client/index.d.ts b/node_modules/@actions/http-client/lib/index.d.ts similarity index 62% rename from node_modules/@actions/http-client/index.d.ts rename to node_modules/@actions/http-client/lib/index.d.ts index 9583dc7..38db700 100644 --- a/node_modules/@actions/http-client/index.d.ts +++ b/node_modules/@actions/http-client/lib/index.d.ts @@ -1,6 +1,9 @@ /// -import http = require('http'); -import ifm = require('./interfaces'); +/// +/// +import * as http from 'http'; +import * as ifm from './interfaces'; +import { ProxyAgent } from 'undici'; export declare enum HttpCodes { OK = 200, MultipleChoices = 300, @@ -47,16 +50,17 @@ export declare class HttpClientError extends Error { statusCode: number; result?: any; } -export declare class HttpClientResponse implements ifm.IHttpClientResponse { +export declare class HttpClientResponse { constructor(message: http.IncomingMessage); message: http.IncomingMessage; readBody(): Promise; + readBodyBuffer?(): Promise; } export declare function isHttps(requestUrl: string): boolean; export declare class HttpClient { userAgent: string | undefined; - handlers: ifm.IRequestHandler[]; - requestOptions: ifm.IRequestOptions; + handlers: ifm.RequestHandler[]; + requestOptions: ifm.RequestOptions | undefined; private _ignoreSslError; private _socketTimeout; private _allowRedirects; @@ -66,31 +70,32 @@ export declare class HttpClient { private _maxRetries; private _agent; private _proxyAgent; + private _proxyAgentDispatcher; private _keepAlive; private _disposed; - constructor(userAgent?: string, handlers?: ifm.IRequestHandler[], requestOptions?: ifm.IRequestOptions); - options(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; - get(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; - del(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; - post(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; - patch(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; - put(requestUrl: string, data: string, additionalHeaders?: ifm.IHeaders): Promise; - head(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise; - sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: ifm.IHeaders): Promise; + constructor(userAgent?: string, handlers?: ifm.RequestHandler[], requestOptions?: ifm.RequestOptions); + options(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + get(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + del(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + head(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: http.OutgoingHttpHeaders): Promise; /** * Gets a typed object from an endpoint * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise */ - getJson(requestUrl: string, additionalHeaders?: ifm.IHeaders): Promise>; - postJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; - putJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; - patchJson(requestUrl: string, obj: any, additionalHeaders?: ifm.IHeaders): Promise>; + getJson(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + postJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + putJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; + patchJson(requestUrl: string, obj: any, additionalHeaders?: http.OutgoingHttpHeaders): Promise>; /** * Makes a raw http request. * All other methods such as get, post, patch, and request ultimately call this. * Prefer get, del, post and patch */ - request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: ifm.IHeaders): Promise; + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream | null, headers?: http.OutgoingHttpHeaders): Promise; /** * Needs to be called if keepAlive is set to true in request options. */ @@ -100,25 +105,26 @@ export declare class HttpClient { * @param info * @param data */ - requestRaw(info: ifm.IRequestInfo, data: string | NodeJS.ReadableStream): Promise; + requestRaw(info: ifm.RequestInfo, data: string | NodeJS.ReadableStream | null): Promise; /** * Raw request with callback. * @param info * @param data * @param onResult */ - requestRawWithCallback(info: ifm.IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: ifm.IHttpClientResponse) => void): void; + requestRawWithCallback(info: ifm.RequestInfo, data: string | NodeJS.ReadableStream | null, onResult: (err?: Error, res?: HttpClientResponse) => void): void; /** * Gets an http agent. This function is useful when you need an http agent that handles * routing through a proxy server - depending upon the url and proxy environment variables. * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com */ getAgent(serverUrl: string): http.Agent; + getAgentDispatcher(serverUrl: string): ProxyAgent | undefined; private _prepareRequest; private _mergeHeaders; private _getExistingOrDefaultHeader; private _getAgent; + private _getProxyAgentDispatcher; private _performExponentialBackoff; - private static dateTimeDeserializer; private _processResponse; } diff --git a/node_modules/@actions/http-client/lib/index.js b/node_modules/@actions/http-client/lib/index.js new file mode 100644 index 0000000..c337ca6 --- /dev/null +++ b/node_modules/@actions/http-client/lib/index.js @@ -0,0 +1,652 @@ +"use strict"; +/* eslint-disable @typescript-eslint/no-explicit-any */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; +const http = __importStar(require("http")); +const https = __importStar(require("https")); +const pm = __importStar(require("./proxy")); +const tunnel = __importStar(require("tunnel")); +const undici_1 = require("undici"); +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes || (exports.HttpCodes = HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers || (exports.Headers = Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes || (exports.MediaTypes = MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + })); + }); + } + readBodyBuffer() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + const chunks = []; + this.message.on('data', (chunk) => { + chunks.push(chunk); + }); + this.message.on('end', () => { + resolve(Buffer.concat(chunks)); + }); + })); + }); + } +} +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === 'https:' && + parsedUrl.protocol !== parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + yield response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || + !HttpResponseRetryCodes.includes(response.message.statusCode)) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } + else if (!res) { + // If `err` is not passed, then `res` must be passed. + reject(new Error('Unknown error')); + } + else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === 'string') { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(undefined, res); + }); + let socket; + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + getAgentDispatcher(serverUrl) { + const parsedUrl = new URL(serverUrl); + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (!useProxy) { + return; + } + return this._getProxyAgentDispatcher(parsedUrl, proxyUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); + } + } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (!useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + })), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if tunneling agent isn't assigned create a new agent + if (!agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _getProxyAgentDispatcher(parsedUrl, proxyUrl) { + let proxyAgent; + if (this._keepAlive) { + proxyAgent = this._proxyAgentDispatcher; + } + // if agent is already assigned use that agent. + if (proxyAgent) { + return proxyAgent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, ((proxyUrl.username || proxyUrl.password) && { + token: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString('base64')}` + }))); + this._proxyAgentDispatcher = proxyAgent; + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { + rejectUnauthorized: false + }); + } + return proxyAgent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + // get the result from the body + function dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + })); + }); + } +} +exports.HttpClient = HttpClient; +const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/index.js.map b/node_modules/@actions/http-client/lib/index.js.map new file mode 100644 index 0000000..2a0d1a8 --- /dev/null +++ b/node_modules/@actions/http-client/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,2CAA4B;AAC5B,6CAA8B;AAG9B,4CAA6B;AAC7B,+CAAgC;AAChC,mCAAiC;AAEjC,IAAY,SA4BX;AA5BD,WAAY,SAAS;IACnB,uCAAQ,CAAA;IACR,iEAAqB,CAAA;IACrB,mEAAsB,CAAA;IACtB,6DAAmB,CAAA;IACnB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,qEAAuB,CAAA;IACvB,qEAAuB,CAAA;IACvB,uDAAgB,CAAA;IAChB,2DAAkB,CAAA;IAClB,iEAAqB,CAAA;IACrB,qDAAe,CAAA;IACf,mDAAc,CAAA;IACd,mEAAsB,CAAA;IACtB,6DAAmB,CAAA;IACnB,yFAAiC,CAAA;IACjC,+DAAoB,CAAA;IACpB,mDAAc,CAAA;IACd,2CAAU,CAAA;IACV,iEAAqB,CAAA;IACrB,yEAAyB,CAAA;IACzB,+DAAoB,CAAA;IACpB,uDAAgB,CAAA;IAChB,uEAAwB,CAAA;IACxB,+DAAoB,CAAA;AACtB,CAAC,EA5BW,SAAS,yBAAT,SAAS,QA4BpB;AAED,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,uCAA4B,CAAA;AAC9B,CAAC,EAHW,OAAO,uBAAP,OAAO,QAGlB;AAED,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,kDAAoC,CAAA;AACtC,CAAC,EAFW,UAAU,0BAAV,UAAU,QAErB;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,SAAiB;IAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IACnD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AACtC,CAAC;AAHD,kCAGC;AAED,MAAM,iBAAiB,GAAa;IAClC,SAAS,CAAC,gBAAgB;IAC1B,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,iBAAiB;IAC3B,SAAS,CAAC,iBAAiB;CAC5B,CAAA;AACD,MAAM,sBAAsB,GAAa;IACvC,SAAS,CAAC,UAAU;IACpB,SAAS,CAAC,kBAAkB;IAC5B,SAAS,CAAC,cAAc;CACzB,CAAA;AACD,MAAM,kBAAkB,GAAa,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AACzE,MAAM,yBAAyB,GAAG,EAAE,CAAA;AACpC,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAErC,MAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe,EAAE,UAAkB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;CAIF;AAVD,0CAUC;AAED,MAAa,kBAAkB;IAC7B,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAGK,QAAQ;;YACZ,OAAO,IAAI,OAAO,CAAS,CAAM,OAAO,EAAC,EAAE;gBACzC,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAE5B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBACxC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;gBACzC,CAAC,CAAC,CAAA;gBAEF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC5B,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;IAEK,cAAc;;YAClB,OAAO,IAAI,OAAO,CAAS,CAAM,OAAO,EAAC,EAAE;gBACzC,MAAM,MAAM,GAAa,EAAE,CAAA;gBAE3B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACpB,CAAC,CAAC,CAAA;gBAEF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;gBAChC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AAjCD,gDAiCC;AAED,SAAgB,OAAO,CAAC,UAAkB;IACxC,MAAM,SAAS,GAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IAC1C,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;AACxC,CAAC;AAHD,0BAGC;AAED,MAAa,UAAU;IAkBrB,YACE,SAAkB,EAClB,QAA+B,EAC/B,cAAmC;QAhB7B,oBAAe,GAAG,KAAK,CAAA;QAEvB,oBAAe,GAAG,IAAI,CAAA;QACtB,4BAAuB,GAAG,KAAK,CAAA;QAC/B,kBAAa,GAAG,EAAE,CAAA;QAClB,kBAAa,GAAG,KAAK,CAAA;QACrB,gBAAW,GAAG,CAAC,CAAA;QAIf,eAAU,GAAG,KAAK,CAAA;QAClB,cAAS,GAAG,KAAK,CAAA;QAOvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,cAAc,EAAE;YAClB,IAAI,cAAc,CAAC,cAAc,IAAI,IAAI,EAAE;gBACzC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,cAAc,CAAA;aACrD;YAED,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,aAAa,CAAA;YAElD,IAAI,cAAc,CAAC,cAAc,IAAI,IAAI,EAAE;gBACzC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,cAAc,CAAA;aACrD;YAED,IAAI,cAAc,CAAC,sBAAsB,IAAI,IAAI,EAAE;gBACjD,IAAI,CAAC,uBAAuB,GAAG,cAAc,CAAC,sBAAsB,CAAA;aACrE;YAED,IAAI,cAAc,CAAC,YAAY,IAAI,IAAI,EAAE;gBACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;aAC9D;YAED,IAAI,cAAc,CAAC,SAAS,IAAI,IAAI,EAAE;gBACpC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,SAAS,CAAA;aAC3C;YAED,IAAI,cAAc,CAAC,YAAY,IAAI,IAAI,EAAE;gBACvC,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,YAAY,CAAA;aACjD;YAED,IAAI,cAAc,CAAC,UAAU,IAAI,IAAI,EAAE;gBACrC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,UAAU,CAAA;aAC7C;SACF;IACH,CAAC;IAEK,OAAO,CACX,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAC3E,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;KAAA;IAEK,IAAI,CACR,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;KAAA;IAEK,KAAK,CACT,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACzE,CAAC;KAAA;IAEK,GAAG,CACP,UAAkB,EAClB,IAAY,EACZ,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;KAAA;IAEK,IAAI,CACR,UAAkB,EAClB,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;KAAA;IAEK,UAAU,CACd,IAAY,EACZ,UAAkB,EAClB,MAA6B,EAC7B,iBAA4C;;YAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;QAClE,CAAC;KAAA;IAED;;;OAGG;IACG,OAAO,CACX,UAAkB,EAClB,oBAA8C,EAAE;;YAEhD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,GAAG,CAC5C,UAAU,EACV,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,QAAQ,CACZ,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,IAAI,CAC7C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,OAAO,CACX,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,GAAG,CAC5C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEK,SAAS,CACb,UAAkB,EAClB,GAAQ,EACR,oBAA8C,EAAE;;YAEhD,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAClE,iBAAiB,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,2BAA2B,CACvE,iBAAiB,EACjB,OAAO,CAAC,WAAW,EACnB,UAAU,CAAC,eAAe,CAC3B,CAAA;YACD,MAAM,GAAG,GAAuB,MAAM,IAAI,CAAC,KAAK,CAC9C,UAAU,EACV,IAAI,EACJ,iBAAiB,CAClB,CAAA;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3D,CAAC;KAAA;IAED;;;;OAIG;IACG,OAAO,CACX,IAAY,EACZ,UAAkB,EAClB,IAA2C,EAC3C,OAAkC;;YAElC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;aACrD;YAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;YACrC,IAAI,IAAI,GAAoB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YAE1E,oEAAoE;YACpE,MAAM,QAAQ,GACZ,IAAI,CAAC,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACrD,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC;gBACtB,CAAC,CAAC,CAAC,CAAA;YACP,IAAI,QAAQ,GAAG,CAAC,CAAA;YAEhB,IAAI,QAAwC,CAAA;YAC5C,GAAG;gBACD,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAE5C,4CAA4C;gBAC5C,IACE,QAAQ;oBACR,QAAQ,CAAC,OAAO;oBAChB,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,YAAY,EACtD;oBACA,IAAI,qBAAqD,CAAA;oBAEzD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACnC,IAAI,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE;4BAC7C,qBAAqB,GAAG,OAAO,CAAA;4BAC/B,MAAK;yBACN;qBACF;oBAED,IAAI,qBAAqB,EAAE;wBACzB,OAAO,qBAAqB,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;qBACpE;yBAAM;wBACL,+EAA+E;wBAC/E,yCAAyC;wBACzC,OAAO,QAAQ,CAAA;qBAChB;iBACF;gBAED,IAAI,kBAAkB,GAAW,IAAI,CAAC,aAAa,CAAA;gBACnD,OACE,QAAQ,CAAC,OAAO,CAAC,UAAU;oBAC3B,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;oBACvD,IAAI,CAAC,eAAe;oBACpB,kBAAkB,GAAG,CAAC,EACtB;oBACA,MAAM,WAAW,GACf,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;oBACtC,IAAI,CAAC,WAAW,EAAE;wBAChB,kDAAkD;wBAClD,MAAK;qBACN;oBACD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAA;oBAC9C,IACE,SAAS,CAAC,QAAQ,KAAK,QAAQ;wBAC/B,SAAS,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ;wBACjD,CAAC,IAAI,CAAC,uBAAuB,EAC7B;wBACA,MAAM,IAAI,KAAK,CACb,8KAA8K,CAC/K,CAAA;qBACF;oBAED,qEAAqE;oBACrE,mCAAmC;oBACnC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;oBAEzB,mEAAmE;oBACnE,IAAI,iBAAiB,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE;wBACrD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;4BAC5B,oCAAoC;4BACpC,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE;gCAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;6BACvB;yBACF;qBACF;oBAED,kDAAkD;oBAClD,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;oBAC7D,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC5C,kBAAkB,EAAE,CAAA;iBACrB;gBAED,IACE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU;oBAC5B,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAC7D;oBACA,8DAA8D;oBAC9D,OAAO,QAAQ,CAAA;iBAChB;gBAED,QAAQ,IAAI,CAAC,CAAA;gBAEb,IAAI,QAAQ,GAAG,QAAQ,EAAE;oBACvB,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;oBACzB,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAA;iBAChD;aACF,QAAQ,QAAQ,GAAG,QAAQ,EAAC;YAE7B,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;SACtB;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED;;;;OAIG;IACG,UAAU,CACd,IAAqB,EACrB,IAA2C;;YAE3C,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzD,SAAS,iBAAiB,CAAC,GAAW,EAAE,GAAwB;oBAC9D,IAAI,GAAG,EAAE;wBACP,MAAM,CAAC,GAAG,CAAC,CAAA;qBACZ;yBAAM,IAAI,CAAC,GAAG,EAAE;wBACf,qDAAqD;wBACrD,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;qBACnC;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,CAAA;qBACb;gBACH,CAAC;gBAED,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAED;;;;;OAKG;IACH,sBAAsB,CACpB,IAAqB,EACrB,IAA2C,EAC3C,QAAyD;QAEzD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAA;aAC1B;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;SACzE;QAED,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,SAAS,YAAY,CAAC,GAAW,EAAE,GAAwB;YACzD,IAAI,CAAC,cAAc,EAAE;gBACnB,cAAc,GAAG,IAAI,CAAA;gBACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;aACnB;QACH,CAAC;QAED,MAAM,GAAG,GAAuB,IAAI,CAAC,UAAU,CAAC,OAAO,CACrD,IAAI,CAAC,OAAO,EACZ,CAAC,GAAyB,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAuB,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAA;YAC3D,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC,CACF,CAAA;QAED,IAAI,MAAkB,CAAA;QACtB,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;YACtB,MAAM,GAAG,IAAI,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,wEAAwE;QACxE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE;YACpD,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,GAAG,EAAE,CAAA;aACb;YACD,YAAY,CAAC,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,GAAG;YAC3B,8BAA8B;YAC9B,0BAA0B;YAC1B,YAAY,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;SACxB;QAED,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;gBACf,GAAG,CAAC,GAAG,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACf;aAAM;YACL,GAAG,CAAC,GAAG,EAAE,CAAA;SACV;IACH,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,SAAiB;QACxB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAClC,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAA;QAC9C,IAAI,CAAC,QAAQ,EAAE;YACb,OAAM;SACP;QAED,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC3D,CAAC;IAEO,eAAe,CACrB,MAAc,EACd,UAAe,EACf,OAAkC;QAElC,MAAM,IAAI,GAAqC,EAAE,CAAA;QAEjD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAA;QAC3B,MAAM,QAAQ,GAAY,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;QAC9D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACzC,MAAM,WAAW,GAAW,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QAE/C,IAAI,CAAC,OAAO,GAAwB,EAAE,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI;YACrC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC/B,CAAC,CAAC,WAAW,CAAA;QACf,IAAI,CAAC,OAAO,CAAC,IAAI;YACf,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,CAAA;SACpD;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEnD,+CAA+C;QAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACnC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aACrC;SACF;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,aAAa,CACnB,OAAkC;QAElC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACtD,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,EACF,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAC1C,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAC7B,CAAA;SACF;QAED,OAAO,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IACrC,CAAC;IAEO,2BAA2B,CACjC,iBAA2C,EAC3C,MAAc,EACd,QAAgB;QAEhB,IAAI,YAAgC,CAAA;QACpC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACtD,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;SAClE;QACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,YAAY,IAAI,QAAQ,CAAA;IAC9D,CAAC;IAEO,SAAS,CAAC,SAAc;QAC9B,IAAI,KAAK,CAAA;QACT,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAA;QAE9C,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE;YAC/B,KAAK,GAAG,IAAI,CAAC,WAAW,CAAA;SACzB;QAED,IAAI,CAAC,QAAQ,EAAE;YACb,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;SACpB;QAED,+CAA+C;QAC/C,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAA;SACb;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;QAChD,IAAI,UAAU,GAAG,GAAG,CAAA;QACpB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAA;SAC3E;QAED,sGAAsG;QACtG,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACjC,MAAM,YAAY,GAAG;gBACnB,UAAU;gBACV,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,KAAK,kCACA,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI;oBAC9C,SAAS,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;iBACvD,CAAC,KACF,IAAI,EAAE,QAAQ,CAAC,QAAQ,EACvB,IAAI,EAAE,QAAQ,CAAC,IAAI,GACpB;aACF,CAAA;YAED,IAAI,WAAqB,CAAA;YACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAA;YAChD,IAAI,QAAQ,EAAE;gBACZ,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAA;aACvE;iBAAM;gBACL,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;aACrE;YAED,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,CAAA;YACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;SACzB;QAED,uDAAuD;QACvD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,OAAO,GAAG,EAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAC,CAAA;YACxD,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACrE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;SACpB;QAED,IAAI,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;YACpC,wGAAwG;YACxG,kFAAkF;YAClF,mDAAmD;YACnD,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE;gBACjD,kBAAkB,EAAE,KAAK;aAC1B,CAAC,CAAA;SACH;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,wBAAwB,CAAC,SAAc,EAAE,QAAa;QAC5D,IAAI,UAAU,CAAA;QAEd,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAA;SACxC;QAED,+CAA+C;QAC/C,IAAI,UAAU,EAAE;YACd,OAAO,UAAU,CAAA;SAClB;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAA;QAChD,UAAU,GAAG,IAAI,mBAAU,iBACzB,GAAG,EAAE,QAAQ,CAAC,IAAI,EAClB,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI;YAC9C,KAAK,EAAE,SAAS,MAAM,CAAC,IAAI,CACzB,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAC5C,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;SACvB,CAAC,EACF,CAAA;QACF,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAA;QAEvC,IAAI,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;YACpC,wGAAwG;YACxG,kFAAkF;YAClF,mDAAmD;YACnD,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE;gBACtE,kBAAkB,EAAE,KAAK;aAC1B,CAAC,CAAA;SACH;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAEa,0BAA0B,CAAC,WAAmB;;YAC1D,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAA;YAC9D,MAAM,EAAE,GAAW,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;YACzE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAChE,CAAC;KAAA;IAEa,gBAAgB,CAC5B,GAAuB,EACvB,OAA4B;;YAE5B,OAAO,IAAI,OAAO,CAAuB,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACjE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAA;gBAE9C,MAAM,QAAQ,GAAyB;oBACrC,UAAU;oBACV,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,EAAE;iBACZ,CAAA;gBAED,uCAAuC;gBACvC,IAAI,UAAU,KAAK,SAAS,CAAC,QAAQ,EAAE;oBACrC,OAAO,CAAC,QAAQ,CAAC,CAAA;iBAClB;gBAED,+BAA+B;gBAE/B,SAAS,oBAAoB,CAAC,GAAQ,EAAE,KAAU;oBAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;wBAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;wBACzB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;4BACvB,OAAO,CAAC,CAAA;yBACT;qBACF;oBAED,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,IAAI,GAAQ,CAAA;gBACZ,IAAI,QAA4B,CAAA;gBAEhC,IAAI;oBACF,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;oBAC/B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnC,IAAI,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE;4BACvC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;yBACjD;6BAAM;4BACL,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;yBAC3B;wBAED,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAA;qBACtB;oBAED,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAA;iBACvC;gBAAC,OAAO,GAAG,EAAE;oBACZ,iEAAiE;iBAClE;gBAED,yDAAyD;gBACzD,IAAI,UAAU,GAAG,GAAG,EAAE;oBACpB,IAAI,GAAW,CAAA;oBAEf,0DAA0D;oBAC1D,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE;wBACtB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAA;qBAClB;yBAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1C,yEAAyE;wBACzE,GAAG,GAAG,QAAQ,CAAA;qBACf;yBAAM;wBACL,GAAG,GAAG,oBAAoB,UAAU,GAAG,CAAA;qBACxC;oBAED,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;oBAChD,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;oBAE5B,MAAM,CAAC,GAAG,CAAC,CAAA;iBACZ;qBAAM;oBACL,OAAO,CAAC,QAAQ,CAAC,CAAA;iBAClB;YACH,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AA7rBD,gCA6rBC;AAED,MAAM,aAAa,GAAG,CAAC,GAA2B,EAAO,EAAE,CACzD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/interfaces.d.ts b/node_modules/@actions/http-client/lib/interfaces.d.ts new file mode 100644 index 0000000..775ced9 --- /dev/null +++ b/node_modules/@actions/http-client/lib/interfaces.d.ts @@ -0,0 +1,46 @@ +/// +/// +/// +import * as http from 'http'; +import * as https from 'https'; +import { HttpClientResponse } from './index'; +export interface HttpClient { + options(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + get(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + del(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + post(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + patch(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + put(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: http.OutgoingHttpHeaders): Promise; + request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: http.OutgoingHttpHeaders): Promise; + requestRaw(info: RequestInfo, data: string | NodeJS.ReadableStream): Promise; + requestRawWithCallback(info: RequestInfo, data: string | NodeJS.ReadableStream, onResult: (err?: Error, res?: HttpClientResponse) => void): void; +} +export interface RequestHandler { + prepareRequest(options: http.RequestOptions): void; + canHandleAuthentication(response: HttpClientResponse): boolean; + handleAuthentication(httpClient: HttpClient, requestInfo: RequestInfo, data: string | NodeJS.ReadableStream | null): Promise; +} +export interface RequestInfo { + options: http.RequestOptions; + parsedUrl: URL; + httpModule: typeof http | typeof https; +} +export interface RequestOptions { + headers?: http.OutgoingHttpHeaders; + socketTimeout?: number; + ignoreSslError?: boolean; + allowRedirects?: boolean; + allowRedirectDowngrade?: boolean; + maxRedirects?: number; + maxSockets?: number; + keepAlive?: boolean; + deserializeDates?: boolean; + allowRetries?: boolean; + maxRetries?: number; +} +export interface TypedResponse { + statusCode: number; + result: T | null; + headers: http.IncomingHttpHeaders; +} diff --git a/node_modules/@actions/http-client/lib/interfaces.js b/node_modules/@actions/http-client/lib/interfaces.js new file mode 100644 index 0000000..db91911 --- /dev/null +++ b/node_modules/@actions/http-client/lib/interfaces.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=interfaces.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/interfaces.js.map b/node_modules/@actions/http-client/lib/interfaces.js.map new file mode 100644 index 0000000..8fb5f7d --- /dev/null +++ b/node_modules/@actions/http-client/lib/interfaces.js.map @@ -0,0 +1 @@ +{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@actions/http-client/proxy.d.ts b/node_modules/@actions/http-client/lib/proxy.d.ts similarity index 100% rename from node_modules/@actions/http-client/proxy.d.ts rename to node_modules/@actions/http-client/lib/proxy.d.ts diff --git a/node_modules/@actions/http-client/lib/proxy.js b/node_modules/@actions/http-client/lib/proxy.js new file mode 100644 index 0000000..fac1cfc --- /dev/null +++ b/node_modules/@actions/http-client/lib/proxy.js @@ -0,0 +1,95 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.checkBypass = exports.getProxyUrl = void 0; +function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === 'https:'; + if (checkBypass(reqUrl)) { + return undefined; + } + const proxyVar = (() => { + if (usingSsl) { + return process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + return process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + })(); + if (proxyVar) { + try { + return new DecodedURL(proxyVar); + } + catch (_a) { + if (!proxyVar.startsWith('http://') && !proxyVar.startsWith('https://')) + return new DecodedURL(`http://${proxyVar}`); + } + } + else { + return undefined; + } +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + const reqHost = reqUrl.hostname; + if (isLoopbackAddress(reqHost)) { + return true; + } + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (const upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperNoProxyItem === '*' || + upperReqHosts.some(x => x === upperNoProxyItem || + x.endsWith(`.${upperNoProxyItem}`) || + (upperNoProxyItem.startsWith('.') && + x.endsWith(`${upperNoProxyItem}`)))) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; +function isLoopbackAddress(host) { + const hostLower = host.toLowerCase(); + return (hostLower === 'localhost' || + hostLower.startsWith('127.') || + hostLower.startsWith('[::1]') || + hostLower.startsWith('[0:0:0:0:0:0:0:1]')); +} +class DecodedURL extends URL { + constructor(url, base) { + super(url, base); + this._decodedUsername = decodeURIComponent(super.username); + this._decodedPassword = decodeURIComponent(super.password); + } + get username() { + return this._decodedUsername; + } + get password() { + return this._decodedPassword; + } +} +//# sourceMappingURL=proxy.js.map \ No newline at end of file diff --git a/node_modules/@actions/http-client/lib/proxy.js.map b/node_modules/@actions/http-client/lib/proxy.js.map new file mode 100644 index 0000000..0d7f8cc --- /dev/null +++ b/node_modules/@actions/http-client/lib/proxy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,MAAW;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAA;IAE7C,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;QACvB,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,QAAQ,EAAE;YACZ,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;SAChE;aAAM;YACL,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;SAC9D;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,QAAQ,EAAE;QACZ,IAAI;YACF,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAA;SAChC;QAAC,WAAM;YACN,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;gBACrE,OAAO,IAAI,UAAU,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAA;SAC9C;KACF;SAAM;QACL,OAAO,SAAS,CAAA;KACjB;AACH,CAAC;AAzBD,kCAyBC;AAED,SAAgB,WAAW,CAAC,MAAW;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QACpB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAA;IAC/B,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IACxE,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAA;KACb;IAED,6BAA6B;IAC7B,IAAI,OAA2B,CAAA;IAC/B,IAAI,MAAM,CAAC,IAAI,EAAE;QACf,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;KAC9B;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE;QACtC,OAAO,GAAG,EAAE,CAAA;KACb;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACvC,OAAO,GAAG,GAAG,CAAA;KACd;IAED,qDAAqD;IACrD,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAA;KACrD;IAED,uCAAuC;IACvC,KAAK,MAAM,gBAAgB,IAAI,OAAO;SACnC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACjB,IACE,gBAAgB,KAAK,GAAG;YACxB,aAAa,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,CACF,CAAC,KAAK,gBAAgB;gBACtB,CAAC,CAAC,QAAQ,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBAClC,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC/B,CAAC,CAAC,QAAQ,CAAC,GAAG,gBAAgB,EAAE,CAAC,CAAC,CACvC,EACD;YACA,OAAO,IAAI,CAAA;SACZ;KACF;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAnDD,kCAmDC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IACpC,OAAO,CACL,SAAS,KAAK,WAAW;QACzB,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;QAC5B,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;QAC7B,SAAS,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAC1C,CAAA;AACH,CAAC;AAED,MAAM,UAAW,SAAQ,GAAG;IAI1B,YAAY,GAAiB,EAAE,IAAmB;QAChD,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAChB,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC1D,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;CACF"} \ No newline at end of file diff --git a/node_modules/@actions/http-client/package.json b/node_modules/@actions/http-client/package.json index 0c99fd4..3960a83 100644 --- a/node_modules/@actions/http-client/package.json +++ b/node_modules/@actions/http-client/package.json @@ -1,39 +1,51 @@ { "name": "@actions/http-client", - "version": "1.0.11", + "version": "2.2.3", "description": "Actions Http Client", - "main": "index.js", - "scripts": { - "build": "rm -Rf ./_out && tsc && cp package*.json ./_out && cp *.md ./_out && cp LICENSE ./_out && cp actions.png ./_out", - "test": "jest", - "format": "prettier --write *.ts && prettier --write **/*.ts", - "format-check": "prettier --check *.ts && prettier --check **/*.ts", - "audit-check": "npm audit --audit-level=moderate" + "keywords": [ + "github", + "actions", + "http" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/http-client", + "license": "MIT", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib", + "!.DS_Store" + ], + "publishConfig": { + "access": "public" }, "repository": { "type": "git", - "url": "git+https://github.com/actions/http-client.git" + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/http-client" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "echo \"Error: run tests from root\" && exit 1", + "build": "tsc", + "format": "prettier --write **/*.ts", + "format-check": "prettier --check **/*.ts", + "tsc": "tsc" }, - "keywords": [ - "Actions", - "Http" - ], - "author": "GitHub, Inc.", - "license": "MIT", "bugs": { - "url": "https://github.com/actions/http-client/issues" + "url": "https://github.com/actions/toolkit/issues" }, - "homepage": "https://github.com/actions/http-client#readme", "devDependencies": { - "@types/jest": "^25.1.4", - "@types/node": "^12.12.31", - "jest": "^25.1.0", - "prettier": "^2.0.4", - "proxy": "^1.0.1", - "ts-jest": "^25.2.1", - "typescript": "^3.8.3" + "@types/node": "20.7.1", + "@types/tunnel": "0.0.3", + "proxy": "^2.1.1", + "@types/proxy": "^1.0.1" }, "dependencies": { - "tunnel": "0.0.6" + "tunnel": "^0.0.6", + "undici": "^5.25.4" } -} +} \ No newline at end of file diff --git a/node_modules/@actions/http-client/proxy.js b/node_modules/@actions/http-client/proxy.js deleted file mode 100644 index 88f00ec..0000000 --- a/node_modules/@actions/http-client/proxy.js +++ /dev/null @@ -1,57 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -function getProxyUrl(reqUrl) { - let usingSsl = reqUrl.protocol === 'https:'; - let proxyUrl; - if (checkBypass(reqUrl)) { - return proxyUrl; - } - let proxyVar; - if (usingSsl) { - proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY']; - } - else { - proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY']; - } - if (proxyVar) { - proxyUrl = new URL(proxyVar); - } - return proxyUrl; -} -exports.getProxyUrl = getProxyUrl; -function checkBypass(reqUrl) { - if (!reqUrl.hostname) { - return false; - } - let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; - if (!noProxy) { - return false; - } - // Determine the request port - let reqPort; - if (reqUrl.port) { - reqPort = Number(reqUrl.port); - } - else if (reqUrl.protocol === 'http:') { - reqPort = 80; - } - else if (reqUrl.protocol === 'https:') { - reqPort = 443; - } - // Format the request hostname and hostname with port - let upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === 'number') { - upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); - } - // Compare request host against noproxy - for (let upperNoProxyItem of noProxy - .split(',') - .map(x => x.trim().toUpperCase()) - .filter(x => x)) { - if (upperReqHosts.some(x => x === upperNoProxyItem)) { - return true; - } - } - return false; -} -exports.checkBypass = checkBypass; diff --git a/node_modules/@actions/io/LICENSE.md b/node_modules/@actions/io/LICENSE.md new file mode 100644 index 0000000..dbae2ed --- /dev/null +++ b/node_modules/@actions/io/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright 2019 GitHub + +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/io/README.md b/node_modules/@actions/io/README.md new file mode 100644 index 0000000..9aadf2f --- /dev/null +++ b/node_modules/@actions/io/README.md @@ -0,0 +1,53 @@ +# `@actions/io` + +> Core functions for cli filesystem scenarios + +## Usage + +#### mkdir -p + +Recursively make a directory. Follows rules specified in [man mkdir](https://linux.die.net/man/1/mkdir) with the `-p` option specified: + +```js +const io = require('@actions/io'); + +await io.mkdirP('path/to/make'); +``` + +#### cp/mv + +Copy or move files or folders. Follows rules specified in [man cp](https://linux.die.net/man/1/cp) and [man mv](https://linux.die.net/man/1/mv): + +```js +const io = require('@actions/io'); + +// Recursive must be true for directories +const options = { recursive: true, force: false } + +await io.cp('path/to/directory', 'path/to/dest', options); +await io.mv('path/to/file', 'path/to/dest'); +``` + +#### rm -rf + +Remove a file or folder recursively. Follows rules specified in [man rm](https://linux.die.net/man/1/rm) with the `-r` and `-f` rules specified. + +```js +const io = require('@actions/io'); + +await io.rmRF('path/to/directory'); +await io.rmRF('path/to/file'); +``` + +#### which + +Get the path to a tool and resolves via paths. Follows the rules specified in [man which](https://linux.die.net/man/1/which). + +```js +const exec = require('@actions/exec'); +const io = require('@actions/io'); + +const pythonPath: string = await io.which('python', true) + +await exec.exec(`"${pythonPath}"`, ['main.py']); +``` diff --git a/node_modules/@actions/io/lib/io-util.d.ts b/node_modules/@actions/io/lib/io-util.d.ts new file mode 100644 index 0000000..0241e72 --- /dev/null +++ b/node_modules/@actions/io/lib/io-util.d.ts @@ -0,0 +1,21 @@ +/// +import * as fs from 'fs'; +export declare const chmod: typeof fs.promises.chmod, copyFile: typeof fs.promises.copyFile, lstat: typeof fs.promises.lstat, mkdir: typeof fs.promises.mkdir, open: typeof fs.promises.open, readdir: typeof fs.promises.readdir, readlink: typeof fs.promises.readlink, rename: typeof fs.promises.rename, rm: typeof fs.promises.rm, rmdir: typeof fs.promises.rmdir, stat: typeof fs.promises.stat, symlink: typeof fs.promises.symlink, unlink: typeof fs.promises.unlink; +export declare const IS_WINDOWS: boolean; +export declare const UV_FS_O_EXLOCK = 268435456; +export declare const READONLY: number; +export declare function exists(fsPath: string): Promise; +export declare function isDirectory(fsPath: string, useStat?: boolean): Promise; +/** + * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like: + * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases). + */ +export declare function isRooted(p: string): boolean; +/** + * Best effort attempt to determine whether a file exists and is executable. + * @param filePath file path to check + * @param extensions additional file extensions to try + * @return if file exists and is executable, returns the file path. otherwise empty string. + */ +export declare function tryGetExecutablePath(filePath: string, extensions: string[]): Promise; +export declare function getCmdPath(): string; diff --git a/node_modules/@actions/io/lib/io-util.js b/node_modules/@actions/io/lib/io-util.js new file mode 100644 index 0000000..f12e5b0 --- /dev/null +++ b/node_modules/@actions/io/lib/io-util.js @@ -0,0 +1,183 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.READONLY = exports.UV_FS_O_EXLOCK = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rm = exports.rename = exports.readlink = exports.readdir = exports.open = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0; +const fs = __importStar(require("fs")); +const path = __importStar(require("path")); +_a = fs.promises +// export const {open} = 'fs' +, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.open = _a.open, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rm = _a.rm, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink; +// export const {open} = 'fs' +exports.IS_WINDOWS = process.platform === 'win32'; +// See https://github.com/nodejs/node/blob/d0153aee367422d0858105abec186da4dff0a0c5/deps/uv/include/uv/win.h#L691 +exports.UV_FS_O_EXLOCK = 0x10000000; +exports.READONLY = fs.constants.O_RDONLY; +function exists(fsPath) { + return __awaiter(this, void 0, void 0, function* () { + try { + yield exports.stat(fsPath); + } + catch (err) { + if (err.code === 'ENOENT') { + return false; + } + throw err; + } + return true; + }); +} +exports.exists = exists; +function isDirectory(fsPath, useStat = false) { + return __awaiter(this, void 0, void 0, function* () { + const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath); + return stats.isDirectory(); + }); +} +exports.isDirectory = isDirectory; +/** + * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like: + * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases). + */ +function isRooted(p) { + p = normalizeSeparators(p); + if (!p) { + throw new Error('isRooted() parameter "p" cannot be empty'); + } + if (exports.IS_WINDOWS) { + return (p.startsWith('\\') || /^[A-Z]:/i.test(p) // e.g. \ or \hello or \\hello + ); // e.g. C: or C:\hello + } + return p.startsWith('/'); +} +exports.isRooted = isRooted; +/** + * Best effort attempt to determine whether a file exists and is executable. + * @param filePath file path to check + * @param extensions additional file extensions to try + * @return if file exists and is executable, returns the file path. otherwise empty string. + */ +function tryGetExecutablePath(filePath, extensions) { + return __awaiter(this, void 0, void 0, function* () { + let stats = undefined; + try { + // test file exists + stats = yield exports.stat(filePath); + } + catch (err) { + if (err.code !== 'ENOENT') { + // eslint-disable-next-line no-console + console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); + } + } + if (stats && stats.isFile()) { + if (exports.IS_WINDOWS) { + // on Windows, test for valid extension + const upperExt = path.extname(filePath).toUpperCase(); + if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) { + return filePath; + } + } + else { + if (isUnixExecutable(stats)) { + return filePath; + } + } + } + // try each extension + const originalFilePath = filePath; + for (const extension of extensions) { + filePath = originalFilePath + extension; + stats = undefined; + try { + stats = yield exports.stat(filePath); + } + catch (err) { + if (err.code !== 'ENOENT') { + // eslint-disable-next-line no-console + console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); + } + } + if (stats && stats.isFile()) { + if (exports.IS_WINDOWS) { + // preserve the case of the actual file (since an extension was appended) + try { + const directory = path.dirname(filePath); + const upperName = path.basename(filePath).toUpperCase(); + for (const actualName of yield exports.readdir(directory)) { + if (upperName === actualName.toUpperCase()) { + filePath = path.join(directory, actualName); + break; + } + } + } + catch (err) { + // eslint-disable-next-line no-console + console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`); + } + return filePath; + } + else { + if (isUnixExecutable(stats)) { + return filePath; + } + } + } + } + return ''; + }); +} +exports.tryGetExecutablePath = tryGetExecutablePath; +function normalizeSeparators(p) { + p = p || ''; + if (exports.IS_WINDOWS) { + // convert slashes on Windows + p = p.replace(/\//g, '\\'); + // remove redundant slashes + return p.replace(/\\\\+/g, '\\'); + } + // remove redundant slashes + return p.replace(/\/\/+/g, '/'); +} +// on Mac/Linux, test the execute bit +// R W X R W X R W X +// 256 128 64 32 16 8 4 2 1 +function isUnixExecutable(stats) { + return ((stats.mode & 1) > 0 || + ((stats.mode & 8) > 0 && stats.gid === process.getgid()) || + ((stats.mode & 64) > 0 && stats.uid === process.getuid())); +} +// Get the path of cmd.exe in windows +function getCmdPath() { + var _a; + return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : `cmd.exe`; +} +exports.getCmdPath = getCmdPath; +//# sourceMappingURL=io-util.js.map \ No newline at end of file diff --git a/node_modules/@actions/io/lib/io-util.js.map b/node_modules/@actions/io/lib/io-util.js.map new file mode 100644 index 0000000..9a587b3 --- /dev/null +++ b/node_modules/@actions/io/lib/io-util.js.map @@ -0,0 +1 @@ +{"version":3,"file":"io-util.js","sourceRoot":"","sources":["../src/io-util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2CAA4B;AAEf,KAcT,EAAE,CAAC,QAAQ;AACf,6BAA6B;EAd3B,aAAK,aACL,gBAAQ,gBACR,aAAK,aACL,aAAK,aACL,YAAI,YACJ,eAAO,eACP,gBAAQ,gBACR,cAAM,cACN,UAAE,UACF,aAAK,aACL,YAAI,YACJ,eAAO,eACP,cAAM,aACO;AACf,6BAA6B;AAChB,QAAA,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AACtD,iHAAiH;AACpG,QAAA,cAAc,GAAG,UAAU,CAAA;AAC3B,QAAA,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAA;AAE7C,SAAsB,MAAM,CAAC,MAAc;;QACzC,IAAI;YACF,MAAM,YAAI,CAAC,MAAM,CAAC,CAAA;SACnB;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACzB,OAAO,KAAK,CAAA;aACb;YAED,MAAM,GAAG,CAAA;SACV;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CAAA;AAZD,wBAYC;AAED,SAAsB,WAAW,CAC/B,MAAc,EACd,OAAO,GAAG,KAAK;;QAEf,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAK,CAAC,MAAM,CAAC,CAAA;QAChE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;IAC5B,CAAC;CAAA;AAND,kCAMC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,CAAS;IAChC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,CAAC,CAAC,EAAE;QACN,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;IAED,IAAI,kBAAU,EAAE;QACd,OAAO,CACL,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8BAA8B;SACxE,CAAA,CAAC,sBAAsB;KACzB;IAED,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC;AAbD,4BAaC;AAED;;;;;GAKG;AACH,SAAsB,oBAAoB,CACxC,QAAgB,EAChB,UAAoB;;QAEpB,IAAI,KAAK,GAAyB,SAAS,CAAA;QAC3C,IAAI;YACF,mBAAmB;YACnB,KAAK,GAAG,MAAM,YAAI,CAAC,QAAQ,CAAC,CAAA;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACzB,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CACT,uEAAuE,QAAQ,MAAM,GAAG,EAAE,CAC3F,CAAA;aACF;SACF;QACD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;YAC3B,IAAI,kBAAU,EAAE;gBACd,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;gBACrD,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,EAAE;oBACpE,OAAO,QAAQ,CAAA;iBAChB;aACF;iBAAM;gBACL,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;oBAC3B,OAAO,QAAQ,CAAA;iBAChB;aACF;SACF;QAED,qBAAqB;QACrB,MAAM,gBAAgB,GAAG,QAAQ,CAAA;QACjC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,QAAQ,GAAG,gBAAgB,GAAG,SAAS,CAAA;YAEvC,KAAK,GAAG,SAAS,CAAA;YACjB,IAAI;gBACF,KAAK,GAAG,MAAM,YAAI,CAAC,QAAQ,CAAC,CAAA;aAC7B;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;oBACzB,sCAAsC;oBACtC,OAAO,CAAC,GAAG,CACT,uEAAuE,QAAQ,MAAM,GAAG,EAAE,CAC3F,CAAA;iBACF;aACF;YAED,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;gBAC3B,IAAI,kBAAU,EAAE;oBACd,yEAAyE;oBACzE,IAAI;wBACF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;wBACxC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;wBACvD,KAAK,MAAM,UAAU,IAAI,MAAM,eAAO,CAAC,SAAS,CAAC,EAAE;4BACjD,IAAI,SAAS,KAAK,UAAU,CAAC,WAAW,EAAE,EAAE;gCAC1C,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;gCAC3C,MAAK;6BACN;yBACF;qBACF;oBAAC,OAAO,GAAG,EAAE;wBACZ,sCAAsC;wBACtC,OAAO,CAAC,GAAG,CACT,yEAAyE,QAAQ,MAAM,GAAG,EAAE,CAC7F,CAAA;qBACF;oBAED,OAAO,QAAQ,CAAA;iBAChB;qBAAM;oBACL,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;wBAC3B,OAAO,QAAQ,CAAA;qBAChB;iBACF;aACF;SACF;QAED,OAAO,EAAE,CAAA;IACX,CAAC;CAAA;AA5ED,oDA4EC;AAED,SAAS,mBAAmB,CAAC,CAAS;IACpC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IACX,IAAI,kBAAU,EAAE;QACd,6BAA6B;QAC7B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAE1B,2BAA2B;QAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;KACjC;IAED,2BAA2B;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AACjC,CAAC;AAED,qCAAqC;AACrC,6BAA6B;AAC7B,6BAA6B;AAC7B,SAAS,gBAAgB,CAAC,KAAe;IACvC,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;QACpB,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACxD,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAC1D,CAAA;AACH,CAAC;AAED,qCAAqC;AACrC,SAAgB,UAAU;;IACxB,aAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,SAAS,CAAA;AAC5C,CAAC;AAFD,gCAEC"} \ No newline at end of file diff --git a/node_modules/@actions/io/lib/io.d.ts b/node_modules/@actions/io/lib/io.d.ts new file mode 100644 index 0000000..a674522 --- /dev/null +++ b/node_modules/@actions/io/lib/io.d.ts @@ -0,0 +1,64 @@ +/** + * Interface for cp/mv options + */ +export interface CopyOptions { + /** Optional. Whether to recursively copy all subdirectories. Defaults to false */ + recursive?: boolean; + /** Optional. Whether to overwrite existing files in the destination. Defaults to true */ + force?: boolean; + /** Optional. Whether to copy the source directory along with all the files. Only takes effect when recursive=true and copying a directory. Default is true*/ + copySourceDirectory?: boolean; +} +/** + * Interface for cp/mv options + */ +export interface MoveOptions { + /** Optional. Whether to overwrite existing files in the destination. Defaults to true */ + force?: boolean; +} +/** + * Copies a file or folder. + * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js + * + * @param source source path + * @param dest destination path + * @param options optional. See CopyOptions. + */ +export declare function cp(source: string, dest: string, options?: CopyOptions): Promise; +/** + * Moves a path. + * + * @param source source path + * @param dest destination path + * @param options optional. See MoveOptions. + */ +export declare function mv(source: string, dest: string, options?: MoveOptions): Promise; +/** + * Remove a path recursively with force + * + * @param inputPath path to remove + */ +export declare function rmRF(inputPath: string): Promise; +/** + * Make a directory. Creates the full path with folders in between + * Will throw if it fails + * + * @param fsPath path to create + * @returns Promise + */ +export declare function mkdirP(fsPath: string): Promise; +/** + * Returns path of a tool had the tool actually been invoked. Resolves via paths. + * If you check and the tool does not exist, it will throw. + * + * @param tool name of the tool + * @param check whether to check if tool exists + * @returns Promise path to tool + */ +export declare function which(tool: string, check?: boolean): Promise; +/** + * Returns a list of all occurrences of the given tool on the system path. + * + * @returns Promise the paths of the tool + */ +export declare function findInPath(tool: string): Promise; diff --git a/node_modules/@actions/io/lib/io.js b/node_modules/@actions/io/lib/io.js new file mode 100644 index 0000000..15f7d7c --- /dev/null +++ b/node_modules/@actions/io/lib/io.js @@ -0,0 +1,299 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0; +const assert_1 = require("assert"); +const path = __importStar(require("path")); +const ioUtil = __importStar(require("./io-util")); +/** + * Copies a file or folder. + * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js + * + * @param source source path + * @param dest destination path + * @param options optional. See CopyOptions. + */ +function cp(source, dest, options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const { force, recursive, copySourceDirectory } = readCopyOptions(options); + const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null; + // Dest is an existing file, but not forcing + if (destStat && destStat.isFile() && !force) { + return; + } + // If dest is an existing directory, should copy inside. + const newDest = destStat && destStat.isDirectory() && copySourceDirectory + ? path.join(dest, path.basename(source)) + : dest; + if (!(yield ioUtil.exists(source))) { + throw new Error(`no such file or directory: ${source}`); + } + const sourceStat = yield ioUtil.stat(source); + if (sourceStat.isDirectory()) { + if (!recursive) { + throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`); + } + else { + yield cpDirRecursive(source, newDest, 0, force); + } + } + else { + if (path.relative(source, newDest) === '') { + // a file cannot be copied to itself + throw new Error(`'${newDest}' and '${source}' are the same file`); + } + yield copyFile(source, newDest, force); + } + }); +} +exports.cp = cp; +/** + * Moves a path. + * + * @param source source path + * @param dest destination path + * @param options optional. See MoveOptions. + */ +function mv(source, dest, options = {}) { + return __awaiter(this, void 0, void 0, function* () { + if (yield ioUtil.exists(dest)) { + let destExists = true; + if (yield ioUtil.isDirectory(dest)) { + // If dest is directory copy src into dest + dest = path.join(dest, path.basename(source)); + destExists = yield ioUtil.exists(dest); + } + if (destExists) { + if (options.force == null || options.force) { + yield rmRF(dest); + } + else { + throw new Error('Destination already exists'); + } + } + } + yield mkdirP(path.dirname(dest)); + yield ioUtil.rename(source, dest); + }); +} +exports.mv = mv; +/** + * Remove a path recursively with force + * + * @param inputPath path to remove + */ +function rmRF(inputPath) { + return __awaiter(this, void 0, void 0, function* () { + if (ioUtil.IS_WINDOWS) { + // Check for invalid characters + // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file + if (/[*"<>|]/.test(inputPath)) { + throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows'); + } + } + try { + // note if path does not exist, error is silent + yield ioUtil.rm(inputPath, { + force: true, + maxRetries: 3, + recursive: true, + retryDelay: 300 + }); + } + catch (err) { + throw new Error(`File was unable to be removed ${err}`); + } + }); +} +exports.rmRF = rmRF; +/** + * Make a directory. Creates the full path with folders in between + * Will throw if it fails + * + * @param fsPath path to create + * @returns Promise + */ +function mkdirP(fsPath) { + return __awaiter(this, void 0, void 0, function* () { + assert_1.ok(fsPath, 'a path argument must be provided'); + yield ioUtil.mkdir(fsPath, { recursive: true }); + }); +} +exports.mkdirP = mkdirP; +/** + * Returns path of a tool had the tool actually been invoked. Resolves via paths. + * If you check and the tool does not exist, it will throw. + * + * @param tool name of the tool + * @param check whether to check if tool exists + * @returns Promise path to tool + */ +function which(tool, check) { + return __awaiter(this, void 0, void 0, function* () { + if (!tool) { + throw new Error("parameter 'tool' is required"); + } + // recursive when check=true + if (check) { + const result = yield which(tool, false); + if (!result) { + if (ioUtil.IS_WINDOWS) { + throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`); + } + else { + throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`); + } + } + return result; + } + const matches = yield findInPath(tool); + if (matches && matches.length > 0) { + return matches[0]; + } + return ''; + }); +} +exports.which = which; +/** + * Returns a list of all occurrences of the given tool on the system path. + * + * @returns Promise the paths of the tool + */ +function findInPath(tool) { + return __awaiter(this, void 0, void 0, function* () { + if (!tool) { + throw new Error("parameter 'tool' is required"); + } + // build the list of extensions to try + const extensions = []; + if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) { + for (const extension of process.env['PATHEXT'].split(path.delimiter)) { + if (extension) { + extensions.push(extension); + } + } + } + // if it's rooted, return it if exists. otherwise return empty. + if (ioUtil.isRooted(tool)) { + const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions); + if (filePath) { + return [filePath]; + } + return []; + } + // if any path separators, return empty + if (tool.includes(path.sep)) { + return []; + } + // build the list of directories + // + // Note, technically "where" checks the current directory on Windows. From a toolkit perspective, + // it feels like we should not do this. Checking the current directory seems like more of a use + // case of a shell, and the which() function exposed by the toolkit should strive for consistency + // across platforms. + const directories = []; + if (process.env.PATH) { + for (const p of process.env.PATH.split(path.delimiter)) { + if (p) { + directories.push(p); + } + } + } + // find all matches + const matches = []; + for (const directory of directories) { + const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions); + if (filePath) { + matches.push(filePath); + } + } + return matches; + }); +} +exports.findInPath = findInPath; +function readCopyOptions(options) { + const force = options.force == null ? true : options.force; + const recursive = Boolean(options.recursive); + const copySourceDirectory = options.copySourceDirectory == null + ? true + : Boolean(options.copySourceDirectory); + return { force, recursive, copySourceDirectory }; +} +function cpDirRecursive(sourceDir, destDir, currentDepth, force) { + return __awaiter(this, void 0, void 0, function* () { + // Ensure there is not a run away recursive copy + if (currentDepth >= 255) + return; + currentDepth++; + yield mkdirP(destDir); + const files = yield ioUtil.readdir(sourceDir); + for (const fileName of files) { + const srcFile = `${sourceDir}/${fileName}`; + const destFile = `${destDir}/${fileName}`; + const srcFileStat = yield ioUtil.lstat(srcFile); + if (srcFileStat.isDirectory()) { + // Recurse + yield cpDirRecursive(srcFile, destFile, currentDepth, force); + } + else { + yield copyFile(srcFile, destFile, force); + } + } + // Change the mode for the newly created directory + yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode); + }); +} +// Buffered file copy +function copyFile(srcFile, destFile, force) { + return __awaiter(this, void 0, void 0, function* () { + if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) { + // unlink/re-link it + try { + yield ioUtil.lstat(destFile); + yield ioUtil.unlink(destFile); + } + catch (e) { + // Try to override file permission + if (e.code === 'EPERM') { + yield ioUtil.chmod(destFile, '0666'); + yield ioUtil.unlink(destFile); + } + // other errors = it doesn't exist, no work to do + } + // Copy over symlink + const symlinkFull = yield ioUtil.readlink(srcFile); + yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null); + } + else if (!(yield ioUtil.exists(destFile)) || force) { + yield ioUtil.copyFile(srcFile, destFile); + } + }); +} +//# sourceMappingURL=io.js.map \ No newline at end of file diff --git a/node_modules/@actions/io/lib/io.js.map b/node_modules/@actions/io/lib/io.js.map new file mode 100644 index 0000000..4021d28 --- /dev/null +++ b/node_modules/@actions/io/lib/io.js.map @@ -0,0 +1 @@ +{"version":3,"file":"io.js","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAyB;AACzB,2CAA4B;AAC5B,kDAAmC;AAsBnC;;;;;;;GAOG;AACH,SAAsB,EAAE,CACtB,MAAc,EACd,IAAY,EACZ,UAAuB,EAAE;;QAEzB,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QAExE,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7E,4CAA4C;QAC5C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;YAC3C,OAAM;SACP;QAED,wDAAwD;QACxD,MAAM,OAAO,GACX,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,mBAAmB;YACvD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC,CAAC,IAAI,CAAA;QAEV,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAA;SACxD;QACD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE5C,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE;YAC5B,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,IAAI,KAAK,CACb,mBAAmB,MAAM,4DAA4D,CACtF,CAAA;aACF;iBAAM;gBACL,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;aAChD;SACF;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE;gBACzC,oCAAoC;gBACpC,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,UAAU,MAAM,qBAAqB,CAAC,CAAA;aAClE;YAED,MAAM,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;SACvC;IACH,CAAC;CAAA;AAxCD,gBAwCC;AAED;;;;;;GAMG;AACH,SAAsB,EAAE,CACtB,MAAc,EACd,IAAY,EACZ,UAAuB,EAAE;;QAEzB,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,UAAU,GAAG,IAAI,CAAA;YACrB,IAAI,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBAClC,0CAA0C;gBAC1C,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC7C,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;aACvC;YAED,IAAI,UAAU,EAAE;gBACd,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE;oBAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;iBACjB;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;iBAC9C;aACF;SACF;QACD,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;CAAA;AAvBD,gBAuBC;AAED;;;;GAIG;AACH,SAAsB,IAAI,CAAC,SAAiB;;QAC1C,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,+BAA+B;YAC/B,sEAAsE;YACtE,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAA;aACF;SACF;QACD,IAAI;YACF,+CAA+C;YAC/C,MAAM,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE;gBACzB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,GAAG;aAChB,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;SACxD;IACH,CAAC;CAAA;AArBD,oBAqBC;AAED;;;;;;GAMG;AACH,SAAsB,MAAM,CAAC,MAAc;;QACzC,WAAE,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAA;QAC9C,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;IAC/C,CAAC;CAAA;AAHD,wBAGC;AAED;;;;;;;GAOG;AACH,SAAsB,KAAK,CAAC,IAAY,EAAE,KAAe;;QACvD,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;SAChD;QAED,4BAA4B;QAC5B,IAAI,KAAK,EAAE;YACT,MAAM,MAAM,GAAW,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAE/C,IAAI,CAAC,MAAM,EAAE;gBACX,IAAI,MAAM,CAAC,UAAU,EAAE;oBACrB,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,wMAAwM,CAClP,CAAA;iBACF;qBAAM;oBACL,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,gMAAgM,CAC1O,CAAA;iBACF;aACF;YAED,OAAO,MAAM,CAAA;SACd;QAED,MAAM,OAAO,GAAa,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;SAClB;QAED,OAAO,EAAE,CAAA;IACX,CAAC;CAAA;AA/BD,sBA+BC;AAED;;;;GAIG;AACH,SAAsB,UAAU,CAAC,IAAY;;QAC3C,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;SAChD;QAED,sCAAsC;QACtC,MAAM,UAAU,GAAa,EAAE,CAAA;QAC/B,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC/C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACpE,IAAI,SAAS,EAAE;oBACb,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBAC3B;aACF;SACF;QAED,+DAA+D;QAC/D,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,QAAQ,GAAW,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YAE5E,IAAI,QAAQ,EAAE;gBACZ,OAAO,CAAC,QAAQ,CAAC,CAAA;aAClB;YAED,OAAO,EAAE,CAAA;SACV;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC3B,OAAO,EAAE,CAAA;SACV;QAED,gCAAgC;QAChC,EAAE;QACF,iGAAiG;QACjG,+FAA+F;QAC/F,iGAAiG;QACjG,oBAAoB;QACpB,MAAM,WAAW,GAAa,EAAE,CAAA;QAEhC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YACpB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACtD,IAAI,CAAC,EAAE;oBACL,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;iBACpB;aACF;SACF;QAED,mBAAmB;QACnB,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;YACnC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAC1B,UAAU,CACX,CAAA;YACD,IAAI,QAAQ,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aACvB;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CAAA;AA7DD,gCA6DC;AAED,SAAS,eAAe,CAAC,OAAoB;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAA;IAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,mBAAmB,GACvB,OAAO,CAAC,mBAAmB,IAAI,IAAI;QACjC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC1C,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAC,CAAA;AAChD,CAAC;AAED,SAAe,cAAc,CAC3B,SAAiB,EACjB,OAAe,EACf,YAAoB,EACpB,KAAc;;QAEd,gDAAgD;QAChD,IAAI,YAAY,IAAI,GAAG;YAAE,OAAM;QAC/B,YAAY,EAAE,CAAA;QAEd,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;QAErB,MAAM,KAAK,GAAa,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEvD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;YAC5B,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAA;YAC1C,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAA;YACzC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAE/C,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE;gBAC7B,UAAU;gBACV,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;aAC7D;iBAAM;gBACL,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;aACzC;SACF;QAED,kDAAkD;QAClD,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAClE,CAAC;CAAA;AAED,qBAAqB;AACrB,SAAe,QAAQ,CACrB,OAAe,EACf,QAAgB,EAChB,KAAc;;QAEd,IAAI,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE;YAClD,oBAAoB;YACpB,IAAI;gBACF,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC5B,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;aAC9B;YAAC,OAAO,CAAC,EAAE;gBACV,kCAAkC;gBAClC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;oBACtB,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;oBACpC,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;iBAC9B;gBACD,iDAAiD;aAClD;YAED,oBAAoB;YACpB,MAAM,WAAW,GAAW,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC1D,MAAM,MAAM,CAAC,OAAO,CAClB,WAAW,EACX,QAAQ,EACR,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CACtC,CAAA;SACF;aAAM,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,EAAE;YACpD,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;SACzC;IACH,CAAC;CAAA"} \ No newline at end of file diff --git a/node_modules/@actions/io/package.json b/node_modules/@actions/io/package.json new file mode 100644 index 0000000..e8c8d8f --- /dev/null +++ b/node_modules/@actions/io/package.json @@ -0,0 +1,37 @@ +{ + "name": "@actions/io", + "version": "1.1.3", + "description": "Actions io lib", + "keywords": [ + "github", + "actions", + "io" + ], + "homepage": "https://github.com/actions/toolkit/tree/main/packages/io", + "license": "MIT", + "main": "lib/io.js", + "types": "lib/io.d.ts", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/toolkit.git", + "directory": "packages/io" + }, + "scripts": { + "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", + "test": "echo \"Error: run tests from root\" && exit 1", + "tsc": "tsc" + }, + "bugs": { + "url": "https://github.com/actions/toolkit/issues" + } +} diff --git a/node_modules/@fastify/busboy/LICENSE b/node_modules/@fastify/busboy/LICENSE new file mode 100644 index 0000000..290762e --- /dev/null +++ b/node_modules/@fastify/busboy/LICENSE @@ -0,0 +1,19 @@ +Copyright Brian White. 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. \ No newline at end of file diff --git a/node_modules/@fastify/busboy/README.md b/node_modules/@fastify/busboy/README.md new file mode 100644 index 0000000..ece3cc8 --- /dev/null +++ b/node_modules/@fastify/busboy/README.md @@ -0,0 +1,271 @@ +# busboy + +
+ +[![Build Status](https://github.com/fastify/busboy/actions/workflows/ci.yml/badge.svg)](https://github.com/fastify/busboy/actions) +[![Coverage Status](https://coveralls.io/repos/fastify/busboy/badge.svg?branch=master)](https://coveralls.io/r/fastify/busboy?branch=master) +[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://standardjs.com/) +[![Security Responsible Disclosure](https://img.shields.io/badge/Security-Responsible%20Disclosure-yellow.svg)](https://github.com/fastify/.github/blob/main/SECURITY.md) + +
+ +
+ +[![NPM version](https://img.shields.io/npm/v/@fastify/busboy.svg?style=flat)](https://www.npmjs.com/package/@fastify/busboy) +[![NPM downloads](https://img.shields.io/npm/dm/@fastify/busboy.svg?style=flat)](https://www.npmjs.com/package/@fastify/busboy) + +
+ +Description +=========== + +A Node.js module for parsing incoming HTML form data. + +This is an officially supported fork by [fastify](https://github.com/fastify/) organization of the amazing library [originally created](https://github.com/mscdex/busboy) by Brian White, +aimed at addressing long-standing issues with it. + +Benchmark (Mean time for 500 Kb payload, 2000 cycles, 1000 cycle warmup): + +| Library | Version | Mean time in nanoseconds (less is better) | +|-----------------------|---------|-------------------------------------------| +| busboy | 0.3.1 | `340114` | +| @fastify/busboy | 1.0.0 | `270984` | + +[Changelog](https://github.com/fastify/busboy/blob/master/CHANGELOG.md) since busboy 0.31. + +Requirements +============ + +* [Node.js](http://nodejs.org/) 10+ + + +Install +======= + + npm i @fastify/busboy + + +Examples +======== + +* Parsing (multipart) with default options: + +```javascript +const http = require('node:http'); +const { inspect } = require('node:util'); +const Busboy = require('busboy'); + +http.createServer((req, res) => { + if (req.method === 'POST') { + const busboy = new Busboy({ headers: req.headers }); + busboy.on('file', (fieldname, file, filename, encoding, mimetype) => { + console.log(`File [${fieldname}]: filename: ${filename}, encoding: ${encoding}, mimetype: ${mimetype}`); + file.on('data', data => { + console.log(`File [${fieldname}] got ${data.length} bytes`); + }); + file.on('end', () => { + console.log(`File [${fieldname}] Finished`); + }); + }); + busboy.on('field', (fieldname, val, fieldnameTruncated, valTruncated, encoding, mimetype) => { + console.log(`Field [${fieldname}]: value: ${inspect(val)}`); + }); + busboy.on('finish', () => { + console.log('Done parsing form!'); + res.writeHead(303, { Connection: 'close', Location: '/' }); + res.end(); + }); + req.pipe(busboy); + } else if (req.method === 'GET') { + res.writeHead(200, { Connection: 'close' }); + res.end(` +
+
+
+ +
+ `); + } +}).listen(8000, () => { + console.log('Listening for requests'); +}); + +// Example output, using http://nodejs.org/images/ryan-speaker.jpg as the file: +// +// Listening for requests +// File [filefield]: filename: ryan-speaker.jpg, encoding: binary +// File [filefield] got 11971 bytes +// Field [textfield]: value: 'testing! :-)' +// File [filefield] Finished +// Done parsing form! +``` + +* Save all incoming files to disk: + +```javascript +const http = require('node:http'); +const path = require('node:path'); +const os = require('node:os'); +const fs = require('node:fs'); + +const Busboy = require('busboy'); + +http.createServer(function(req, res) { + if (req.method === 'POST') { + const busboy = new Busboy({ headers: req.headers }); + busboy.on('file', function(fieldname, file, filename, encoding, mimetype) { + var saveTo = path.join(os.tmpdir(), path.basename(fieldname)); + file.pipe(fs.createWriteStream(saveTo)); + }); + busboy.on('finish', function() { + res.writeHead(200, { 'Connection': 'close' }); + res.end("That's all folks!"); + }); + return req.pipe(busboy); + } + res.writeHead(404); + res.end(); +}).listen(8000, function() { + console.log('Listening for requests'); +}); +``` + +* Parsing (urlencoded) with default options: + +```javascript +const http = require('node:http'); +const { inspect } = require('node:util'); + +const Busboy = require('busboy'); + +http.createServer(function(req, res) { + if (req.method === 'POST') { + const busboy = new Busboy({ headers: req.headers }); + busboy.on('file', function(fieldname, file, filename, encoding, mimetype) { + console.log('File [' + fieldname + ']: filename: ' + filename); + file.on('data', function(data) { + console.log('File [' + fieldname + '] got ' + data.length + ' bytes'); + }); + file.on('end', function() { + console.log('File [' + fieldname + '] Finished'); + }); + }); + busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) { + console.log('Field [' + fieldname + ']: value: ' + inspect(val)); + }); + busboy.on('finish', function() { + console.log('Done parsing form!'); + res.writeHead(303, { Connection: 'close', Location: '/' }); + res.end(); + }); + req.pipe(busboy); + } else if (req.method === 'GET') { + res.writeHead(200, { Connection: 'close' }); + res.end('\ +
\ +
\ +
\ + Node.js rules!
\ + \ +
\ + '); + } +}).listen(8000, function() { + console.log('Listening for requests'); +}); + +// Example output: +// +// Listening for requests +// Field [textfield]: value: 'testing! :-)' +// Field [selectfield]: value: '9001' +// Field [checkfield]: value: 'on' +// Done parsing form! +``` + + +API +=== + +_Busboy_ is a _Writable_ stream + +Busboy (special) events +----------------------- + +* **file**(< _string_ >fieldname, < _ReadableStream_ >stream, < _string_ >filename, < _string_ >transferEncoding, < _string_ >mimeType) - Emitted for each new file form field found. `transferEncoding` contains the 'Content-Transfer-Encoding' value for the file stream. `mimeType` contains the 'Content-Type' value for the file stream. + * Note: if you listen for this event, you should always handle the `stream` no matter if you care about the file contents or not (e.g. you can simply just do `stream.resume();` if you want to discard the contents), otherwise the 'finish' event will never fire on the Busboy instance. However, if you don't care about **any** incoming files, you can simply not listen for the 'file' event at all and any/all files will be automatically and safely discarded (these discarded files do still count towards `files` and `parts` limits). + * If a configured file size limit was reached, `stream` will both have a boolean property `truncated` (best checked at the end of the stream) and emit a 'limit' event to notify you when this happens. + * The property `bytesRead` informs about the number of bytes that have been read so far. + +* **field**(< _string_ >fieldname, < _string_ >value, < _boolean_ >fieldnameTruncated, < _boolean_ >valueTruncated, < _string_ >transferEncoding, < _string_ >mimeType) - Emitted for each new non-file field found. + +* **partsLimit**() - Emitted when specified `parts` limit has been reached. No more 'file' or 'field' events will be emitted. + +* **filesLimit**() - Emitted when specified `files` limit has been reached. No more 'file' events will be emitted. + +* **fieldsLimit**() - Emitted when specified `fields` limit has been reached. No more 'field' events will be emitted. + + +Busboy methods +-------------- + +* **(constructor)**(< _object_ >config) - Creates and returns a new Busboy instance. + + * The constructor takes the following valid `config` settings: + + * **headers** - _object_ - These are the HTTP headers of the incoming request, which are used by individual parsers. + + * **autoDestroy** - _boolean_ - Whether this stream should automatically call .destroy() on itself after ending. (Default: false). + + * **highWaterMark** - _integer_ - highWaterMark to use for this Busboy instance (Default: WritableStream default). + + * **fileHwm** - _integer_ - highWaterMark to use for file streams (Default: ReadableStream default). + + * **defCharset** - _string_ - Default character set to use when one isn't defined (Default: 'utf8'). + + * **preservePath** - _boolean_ - If paths in the multipart 'filename' field shall be preserved. (Default: false). + + * **isPartAFile** - __function__ - Use this function to override the default file detection functionality. It has following parameters: + + * fieldName - __string__ The name of the field. + + * contentType - __string__ The content-type of the part, e.g. `text/plain`, `image/jpeg`, `application/octet-stream` + + * fileName - __string__ The name of a file supplied by the part. + + (Default: `(fieldName, contentType, fileName) => (contentType === 'application/octet-stream' || fileName !== undefined)`) + + * **limits** - _object_ - Various limits on incoming data. Valid properties are: + + * **fieldNameSize** - _integer_ - Max field name size (in bytes) (Default: 100 bytes). + + * **fieldSize** - _integer_ - Max field value size (in bytes) (Default: 1 MiB, which is 1024 x 1024 bytes). + + * **fields** - _integer_ - Max number of non-file fields (Default: Infinity). + + * **fileSize** - _integer_ - For multipart forms, the max file size (in bytes) (Default: Infinity). + + * **files** - _integer_ - For multipart forms, the max number of file fields (Default: Infinity). + + * **parts** - _integer_ - For multipart forms, the max number of parts (fields + files) (Default: Infinity). + + * **headerPairs** - _integer_ - For multipart forms, the max number of header key=>value pairs to parse **Default:** 2000 + + * **headerSize** - _integer_ - For multipart forms, the max size of a multipart header **Default:** 81920. + + * The constructor can throw errors: + + * **Busboy expected an options-Object.** - Busboy expected an Object as first parameters. + + * **Busboy expected an options-Object with headers-attribute.** - The first parameter is lacking of a headers-attribute. + + * **Limit $limit is not a valid number** - Busboy expected the desired limit to be of type number. Busboy throws this Error to prevent a potential security issue by falling silently back to the Busboy-defaults. Potential source for this Error can be the direct use of environment variables without transforming them to the type number. + + * **Unsupported Content-Type.** - The `Content-Type` isn't one Busboy can parse. + + * **Missing Content-Type-header.** - The provided headers don't include `Content-Type` at all. diff --git a/node_modules/@fastify/busboy/deps/dicer/LICENSE b/node_modules/@fastify/busboy/deps/dicer/LICENSE new file mode 100644 index 0000000..290762e --- /dev/null +++ b/node_modules/@fastify/busboy/deps/dicer/LICENSE @@ -0,0 +1,19 @@ +Copyright Brian White. 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. \ No newline at end of file diff --git a/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js b/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js new file mode 100644 index 0000000..3c8c081 --- /dev/null +++ b/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js @@ -0,0 +1,213 @@ +'use strict' + +const WritableStream = require('node:stream').Writable +const inherits = require('node:util').inherits + +const StreamSearch = require('../../streamsearch/sbmh') + +const PartStream = require('./PartStream') +const HeaderParser = require('./HeaderParser') + +const DASH = 45 +const B_ONEDASH = Buffer.from('-') +const B_CRLF = Buffer.from('\r\n') +const EMPTY_FN = function () {} + +function Dicer (cfg) { + if (!(this instanceof Dicer)) { return new Dicer(cfg) } + WritableStream.call(this, cfg) + + if (!cfg || (!cfg.headerFirst && typeof cfg.boundary !== 'string')) { throw new TypeError('Boundary required') } + + if (typeof cfg.boundary === 'string') { this.setBoundary(cfg.boundary) } else { this._bparser = undefined } + + this._headerFirst = cfg.headerFirst + + this._dashes = 0 + this._parts = 0 + this._finished = false + this._realFinish = false + this._isPreamble = true + this._justMatched = false + this._firstWrite = true + this._inHeader = true + this._part = undefined + this._cb = undefined + this._ignoreData = false + this._partOpts = { highWaterMark: cfg.partHwm } + this._pause = false + + const self = this + this._hparser = new HeaderParser(cfg) + this._hparser.on('header', function (header) { + self._inHeader = false + self._part.emit('header', header) + }) +} +inherits(Dicer, WritableStream) + +Dicer.prototype.emit = function (ev) { + if (ev === 'finish' && !this._realFinish) { + if (!this._finished) { + const self = this + process.nextTick(function () { + self.emit('error', new Error('Unexpected end of multipart data')) + if (self._part && !self._ignoreData) { + const type = (self._isPreamble ? 'Preamble' : 'Part') + self._part.emit('error', new Error(type + ' terminated early due to unexpected end of multipart data')) + self._part.push(null) + process.nextTick(function () { + self._realFinish = true + self.emit('finish') + self._realFinish = false + }) + return + } + self._realFinish = true + self.emit('finish') + self._realFinish = false + }) + } + } else { WritableStream.prototype.emit.apply(this, arguments) } +} + +Dicer.prototype._write = function (data, encoding, cb) { + // ignore unexpected data (e.g. extra trailer data after finished) + if (!this._hparser && !this._bparser) { return cb() } + + if (this._headerFirst && this._isPreamble) { + if (!this._part) { + this._part = new PartStream(this._partOpts) + if (this.listenerCount('preamble') !== 0) { this.emit('preamble', this._part) } else { this._ignore() } + } + const r = this._hparser.push(data) + if (!this._inHeader && r !== undefined && r < data.length) { data = data.slice(r) } else { return cb() } + } + + // allows for "easier" testing + if (this._firstWrite) { + this._bparser.push(B_CRLF) + this._firstWrite = false + } + + this._bparser.push(data) + + if (this._pause) { this._cb = cb } else { cb() } +} + +Dicer.prototype.reset = function () { + this._part = undefined + this._bparser = undefined + this._hparser = undefined +} + +Dicer.prototype.setBoundary = function (boundary) { + const self = this + this._bparser = new StreamSearch('\r\n--' + boundary) + this._bparser.on('info', function (isMatch, data, start, end) { + self._oninfo(isMatch, data, start, end) + }) +} + +Dicer.prototype._ignore = function () { + if (this._part && !this._ignoreData) { + this._ignoreData = true + this._part.on('error', EMPTY_FN) + // we must perform some kind of read on the stream even though we are + // ignoring the data, otherwise node's Readable stream will not emit 'end' + // after pushing null to the stream + this._part.resume() + } +} + +Dicer.prototype._oninfo = function (isMatch, data, start, end) { + let buf; const self = this; let i = 0; let r; let shouldWriteMore = true + + if (!this._part && this._justMatched && data) { + while (this._dashes < 2 && (start + i) < end) { + if (data[start + i] === DASH) { + ++i + ++this._dashes + } else { + if (this._dashes) { buf = B_ONEDASH } + this._dashes = 0 + break + } + } + if (this._dashes === 2) { + if ((start + i) < end && this.listenerCount('trailer') !== 0) { this.emit('trailer', data.slice(start + i, end)) } + this.reset() + this._finished = true + // no more parts will be added + if (self._parts === 0) { + self._realFinish = true + self.emit('finish') + self._realFinish = false + } + } + if (this._dashes) { return } + } + if (this._justMatched) { this._justMatched = false } + if (!this._part) { + this._part = new PartStream(this._partOpts) + this._part._read = function (n) { + self._unpause() + } + if (this._isPreamble && this.listenerCount('preamble') !== 0) { + this.emit('preamble', this._part) + } else if (this._isPreamble !== true && this.listenerCount('part') !== 0) { + this.emit('part', this._part) + } else { + this._ignore() + } + if (!this._isPreamble) { this._inHeader = true } + } + if (data && start < end && !this._ignoreData) { + if (this._isPreamble || !this._inHeader) { + if (buf) { shouldWriteMore = this._part.push(buf) } + shouldWriteMore = this._part.push(data.slice(start, end)) + if (!shouldWriteMore) { this._pause = true } + } else if (!this._isPreamble && this._inHeader) { + if (buf) { this._hparser.push(buf) } + r = this._hparser.push(data.slice(start, end)) + if (!this._inHeader && r !== undefined && r < end) { this._oninfo(false, data, start + r, end) } + } + } + if (isMatch) { + this._hparser.reset() + if (this._isPreamble) { this._isPreamble = false } else { + if (start !== end) { + ++this._parts + this._part.on('end', function () { + if (--self._parts === 0) { + if (self._finished) { + self._realFinish = true + self.emit('finish') + self._realFinish = false + } else { + self._unpause() + } + } + }) + } + } + this._part.push(null) + this._part = undefined + this._ignoreData = false + this._justMatched = true + this._dashes = 0 + } +} + +Dicer.prototype._unpause = function () { + if (!this._pause) { return } + + this._pause = false + if (this._cb) { + const cb = this._cb + this._cb = undefined + cb() + } +} + +module.exports = Dicer diff --git a/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js b/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js new file mode 100644 index 0000000..65f667b --- /dev/null +++ b/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js @@ -0,0 +1,100 @@ +'use strict' + +const EventEmitter = require('node:events').EventEmitter +const inherits = require('node:util').inherits +const getLimit = require('../../../lib/utils/getLimit') + +const StreamSearch = require('../../streamsearch/sbmh') + +const B_DCRLF = Buffer.from('\r\n\r\n') +const RE_CRLF = /\r\n/g +const RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/ // eslint-disable-line no-control-regex + +function HeaderParser (cfg) { + EventEmitter.call(this) + + cfg = cfg || {} + const self = this + this.nread = 0 + this.maxed = false + this.npairs = 0 + this.maxHeaderPairs = getLimit(cfg, 'maxHeaderPairs', 2000) + this.maxHeaderSize = getLimit(cfg, 'maxHeaderSize', 80 * 1024) + this.buffer = '' + this.header = {} + this.finished = false + this.ss = new StreamSearch(B_DCRLF) + this.ss.on('info', function (isMatch, data, start, end) { + if (data && !self.maxed) { + if (self.nread + end - start >= self.maxHeaderSize) { + end = self.maxHeaderSize - self.nread + start + self.nread = self.maxHeaderSize + self.maxed = true + } else { self.nread += (end - start) } + + self.buffer += data.toString('binary', start, end) + } + if (isMatch) { self._finish() } + }) +} +inherits(HeaderParser, EventEmitter) + +HeaderParser.prototype.push = function (data) { + const r = this.ss.push(data) + if (this.finished) { return r } +} + +HeaderParser.prototype.reset = function () { + this.finished = false + this.buffer = '' + this.header = {} + this.ss.reset() +} + +HeaderParser.prototype._finish = function () { + if (this.buffer) { this._parseHeader() } + this.ss.matches = this.ss.maxMatches + const header = this.header + this.header = {} + this.buffer = '' + this.finished = true + this.nread = this.npairs = 0 + this.maxed = false + this.emit('header', header) +} + +HeaderParser.prototype._parseHeader = function () { + if (this.npairs === this.maxHeaderPairs) { return } + + const lines = this.buffer.split(RE_CRLF) + const len = lines.length + let m, h + + for (var i = 0; i < len; ++i) { // eslint-disable-line no-var + if (lines[i].length === 0) { continue } + if (lines[i][0] === '\t' || lines[i][0] === ' ') { + // folded header content + // RFC2822 says to just remove the CRLF and not the whitespace following + // it, so we follow the RFC and include the leading whitespace ... + if (h) { + this.header[h][this.header[h].length - 1] += lines[i] + continue + } + } + + const posColon = lines[i].indexOf(':') + if ( + posColon === -1 || + posColon === 0 + ) { + return + } + m = RE_HDR.exec(lines[i]) + h = m[1].toLowerCase() + this.header[h] = this.header[h] || [] + this.header[h].push((m[2] || '')) + if (++this.npairs === this.maxHeaderPairs) { break } + } +} + +module.exports = HeaderParser diff --git a/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js b/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js new file mode 100644 index 0000000..c91da1c --- /dev/null +++ b/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js @@ -0,0 +1,13 @@ +'use strict' + +const inherits = require('node:util').inherits +const ReadableStream = require('node:stream').Readable + +function PartStream (opts) { + ReadableStream.call(this, opts) +} +inherits(PartStream, ReadableStream) + +PartStream.prototype._read = function (n) {} + +module.exports = PartStream diff --git a/node_modules/@fastify/busboy/deps/dicer/lib/dicer.d.ts b/node_modules/@fastify/busboy/deps/dicer/lib/dicer.d.ts new file mode 100644 index 0000000..3c5b896 --- /dev/null +++ b/node_modules/@fastify/busboy/deps/dicer/lib/dicer.d.ts @@ -0,0 +1,164 @@ +// Type definitions for dicer 0.2 +// Project: https://github.com/mscdex/dicer +// Definitions by: BendingBender +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 +/// + +import stream = require("stream"); + +// tslint:disable:unified-signatures + +/** + * A very fast streaming multipart parser for node.js. + * Dicer is a WritableStream + * + * Dicer (special) events: + * - on('finish', ()) - Emitted when all parts have been parsed and the Dicer instance has been ended. + * - on('part', (stream: PartStream)) - Emitted when a new part has been found. + * - on('preamble', (stream: PartStream)) - Emitted for preamble if you should happen to need it (can usually be ignored). + * - on('trailer', (data: Buffer)) - Emitted when trailing data was found after the terminating boundary (as with the preamble, this can usually be ignored too). + */ +export class Dicer extends stream.Writable { + /** + * Creates and returns a new Dicer instance with the following valid config settings: + * + * @param config The configuration to use + */ + constructor(config: Dicer.Config); + /** + * Sets the boundary to use for parsing and performs some initialization needed for parsing. + * You should only need to use this if you set headerFirst to true in the constructor and are parsing the boundary from the preamble header. + * + * @param boundary The boundary to use + */ + setBoundary(boundary: string): void; + addListener(event: "finish", listener: () => void): this; + addListener(event: "part", listener: (stream: Dicer.PartStream) => void): this; + addListener(event: "preamble", listener: (stream: Dicer.PartStream) => void): this; + addListener(event: "trailer", listener: (data: 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: "pipe", listener: (src: stream.Readable) => void): this; + addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + addListener(event: string, listener: (...args: any[]) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "part", listener: (stream: Dicer.PartStream) => void): this; + on(event: "preamble", listener: (stream: Dicer.PartStream) => void): this; + on(event: "trailer", listener: (data: 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: "pipe", listener: (src: stream.Readable) => void): this; + on(event: "unpipe", listener: (src: stream.Readable) => void): this; + on(event: string, listener: (...args: any[]) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "part", listener: (stream: Dicer.PartStream) => void): this; + once(event: "preamble", listener: (stream: Dicer.PartStream) => void): this; + once(event: "trailer", listener: (data: 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: "pipe", listener: (src: stream.Readable) => void): this; + once(event: "unpipe", listener: (src: stream.Readable) => void): this; + once(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "part", listener: (stream: Dicer.PartStream) => void): this; + prependListener(event: "preamble", listener: (stream: Dicer.PartStream) => void): this; + prependListener(event: "trailer", listener: (data: 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: "pipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "part", listener: (stream: Dicer.PartStream) => void): this; + prependOnceListener(event: "preamble", listener: (stream: Dicer.PartStream) => void): this; + prependOnceListener(event: "trailer", listener: (data: 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: "pipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + removeListener(event: "finish", listener: () => void): this; + removeListener(event: "part", listener: (stream: Dicer.PartStream) => void): this; + removeListener(event: "preamble", listener: (stream: Dicer.PartStream) => void): this; + removeListener(event: "trailer", listener: (data: Buffer) => void): this; + removeListener(event: "close", listener: () => void): this; + removeListener(event: "drain", listener: () => void): this; + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: "pipe", listener: (src: stream.Readable) => void): this; + removeListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + removeListener(event: string, listener: (...args: any[]) => void): this; +} + +declare namespace Dicer { + interface Config { + /** + * This is the boundary used to detect the beginning of a new part. + */ + boundary?: string | undefined; + /** + * If true, preamble header parsing will be performed first. + */ + headerFirst?: boolean | undefined; + /** + * The maximum number of header key=>value pairs to parse Default: 2000 (same as node's http). + */ + maxHeaderPairs?: number | undefined; + } + + /** + * PartStream is a _ReadableStream_ + * + * PartStream (special) events: + * - on('header', (header: object)) - An object containing the header for this particular part. Each property value is an array of one or more string values. + */ + interface PartStream extends stream.Readable { + addListener(event: "header", listener: (header: object) => 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, listener: (...args: any[]) => void): this; + on(event: "header", listener: (header: object) => 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, listener: (...args: any[]) => void): this; + once(event: "header", listener: (header: object) => 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, listener: (...args: any[]) => void): this; + prependListener(event: "header", listener: (header: object) => 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, listener: (...args: any[]) => void): this; + prependOnceListener(event: "header", listener: (header: object) => 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, listener: (...args: any[]) => void): this; + removeListener(event: "header", listener: (header: object) => void): this; + removeListener(event: "close", listener: () => void): this; + removeListener(event: "data", listener: (chunk: Buffer | string) => 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, listener: (...args: any[]) => void): this; + } +} \ No newline at end of file diff --git a/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js b/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js new file mode 100644 index 0000000..b90c0e8 --- /dev/null +++ b/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js @@ -0,0 +1,228 @@ +'use strict' + +/** + * Copyright Brian White. All rights reserved. + * + * @see https://github.com/mscdex/streamsearch + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Based heavily on the Streaming Boyer-Moore-Horspool C++ implementation + * by Hongli Lai at: https://github.com/FooBarWidget/boyer-moore-horspool + */ +const EventEmitter = require('node:events').EventEmitter +const inherits = require('node:util').inherits + +function SBMH (needle) { + if (typeof needle === 'string') { + needle = Buffer.from(needle) + } + + if (!Buffer.isBuffer(needle)) { + throw new TypeError('The needle has to be a String or a Buffer.') + } + + const needleLength = needle.length + + if (needleLength === 0) { + throw new Error('The needle cannot be an empty String/Buffer.') + } + + if (needleLength > 256) { + throw new Error('The needle cannot have a length bigger than 256.') + } + + this.maxMatches = Infinity + this.matches = 0 + + this._occ = new Array(256) + .fill(needleLength) // Initialize occurrence table. + this._lookbehind_size = 0 + this._needle = needle + this._bufpos = 0 + + this._lookbehind = Buffer.alloc(needleLength) + + // Populate occurrence table with analysis of the needle, + // ignoring last letter. + for (var i = 0; i < needleLength - 1; ++i) { // eslint-disable-line no-var + this._occ[needle[i]] = needleLength - 1 - i + } +} +inherits(SBMH, EventEmitter) + +SBMH.prototype.reset = function () { + this._lookbehind_size = 0 + this.matches = 0 + this._bufpos = 0 +} + +SBMH.prototype.push = function (chunk, pos) { + if (!Buffer.isBuffer(chunk)) { + chunk = Buffer.from(chunk, 'binary') + } + const chlen = chunk.length + this._bufpos = pos || 0 + let r + while (r !== chlen && this.matches < this.maxMatches) { r = this._sbmh_feed(chunk) } + return r +} + +SBMH.prototype._sbmh_feed = function (data) { + const len = data.length + const needle = this._needle + const needleLength = needle.length + const lastNeedleChar = needle[needleLength - 1] + + // Positive: points to a position in `data` + // pos == 3 points to data[3] + // Negative: points to a position in the lookbehind buffer + // pos == -2 points to lookbehind[lookbehind_size - 2] + let pos = -this._lookbehind_size + let ch + + if (pos < 0) { + // Lookbehind buffer is not empty. Perform Boyer-Moore-Horspool + // search with character lookup code that considers both the + // lookbehind buffer and the current round's haystack data. + // + // Loop until + // there is a match. + // or until + // we've moved past the position that requires the + // lookbehind buffer. In this case we switch to the + // optimized loop. + // or until + // the character to look at lies outside the haystack. + while (pos < 0 && pos <= len - needleLength) { + ch = this._sbmh_lookup_char(data, pos + needleLength - 1) + + if ( + ch === lastNeedleChar && + this._sbmh_memcmp(data, pos, needleLength - 1) + ) { + this._lookbehind_size = 0 + ++this.matches + this.emit('info', true) + + return (this._bufpos = pos + needleLength) + } + pos += this._occ[ch] + } + + // No match. + + if (pos < 0) { + // There's too few data for Boyer-Moore-Horspool to run, + // so let's use a different algorithm to skip as much as + // we can. + // Forward pos until + // the trailing part of lookbehind + data + // looks like the beginning of the needle + // or until + // pos == 0 + while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) { ++pos } + } + + if (pos >= 0) { + // Discard lookbehind buffer. + this.emit('info', false, this._lookbehind, 0, this._lookbehind_size) + this._lookbehind_size = 0 + } else { + // Cut off part of the lookbehind buffer that has + // been processed and append the entire haystack + // into it. + const bytesToCutOff = this._lookbehind_size + pos + if (bytesToCutOff > 0) { + // The cut off data is guaranteed not to contain the needle. + this.emit('info', false, this._lookbehind, 0, bytesToCutOff) + } + + this._lookbehind.copy(this._lookbehind, 0, bytesToCutOff, + this._lookbehind_size - bytesToCutOff) + this._lookbehind_size -= bytesToCutOff + + data.copy(this._lookbehind, this._lookbehind_size) + this._lookbehind_size += len + + this._bufpos = len + return len + } + } + + pos += (pos >= 0) * this._bufpos + + // Lookbehind buffer is now empty. We only need to check if the + // needle is in the haystack. + if (data.indexOf(needle, pos) !== -1) { + pos = data.indexOf(needle, pos) + ++this.matches + if (pos > 0) { this.emit('info', true, data, this._bufpos, pos) } else { this.emit('info', true) } + + return (this._bufpos = pos + needleLength) + } else { + pos = len - needleLength + } + + // There was no match. If there's trailing haystack data that we cannot + // match yet using the Boyer-Moore-Horspool algorithm (because the trailing + // data is less than the needle size) then match using a modified + // algorithm that starts matching from the beginning instead of the end. + // Whatever trailing data is left after running this algorithm is added to + // the lookbehind buffer. + while ( + pos < len && + ( + data[pos] !== needle[0] || + ( + (Buffer.compare( + data.subarray(pos, pos + len - pos), + needle.subarray(0, len - pos) + ) !== 0) + ) + ) + ) { + ++pos + } + if (pos < len) { + data.copy(this._lookbehind, 0, pos, pos + (len - pos)) + this._lookbehind_size = len - pos + } + + // Everything until pos is guaranteed not to contain needle data. + if (pos > 0) { this.emit('info', false, data, this._bufpos, pos < len ? pos : len) } + + this._bufpos = len + return len +} + +SBMH.prototype._sbmh_lookup_char = function (data, pos) { + return (pos < 0) + ? this._lookbehind[this._lookbehind_size + pos] + : data[pos] +} + +SBMH.prototype._sbmh_memcmp = function (data, pos, len) { + for (var i = 0; i < len; ++i) { // eslint-disable-line no-var + if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) { return false } + } + return true +} + +module.exports = SBMH diff --git a/node_modules/@fastify/busboy/lib/main.d.ts b/node_modules/@fastify/busboy/lib/main.d.ts new file mode 100644 index 0000000..91b6448 --- /dev/null +++ b/node_modules/@fastify/busboy/lib/main.d.ts @@ -0,0 +1,196 @@ +// Definitions by: Jacob Baskin +// BendingBender +// Igor Savin + +/// + +import * as http from 'http'; +import { Readable, Writable } from 'stream'; +export { Dicer } from "../deps/dicer/lib/dicer"; + +export const Busboy: BusboyConstructor; +export default Busboy; + +export interface BusboyConfig { + /** + * These are the HTTP headers of the incoming request, which are used by individual parsers. + */ + headers: BusboyHeaders; + /** + * `highWaterMark` to use for this Busboy instance. + * @default WritableStream default. + */ + highWaterMark?: number | undefined; + /** + * highWaterMark to use for file streams. + * @default ReadableStream default. + */ + fileHwm?: number | undefined; + /** + * Default character set to use when one isn't defined. + * @default 'utf8' + */ + defCharset?: string | undefined; + /** + * Detect if a Part is a file. + * + * By default a file is detected if contentType + * is application/octet-stream or fileName is not + * undefined. + * + * Modify this to handle e.g. Blobs. + */ + isPartAFile?: (fieldName: string | undefined, contentType: string | undefined, fileName: string | undefined) => boolean; + /** + * If paths in the multipart 'filename' field shall be preserved. + * @default false + */ + preservePath?: boolean | undefined; + /** + * Various limits on incoming data. + */ + limits?: + | { + /** + * Max field name size (in bytes) + * @default 100 bytes + */ + fieldNameSize?: number | undefined; + /** + * Max field value size (in bytes) + * @default 1MB + */ + fieldSize?: number | undefined; + /** + * Max number of non-file fields + * @default Infinity + */ + fields?: number | undefined; + /** + * For multipart forms, the max file size (in bytes) + * @default Infinity + */ + fileSize?: number | undefined; + /** + * For multipart forms, the max number of file fields + * @default Infinity + */ + files?: number | undefined; + /** + * For multipart forms, the max number of parts (fields + files) + * @default Infinity + */ + parts?: number | undefined; + /** + * For multipart forms, the max number of header key=>value pairs to parse + * @default 2000 + */ + headerPairs?: number | undefined; + + /** + * For multipart forms, the max size of a header part + * @default 81920 + */ + headerSize?: number | undefined; + } + | undefined; +} + +export type BusboyHeaders = { 'content-type': string } & http.IncomingHttpHeaders; + +export interface BusboyFileStream extends + Readable { + + truncated: boolean; + + /** + * The number of bytes that have been read so far. + */ + bytesRead: number; +} + +export interface Busboy extends Writable { + addListener(event: Event, listener: BusboyEvents[Event]): this; + + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + on(event: Event, listener: BusboyEvents[Event]): this; + + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: Event, listener: BusboyEvents[Event]): this; + + once(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: Event, listener: BusboyEvents[Event]): this; + + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + + off(event: Event, listener: BusboyEvents[Event]): this; + + off(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: Event, listener: BusboyEvents[Event]): this; + + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: Event, listener: BusboyEvents[Event]): this; + + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; +} + +export interface BusboyEvents { + /** + * Emitted for each new file form field found. + * + * * Note: if you listen for this event, you should always handle the `stream` no matter if you care about the + * file contents or not (e.g. you can simply just do `stream.resume();` if you want to discard the contents), + * otherwise the 'finish' event will never fire on the Busboy instance. However, if you don't care about **any** + * incoming files, you can simply not listen for the 'file' event at all and any/all files will be automatically + * and safely discarded (these discarded files do still count towards `files` and `parts` limits). + * * If a configured file size limit was reached, `stream` will both have a boolean property `truncated` + * (best checked at the end of the stream) and emit a 'limit' event to notify you when this happens. + * + * @param listener.transferEncoding Contains the 'Content-Transfer-Encoding' value for the file stream. + * @param listener.mimeType Contains the 'Content-Type' value for the file stream. + */ + file: ( + fieldname: string, + stream: BusboyFileStream, + filename: string, + transferEncoding: string, + mimeType: string, + ) => void; + /** + * Emitted for each new non-file field found. + */ + field: ( + fieldname: string, + value: string, + fieldnameTruncated: boolean, + valueTruncated: boolean, + transferEncoding: string, + mimeType: string, + ) => void; + finish: () => void; + /** + * Emitted when specified `parts` limit has been reached. No more 'file' or 'field' events will be emitted. + */ + partsLimit: () => void; + /** + * Emitted when specified `files` limit has been reached. No more 'file' events will be emitted. + */ + filesLimit: () => void; + /** + * Emitted when specified `fields` limit has been reached. No more 'field' events will be emitted. + */ + fieldsLimit: () => void; + error: (error: unknown) => void; +} + +export interface BusboyConstructor { + (options: BusboyConfig): Busboy; + + new(options: BusboyConfig): Busboy; +} + diff --git a/node_modules/@fastify/busboy/lib/main.js b/node_modules/@fastify/busboy/lib/main.js new file mode 100644 index 0000000..8794beb --- /dev/null +++ b/node_modules/@fastify/busboy/lib/main.js @@ -0,0 +1,85 @@ +'use strict' + +const WritableStream = require('node:stream').Writable +const { inherits } = require('node:util') +const Dicer = require('../deps/dicer/lib/Dicer') + +const MultipartParser = require('./types/multipart') +const UrlencodedParser = require('./types/urlencoded') +const parseParams = require('./utils/parseParams') + +function Busboy (opts) { + if (!(this instanceof Busboy)) { return new Busboy(opts) } + + if (typeof opts !== 'object') { + throw new TypeError('Busboy expected an options-Object.') + } + if (typeof opts.headers !== 'object') { + throw new TypeError('Busboy expected an options-Object with headers-attribute.') + } + if (typeof opts.headers['content-type'] !== 'string') { + throw new TypeError('Missing Content-Type-header.') + } + + const { + headers, + ...streamOptions + } = opts + + this.opts = { + autoDestroy: false, + ...streamOptions + } + WritableStream.call(this, this.opts) + + this._done = false + this._parser = this.getParserByHeaders(headers) + this._finished = false +} +inherits(Busboy, WritableStream) + +Busboy.prototype.emit = function (ev) { + if (ev === 'finish') { + if (!this._done) { + this._parser?.end() + return + } else if (this._finished) { + return + } + this._finished = true + } + WritableStream.prototype.emit.apply(this, arguments) +} + +Busboy.prototype.getParserByHeaders = function (headers) { + const parsed = parseParams(headers['content-type']) + + const cfg = { + defCharset: this.opts.defCharset, + fileHwm: this.opts.fileHwm, + headers, + highWaterMark: this.opts.highWaterMark, + isPartAFile: this.opts.isPartAFile, + limits: this.opts.limits, + parsedConType: parsed, + preservePath: this.opts.preservePath + } + + if (MultipartParser.detect.test(parsed[0])) { + return new MultipartParser(this, cfg) + } + if (UrlencodedParser.detect.test(parsed[0])) { + return new UrlencodedParser(this, cfg) + } + throw new Error('Unsupported Content-Type.') +} + +Busboy.prototype._write = function (chunk, encoding, cb) { + this._parser.write(chunk, cb) +} + +module.exports = Busboy +module.exports.default = Busboy +module.exports.Busboy = Busboy + +module.exports.Dicer = Dicer diff --git a/node_modules/@fastify/busboy/lib/types/multipart.js b/node_modules/@fastify/busboy/lib/types/multipart.js new file mode 100644 index 0000000..d691eca --- /dev/null +++ b/node_modules/@fastify/busboy/lib/types/multipart.js @@ -0,0 +1,306 @@ +'use strict' + +// TODO: +// * support 1 nested multipart level +// (see second multipart example here: +// http://www.w3.org/TR/html401/interact/forms.html#didx-multipartform-data) +// * support limits.fieldNameSize +// -- this will require modifications to utils.parseParams + +const { Readable } = require('node:stream') +const { inherits } = require('node:util') + +const Dicer = require('../../deps/dicer/lib/Dicer') + +const parseParams = require('../utils/parseParams') +const decodeText = require('../utils/decodeText') +const basename = require('../utils/basename') +const getLimit = require('../utils/getLimit') + +const RE_BOUNDARY = /^boundary$/i +const RE_FIELD = /^form-data$/i +const RE_CHARSET = /^charset$/i +const RE_FILENAME = /^filename$/i +const RE_NAME = /^name$/i + +Multipart.detect = /^multipart\/form-data/i +function Multipart (boy, cfg) { + let i + let len + const self = this + let boundary + const limits = cfg.limits + const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => (contentType === 'application/octet-stream' || fileName !== undefined)) + const parsedConType = cfg.parsedConType || [] + const defCharset = cfg.defCharset || 'utf8' + const preservePath = cfg.preservePath + const fileOpts = { highWaterMark: cfg.fileHwm } + + for (i = 0, len = parsedConType.length; i < len; ++i) { + if (Array.isArray(parsedConType[i]) && + RE_BOUNDARY.test(parsedConType[i][0])) { + boundary = parsedConType[i][1] + break + } + } + + function checkFinished () { + if (nends === 0 && finished && !boy._done) { + finished = false + self.end() + } + } + + if (typeof boundary !== 'string') { throw new Error('Multipart: Boundary not found') } + + const fieldSizeLimit = getLimit(limits, 'fieldSize', 1 * 1024 * 1024) + const fileSizeLimit = getLimit(limits, 'fileSize', Infinity) + const filesLimit = getLimit(limits, 'files', Infinity) + const fieldsLimit = getLimit(limits, 'fields', Infinity) + const partsLimit = getLimit(limits, 'parts', Infinity) + const headerPairsLimit = getLimit(limits, 'headerPairs', 2000) + const headerSizeLimit = getLimit(limits, 'headerSize', 80 * 1024) + + let nfiles = 0 + let nfields = 0 + let nends = 0 + let curFile + let curField + let finished = false + + this._needDrain = false + this._pause = false + this._cb = undefined + this._nparts = 0 + this._boy = boy + + const parserCfg = { + boundary, + maxHeaderPairs: headerPairsLimit, + maxHeaderSize: headerSizeLimit, + partHwm: fileOpts.highWaterMark, + highWaterMark: cfg.highWaterMark + } + + this.parser = new Dicer(parserCfg) + this.parser.on('drain', function () { + self._needDrain = false + if (self._cb && !self._pause) { + const cb = self._cb + self._cb = undefined + cb() + } + }).on('part', function onPart (part) { + if (++self._nparts > partsLimit) { + self.parser.removeListener('part', onPart) + self.parser.on('part', skipPart) + boy.hitPartsLimit = true + boy.emit('partsLimit') + return skipPart(part) + } + + // hack because streams2 _always_ doesn't emit 'end' until nextTick, so let + // us emit 'end' early since we know the part has ended if we are already + // seeing the next part + if (curField) { + const field = curField + field.emit('end') + field.removeAllListeners('end') + } + + part.on('header', function (header) { + let contype + let fieldname + let parsed + let charset + let encoding + let filename + let nsize = 0 + + if (header['content-type']) { + parsed = parseParams(header['content-type'][0]) + if (parsed[0]) { + contype = parsed[0].toLowerCase() + for (i = 0, len = parsed.length; i < len; ++i) { + if (RE_CHARSET.test(parsed[i][0])) { + charset = parsed[i][1].toLowerCase() + break + } + } + } + } + + if (contype === undefined) { contype = 'text/plain' } + if (charset === undefined) { charset = defCharset } + + if (header['content-disposition']) { + parsed = parseParams(header['content-disposition'][0]) + if (!RE_FIELD.test(parsed[0])) { return skipPart(part) } + for (i = 0, len = parsed.length; i < len; ++i) { + if (RE_NAME.test(parsed[i][0])) { + fieldname = parsed[i][1] + } else if (RE_FILENAME.test(parsed[i][0])) { + filename = parsed[i][1] + if (!preservePath) { filename = basename(filename) } + } + } + } else { return skipPart(part) } + + if (header['content-transfer-encoding']) { encoding = header['content-transfer-encoding'][0].toLowerCase() } else { encoding = '7bit' } + + let onData, + onEnd + + if (isPartAFile(fieldname, contype, filename)) { + // file/binary field + if (nfiles === filesLimit) { + if (!boy.hitFilesLimit) { + boy.hitFilesLimit = true + boy.emit('filesLimit') + } + return skipPart(part) + } + + ++nfiles + + if (boy.listenerCount('file') === 0) { + self.parser._ignore() + return + } + + ++nends + const file = new FileStream(fileOpts) + curFile = file + file.on('end', function () { + --nends + self._pause = false + checkFinished() + if (self._cb && !self._needDrain) { + const cb = self._cb + self._cb = undefined + cb() + } + }) + file._read = function (n) { + if (!self._pause) { return } + self._pause = false + if (self._cb && !self._needDrain) { + const cb = self._cb + self._cb = undefined + cb() + } + } + boy.emit('file', fieldname, file, filename, encoding, contype) + + onData = function (data) { + if ((nsize += data.length) > fileSizeLimit) { + const extralen = fileSizeLimit - nsize + data.length + if (extralen > 0) { file.push(data.slice(0, extralen)) } + file.truncated = true + file.bytesRead = fileSizeLimit + part.removeAllListeners('data') + file.emit('limit') + return + } else if (!file.push(data)) { self._pause = true } + + file.bytesRead = nsize + } + + onEnd = function () { + curFile = undefined + file.push(null) + } + } else { + // non-file field + if (nfields === fieldsLimit) { + if (!boy.hitFieldsLimit) { + boy.hitFieldsLimit = true + boy.emit('fieldsLimit') + } + return skipPart(part) + } + + ++nfields + ++nends + let buffer = '' + let truncated = false + curField = part + + onData = function (data) { + if ((nsize += data.length) > fieldSizeLimit) { + const extralen = (fieldSizeLimit - (nsize - data.length)) + buffer += data.toString('binary', 0, extralen) + truncated = true + part.removeAllListeners('data') + } else { buffer += data.toString('binary') } + } + + onEnd = function () { + curField = undefined + if (buffer.length) { buffer = decodeText(buffer, 'binary', charset) } + boy.emit('field', fieldname, buffer, false, truncated, encoding, contype) + --nends + checkFinished() + } + } + + /* As of node@2efe4ab761666 (v0.10.29+/v0.11.14+), busboy had become + broken. Streams2/streams3 is a huge black box of confusion, but + somehow overriding the sync state seems to fix things again (and still + seems to work for previous node versions). + */ + part._readableState.sync = false + + part.on('data', onData) + part.on('end', onEnd) + }).on('error', function (err) { + if (curFile) { curFile.emit('error', err) } + }) + }).on('error', function (err) { + boy.emit('error', err) + }).on('finish', function () { + finished = true + checkFinished() + }) +} + +Multipart.prototype.write = function (chunk, cb) { + const r = this.parser.write(chunk) + if (r && !this._pause) { + cb() + } else { + this._needDrain = !r + this._cb = cb + } +} + +Multipart.prototype.end = function () { + const self = this + + if (self.parser.writable) { + self.parser.end() + } else if (!self._boy._done) { + process.nextTick(function () { + self._boy._done = true + self._boy.emit('finish') + }) + } +} + +function skipPart (part) { + part.resume() +} + +function FileStream (opts) { + Readable.call(this, opts) + + this.bytesRead = 0 + + this.truncated = false +} + +inherits(FileStream, Readable) + +FileStream.prototype._read = function (n) {} + +module.exports = Multipart diff --git a/node_modules/@fastify/busboy/lib/types/urlencoded.js b/node_modules/@fastify/busboy/lib/types/urlencoded.js new file mode 100644 index 0000000..6f5f784 --- /dev/null +++ b/node_modules/@fastify/busboy/lib/types/urlencoded.js @@ -0,0 +1,190 @@ +'use strict' + +const Decoder = require('../utils/Decoder') +const decodeText = require('../utils/decodeText') +const getLimit = require('../utils/getLimit') + +const RE_CHARSET = /^charset$/i + +UrlEncoded.detect = /^application\/x-www-form-urlencoded/i +function UrlEncoded (boy, cfg) { + const limits = cfg.limits + const parsedConType = cfg.parsedConType + this.boy = boy + + this.fieldSizeLimit = getLimit(limits, 'fieldSize', 1 * 1024 * 1024) + this.fieldNameSizeLimit = getLimit(limits, 'fieldNameSize', 100) + this.fieldsLimit = getLimit(limits, 'fields', Infinity) + + let charset + for (var i = 0, len = parsedConType.length; i < len; ++i) { // eslint-disable-line no-var + if (Array.isArray(parsedConType[i]) && + RE_CHARSET.test(parsedConType[i][0])) { + charset = parsedConType[i][1].toLowerCase() + break + } + } + + if (charset === undefined) { charset = cfg.defCharset || 'utf8' } + + this.decoder = new Decoder() + this.charset = charset + this._fields = 0 + this._state = 'key' + this._checkingBytes = true + this._bytesKey = 0 + this._bytesVal = 0 + this._key = '' + this._val = '' + this._keyTrunc = false + this._valTrunc = false + this._hitLimit = false +} + +UrlEncoded.prototype.write = function (data, cb) { + if (this._fields === this.fieldsLimit) { + if (!this.boy.hitFieldsLimit) { + this.boy.hitFieldsLimit = true + this.boy.emit('fieldsLimit') + } + return cb() + } + + let idxeq; let idxamp; let i; let p = 0; const len = data.length + + while (p < len) { + if (this._state === 'key') { + idxeq = idxamp = undefined + for (i = p; i < len; ++i) { + if (!this._checkingBytes) { ++p } + if (data[i] === 0x3D/* = */) { + idxeq = i + break + } else if (data[i] === 0x26/* & */) { + idxamp = i + break + } + if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) { + this._hitLimit = true + break + } else if (this._checkingBytes) { ++this._bytesKey } + } + + if (idxeq !== undefined) { + // key with assignment + if (idxeq > p) { this._key += this.decoder.write(data.toString('binary', p, idxeq)) } + this._state = 'val' + + this._hitLimit = false + this._checkingBytes = true + this._val = '' + this._bytesVal = 0 + this._valTrunc = false + this.decoder.reset() + + p = idxeq + 1 + } else if (idxamp !== undefined) { + // key with no assignment + ++this._fields + let key; const keyTrunc = this._keyTrunc + if (idxamp > p) { key = (this._key += this.decoder.write(data.toString('binary', p, idxamp))) } else { key = this._key } + + this._hitLimit = false + this._checkingBytes = true + this._key = '' + this._bytesKey = 0 + this._keyTrunc = false + this.decoder.reset() + + if (key.length) { + this.boy.emit('field', decodeText(key, 'binary', this.charset), + '', + keyTrunc, + false) + } + + p = idxamp + 1 + if (this._fields === this.fieldsLimit) { return cb() } + } else if (this._hitLimit) { + // we may not have hit the actual limit if there are encoded bytes... + if (i > p) { this._key += this.decoder.write(data.toString('binary', p, i)) } + p = i + if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) { + // yep, we actually did hit the limit + this._checkingBytes = false + this._keyTrunc = true + } + } else { + if (p < len) { this._key += this.decoder.write(data.toString('binary', p)) } + p = len + } + } else { + idxamp = undefined + for (i = p; i < len; ++i) { + if (!this._checkingBytes) { ++p } + if (data[i] === 0x26/* & */) { + idxamp = i + break + } + if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) { + this._hitLimit = true + break + } else if (this._checkingBytes) { ++this._bytesVal } + } + + if (idxamp !== undefined) { + ++this._fields + if (idxamp > p) { this._val += this.decoder.write(data.toString('binary', p, idxamp)) } + this.boy.emit('field', decodeText(this._key, 'binary', this.charset), + decodeText(this._val, 'binary', this.charset), + this._keyTrunc, + this._valTrunc) + this._state = 'key' + + this._hitLimit = false + this._checkingBytes = true + this._key = '' + this._bytesKey = 0 + this._keyTrunc = false + this.decoder.reset() + + p = idxamp + 1 + if (this._fields === this.fieldsLimit) { return cb() } + } else if (this._hitLimit) { + // we may not have hit the actual limit if there are encoded bytes... + if (i > p) { this._val += this.decoder.write(data.toString('binary', p, i)) } + p = i + if ((this._val === '' && this.fieldSizeLimit === 0) || + (this._bytesVal = this._val.length) === this.fieldSizeLimit) { + // yep, we actually did hit the limit + this._checkingBytes = false + this._valTrunc = true + } + } else { + if (p < len) { this._val += this.decoder.write(data.toString('binary', p)) } + p = len + } + } + } + cb() +} + +UrlEncoded.prototype.end = function () { + if (this.boy._done) { return } + + if (this._state === 'key' && this._key.length > 0) { + this.boy.emit('field', decodeText(this._key, 'binary', this.charset), + '', + this._keyTrunc, + false) + } else if (this._state === 'val') { + this.boy.emit('field', decodeText(this._key, 'binary', this.charset), + decodeText(this._val, 'binary', this.charset), + this._keyTrunc, + this._valTrunc) + } + this.boy._done = true + this.boy.emit('finish') +} + +module.exports = UrlEncoded diff --git a/node_modules/@fastify/busboy/lib/utils/Decoder.js b/node_modules/@fastify/busboy/lib/utils/Decoder.js new file mode 100644 index 0000000..7917678 --- /dev/null +++ b/node_modules/@fastify/busboy/lib/utils/Decoder.js @@ -0,0 +1,54 @@ +'use strict' + +const RE_PLUS = /\+/g + +const HEX = [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +] + +function Decoder () { + this.buffer = undefined +} +Decoder.prototype.write = function (str) { + // Replace '+' with ' ' before decoding + str = str.replace(RE_PLUS, ' ') + let res = '' + let i = 0; let p = 0; const len = str.length + for (; i < len; ++i) { + if (this.buffer !== undefined) { + if (!HEX[str.charCodeAt(i)]) { + res += '%' + this.buffer + this.buffer = undefined + --i // retry character + } else { + this.buffer += str[i] + ++p + if (this.buffer.length === 2) { + res += String.fromCharCode(parseInt(this.buffer, 16)) + this.buffer = undefined + } + } + } else if (str[i] === '%') { + if (i > p) { + res += str.substring(p, i) + p = i + } + this.buffer = '' + ++p + } + } + if (p < len && this.buffer === undefined) { res += str.substring(p) } + return res +} +Decoder.prototype.reset = function () { + this.buffer = undefined +} + +module.exports = Decoder diff --git a/node_modules/@fastify/busboy/lib/utils/basename.js b/node_modules/@fastify/busboy/lib/utils/basename.js new file mode 100644 index 0000000..db58819 --- /dev/null +++ b/node_modules/@fastify/busboy/lib/utils/basename.js @@ -0,0 +1,14 @@ +'use strict' + +module.exports = function basename (path) { + if (typeof path !== 'string') { return '' } + for (var i = path.length - 1; i >= 0; --i) { // eslint-disable-line no-var + switch (path.charCodeAt(i)) { + case 0x2F: // '/' + case 0x5C: // '\' + path = path.slice(i + 1) + return (path === '..' || path === '.' ? '' : path) + } + } + return (path === '..' || path === '.' ? '' : path) +} diff --git a/node_modules/@fastify/busboy/lib/utils/decodeText.js b/node_modules/@fastify/busboy/lib/utils/decodeText.js new file mode 100644 index 0000000..eac7d35 --- /dev/null +++ b/node_modules/@fastify/busboy/lib/utils/decodeText.js @@ -0,0 +1,114 @@ +'use strict' + +// Node has always utf-8 +const utf8Decoder = new TextDecoder('utf-8') +const textDecoders = new Map([ + ['utf-8', utf8Decoder], + ['utf8', utf8Decoder] +]) + +function getDecoder (charset) { + let lc + while (true) { + switch (charset) { + case 'utf-8': + case 'utf8': + return decoders.utf8 + case 'latin1': + case 'ascii': // TODO: Make these a separate, strict decoder? + case 'us-ascii': + case 'iso-8859-1': + case 'iso8859-1': + case 'iso88591': + case 'iso_8859-1': + case 'windows-1252': + case 'iso_8859-1:1987': + case 'cp1252': + case 'x-cp1252': + return decoders.latin1 + case 'utf16le': + case 'utf-16le': + case 'ucs2': + case 'ucs-2': + return decoders.utf16le + case 'base64': + return decoders.base64 + default: + if (lc === undefined) { + lc = true + charset = charset.toLowerCase() + continue + } + return decoders.other.bind(charset) + } + } +} + +const decoders = { + utf8: (data, sourceEncoding) => { + if (data.length === 0) { + return '' + } + if (typeof data === 'string') { + data = Buffer.from(data, sourceEncoding) + } + return data.utf8Slice(0, data.length) + }, + + latin1: (data, sourceEncoding) => { + if (data.length === 0) { + return '' + } + if (typeof data === 'string') { + return data + } + return data.latin1Slice(0, data.length) + }, + + utf16le: (data, sourceEncoding) => { + if (data.length === 0) { + return '' + } + if (typeof data === 'string') { + data = Buffer.from(data, sourceEncoding) + } + return data.ucs2Slice(0, data.length) + }, + + base64: (data, sourceEncoding) => { + if (data.length === 0) { + return '' + } + if (typeof data === 'string') { + data = Buffer.from(data, sourceEncoding) + } + return data.base64Slice(0, data.length) + }, + + other: (data, sourceEncoding) => { + if (data.length === 0) { + return '' + } + if (typeof data === 'string') { + data = Buffer.from(data, sourceEncoding) + } + + if (textDecoders.has(this.toString())) { + try { + return textDecoders.get(this).decode(data) + } catch {} + } + return typeof data === 'string' + ? data + : data.toString() + } +} + +function decodeText (text, sourceEncoding, destEncoding) { + if (text) { + return getDecoder(destEncoding)(text, sourceEncoding) + } + return text +} + +module.exports = decodeText diff --git a/node_modules/@fastify/busboy/lib/utils/getLimit.js b/node_modules/@fastify/busboy/lib/utils/getLimit.js new file mode 100644 index 0000000..cb64fd6 --- /dev/null +++ b/node_modules/@fastify/busboy/lib/utils/getLimit.js @@ -0,0 +1,16 @@ +'use strict' + +module.exports = function getLimit (limits, name, defaultLimit) { + if ( + !limits || + limits[name] === undefined || + limits[name] === null + ) { return defaultLimit } + + if ( + typeof limits[name] !== 'number' || + isNaN(limits[name]) + ) { throw new TypeError('Limit ' + name + ' is not a valid number') } + + return limits[name] +} diff --git a/node_modules/@fastify/busboy/lib/utils/parseParams.js b/node_modules/@fastify/busboy/lib/utils/parseParams.js new file mode 100644 index 0000000..1698e62 --- /dev/null +++ b/node_modules/@fastify/busboy/lib/utils/parseParams.js @@ -0,0 +1,196 @@ +/* eslint-disable object-property-newline */ +'use strict' + +const decodeText = require('./decodeText') + +const RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g + +const EncodedLookup = { + '%00': '\x00', '%01': '\x01', '%02': '\x02', '%03': '\x03', '%04': '\x04', + '%05': '\x05', '%06': '\x06', '%07': '\x07', '%08': '\x08', '%09': '\x09', + '%0a': '\x0a', '%0A': '\x0a', '%0b': '\x0b', '%0B': '\x0b', '%0c': '\x0c', + '%0C': '\x0c', '%0d': '\x0d', '%0D': '\x0d', '%0e': '\x0e', '%0E': '\x0e', + '%0f': '\x0f', '%0F': '\x0f', '%10': '\x10', '%11': '\x11', '%12': '\x12', + '%13': '\x13', '%14': '\x14', '%15': '\x15', '%16': '\x16', '%17': '\x17', + '%18': '\x18', '%19': '\x19', '%1a': '\x1a', '%1A': '\x1a', '%1b': '\x1b', + '%1B': '\x1b', '%1c': '\x1c', '%1C': '\x1c', '%1d': '\x1d', '%1D': '\x1d', + '%1e': '\x1e', '%1E': '\x1e', '%1f': '\x1f', '%1F': '\x1f', '%20': '\x20', + '%21': '\x21', '%22': '\x22', '%23': '\x23', '%24': '\x24', '%25': '\x25', + '%26': '\x26', '%27': '\x27', '%28': '\x28', '%29': '\x29', '%2a': '\x2a', + '%2A': '\x2a', '%2b': '\x2b', '%2B': '\x2b', '%2c': '\x2c', '%2C': '\x2c', + '%2d': '\x2d', '%2D': '\x2d', '%2e': '\x2e', '%2E': '\x2e', '%2f': '\x2f', + '%2F': '\x2f', '%30': '\x30', '%31': '\x31', '%32': '\x32', '%33': '\x33', + '%34': '\x34', '%35': '\x35', '%36': '\x36', '%37': '\x37', '%38': '\x38', + '%39': '\x39', '%3a': '\x3a', '%3A': '\x3a', '%3b': '\x3b', '%3B': '\x3b', + '%3c': '\x3c', '%3C': '\x3c', '%3d': '\x3d', '%3D': '\x3d', '%3e': '\x3e', + '%3E': '\x3e', '%3f': '\x3f', '%3F': '\x3f', '%40': '\x40', '%41': '\x41', + '%42': '\x42', '%43': '\x43', '%44': '\x44', '%45': '\x45', '%46': '\x46', + '%47': '\x47', '%48': '\x48', '%49': '\x49', '%4a': '\x4a', '%4A': '\x4a', + '%4b': '\x4b', '%4B': '\x4b', '%4c': '\x4c', '%4C': '\x4c', '%4d': '\x4d', + '%4D': '\x4d', '%4e': '\x4e', '%4E': '\x4e', '%4f': '\x4f', '%4F': '\x4f', + '%50': '\x50', '%51': '\x51', '%52': '\x52', '%53': '\x53', '%54': '\x54', + '%55': '\x55', '%56': '\x56', '%57': '\x57', '%58': '\x58', '%59': '\x59', + '%5a': '\x5a', '%5A': '\x5a', '%5b': '\x5b', '%5B': '\x5b', '%5c': '\x5c', + '%5C': '\x5c', '%5d': '\x5d', '%5D': '\x5d', '%5e': '\x5e', '%5E': '\x5e', + '%5f': '\x5f', '%5F': '\x5f', '%60': '\x60', '%61': '\x61', '%62': '\x62', + '%63': '\x63', '%64': '\x64', '%65': '\x65', '%66': '\x66', '%67': '\x67', + '%68': '\x68', '%69': '\x69', '%6a': '\x6a', '%6A': '\x6a', '%6b': '\x6b', + '%6B': '\x6b', '%6c': '\x6c', '%6C': '\x6c', '%6d': '\x6d', '%6D': '\x6d', + '%6e': '\x6e', '%6E': '\x6e', '%6f': '\x6f', '%6F': '\x6f', '%70': '\x70', + '%71': '\x71', '%72': '\x72', '%73': '\x73', '%74': '\x74', '%75': '\x75', + '%76': '\x76', '%77': '\x77', '%78': '\x78', '%79': '\x79', '%7a': '\x7a', + '%7A': '\x7a', '%7b': '\x7b', '%7B': '\x7b', '%7c': '\x7c', '%7C': '\x7c', + '%7d': '\x7d', '%7D': '\x7d', '%7e': '\x7e', '%7E': '\x7e', '%7f': '\x7f', + '%7F': '\x7f', '%80': '\x80', '%81': '\x81', '%82': '\x82', '%83': '\x83', + '%84': '\x84', '%85': '\x85', '%86': '\x86', '%87': '\x87', '%88': '\x88', + '%89': '\x89', '%8a': '\x8a', '%8A': '\x8a', '%8b': '\x8b', '%8B': '\x8b', + '%8c': '\x8c', '%8C': '\x8c', '%8d': '\x8d', '%8D': '\x8d', '%8e': '\x8e', + '%8E': '\x8e', '%8f': '\x8f', '%8F': '\x8f', '%90': '\x90', '%91': '\x91', + '%92': '\x92', '%93': '\x93', '%94': '\x94', '%95': '\x95', '%96': '\x96', + '%97': '\x97', '%98': '\x98', '%99': '\x99', '%9a': '\x9a', '%9A': '\x9a', + '%9b': '\x9b', '%9B': '\x9b', '%9c': '\x9c', '%9C': '\x9c', '%9d': '\x9d', + '%9D': '\x9d', '%9e': '\x9e', '%9E': '\x9e', '%9f': '\x9f', '%9F': '\x9f', + '%a0': '\xa0', '%A0': '\xa0', '%a1': '\xa1', '%A1': '\xa1', '%a2': '\xa2', + '%A2': '\xa2', '%a3': '\xa3', '%A3': '\xa3', '%a4': '\xa4', '%A4': '\xa4', + '%a5': '\xa5', '%A5': '\xa5', '%a6': '\xa6', '%A6': '\xa6', '%a7': '\xa7', + '%A7': '\xa7', '%a8': '\xa8', '%A8': '\xa8', '%a9': '\xa9', '%A9': '\xa9', + '%aa': '\xaa', '%Aa': '\xaa', '%aA': '\xaa', '%AA': '\xaa', '%ab': '\xab', + '%Ab': '\xab', '%aB': '\xab', '%AB': '\xab', '%ac': '\xac', '%Ac': '\xac', + '%aC': '\xac', '%AC': '\xac', '%ad': '\xad', '%Ad': '\xad', '%aD': '\xad', + '%AD': '\xad', '%ae': '\xae', '%Ae': '\xae', '%aE': '\xae', '%AE': '\xae', + '%af': '\xaf', '%Af': '\xaf', '%aF': '\xaf', '%AF': '\xaf', '%b0': '\xb0', + '%B0': '\xb0', '%b1': '\xb1', '%B1': '\xb1', '%b2': '\xb2', '%B2': '\xb2', + '%b3': '\xb3', '%B3': '\xb3', '%b4': '\xb4', '%B4': '\xb4', '%b5': '\xb5', + '%B5': '\xb5', '%b6': '\xb6', '%B6': '\xb6', '%b7': '\xb7', '%B7': '\xb7', + '%b8': '\xb8', '%B8': '\xb8', '%b9': '\xb9', '%B9': '\xb9', '%ba': '\xba', + '%Ba': '\xba', '%bA': '\xba', '%BA': '\xba', '%bb': '\xbb', '%Bb': '\xbb', + '%bB': '\xbb', '%BB': '\xbb', '%bc': '\xbc', '%Bc': '\xbc', '%bC': '\xbc', + '%BC': '\xbc', '%bd': '\xbd', '%Bd': '\xbd', '%bD': '\xbd', '%BD': '\xbd', + '%be': '\xbe', '%Be': '\xbe', '%bE': '\xbe', '%BE': '\xbe', '%bf': '\xbf', + '%Bf': '\xbf', '%bF': '\xbf', '%BF': '\xbf', '%c0': '\xc0', '%C0': '\xc0', + '%c1': '\xc1', '%C1': '\xc1', '%c2': '\xc2', '%C2': '\xc2', '%c3': '\xc3', + '%C3': '\xc3', '%c4': '\xc4', '%C4': '\xc4', '%c5': '\xc5', '%C5': '\xc5', + '%c6': '\xc6', '%C6': '\xc6', '%c7': '\xc7', '%C7': '\xc7', '%c8': '\xc8', + '%C8': '\xc8', '%c9': '\xc9', '%C9': '\xc9', '%ca': '\xca', '%Ca': '\xca', + '%cA': '\xca', '%CA': '\xca', '%cb': '\xcb', '%Cb': '\xcb', '%cB': '\xcb', + '%CB': '\xcb', '%cc': '\xcc', '%Cc': '\xcc', '%cC': '\xcc', '%CC': '\xcc', + '%cd': '\xcd', '%Cd': '\xcd', '%cD': '\xcd', '%CD': '\xcd', '%ce': '\xce', + '%Ce': '\xce', '%cE': '\xce', '%CE': '\xce', '%cf': '\xcf', '%Cf': '\xcf', + '%cF': '\xcf', '%CF': '\xcf', '%d0': '\xd0', '%D0': '\xd0', '%d1': '\xd1', + '%D1': '\xd1', '%d2': '\xd2', '%D2': '\xd2', '%d3': '\xd3', '%D3': '\xd3', + '%d4': '\xd4', '%D4': '\xd4', '%d5': '\xd5', '%D5': '\xd5', '%d6': '\xd6', + '%D6': '\xd6', '%d7': '\xd7', '%D7': '\xd7', '%d8': '\xd8', '%D8': '\xd8', + '%d9': '\xd9', '%D9': '\xd9', '%da': '\xda', '%Da': '\xda', '%dA': '\xda', + '%DA': '\xda', '%db': '\xdb', '%Db': '\xdb', '%dB': '\xdb', '%DB': '\xdb', + '%dc': '\xdc', '%Dc': '\xdc', '%dC': '\xdc', '%DC': '\xdc', '%dd': '\xdd', + '%Dd': '\xdd', '%dD': '\xdd', '%DD': '\xdd', '%de': '\xde', '%De': '\xde', + '%dE': '\xde', '%DE': '\xde', '%df': '\xdf', '%Df': '\xdf', '%dF': '\xdf', + '%DF': '\xdf', '%e0': '\xe0', '%E0': '\xe0', '%e1': '\xe1', '%E1': '\xe1', + '%e2': '\xe2', '%E2': '\xe2', '%e3': '\xe3', '%E3': '\xe3', '%e4': '\xe4', + '%E4': '\xe4', '%e5': '\xe5', '%E5': '\xe5', '%e6': '\xe6', '%E6': '\xe6', + '%e7': '\xe7', '%E7': '\xe7', '%e8': '\xe8', '%E8': '\xe8', '%e9': '\xe9', + '%E9': '\xe9', '%ea': '\xea', '%Ea': '\xea', '%eA': '\xea', '%EA': '\xea', + '%eb': '\xeb', '%Eb': '\xeb', '%eB': '\xeb', '%EB': '\xeb', '%ec': '\xec', + '%Ec': '\xec', '%eC': '\xec', '%EC': '\xec', '%ed': '\xed', '%Ed': '\xed', + '%eD': '\xed', '%ED': '\xed', '%ee': '\xee', '%Ee': '\xee', '%eE': '\xee', + '%EE': '\xee', '%ef': '\xef', '%Ef': '\xef', '%eF': '\xef', '%EF': '\xef', + '%f0': '\xf0', '%F0': '\xf0', '%f1': '\xf1', '%F1': '\xf1', '%f2': '\xf2', + '%F2': '\xf2', '%f3': '\xf3', '%F3': '\xf3', '%f4': '\xf4', '%F4': '\xf4', + '%f5': '\xf5', '%F5': '\xf5', '%f6': '\xf6', '%F6': '\xf6', '%f7': '\xf7', + '%F7': '\xf7', '%f8': '\xf8', '%F8': '\xf8', '%f9': '\xf9', '%F9': '\xf9', + '%fa': '\xfa', '%Fa': '\xfa', '%fA': '\xfa', '%FA': '\xfa', '%fb': '\xfb', + '%Fb': '\xfb', '%fB': '\xfb', '%FB': '\xfb', '%fc': '\xfc', '%Fc': '\xfc', + '%fC': '\xfc', '%FC': '\xfc', '%fd': '\xfd', '%Fd': '\xfd', '%fD': '\xfd', + '%FD': '\xfd', '%fe': '\xfe', '%Fe': '\xfe', '%fE': '\xfe', '%FE': '\xfe', + '%ff': '\xff', '%Ff': '\xff', '%fF': '\xff', '%FF': '\xff' +} + +function encodedReplacer (match) { + return EncodedLookup[match] +} + +const STATE_KEY = 0 +const STATE_VALUE = 1 +const STATE_CHARSET = 2 +const STATE_LANG = 3 + +function parseParams (str) { + const res = [] + let state = STATE_KEY + let charset = '' + let inquote = false + let escaping = false + let p = 0 + let tmp = '' + const len = str.length + + for (var i = 0; i < len; ++i) { // eslint-disable-line no-var + const char = str[i] + if (char === '\\' && inquote) { + if (escaping) { escaping = false } else { + escaping = true + continue + } + } else if (char === '"') { + if (!escaping) { + if (inquote) { + inquote = false + state = STATE_KEY + } else { inquote = true } + continue + } else { escaping = false } + } else { + if (escaping && inquote) { tmp += '\\' } + escaping = false + if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") { + if (state === STATE_CHARSET) { + state = STATE_LANG + charset = tmp.substring(1) + } else { state = STATE_VALUE } + tmp = '' + continue + } else if (state === STATE_KEY && + (char === '*' || char === '=') && + res.length) { + state = char === '*' + ? STATE_CHARSET + : STATE_VALUE + res[p] = [tmp, undefined] + tmp = '' + continue + } else if (!inquote && char === ';') { + state = STATE_KEY + if (charset) { + if (tmp.length) { + tmp = decodeText(tmp.replace(RE_ENCODED, encodedReplacer), + 'binary', + charset) + } + charset = '' + } else if (tmp.length) { + tmp = decodeText(tmp, 'binary', 'utf8') + } + if (res[p] === undefined) { res[p] = tmp } else { res[p][1] = tmp } + tmp = '' + ++p + continue + } else if (!inquote && (char === ' ' || char === '\t')) { continue } + } + tmp += char + } + if (charset && tmp.length) { + tmp = decodeText(tmp.replace(RE_ENCODED, encodedReplacer), + 'binary', + charset) + } else if (tmp) { + tmp = decodeText(tmp, 'binary', 'utf8') + } + + if (res[p] === undefined) { + if (tmp) { res[p] = tmp } + } else { res[p][1] = tmp } + + return res +} + +module.exports = parseParams diff --git a/node_modules/@fastify/busboy/package.json b/node_modules/@fastify/busboy/package.json new file mode 100644 index 0000000..83693ac --- /dev/null +++ b/node_modules/@fastify/busboy/package.json @@ -0,0 +1,86 @@ +{ + "name": "@fastify/busboy", + "version": "2.1.1", + "private": false, + "author": "Brian White ", + "contributors": [ + { + "name": "Igor Savin", + "email": "kibertoad@gmail.com", + "url": "https://github.com/kibertoad" + }, + { + "name": "Aras Abbasi", + "email": "aras.abbasi@gmail.com", + "url": "https://github.com/uzlopak" + } + ], + "description": "A streaming parser for HTML form data for node.js", + "main": "lib/main", + "type": "commonjs", + "types": "lib/main.d.ts", + "scripts": { + "bench:busboy": "cd benchmarks && npm install && npm run benchmark-fastify", + "bench:dicer": "node bench/dicer/dicer-bench-multipart-parser.js", + "coveralls": "nyc report --reporter=lcov", + "lint": "npm run lint:standard", + "lint:everything": "npm run lint && npm run test:types", + "lint:fix": "standard --fix", + "lint:standard": "standard --verbose | snazzy", + "test:mocha": "tap", + "test:types": "tsd", + "test:coverage": "nyc npm run test", + "test": "npm run test:mocha" + }, + "engines": { + "node": ">=14" + }, + "devDependencies": { + "@types/node": "^20.1.0", + "busboy": "^1.0.0", + "photofinish": "^1.8.0", + "snazzy": "^9.0.0", + "standard": "^17.0.0", + "tap": "^16.3.8", + "tinybench": "^2.5.1", + "tsd": "^0.30.0", + "typescript": "^5.0.2" + }, + "keywords": [ + "uploads", + "forms", + "multipart", + "form-data" + ], + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/fastify/busboy.git" + }, + "tsd": { + "directory": "test/types", + "compilerOptions": { + "esModuleInterop": false, + "module": "commonjs", + "target": "ES2017" + } + }, + "standard": { + "globals": [ + "describe", + "it" + ], + "ignore": [ + "bench" + ] + }, + "files": [ + "README.md", + "LICENSE", + "lib/*", + "deps/encoding/*", + "deps/dicer/lib", + "deps/streamsearch/", + "deps/dicer/LICENSE" + ] +} diff --git a/node_modules/@octokit-next/request/README.md b/node_modules/@octokit-next/request/README.md new file mode 100644 index 0000000..356bfa8 --- /dev/null +++ b/node_modules/@octokit-next/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-next/request.svg)](https://www.npmjs.com/package/@octokit-next/request) +[![Build Status](https://github.com/octokit-next/request.js/workflows/Test/badge.svg)](https://github.com/octokit-next/request.js/actions?query=workflow%3ATest+branch%3Amaster) + +`@octokit-next/request` is a request library for modern JavaScript runtime environments (e.g. Browsers, Node, or Deno) 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) when the runtime has no native `fetch` API). + +## 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", { + owner: "octokit", + repo: "request.js", + number: 1, + labels: ["🐛 bug"], +}); +``` + +👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit-next/request) (\<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-next/request directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install @octokit-next/request + +```js +import { request } from "@octokit-next/request"; +``` + +
+Deno + + +Load @octokit-next/request directly from cdn.skypack.dev, including types. + +```js +import { request } from "https://cdn.skypack.dev/octokit?dts"; +``` + +
+ +### REST API example + +```js +// Following GitHub docs formatting: +// https://docs.github.com/en/rest/repos/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). But in the end a GraphQL query is just a `POST /graphql` request: + +```js +const result = await request("POST /graphql", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + query: `query ($login: String!) { + organization(login: $login) { + repositories(privacy: PRIVATE) { + totalCount + } + } + }`, + variables: { + login: "octokit", + }, +}); +``` + +### Alternative: pass `method` & `url` as part of options + +Alternatively, pass in a method and a url + +```js +const result = await request({ + method: "GET", + url: "/orgs/{org}/repos", + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); +``` + +## Authentication + +The simplest way to authenticate a request is to set the `Authorization` header directly, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const requestWithAuth = request.defaults({ + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, +}); +const result = await requestWithAuth("GET /user"); +``` + +For more complex authentication strategies such as GitHub Apps, we recommend an [authentication strategy plugin](https://github.com/octokit/authentication-strategies.js#readme). + +```js +// expects `APP_ID` and `PRIVATE_KEY` to be set. +import { createAppAuth } from "@octokit/auth-app"; +const auth = createAppAuth({ + appId: APP_ID, + privateKey: PRIVATE_KEY, + installationId: 123, +}); +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { data: app } = await requestWithAuth("GET /app"); +const { data: app } = await requestWithAuth( + "POST /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + title: "Hello from the engine room", + } +); +``` + +## request() + +`request(route, options)` or `request(options)`. + +**Options** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ route + + String + + **Required**. If route is set it has to be a string consisting of the request method and URL, e.g. GET /orgs/{org} +
+ options.baseUrl + + String + + The base URL that route or url will be prefixed with, if they use relative paths. Defaults to https://api.github.com. +
+ options.headers + + Object + + Custom headers. Passed headers are merged with defaults:
+ headers['user-agent'] defaults to octokit-rest.js/1.2.3 (where 1.2.3 is the released version).
+ headers['accept'] defaults to application/vnd.github.v3+json.
Use options.mediaType.{format,previews} to request API previews and custom media types. +
+ options.mediaType.format + + String + + Media type param, such as `raw`, `html`, or `full`. See Media Types. +
+ options.mediaType.previews + + Array of strings + + Name of GraphQL schema preview, e.g. `package-deletes` or `flash`. See Schema previews. +
+ options.method + + String + + 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.log + + object + + Used for internal logging. Defaults to console. +
+ 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. If the request was successful, the promise resolves with an object containing 4 keys: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ key + + type + + description +
statusIntegerResponse status status
urlStringURL of response. If a request results in redirects, this is the final URL. You can send a HEAD request to retrieve it without loading the full response body.
headersObjectAll response headers
dataAnyThe response body as returned from server. If the response is JSON then it will be parsed into an object
+ +If an error occurs, the promise is rejected with an `error` object containing 3 keys to help with debugging: + +- `error.status` The http response status code +- `error.request` The request options such as `method`, `url` and `data` +- `error.response` The http response object with `url`, `headers`, and `data` + +If the error is due to an `AbortSignal` being used, the resulting `AbortError` is bubbled up to the caller. + +## `request.defaults()` + +Override or set default options. Example: + +```js +import { request } from "@octokit-next/request"; +const myrequest = 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-next/request/fetch-wrapper.js b/node_modules/@octokit-next/request/fetch-wrapper.js new file mode 100644 index 0000000..6fd8679 --- /dev/null +++ b/node_modules/@octokit-next/request/fetch-wrapper.js @@ -0,0 +1,152 @@ +import { isPlainObject } from "is-plain-object"; +import { RequestError } from "@octokit-next/request-error"; + +import getBuffer from "./get-buffer-response.js"; + +export default function fetchWrapper(requestOptions) { + const log = requestOptions.request?.log || console; + + if ( + isPlainObject(requestOptions.body) || + Array.isArray(requestOptions.body) + ) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + + let responseHeaders = {}; + let status; + let url; + + const { redirect, fetch, ...remainingRequestOptions } = + requestOptions.request || {}; + + const fetchOptions = { + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect, + ...remainingRequestOptions, + }; + + const requestOrGlobalFetch = fetch || globalThis.fetch; + + return requestOrGlobalFetch(requestOptions.url, fetchOptions) + .then(async (response) => { + url = response.url; + status = response.status; + + for (const keyAndValue of response.headers) { + responseHeaders[keyAndValue[0]] = keyAndValue[1]; + } + + if ("deprecation" in responseHeaders) { + const matches = + responseHeaders.link && + responseHeaders.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${ + requestOptions.url + }" is deprecated. It is scheduled to be removed on ${ + responseHeaders.sunset + }${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + + if (status === 204 || status === 205) { + return; + } + + // GitHub API returns 200 for HEAD requests + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers: responseHeaders, + data: undefined, + }, + request: requestOptions, + }); + } + + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers: responseHeaders, + data: await getResponseData(response), + }, + request: requestOptions, + }); + } + + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers: responseHeaders, + data, + }, + request: requestOptions, + }); + throw error; + } + + return getResponseData(response); + }) + + .then((data) => { + return { + status, + url, + headers: responseHeaders, + data, + }; + }) + + .catch((error) => { + if (error instanceof RequestError) throw error; + + if (error.name === "AbortError") throw error; + + throw new RequestError(error.message, 500, { + request: requestOptions, + }); + }); +} + +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + + if (/application\/json/.test(contentType)) { + return response.json(); + } + + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + /* c8 ignore next 2 */ + // TODO: figure out how to test buffers + return getBuffer(response); +} + +function toErrorMessage(data) { + if (typeof data === "string") return data; + + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + /* c8 ignore next 2 */ + // shouldn't happen, but just in case + return `Unknown error: ${JSON.stringify(data)}`; +} diff --git a/node_modules/@octokit-next/request/get-buffer-response.js b/node_modules/@octokit-next/request/get-buffer-response.js new file mode 100644 index 0000000..bf70803 --- /dev/null +++ b/node_modules/@octokit-next/request/get-buffer-response.js @@ -0,0 +1,5 @@ +/* c8 ignore next 4 */ +// TODO: figure out how to test buffers +export default function getBufferResponse(response) { + return response.arrayBuffer(); +} diff --git a/node_modules/@octokit-next/request/index.d.ts b/node_modules/@octokit-next/request/index.d.ts new file mode 100644 index 0000000..8bc5637 --- /dev/null +++ b/node_modules/@octokit-next/request/index.d.ts @@ -0,0 +1,3 @@ +import { RequestInterface } from "@octokit-next/types"; + +export declare const request: RequestInterface; diff --git a/node_modules/@octokit-next/request/index.js b/node_modules/@octokit-next/request/index.js new file mode 100644 index 0000000..f709b4c --- /dev/null +++ b/node_modules/@octokit-next/request/index.js @@ -0,0 +1,11 @@ +import { endpoint } from "@octokit-next/endpoint"; +import { getUserAgent } from "universal-user-agent"; + +import { VERSION } from "./version.js"; +import withDefaults from "./with-defaults.js"; + +export const request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}`, + }, +}); diff --git a/node_modules/@octokit-next/request/index.test-d.ts b/node_modules/@octokit-next/request/index.test-d.ts new file mode 100644 index 0000000..77574c6 --- /dev/null +++ b/node_modules/@octokit-next/request/index.test-d.ts @@ -0,0 +1,124 @@ +import { Octokit } from "@octokit-next/types"; +import { expectType } from "tsd"; + +import { request } from "./index.js"; + +declare module "@octokit-next/types" { + namespace Octokit { + interface Endpoints { + /** + * Dummy endpoint for testing purposes + */ + "GET /endpoint-test/{id}": { + parameters: { + id: string; + }; + request: { + method: "GET"; + // the resulting `.url` property will replace the `{}` placeholders, so the type must be a generic string + url: string; + }; + response: Octokit.Response< + { + test: 1; + }, + 200 + >; + }; + } + + interface ApiVersions { + "endpoint-test": { + Endpoints: Octokit.Endpoints & { + "POST /endpoint-test/{id}/version-test": { + parameters: { + id: string; + test: string; + }; + request: { + method: "POST"; + url: string; + data: { + test: string; + }; + }; + response: Octokit.Response< + { + test: 2; + }, + 201 + >; + }; + }; + }; + } + } +} + +export async function readmeExample() { + const response = await request("GET /endpoint-test/{id}", { + id: "id", + }); + expectType<200>(response.status); + expectType<1>(response.data.test); + expectType(response.url); + expectType(response.headers); +} + +export async function ghesExample() { + const response = await request("POST /endpoint-test/{id}/version-test", { + request: { + version: "endpoint-test", + }, + id: "id", + test: "test", + }); + + expectType<201>(response.status); + expectType<2>(response.data.test); +} + +export async function objectExample() { + // @ts-expect-error - TODO: endpoint(options) is an alternative API to endpoint(route, parameters) + const response = await endpoint({ + method: "GET", + url: "/endpoint-test/{id}", + id: "id", + }); + + // expectType<200>(response.status); + // expectType<1>(response.data.test); + // expectType(response.url); + // expectType(response.headers); +} + +export async function apiWithDefaults() { + const myRequest = request.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + authorization: `token 0000000000000000000000000000000000000001`, + }, + }); + + const response = await myRequest(`GET /endpoint-test/{id}`, { + id: "id", + }); + + expectType<200>(response.status); + expectType<1>(response.data.test); +} + +export function apiDEFAULTS() { + expectType<"https://api.github.com">(request.endpoint.DEFAULTS.baseUrl); + const myRequest = request.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + }); + + myRequest.endpoint.DEFAULTS; + + expectType<"https://github-enterprise.acme-inc.com/api/v3">( + // @ts-expect-error - TODO: fix this + myRequest.endpoint.DEFAULTS.baseUrl + ); +} diff --git a/node_modules/@octokit-next/request/package.json b/node_modules/@octokit-next/request/package.json new file mode 100644 index 0000000..21b5613 --- /dev/null +++ b/node_modules/@octokit-next/request/package.json @@ -0,0 +1,45 @@ +{ + "name": "@octokit-next/request", + "version": "2.3.0", + "publishConfig": { + "access": "public" + }, + "type": "module", + "description": "Simplified version of `@octokit/request` to experiment with ESM and types", + "exports": "./index.js", + "types": "./index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/octokit/octokit-next.js.git", + "directory": "packages/request" + }, + "homepage": "https://github.com/octokit/octokit-next.js/tree/main/packages/request#readme", + "keywords": [ + "octokit", + "github", + "api" + ], + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "scripts": { + "test": "npm run test:code && npm run test:types", + "test:code": "c8 uvu test", + "test:types": "tsd" + }, + "dependencies": { + "@octokit-next/types": "2.3.0", + "is-plain-object": "^5.0.0", + "type-fest": "^3.0.0", + "universal-user-agent": "^7.0.1" + }, + "devDependencies": { + "string-to-arraybuffer": "^1.0.2" + }, + "c8": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100, + "statements": 100 + } +} diff --git a/node_modules/@octokit-next/request/test/defaults.test.js b/node_modules/@octokit-next/request/test/defaults.test.js new file mode 100644 index 0000000..3b352be --- /dev/null +++ b/node_modules/@octokit-next/request/test/defaults.test.js @@ -0,0 +1,91 @@ +import { suite } from "uvu"; +import * as assert from "uvu/assert"; +import fetchMock from "fetch-mock"; + +import { request } from "../index.js"; + +const test = suite("request.defaults()"); + +test("is a function", () => { + assert.instance( + request.defaults, + Function, + "request.defaults() is a function" + ); +}); + +test("README example", () => { + const mock = fetchMock + .sandbox() + .mock( + "https://github-enterprise.acme-inc.com/api/v3/orgs/my-project/repos?per_page=100", + [], + { + headers: { + accept: "application/vnd.github.v3+json", + authorization: "token 0000000000000000000000000000000000000001", + "user-agent": "myApp/1.2.3", + }, + } + ); + + const myRequest = 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, + request: { + fetch: mock, + }, + }); + + return myRequest(`GET /orgs/{org}/repos`).then((response) => { + assert.equal(response.status, 200); + }); +}); + +test("repeated defaults", () => { + const mock = fetchMock + .sandbox() + .get( + "https://github-enterprise.acme-inc.com/api/v3/orgs/my-project/repos", + [], + { + headers: { + accept: + "application/vnd.github.foo-preview.raw+json,application/vnd.github.bar-preview.raw+json", + authorization: "token 0000000000000000000000000000000000000001", + "user-agent": "myApp/1.2.3", + }, + } + ); + + const myProjectRequest = request.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + mediaType: { + format: "raw+json", + previews: ["foo", "bar"], + }, + org: "my-project", + request: { + fetch: mock, + }, + }); + const myProjectRequestWithAuth = myProjectRequest.defaults({ + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, + }); + + return myProjectRequestWithAuth(`GET /orgs/{org}/repos`).then((response) => { + assert.equal(response.status, 200); + }); +}); + +test.run(); diff --git a/node_modules/@octokit-next/request/test/request.test.js b/node_modules/@octokit-next/request/test/request.test.js new file mode 100644 index 0000000..d493683 --- /dev/null +++ b/node_modules/@octokit-next/request/test/request.test.js @@ -0,0 +1,1057 @@ +import fs from "node:fs"; +import stream from "node:stream"; +import * as url from "node:url"; + +import { suite } from "uvu"; +import * as assert from "uvu/assert"; +import { getUserAgent } from "universal-user-agent"; +import fetchMock from "fetch-mock"; +import sinon from "sinon"; + +import { request } from "../index.js"; + +const userAgent = `octokit-request.js/0.0.0-development ${getUserAgent()}`; +import stringToArrayBuffer from "string-to-arraybuffer"; + +const test = suite("request.request()"); + +test("is a function", () => { + assert.instance(request, Function); +}); + +test("README example", () => { + const mock = fetchMock + .sandbox() + .mock("https://api.github.com/orgs/octokit/repos?type=private", [], { + headers: { + accept: "application/vnd.github.v3+json", + authorization: "token 0000000000000000000000000000000000000001", + "user-agent": userAgent, + }, + }); + + return request("GET /orgs/{org}/repos", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", + request: { + fetch: mock, + }, + }).then((response) => { + assert.equal(response.data, []); + }); +}); + +test("README example alternative", () => { + const mock = fetchMock + .sandbox() + .mock("https://api.github.com/orgs/octokit/repos?type=private", []); + + return request({ + method: "GET", + url: "/orgs/{org}/repos", + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", + request: { + fetch: mock, + }, + }).then((response) => { + assert.equal(response.data, []); + }); +}); + +// TODO: until we migrate @octokit/auth-app to ESM, I'll just use a dummy auth strategy instead +test("README authentication example", async () => { + const mock = fetchMock.sandbox().mock( + "https://api.github.com/test", + { ok: true }, + { + headers: { + accept: "application/vnd.github.v3+json", + authorization: "token 0000000000000000000000000000000000000001", + "user-agent": userAgent, + }, + } + ); + + const myAuthHookDummy = (request, endpointOptions) => { + const options = { + ...endpointOptions, + headers: { + ...endpointOptions.headers, + authorization: "token 0000000000000000000000000000000000000001", + }, + }; + return request(options); + }; + + const requestWithAuth = request.defaults({ + request: { + fetch: mock, + hook: myAuthHookDummy, + }, + }); + await requestWithAuth("GET /test"); + assert.ok(mock.done()); +}); + +// test("README authentication example", async () => { +// const clock = lolex.install({ +// now: 0, +// toFake: ["Date"], +// }); +// const APP_ID = 1; +// const PRIVATE_KEY = `-----BEGIN RSA PRIVATE KEY----- +// MIIEpAIBAAKCAQEA1c7+9z5Pad7OejecsQ0bu3aozN3tihPmljnnudb9G3HECdnH +// lWu2/a1gB9JW5TBQ+AVpum9Okx7KfqkfBKL9mcHgSL0yWMdjMfNOqNtrQqKlN4kE +// p6RD++7sGbzbfZ9arwrlD/HSDAWGdGGJTSOBM6pHehyLmSC3DJoR/CTu0vTGTWXQ +// rO64Z8tyXQPtVPb/YXrcUhbBp8i72b9Xky0fD6PkEebOy0Ip58XVAn2UPNlNOSPS +// ye+Qjtius0Md4Nie4+X8kwVI2Qjk3dSm0sw/720KJkdVDmrayeljtKBx6AtNQsSX +// gzQbeMmiqFFkwrG1+zx6E7H7jqIQ9B6bvWKXGwIDAQABAoIBAD8kBBPL6PPhAqUB +// K1r1/gycfDkUCQRP4DbZHt+458JlFHm8QL6VstKzkrp8mYDRhffY0WJnYJL98tr4 +// 4tohsDbqFGwmw2mIaHjl24LuWXyyP4xpAGDpl9IcusjXBxLQLp2m4AKXbWpzb0OL +// Ulrfc1ZooPck2uz7xlMIZOtLlOPjLz2DuejVe24JcwwHzrQWKOfA11R/9e50DVse +// hnSH/w46Q763y4I0E3BIoUMsolEKzh2ydAAyzkgabGQBUuamZotNfvJoDXeCi1LD +// 8yNCWyTlYpJZJDDXooBU5EAsCvhN1sSRoaXWrlMSDB7r/E+aQyKua4KONqvmoJuC +// 21vSKeECgYEA7yW6wBkVoNhgXnk8XSZv3W+Q0xtdVpidJeNGBWnczlZrummt4xw3 +// xs6zV+rGUDy59yDkKwBKjMMa42Mni7T9Fx8+EKUuhVK3PVQyajoyQqFwT1GORJNz +// c/eYQ6VYOCSC8OyZmsBM2p+0D4FF2/abwSPMmy0NgyFLCUFVc3OECpkCgYEA5OAm +// I3wt5s+clg18qS7BKR2DuOFWrzNVcHYXhjx8vOSWV033Oy3yvdUBAhu9A1LUqpwy +// Ma+unIgxmvmUMQEdyHQMcgBsVs10dR/g2xGjMLcwj6kn+xr3JVIZnbRT50YuPhf+ +// ns1ScdhP6upo9I0/sRsIuN96Gb65JJx94gQ4k9MCgYBO5V6gA2aMQvZAFLUicgzT +// u/vGea+oYv7tQfaW0J8E/6PYwwaX93Y7Q3QNXCoCzJX5fsNnoFf36mIThGHGiHY6 +// y5bZPPWFDI3hUMa1Hu/35XS85kYOP6sGJjf4kTLyirEcNKJUWH7CXY+00cwvTkOC +// S4Iz64Aas8AilIhRZ1m3eQKBgQCUW1s9azQRxgeZGFrzC3R340LL530aCeta/6FW +// CQVOJ9nv84DLYohTVqvVowdNDTb+9Epw/JDxtDJ7Y0YU0cVtdxPOHcocJgdUGHrX +// ZcJjRIt8w8g/s4X6MhKasBYm9s3owALzCuJjGzUKcDHiO2DKu1xXAb0SzRcTzUCn +// 7daCswKBgQDOYPZ2JGmhibqKjjLFm0qzpcQ6RPvPK1/7g0NInmjPMebP0K6eSPx0 +// 9/49J6WTD++EajN7FhktUSYxukdWaCocAQJTDNYP0K88G4rtC2IYy5JFn9SWz5oh +// x//0u+zd/R/QRUzLOw4N72/Hu+UG6MNt5iDZFCtapRaKt6OvSBwy8w== +// -----END RSA PRIVATE KEY-----`; +// // see https://runkit.com/gr2m/reproducable-jwt +// const BEARER = +// "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOi0zMCwiZXhwIjo1NzAsImlzcyI6MX0.q3foRa78U3WegM5PrWLEh5N0bH1SD62OqW66ZYzArp95JBNiCbo8KAlGtiRENCIfBZT9ibDUWy82cI4g3F09mdTq3bD1xLavIfmTksIQCz5EymTWR5v6gL14LSmQdWY9lSqkgUG0XCFljWUglEP39H4yeHbFgdjvAYg3ifDS12z9oQz2ACdSpvxPiTuCC804HkPVw8Qoy0OSXvCkFU70l7VXCVUxnuhHnk8-oCGcKUspmeP6UdDnXk-Aus-eGwDfJbU2WritxxaXw6B4a3flTPojkYLSkPBr6Pi0H2-mBsW_Nvs0aLPVLKobQd4gqTkosX3967DoAG8luUMhrnxe8Q"; +// const mock = fetchMock +// .sandbox() +// .postOnce("https://api.github.com/app/installations/123/access_tokens", { +// token: "secret123", +// expires_at: "1970-01-01T01:00:00.000Z", +// permissions: { +// metadata: "read", +// }, +// repository_selection: "all", +// }) +// .getOnce( +// "https://api.github.com/app", +// { id: 123 }, +// { +// headers: { +// accept: "application/vnd.github.machine-man-preview+json", +// "user-agent": userAgent, +// authorization: `bearer ${BEARER}`, +// }, +// } +// ) +// .postOnce( +// "https://api.github.com/repos/octocat/hello-world/issues", +// { id: 456 }, +// { +// headers: { +// accept: "application/vnd.github.machine-man-preview+json", +// "user-agent": userAgent, +// authorization: `token secret123`, +// }, +// } +// ); +// const auth = createAppAuth({ +// appId: APP_ID, +// privateKey: PRIVATE_KEY, +// installationId: 123, +// }); +// const requestWithAuth = request.defaults({ +// mediaType: { +// previews: ["machine-man"], +// }, +// request: { +// fetch: mock, +// hook: auth.hook, +// }, +// }); +// await requestWithAuth("GET /app"); +// await requestWithAuth("POST /repos/{owner}/{repo}/issues", { +// owner: "octocat", +// repo: "hello-world", +// title: "Hello from the engine room", +// }); +// assert.ok(mock.done()) +// clock.reset(); +// }); + +test("Request with body", () => { + const mock = fetchMock + .sandbox() + .mock("https://api.github.com/repos/octocat/hello-world/issues", 201, { + headers: { + "content-type": "application/json; charset=utf-8", + }, + }); + + request("POST /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "hello-world", + headers: { + accept: "text/html;charset=utf-8", + }, + title: "Found a bug", + body: "I'm having a problem with this.", + assignees: ["octocat"], + milestone: 1, + labels: ["bug"], + request: { + fetch: mock, + }, + }).then((response) => { + assert.equal(response.status, 201); + }); +}); + +test("Put without request body", () => { + const mock = fetchMock + .sandbox() + .mock("https://api.github.com/user/starred/octocat/hello-world", 204, { + body: undefined, + }); + + request("PUT /user/starred/{owner}/{repo}", { + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, + owner: "octocat", + repo: "hello-world", + request: { + fetch: mock, + }, + }).then((response) => { + assert.equal(response.status, 204); + }); +}); + +test("HEAD requests (octokit/rest.js#841)", () => { + const mock = fetchMock + .sandbox() + .head("https://api.github.com/repos/whatwg/html/pulls/1", { + status: 200, + headers: { + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "19137", + }, + }) + .head("https://api.github.com/repos/whatwg/html/pulls/2", { + status: 404, + headers: { + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "120", + }, + }); + + const options = { + owner: "whatwg", + repo: "html", + number: 1, + request: { + fetch: mock, + }, + }; + + request(`HEAD /repos/{owner}/{repo}/pulls/{number}`, options) + .then((response) => { + assert.equal(response.status, 200); + + return request( + `HEAD /repos/{owner}/{repo}/pulls/{number}`, + Object.assign(options, { number: 2 }) + ); + }) + + .then(() => { + throw new Error("should not resolve"); + }) + + .catch((error) => { + assert.equal(error.status, 404); + }); +}); + +// TODO: 🤔 unclear how to mock fetch redirect properly +test.skip("Binary response with redirect", () => { + const mock = fetchMock + .sandbox() + .get( + "https://codeload.github.com/octokit-fixture-org/get-archive/legacy.tar.gz/master", + { + status: 200, + body: Buffer.from( + "1f8b0800000000000003cb4f2ec9cfce2cd14dcbac28292d4ad5cd2f4ad74d4f2dd14d2c4acec82c4bd53580007d060a0050bfb9b9a90203c428741ac2313436343307222320dbc010a8dc5c81c194124b8905a5c525894540a714e5e797e05347481edd734304e41319ff41ae8e2ebeae7ab92964d801d46f66668227fe0d4d51e3dfc8d0c8d808284f75df6201233cfe951590627ba01d330a46c1281805a3806e000024cb59d6000a0000", + "hex" + ), + headers: { + "content-type": "application/x-gzip", + "content-length": "172", + }, + } + ); + + return request("GET /repos/{owner}/{repo}/{archive_format}/{ref}", { + owner: "octokit-fixture-org", + repo: "get-archive", + archive_format: "tarball", + ref: "master", + request: { + fetch: mock, + }, + }).then((response) => { + assert.equal(response.data.length, 172); + }); +}); + +test("304 etag", () => { + const mock = fetchMock.sandbox().get((url, { headers }) => { + return ( + url === "https://api.github.com/orgs/myorg" && + headers["if-none-match"] === "etag" + ); + }, 304); + + return request("GET /orgs/{org}", { + org: "myorg", + headers: { "If-None-Match": "etag" }, + request: { + fetch: mock, + }, + }) + .then(() => { + throw new Error("should not resolve"); + }) + + .catch((error) => { + assert.equal(error.status, 304); + }); +}); + +test("304 last-modified", () => { + const mock = fetchMock.sandbox().get((url, { headers }) => { + return ( + url === "https://api.github.com/orgs/myorg" && + headers["if-modified-since"] === "Sun Dec 24 2017 22:00:00 GMT-0600 (CST)" + ); + }, 304); + + return request("GET /orgs/{org}", { + org: "myorg", + headers: { + "If-Modified-Since": "Sun Dec 24 2017 22:00:00 GMT-0600 (CST)", + }, + request: { + fetch: mock, + }, + }) + .then((response) => { + throw new Error("should not resolve"); + }) + .catch((error) => { + assert.equal(error.status, 304); + }); +}); + +test("Not found", () => { + const mock = fetchMock.sandbox().get("path:/orgs/nope", 404); + + return request("GET /orgs/{org}", { + org: "nope", + request: { + fetch: mock, + }, + }) + .then(() => { + throw new Error("should not resolve"); + }) + + .catch((error) => { + assert.equal(error.status, 404); + assert.equal(error.request.method, "GET"); + assert.equal(error.request.url, "https://api.github.com/orgs/nope"); + }); +}); + +test("non-JSON response", () => { + const mock = fetchMock + .sandbox() + .get("path:/repos/octokit-fixture-org/hello-world/contents/README.md", { + status: 200, + body: "# hello-world", + headers: { + "content-length": "13", + "content-type": "application/vnd.github.v3.raw; charset=utf-8", + }, + }); + + return request("GET /repos/{owner}/{repo}/contents/{path}", { + headers: { + accept: "application/vnd.github.v3.raw", + }, + owner: "octokit-fixture-org", + repo: "hello-world", + path: "README.md", + request: { + fetch: mock, + }, + }).then((response) => { + assert.equal(response.data, "# hello-world"); + }); +}); + +test("Request error", () => { + // port: 8 // officially unassigned port. See https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers + return request("GET https://127.0.0.1:8/") + .then(() => { + throw new Error("should not resolve"); + }) + + .catch((error) => { + assert.equal(error.status, 500); + }); +}); + +test("custom user-agent", () => { + const mock = fetchMock + .sandbox() + .get( + (url, { headers }) => headers["user-agent"] === "funky boom boom pow", + 200 + ); + + return request("GET /", { + headers: { + "user-agent": "funky boom boom pow", + }, + request: { + fetch: mock, + }, + }); +}); + +test("passes node-fetch options to fetch only", () => { + const mock = (url, options) => { + assert.equal(url, "https://api.github.com/"); + assert.equal(options.timeout, 100); + return Promise.reject(new Error("ok")); + }; + + return request("GET /", { + headers: { + "user-agent": "funky boom boom pow", + }, + request: { + timeout: 100, + fetch: mock, + }, + }).catch((error) => { + if (error.message === "ok") { + return; + } + + throw error; + }); +}); + +test("422 error with details", () => { + const mock = fetchMock + .sandbox() + .post("https://api.github.com/repos/octocat/hello-world/labels", { + status: 422, + headers: { + "Content-Type": "application/json; charset=utf-8", + "X-Foo": "bar", + }, + body: { + message: "Validation Failed", + errors: [ + { + resource: "Label", + code: "invalid", + field: "color", + }, + ], + documentation_url: + "https://developer.github.com/v3/issues/labels/#create-a-label", + }, + }); + + return request("POST /repos/octocat/hello-world/labels", { + name: "foo", + color: "invalid", + request: { + fetch: mock, + }, + }).catch((error) => { + assert.equal(error.status, 422); + assert.equal(error.response.headers["x-foo"], "bar"); + assert.equal( + error.response.data.documentation_url, + "https://developer.github.com/v3/issues/labels/#create-a-label" + ); + assert.equal(error.response.data.errors, [ + { resource: "Label", code: "invalid", field: "color" }, + ]); + }); +}); + +test("redacts credentials from error.request.headers.authorization", () => { + const mock = fetchMock.sandbox().get("https://api.github.com/", { + status: 500, + }); + + return request("/", { + headers: { + authorization: "token secret123", + }, + request: { + fetch: mock, + }, + }).catch((error) => { + assert.equal(error.request.headers.authorization, "token [REDACTED]"); + }); +}); + +test("redacts credentials from error.request.url", () => { + const mock = fetchMock + .sandbox() + .get("https://api.github.com/?client_id=123&client_secret=secret123", { + status: 500, + }); + + return request("/", { + client_id: "123", + client_secret: "secret123", + request: { + fetch: mock, + }, + }).catch((error) => { + assert.equal( + error.request.url, + "https://api.github.com/?client_id=123&client_secret=[REDACTED]" + ); + }); +}); +test("Just URL", () => { + const mock = fetchMock.sandbox().get("path:/", 200); + + return request("/", { + request: { + fetch: mock, + }, + }).then(({ status }) => { + assert.equal(status, 200); + }); +}); + +test("options.request.signal is passed as option to fetch", function () { + return request("/", { + request: { + // We pass a value that is not an `AbortSignal`, and expect `fetch` to + // throw an exception complaining about the value + signal: "funk", + }, + }) + .then(() => { + throw new Error("Should not resolve"); + }) + + .catch((error) => { + // We can't match on the entire string because the message differs between + // Node versions. + assert.match(error.message, /AbortSignal/); + }); +}); + +test("options.request.fetch", function () { + return request("/", { + request: { + fetch: () => + Promise.resolve({ + status: 200, + headers: new Headers({ + "Content-Type": "application/json; charset=utf-8", + }), + url: "http://api.github.com/", + json() { + return Promise.resolve("funk"); + }, + }), + }, + }).then((result) => { + assert.equal(result.data, "funk"); + }); +}); + +test("options.request.hook", function () { + const mock = fetchMock.sandbox().mock( + "https://api.github.com/foo", + { ok: true }, + { + headers: { + "x-foo": "bar", + }, + } + ); + + const hook = (request, options) => { + assert.instance(request.endpoint, Function); + assert.instance(request.defaults, Function); + assert.equal(options, { + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent, + }, + mediaType: { + format: "", + previews: [], + }, + method: "GET", + request: { + fetch: mock, + hook: hook, + }, + url: "/", + }); + + return request("/foo", { + headers: { + "x-foo": "bar", + }, + request: { + fetch: mock, + }, + }); + }; + + return request("/", { + request: { + fetch: mock, + hook, + }, + }).then((result) => { + assert.equal(result.data, { ok: true }); + }); +}); + +test("options.mediaType.format", function () { + const mock = fetchMock + .sandbox() + .mock("https://api.github.com/repos/octokit/request.js/issues/1", "ok", { + headers: { + accept: "application/vnd.github.v3.raw+json", + authorization: "token 0000000000000000000000000000000000000001", + "user-agent": userAgent, + }, + }); + + return request("GET /repos/{owner}/{repo}/issues/{number}", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + mediaType: { + format: "raw+json", + }, + owner: "octokit", + repo: "request.js", + number: 1, + request: { + fetch: mock, + }, + }).then((response) => { + assert.equal(response.data, "ok"); + }); +}); + +test("options.mediaType.previews", function () { + const mock = fetchMock + .sandbox() + .mock("https://api.github.com/repos/octokit/request.js/issues/1", "ok", { + headers: { + accept: + "application/vnd.github.foo-preview+json,application/vnd.github.bar-preview+json", + authorization: "token 0000000000000000000000000000000000000001", + "user-agent": userAgent, + }, + }); + + return request("GET /repos/{owner}/{repo}/issues/{number}", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + mediaType: { + previews: ["foo", "bar"], + }, + owner: "octokit", + repo: "request.js", + number: 1, + request: { + fetch: mock, + }, + }).then((response) => { + assert.equal(response.data, "ok"); + }); +}); + +test("octokit/octokit.js#1497", function () { + const mock = fetchMock.sandbox().mock( + "https://request-errors-test.com/repos/gr2m/sandbox/branches/gr2m-patch-1/protection", + { + status: 400, + body: { + message: "Validation failed", + errors: [ + "Only organization repositories can have users and team restrictions", + { resource: "Search", field: "q", code: "invalid" }, + ], + documentation_url: + "https://developer.github.com/v3/repos/branches/#update-branch-protection", + }, + }, + { + method: "PUT", + headers: { + accept: "application/vnd.github.luke-cage-preview+json", + authorization: "token secret123", + }, + } + ); + + return request("PUT /repos/{owner}/{repo}/branches/{branch}/protection", { + baseUrl: "https://request-errors-test.com", + mediaType: { previews: ["luke-cage"] }, + headers: { + authorization: "token secret123", + }, + owner: "gr2m", + repo: "sandbox", + branch: "gr2m-patch-1", + required_status_checks: { strict: true, contexts: ["wip"] }, + enforce_admins: true, + required_pull_request_reviews: { + required_approving_review_count: 1, + dismiss_stale_reviews: true, + require_code_owner_reviews: true, + dismissal_restrictions: { users: [], teams: [] }, + }, + restrictions: { users: [], teams: [] }, + request: { + fetch: mock, + }, + }) + .then(() => { + fail("This should return error."); + }) + .catch((error) => { + assert.ok( + "message" in error, + `Validation failed: "Only organization repositories can have users and team restrictions", {"resource":"Search","field":"q","code":"invalid"}` + ); + }); +}); + +test("logs deprecation warning if `deprecation` header is present", function () { + const mock = fetchMock.sandbox().mock( + "https://api.github.com/teams/123", + { + body: { + id: 123, + }, + headers: { + deprecation: "Sat, 01 Feb 2020 00:00:00 GMT", + sunset: "Mon, 01 Feb 2021 00:00:00 GMT", + link: '; rel="deprecation"; type="text/html", ; rel="alternate"', + }, + }, + { + headers: { + accept: "application/vnd.github.v3+json", + authorization: "token 0000000000000000000000000000000000000001", + "user-agent": userAgent, + }, + } + ); + + const warn = sinon.spy(); + + return request("GET /teams/{team_id}", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + team_id: 123, + request: { fetch: mock, log: { warn } }, + }).then((response) => { + assert.equal(response.data, { id: 123 }); + assert.equal(warn.calledOnce, true); + assert.ok( + warn.calledWith( + '[@octokit/request] "GET https://api.github.com/teams/123" is deprecated. It is scheduled to be removed on Mon, 01 Feb 2021 00:00:00 GMT. See https://developer.github.com/changes/2020-01-21-moving-the-team-api-endpoints/' + ) + ); + }); +}); + +test("deprecation header without deprecation link", function () { + const mock = fetchMock.sandbox().mock( + "https://api.github.com/teams/123", + { + body: { + id: 123, + }, + headers: { + deprecation: "Sat, 01 Feb 2020 00:00:00 GMT", + sunset: "Mon, 01 Feb 2021 00:00:00 GMT", + }, + }, + { + headers: { + accept: "application/vnd.github.v3+json", + authorization: "token 0000000000000000000000000000000000000001", + "user-agent": userAgent, + }, + } + ); + + const warn = sinon.spy(); + + return request("GET /teams/{team_id}", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + team_id: 123, + request: { fetch: mock, log: { warn } }, + }).then((response) => { + assert.equal(response.data, { id: 123 }); + assert.equal(warn.calledOnce, true); + assert.ok( + warn.calledWith( + '[@octokit/request] "GET https://api.github.com/teams/123" is deprecated. It is scheduled to be removed on Mon, 01 Feb 2021 00:00:00 GMT' + ) + ); + }); +}); + +test("404 not found", () => { + const mock = fetchMock + .sandbox() + .get("https://api.github.com/repos/octocat/unknown", { + status: 404, + headers: {}, + body: { + message: "Not Found", + documentation_url: + "https://docs.github.com/en/rest/reference/repos#get-a-repository", + }, + }); + + return request("GET /repos/octocat/unknown", { + request: { + fetch: mock, + }, + }).catch((error) => { + assert.equal(error.status, 404); + assert.equal(error.response.data.message, "Not Found"); + assert.equal( + error.response.data.documentation_url, + "https://docs.github.com/en/rest/reference/repos#get-a-repository" + ); + }); +}); + +test("Request timeout", () => { + const delay = (millis = 3000) => { + return new Promise((resolve) => { + setTimeout(resolve, millis); + }); + }; + + const mock = (url, options) => { + assert.equal(url, "https://api.github.com/"); + assert.equal(options.timeout, 100); + return delay().then(() => { + return { + status: 200, + headers: {}, + body: { + message: "OK", + }, + }; + }); + }; + + return request("GET /", { + request: { + timeout: 100, + fetch: mock, + }, + }) + .then((response) => { + throw new Error("should not resolve"); + }) + .catch((error) => { + assert.equal(error.name, "HttpError"); + assert.equal(error.status, 500); + }); +}); + +test("validate request with readstream data", () => { + const currentFilePath = url.fileURLToPath(import.meta.url); + const size = fs.statSync(currentFilePath).size; + const mock = fetchMock + .sandbox() + .post( + "https://api.github.com/repos/octokit-fixture-org/release-assets/releases/v1.0.0/assets", + { + status: 200, + } + ); + + return request("POST /repos/{owner}/{repo}/releases/{release_id}/assets", { + owner: "octokit-fixture-org", + repo: "release-assets", + release_id: "v1.0.0", + request: { + fetch: mock, + }, + headers: { + "content-type": "text/json", + "content-length": size, + }, + data: fs.createReadStream(currentFilePath), + name: "test-upload.txt", + label: "test", + }).then((response) => { + assert.equal(response.status, 200); + assert.instance(mock.lastOptions()?.body, stream.Readable); + assert.ok(mock.done()); + }); +}); + +test("validate request with data set to Buffer type", () => { + const mock = fetchMock + .sandbox() + .post( + "https://api.github.com/repos/octokit-fixture-org/release-assets/releases/tags/v1.0.0", + { + status: 200, + } + ); + + return request("POST /repos/{owner}/{repo}/releases/tags/{tag}", { + owner: "octokit-fixture-org", + repo: "release-assets", + tag: "v1.0.0", + request: { + fetch: mock, + }, + headers: { + "content-type": "text/plain", + }, + data: Buffer.from("Hello, world!\n"), + name: "test-upload.txt", + label: "test", + }).then((response) => { + assert.equal(response.status, 200); + assert.equal(mock.lastOptions()?.body, Buffer.from("Hello, world!\n")); + assert.ok(mock.done()); + }); +}); + +test("validate request with data set to ArrayBuffer type", () => { + const mock = fetchMock + .sandbox() + .post( + "https://api.github.com/repos/octokit-fixture-org/release-assets/releases/tags/v1.0.0", + { + status: 200, + } + ); + + return request("POST /repos/{owner}/{repo}/releases/tags/{tag}", { + owner: "octokit-fixture-org", + repo: "release-assets", + tag: "v1.0.0", + request: { + fetch: mock, + }, + headers: { + "content-type": "text/plain", + }, + data: stringToArrayBuffer("Hello, world!\n"), + name: "test-upload.txt", + label: "test", + }).then((response) => { + assert.equal(response.status, 200); + assert.equal( + mock.lastOptions()?.body, + stringToArrayBuffer("Hello, world!\n") + ); + assert.ok(mock.done()); + }); +}); + +test("bubbles up AbortError if the request is aborted", () => { + // AbortSignal and AbortController do not exist on + // Node < 15. The main parts of their API have been + // reproduced in the mocks below. + class AbortSignal { + abort = () => { + const e = new Error(""); + e.name = "AbortError"; + throw e; + }; + + addEventListener = () => {}; + } + + class AbortController { + abort = () => { + this.signal.abort(); + }; + signal = new AbortSignal(); + } + const abortController = new AbortController(); + const mock = fetchMock.sandbox().post( + "https://api.github.com/repos/octokit-fixture-org/release-assets/releases/tags/v1.0.0", + new Promise(() => { + abortController.abort(); + }) + ); + + return request("POST /repos/{owner}/{repo}/releases/tags/{tag}", { + owner: "octokit-fixture-org", + repo: "release-assets", + tag: "v1.0.0", + request: { + fetch: mock, + signal: abortController.signal, + }, + headers: { + "content-type": "text/plain", + }, + data: stringToArrayBuffer("Hello, world!\n"), + name: "test-upload.txt", + label: "test", + }).catch((error) => { + assert.equal(error.name, "AbortError"); + }); +}); + +test.run(); diff --git a/node_modules/@octokit-next/request/version.js b/node_modules/@octokit-next/request/version.js new file mode 100644 index 0000000..86383b1 --- /dev/null +++ b/node_modules/@octokit-next/request/version.js @@ -0,0 +1 @@ +export const VERSION = "0.0.0-development"; diff --git a/node_modules/@octokit-next/request/with-defaults.js b/node_modules/@octokit-next/request/with-defaults.js new file mode 100644 index 0000000..03838fb --- /dev/null +++ b/node_modules/@octokit-next/request/with-defaults.js @@ -0,0 +1,28 @@ +import fetchWrapper from "./fetch-wrapper.js"; + +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-next/types/README.md b/node_modules/@octokit-next/types/README.md new file mode 100644 index 0000000..19c0628 --- /dev/null +++ b/node_modules/@octokit-next/types/README.md @@ -0,0 +1,7 @@ +# `@octokit-next/types` + +> Shared TypeScript definitions for upcoming Octokit SDK + +🚫⚠️ This package is part of an experimental Octokit SDK for testing purpose only - DO NOT USE + +[learn more](https://github.com/octokit/octokit-next.js) diff --git a/node_modules/@octokit-next/types/endpoint.d.ts b/node_modules/@octokit-next/types/endpoint.d.ts new file mode 100644 index 0000000..6745ad0 --- /dev/null +++ b/node_modules/@octokit-next/types/endpoint.d.ts @@ -0,0 +1,125 @@ +import { Octokit } from "./index.js"; +import { + ArgumentsTypesForRoute, + VersionsByRoute, + AllKnownRoutes, + ParametersByVersionAndRoute, + RequestByVersionAndRoute, +} from "./utils"; + +export type KnownEndpointParameters< + TVersion extends keyof Octokit.ApiVersions = "github.com" +> = { request?: Octokit.RequestOptions } & Partial< + Omit +>; + +export type GLOBAL_DEFAULTS = { + method: "GET"; + baseUrl: "https://api.github.com"; + headers: { + accept: "application/vnd.github.v3+json"; + "user-agent": string; + }; + mediaType: { + format: ""; + previews: []; + }; +}; + +/** + * The `EndpointInterface` is used for both the standalone `@octokit-next/endpoint` module + * as well as `@octokit-next/core`'s `.endpoint()` method. + * + * It has 3 overrides + * + * 1. When passing `{ request: { version }}` as part of the parameters, the passed version + * is used as a base for the types of the remaining parameters and the response + * 2. When a known route is passed, the types for the parameters and the response are + * derived from the version passed in `EndpointInterface`, which defaults to `"github.com"` + * 3. When no endpoint types are imported, then any route with any parameters can be passed in, and the response is unknown. + */ +export interface EndpointInterface< + TVersion extends keyof Octokit.ApiVersions = "github.com", + TDefaults extends KnownEndpointParameters = GLOBAL_DEFAULTS +> { + /** + * Send a request to a known endpoint for the version specified in `request.version`. + * + * @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, + options: { + request: { + version: RVersion; + }; + } & (Route extends keyof ParametersByVersionAndRoute[RVersion] + ? ParametersByVersionAndRoute[RVersion][Route] + : never) + ): Route extends keyof RequestByVersionAndRoute[RVersion] + ? RequestByVersionAndRoute[RVersion][Route] + : never; + + /** + * Send a request to a known endpoint + * + * @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`. + */ + ( + ...options: ArgumentsTypesForRoute< + Route, + // if given route is supported by current version + TVersion extends keyof ParametersByVersionAndRoute + ? // then set parameter types based on version and route + Route extends keyof ParametersByVersionAndRoute[TVersion] + ? ParametersByVersionAndRoute[TVersion][Route] + : // otherwise set parameter types to { request: { version } } where + // version must be set to one of the supported versions for the route. + // Once that happened, the above override will take over and require + // the types for the remaining options. + { + request: { + version: VersionsByRoute[Route]; + }; + } + : never + > + ): Route extends keyof RequestByVersionAndRoute[TVersion] + ? RequestByVersionAndRoute[TVersion][Route] + : never; + + /** + * It looks like you haven't imported any `@octokit-next/types-rest-api*` packages yet. + * You are missing out! + * + * Install `@octokit-next/types-rest-api` and import the types to give it a try. + * Learn more at https://github.com/octokit/types-rest-api.ts + * + * @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`. + */ + ( + ...options: keyof Octokit.Endpoints extends never + ? [Route, Record?] + : [] + ): Octokit.EndpointOptions; + + /** + * Override or set default options + * + * @todo implement inheriting the request version and .DEFAULTS from the options passed + */ + defaults>( + options: TOptions + ): EndpointInterface & TOptions>; + + /** + * The current default options + * + * @todo should have proper default values such as `https://api.github.com` and `GET` + * and should be merged when set by `withDefaults()` + */ + DEFAULTS: TDefaults; +} diff --git a/node_modules/@octokit-next/types/index.d.ts b/node_modules/@octokit-next/types/index.d.ts new file mode 100644 index 0000000..30b2f81 --- /dev/null +++ b/node_modules/@octokit-next/types/index.d.ts @@ -0,0 +1,543 @@ +export { EndpointInterface, KnownEndpointParameters } from "./endpoint"; +import { RequestInterface } from "./request"; +export { RequestInterface } from "./request"; + +interface AuthStrategyInterface { + (options?: any): AuthInterface; +} +interface AuthInterface { + (options?: any): Promise; +} + +type AuthStrategyAndOptions< + AuthStrategy extends AuthStrategyInterface | undefined = undefined +> = AuthStrategy extends undefined + ? { auth?: string } + : AuthStrategy extends AuthStrategyInterface + ? { + authStrategy: AuthStrategy; + auth: Parameters[0]; + } + : never; + +/** + * Global Octokit interfaces that can be extended as needed. + */ +export namespace Octokit { + interface Options< + TVersion extends keyof Octokit.ApiVersions = "github.com", + TAuthStrategy extends AuthStrategyInterface | undefined = undefined + > { + /** + * API version. Defaults to `"github.com"`. + * + * In order to set it a GitHub Enterprise Version such as "ghes-3.1", + * install the according `@octokit-next/types-rest-api-ghes-*` package, + * such as `@octokit-next/types-rest-api-ghes-3.1`. + */ + version?: TVersion; + + /** + * GitHub's REST API base URL. Defaults to https://api.github.com + * + * TODO: make it a required option if TVersion != "github.com" + */ + baseUrl?: string; + + /** + * Custom User Agent String. Defaults to "octokit-next/[version]" + * + * @example "my-app/1.2.3" + */ + userAgent?: string; + + /** + * Auth strategy function + * + * @see https://github.com/octokit/auth.js + */ + authStrategy?: TAuthStrategy; + + /** + * Auth strategy options. Can be set to an access token. If `authStrategy` + * option is set, the auth option must be set to the authentication strategy options. + */ + auth?: TAuthStrategy extends undefined + ? string + : TAuthStrategy extends AuthStrategyInterface + ? Parameters[0] + : never; + + /** + * Request options passed as default `{ request }` options to every request. + */ + request?: RequestOptions; + } + + type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; + + /** + * Generic request options as they are returned by the `endpoint()` method + */ + interface EndpointOptions { + method: RequestMethod; + url: string; + headers: RequestHeaders; + baseUrl?: string; + mediaType?: { + previews?: string[]; + format?: string; + }; + data?: unknown; + request?: RequestOptions; + } + + interface RequestOptions< + TVersion extends keyof Octokit.ApiVersions = "github.com" + > { + /** + * Override API version on a per-request basis. + */ + version?: TVersion; + + /** + * Custom replacement for built-in fetch method. Useful for testing or request hooks. + */ + fetch?: (resource: unknown, init?: unknown) => Promise; + + /** + * Node only. Useful for custom proxy, certificate, or dns lookup. + * + * @see https://nodejs.org/api/http.html#http_class_http_agent + */ + agent?: unknown; + + /** + * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. + */ + signal?: unknown; + + /** + * 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]: unknown; + } + + interface RequestHeaders { + /** + * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option instead. + */ + accept?: string; + /** + * `user-agent` is set do a default and can be overwritten as needed. + */ + "user-agent"?: string; + /** + * Use `authorization` to send authenticated request, remember `token ` / `bearer ` prefixes. Example: `token 1234567890abcdef1234567890abcdef12345678` + */ + authorization?: string; + + [header: string]: string | number | undefined; + } + + interface ResponseHeaders { + "cache-control": string; + "content-length": number; + "content-type": string; + date: string; + etag: string; + "last-modified"?: string; + link?: string; + location?: string; + server: 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; + } + + interface Response< + TData, + TStatus extends number, + TResponseHeaders = Octokit.ResponseHeaders + > { + headers: TResponseHeaders; + /** + * http response code + */ + status: TStatus; + /** + * URL of response after all redirects + */ + url: string; + /** + * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference + */ + data: TData; + } + + /** + * Extendable interface for all of GitHub's REST API endpoints. + * + * Do not extend this interface in order to use it with GitHub Enterprise Server or AE. Extend ApiVersions[version] instead. + * + * @example + * + * ```ts + * "GET /": { + * parameters: {}; + * request: { + * method: "GET"; + * url: "/"; + * headers: Octokit.RequestHeaders; + * request: Octokit.RequestOptions; + * }; + * response: Octokit.Response< + * { + * current_user_url: string; + * current_user_authorizations_html_url: string; + * authorizations_url: string; + * code_search_url: string; + * commit_search_url: string; + * emails_url: string; + * emojis_url: string; + * events_url: string; + * feeds_url: string; + * followers_url: string; + * following_url: string; + * gists_url: string; + * hub_url: string; + * issue_search_url: string; + * issues_url: string; + * keys_url: string; + * label_search_url: string; + * notifications_url: string; + * organization_url: string; + * organization_repositories_url: string; + * organization_teams_url: string; + * public_gists_url: string; + * rate_limit_url: string; + * repository_url: string; + * repository_search_url: string; + * current_user_repositories_url: string; + * starred_url: string; + * starred_gists_url: string; + * topic_search_url?: string; + * user_url: string; + * user_organizations_url: string; + * user_repositories_url: string; + * user_search_url: string; + * }, + * 200 + * >; + * }; + * ``` + */ + interface Endpoints {} + + /** + * The API Versions interface is meant with types for the target platform. + * Each key must export an object with `ResponseHeaders` and `Endpoints`. + * GitHub Enterprise Server (GHES) versions may build upon each other. + * + * For example, if the latest GHES version is 3.1, then it should define + * all resopnse headers and endpoints that are only available to GHES and + * set all endpoints and response keys that don't exist on GHES to never + * with an explanatory comment. + * + * GHES 3.0 can then inherit the types from GHES 3.1 and implement the changes, etc. + * + * The types for the target platform-specific APIs can become quite big and will + * most likely live in their own packages. + */ + interface ApiVersions { + "github.com": { + ResponseHeaders: Octokit.ResponseHeaders; + RequestHeaders: Octokit.RequestHeaders; + Endpoints: Octokit.Endpoints; + }; + } +} + +export declare class Octokit< + TVersion extends keyof Octokit.ApiVersions = "github.com", + TAuthStrategy extends AuthStrategyInterface | undefined = undefined, + TOptions extends Octokit.Options = Octokit.Options< + TVersion, + TAuthStrategy + > +> { + /** + * Pass one or multiple plugin functions to extend the `Octokit` class. + * The instance of the new class will be extended with any keys returned by the passed plugins. + * Pass one argument per plugin function. + * + * ```js + * export function helloWorld() { + * return { + * helloWorld () { + * console.log('Hello world!'); + * } + * }; + * } + * + * const MyOctokit = Octokit.withPlugins([helloWorld]); + * const base = new MyOctokit(); + * base.helloWorld(); // `base.helloWorld` is typed as function + * ``` + */ + static withPlugins< + Class extends ClassWithPlugins, + Plugins extends [Plugin, ...Plugin[]] + >( + this: Class, + plugins: Plugins + ): Class & { + plugins: [...Class["plugins"], ...Plugins]; + } & Constructor>>; + + /** + * Set defaults for the constructor + * + * ```js + * const MyOctokit = Octokit.withDefaults({ version: '1.0.0', otherDefault: 'value' }); + * const base = new MyOctokit({ option: 'value' }); // `version` option is not required + * base.options // typed as `{ version: string, otherDefault: string, option: string }` + * ``` + * @remarks + * Ideally, we would want to make this infinitely recursive: allowing any number of + * .withDefaults({ ... }).withDefaults({ ... }).withDefaults({ ... }).withDefaults({ ... })... + * However, we don't see a clean way in today's TypeScript syntax to do so. + * We instead artificially limit accurate type inference to just three levels, + * since users are unlikely to go past that. + * @see https://github.com/gr2m/javascript-plugin-architecture-with-typescript-definitions/pull/57 + */ + static withDefaults< + PredefinedOptionsOne extends Record, + ClassOne extends Constructor< + Octokit< + TVersion, + TAuthStrategy, + Octokit.Options & PredefinedOptionsOne + > + > & + ClassWithPlugins, + TVersion extends keyof Octokit.ApiVersions = "github.com", + TAuthStrategy extends AuthStrategyInterface | undefined = undefined + >( + this: ClassOne, + defaults: PredefinedOptionsOne & { + version?: TVersion; + authStrategy?: TAuthStrategy; + } + ): ConstructorRequiringOptionsIfNeeded & { + withDefaults( + this: ClassTwo, + defaults: PredefinedOptionsTwo & { + version?: TVersion; + authStrategy?: TAuthStrategy; + } + ): ConstructorRequiringOptionsIfNeeded< + ClassOne & ClassTwo, + PredefinedOptionsOne & PredefinedOptionsTwo + > & { + withDefaults( + this: ClassThree, + defaults: PredefinedOptionsThree & { + version?: TVersion; + authStrategy?: TAuthStrategy; + } + ): ConstructorRequiringOptionsIfNeeded< + ClassOne & ClassTwo & ClassThree, + PredefinedOptionsOne & PredefinedOptionsTwo & PredefinedOptionsThree + > & + ClassOne & + ClassTwo & + ClassThree; + } & ClassOne & + ClassTwo; + } & ClassOne; + + /** + * List of plugins that will be applied to all instances + */ + static plugins: Plugin[]; + + /** + * Default options that will be applied to all instances + */ + static defaults: { + baseUrl: string; + }; + + /** + * Constructor with optional `authStrategy`. + */ + constructor( + ...options: NonOptionalKeys extends undefined + ? // If `authStrategy` is not set, + // `options.auth` can be set to an access token string in order + // to authenticate requests. + [ + ({ version?: TVersion } & AuthStrategyAndOptions & + TOptions)? + ] + : // If `authStrategy` is set, `options.auth` must be + // set to whatever options the `authStrategy` expects. + [ + { version?: TVersion } & AuthStrategyAndOptions & + TOptions + ] + ); + + /** + * Options passed to the constructor combined with the constructor defaults + */ + options: TOptions; + + /** + * Send a request, with type support for GitHub's REST API. + */ + request: RequestInterface; +} + +/** + * Extend `Octokit` or a derived class with custom defaults and plugins + * + * @example + * + * ```ts + * export const MyOctokit: ExtendOctokitWith< + * Octokit, + * { + * defaults: { + * myPluginOption: string; + * }; + * plugins: [typeof myPlugin]; + * } + * >; + * + * // support import to be used as a class instance type + * export type MyOctokit = typeof MyOctokit; + * ``` + */ +export type ExtendOctokitWith< + OctokitClass extends AbstractOctokit, + OctokitExtensions extends Extensions +> = OctokitClass & + ConstructorRequiringOptionsIfNeeded< + OctokitClass & ApplyPlugins, + OrObject, + OctokitClass["options"]["version"] + > & + ApplyPlugins & { + defaults: OrObject; + }; + +export declare type Plugin = ( + instance: Octokit, + options: Octokit.Options +) => ApiExtension | void; + +declare type ApiExtension = { + [key: string]: unknown; +}; + +// helpers + +declare type Constructor = new (...args: any[]) => T; + +/** + * @author https://stackoverflow.com/users/2887218/jcalz + * @see https://stackoverflow.com/a/50375286/10325032 + */ +declare type UnionToIntersection = ( + Union extends any ? (argument: Union) => void : never +) extends (argument: infer Intersection) => void + ? Intersection + : never; +declare type AnyFunction = (...args: any) => any; +declare type ReturnTypeOf = + T extends AnyFunction + ? ReturnType + : T extends AnyFunction[] + ? UnionToIntersection, void>> + : never; + +type ClassWithPlugins = Constructor & { + plugins: Plugin[]; +}; + +type RemainingRequirements< + PredefinedOptions extends { version?: keyof Octokit.ApiVersions } +> = "authStrategy" extends keyof PredefinedOptions + ? // if authStrategy is set and it's a valid auth strategy + PredefinedOptions["authStrategy"] extends AuthStrategyInterface + ? // then `options.auth` is required to be set to the strategy options + { + auth: Parameters[0]; + } & Omit + : // otherwise return all keys from `Octokit.Options` that are not set in `defaults.*` + Omit + : Omit; + +type NonOptionalKeys = { + [K in keyof Obj]: {} extends Pick ? undefined : K; +}[keyof Obj]; + +type RequiredIfRemaining< + PredefinedOptions extends { version?: keyof Octokit.ApiVersions }, + NowProvided, + TRemainingRequirements = RemainingRequirements +> = NonOptionalKeys extends undefined + ? [(Partial & NowProvided)?] + : [ + Omit< + Partial, + keyof RemainingRequirements + // | keyof NonOptionalKeys + > & + RemainingRequirements & + NowProvided + ]; + +type ConstructorRequiringOptionsIfNeeded< + Class, + PredefinedOptions extends { version?: keyof Octokit.ApiVersions }, + TVersion extends keyof Octokit.ApiVersions = PredefinedOptions["version"] extends keyof Octokit.ApiVersions + ? PredefinedOptions["version"] + : "github.com" +> = { + defaults: PredefinedOptions; +} & { + new ( + ...options: RequiredIfRemaining + ): Class & { + options: NowProvided & Omit; + request: RequestInterface; + }; +}; + +type Extensions = { + defaults?: {}; + plugins?: Plugin[]; +}; + +type OrObject = T extends Extender ? {} : T; + +type ApplyPlugins = + Plugins extends Plugin[] + ? UnionToIntersection> + : {}; + +declare class AbstractOctokit { + constructor(options: any); + options: any; +} diff --git a/node_modules/@octokit-next/types/package.json b/node_modules/@octokit-next/types/package.json new file mode 100644 index 0000000..56d3571 --- /dev/null +++ b/node_modules/@octokit-next/types/package.json @@ -0,0 +1,18 @@ +{ + "name": "@octokit-next/types", + "publishConfig": { + "access": "public" + }, + "type": "module", + "version": "2.3.0", + "description": "Shared TypeScript definitions for upcoming Octokit SDK", + "types": "./index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/octokit/octokit-next.js.git", + "directory": "packages/types" + }, + "homepage": "https://github.com/octokit/octokit-next.js/tree/main/packages/types#readme", + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT" +} diff --git a/node_modules/@octokit-next/types/request.d.ts b/node_modules/@octokit-next/types/request.d.ts new file mode 100644 index 0000000..275d084 --- /dev/null +++ b/node_modules/@octokit-next/types/request.d.ts @@ -0,0 +1,128 @@ +import { Octokit } from "./index.js"; +import { + KnownEndpointParameters, + GLOBAL_DEFAULTS, + EndpointInterface, +} from "./endpoint.js"; + +import { + ArgumentsTypesForRoute, + VersionsByRoute, + AllKnownRoutes, + ParametersByVersionAndRoute, + ResponseByVersionAndRoute, +} from "./utils"; + +type UnknownResponse = { + /** + * http response headers + */ + headers: Record; + /** + * http response code + */ + status: number; + /** + * URL of response after all redirects + */ + url: string; + /** + * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference + */ + data: unknown; +}; + +/** + * The `RequestInterface` is used for both the standalone `@octokit-next/request` module + * as well as `@octokit-next/core`'s `.request()` method. + * + * It has 3 overrides + * + * 1. When passing `{ request: { version }}` as part of the parameters, the passed version + * is used as a base for the types of the remaining parameters and the response + * 2. When a known route is passed, the types for the parameters and the response are + * derived from the version passed in `RequestInterface`, which defaults to `"github.com"` + * 3. When no endpoint types are imported, then any route with any parameters can be passed in, and the response is unknown. + */ +export interface RequestInterface< + TVersion extends keyof Octokit.ApiVersions = "github.com", + TDefaults extends KnownEndpointParameters = GLOBAL_DEFAULTS +> { + /** + * Send a request to a known endpoint for the version specified in `request.version`. + * + * @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, + options: { + request: { + version: RVersion; + }; + } & (Route extends keyof ParametersByVersionAndRoute[RVersion] + ? ParametersByVersionAndRoute[RVersion][Route] + : never) + ): Route extends keyof ResponseByVersionAndRoute[RVersion] + ? Promise + : never; + + /** + * Send a request to a known endpoint + * + * @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`. + */ + ( + ...options: ArgumentsTypesForRoute< + Route, + // if given route is supported by current version + TVersion extends keyof ParametersByVersionAndRoute + ? // then set parameter types based on version and route + Route extends keyof ParametersByVersionAndRoute[TVersion] + ? ParametersByVersionAndRoute[TVersion][Route] + : // otherwise set parameter types to { request: { version } } where + // version must be set to one of the supported versions for the route. + // Once that happened, the above override will take over and require + // the types for the remaining options. + { + request: { + version: VersionsByRoute[Route]; + }; + } + : never + > + ): Route extends keyof ResponseByVersionAndRoute[TVersion] + ? Promise + : never; + + /** + * It looks like you haven't imported any `@octokit-next/types-rest-api*` packages yet. + * You are missing out! + * + * Install `@octokit-next/types-rest-api` and import the types to give it a try. + * Learn more at https://github.com/octokit/types-rest-api.ts + * + * @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`. + */ + ( + ...options: keyof Octokit.Endpoints extends never + ? [Route, Record?] + : [] + ): Promise; + + /** + * Override or set default options + * + * @todo implement inheriting the request version and .DEFAULTS from the options passed + */ + defaults>( + options: TOptions + ): RequestInterface & TOptions>; + + /** + * + */ + endpoint: EndpointInterface; +} diff --git a/node_modules/@octokit-next/types/utils.d.ts b/node_modules/@octokit-next/types/utils.d.ts new file mode 100644 index 0000000..3087443 --- /dev/null +++ b/node_modules/@octokit-next/types/utils.d.ts @@ -0,0 +1,158 @@ +import { SetRequired } from "type-fest"; + +import { Octokit } from "./index.js"; + +/** + * optimized type to lookup all known routes and the versions they are supported in. + * + * @example + * + * ```ts + * // import REST API types for github.com, GHES 3.2 and GHES 3.1 + * import "@octokit-next/types-rest-api-ghes-3.1"; + * ``` + * + * The `Octokit.ApiVersions` interface is now looking like this (simplified) + * + * ```ts + * { + * "github.com": { "GET /": { … } }, + * "ghes-3.1": { "GET /": { … }, "GET /admin/tokens": { … } }, + * "ghes-3.2": { "GET /": { … }, "GET /admin/tokens": { … } } + * } + * ``` + * + * The `VersionsByRoute` as a result looks like this + * + * ```ts + * { + * "GET /": "github.com" | "ghes-3.1" | "ghes-3.2", + * "GET /admin/tokens": "ghes-3.1" | "ghes-3.2" + * } + * ``` + */ +export type VersionsByRoute = Remap; + +// types to improve performance of type lookups + +/** + * All known routes across all defined API versions for fast lookup + */ +export type AllKnownRoutes = keyof VersionsByRoute; + +/** + * turn + * + * ```ts + * { [version]: { Endpoints: { [route]: Endpoint } } } + * ``` + * + * into + * + * ```ts + * { [version]: { [route]: Endpoint } } + * ``` + */ +export type EndpointsByVersion = { + [Version in keyof Octokit.ApiVersions]: "Endpoints" extends keyof Octokit.ApiVersions[Version] + ? Octokit.ApiVersions[Version]["Endpoints"] + : never; +}; + +/** + * turn + * + * ```ts + * { [version]: { [route]: { parameters: Parameters } } } + * ``` + * + * into + * + * ```ts + * { [version]: { [route]: Parameters } } + * ``` + */ +export type ParametersByVersionAndRoute = { + [Version in keyof EndpointsByVersion]: { + [Route in keyof EndpointsByVersion[Version]]: "parameters" extends keyof EndpointsByVersion[Version][Route] + ? EndpointsByVersion[Version][Route]["parameters"] & { + headers?: Octokit.RequestHeaders; + } + : never; + }; +}; + +/** + * turn + * + * ```ts + * { [version]: { [route]: { request: Request } } } + * ``` + * + * into + * + * ```ts + * { [version]: { [route]: Request } } + * ``` + */ +export type RequestByVersionAndRoute = { + [Version in keyof EndpointsByVersion]: { + [Route in keyof EndpointsByVersion[Version]]: "request" extends keyof EndpointsByVersion[Version][Route] + ? EndpointsByVersion[Version][Route]["request"] & { + headers: SetRequired; + } + : never; + }; +}; + +/** + * turn + * + * ```ts + * { [version]: { [route]: { response: Response } } } + * ``` + * + * into + * + * ```ts + * { [version]: { [route]: Response } } + * ``` + */ +export type ResponseByVersionAndRoute = { + [Version in keyof EndpointsByVersion]: { + [Route in keyof EndpointsByVersion[Version]]: "response" extends keyof EndpointsByVersion[Version][Route] + ? EndpointsByVersion[Version][Route]["response"] + : never; + }; +}; + +export type ArgumentsTypesForRoute< + Route extends string, + Parameters extends Record +> = NonOptionalKeys extends undefined + ? [Route, Parameters?] + : [Route, Parameters]; + +// helpers + +/** + * Generic type to remap + * + * ```ts + * { k1: { k2: v }} + * ``` + * + * ```ts + * { k2: k1[]} + * ``` + */ +type Remap = { + [P in keyof T as keyof T[P]]: P; +}; + +/** + * Generic to find out if an object type has any required keys + */ +type NonOptionalKeys = { + [K in keyof Obj]: {} extends Pick ? undefined : K; +}[keyof Obj]; diff --git a/node_modules/isobject/LICENSE b/node_modules/@octokit/auth-token/LICENSE similarity index 93% rename from node_modules/isobject/LICENSE rename to node_modules/@octokit/auth-token/LICENSE index 943e71d..ef2c18e 100644 --- a/node_modules/isobject/LICENSE +++ b/node_modules/@octokit/auth-token/LICENSE @@ -1,6 +1,6 @@ -The MIT License (MIT) +The MIT License -Copyright (c) 2014-2017, Jon Schlinkert. +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 @@ -18,4 +18,4 @@ 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 +THE SOFTWARE. diff --git a/node_modules/@octokit/auth-token/README.md b/node_modules/@octokit/auth-token/README.md new file mode 100644 index 0000000..a1f6d35 --- /dev/null +++ b/node_modules/@octokit/auth-token/README.md @@ -0,0 +1,290 @@ +# auth-token.js + +> GitHub API token authentication for browsers and Node.js + +[![@latest](https://img.shields.io/npm/v/@octokit/auth-token.svg)](https://www.npmjs.com/package/@octokit/auth-token) +[![Build Status](https://github.com/octokit/auth-token.js/workflows/Test/badge.svg)](https://github.com/octokit/auth-token.js/actions?query=workflow%3ATest) + +`@octokit/auth-token` is the simplest of [GitHub’s authentication strategies](https://github.com/octokit/auth.js). + +It is useful if you want to support multiple authentication strategies, as it’s API is compatible with its sibling packages for [basic](https://github.com/octokit/auth-basic.js), [GitHub App](https://github.com/octokit/auth-app.js) and [OAuth app](https://github.com/octokit/auth.js) authentication. + + + +- [Usage](#usage) +- [`createTokenAuth(token) options`](#createtokenauthtoken-options) +- [`auth()`](#auth) +- [Authentication object](#authentication-object) +- [`auth.hook(request, route, options)` or `auth.hook(request, options)`](#authhookrequest-route-options-or-authhookrequest-options) +- [Find more information](#find-more-information) + - [Find out what scopes are enabled for oauth tokens](#find-out-what-scopes-are-enabled-for-oauth-tokens) + - [Find out if token is a personal access token or if it belongs to an OAuth app](#find-out-if-token-is-a-personal-access-token-or-if-it-belongs-to-an-oauth-app) + - [Find out what permissions are enabled for a repository](#find-out-what-permissions-are-enabled-for-a-repository) + - [Use token for git operations](#use-token-for-git-operations) +- [License](#license) + + + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/auth-token` directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with npm install @octokit/auth-token + +```js +const { createTokenAuth } = require("@octokit/auth-token"); +// or: import { createTokenAuth } from "@octokit/auth-token"; +``` + +
+ +```js +const auth = createTokenAuth("ghp_PersonalAccessToken01245678900000000"); +const authentication = await auth(); +// { +// type: 'token', +// token: 'ghp_PersonalAccessToken01245678900000000', +// tokenType: 'oauth' +// } +``` + +## `createTokenAuth(token) options` + +The `createTokenAuth` method accepts a single argument of type string, which is the token. The passed token can be one of the following: + +- [Personal access token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line) +- [OAuth access token](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/) +- [GITHUB_TOKEN provided to GitHub Actions](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables) +- Installation access token ([server-to-server](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)) +- User authentication for installation ([user-to-server](https://docs.github.com/en/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)) + +Examples + +```js +// Personal access token or OAuth access token +createTokenAuth("ghp_PersonalAccessToken01245678900000000"); +// { +// type: 'token', +// token: 'ghp_PersonalAccessToken01245678900000000', +// tokenType: 'oauth' +// } + +// Installation access token or GitHub Action token +createTokenAuth("ghs_InstallallationOrActionToken00000000"); +// { +// type: 'token', +// token: 'ghs_InstallallationOrActionToken00000000', +// tokenType: 'installation' +// } + +// Installation access token or GitHub Action token +createTokenAuth("ghu_InstallationUserToServer000000000000"); +// { +// type: 'token', +// token: 'ghu_InstallationUserToServer000000000000', +// tokenType: 'user-to-server' +// } +``` + +## `auth()` + +The `auth()` method has no options. It returns a promise which resolves with the the authentication object. + +## Authentication object + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ type + + string + + "token" +
+ token + + string + + The provided token. +
+ tokenType + + string + + Can be either "oauth" for personal access tokens and OAuth tokens, "installation" for installation access tokens (includes GITHUB_TOKEN provided to GitHub Actions), "app" for a GitHub App JSON Web Token, or "user-to-server" for a user authentication token through an app installation. +
+ +## `auth.hook(request, route, options)` or `auth.hook(request, options)` + +`auth.hook()` hooks directly into the request life cycle. It authenticates the request using the provided token. + +The `request` option is an instance of [`@octokit/request`](https://github.com/octokit/request.js#readme). The `route`/`options` parameters are the same as for the [`request()` method](https://github.com/octokit/request.js#request). + +`auth.hook()` can be called directly to send an authenticated request + +```js +const { data: authorizations } = await auth.hook( + request, + "GET /authorizations" +); +``` + +Or it can be passed as option to [`request()`](https://github.com/octokit/request.js#request). + +```js +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { data: authorizations } = await requestWithAuth("GET /authorizations"); +``` + +## Find more information + +`auth()` does not send any requests, it only transforms the provided token string into an authentication object. + +Here is a list of things you can do to retrieve further information + +### Find out what scopes are enabled for oauth tokens + +Note that this does not work for installations. There is no way to retrieve permissions based on an installation access tokens. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /", { + headers: authentication.headers, +}); +const scopes = response.headers["x-oauth-scopes"].split(/,\s+/); + +if (scopes.length) { + console.log( + `"${TOKEN}" has ${scopes.length} scopes enabled: ${scopes.join(", ")}` + ); +} else { + console.log(`"${TOKEN}" has no scopes enabled`); +} +``` + +### Find out if token is a personal access token or if it belongs to an OAuth app + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /", { + headers: authentication.headers, +}); +const clientId = response.headers["x-oauth-client-id"]; + +if (clientId) { + console.log( + `"${token}" is an OAuth token, its app’s client_id is ${clientId}.` + ); +} else { + console.log(`"${token}" is a personal access token`); +} +``` + +### Find out what permissions are enabled for a repository + +Note that the `permissions` key is not set when authenticated using an installation access token. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("GET /repos/{owner}/{repo}", { + owner: 'octocat', + repo: 'hello-world' + headers: authentication.headers +}); + +console.log(response.data.permissions) +// { +// admin: true, +// push: true, +// pull: true +// } +``` + +### Use token for git operations + +Both OAuth and installation access tokens can be used for git operations. However, when using with an installation, [the token must be prefixed with `x-access-token`](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#http-based-git-access-by-an-installation). + +This example is using the [`execa`](https://github.com/sindresorhus/execa) package to run a `git push` command. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const { token, tokenType } = await auth(); +const tokenWithPrefix = + tokenType === "installation" ? `x-access-token:${token}` : token; + +const repositoryUrl = `https://${tokenWithPrefix}@github.com/octocat/hello-world.git`; + +const { stdout } = await execa("git", ["push", repositoryUrl]); +console.log(stdout); +``` + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/auth-token/dist-node/index.js b/node_modules/@octokit/auth-token/dist-node/index.js new file mode 100644 index 0000000..af0f0a6 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-node/index.js @@ -0,0 +1,55 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token: token, + tokenType + }; +} + +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; + +exports.createTokenAuth = createTokenAuth; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/auth-token/dist-node/index.js.map b/node_modules/@octokit/auth-token/dist-node/index.js.map new file mode 100644 index 0000000..af0c2e2 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nexport async function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) ||\n REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp\n ? \"app\"\n : isInstallation\n ? \"installation\"\n : isUserToServer\n ? \"user-to-server\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType,\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token),\n });\n};\n"],"names":["REGEX_IS_INSTALLATION_LEGACY","REGEX_IS_INSTALLATION","REGEX_IS_USER_TO_SERVER","auth","token","isApp","split","length","isInstallation","test","isUserToServer","tokenType","type","withAuthorizationPrefix","hook","request","route","parameters","endpoint","merge","headers","authorization","createTokenAuth","Error","replace","Object","assign","bind"],"mappings":";;;;AAAA,MAAMA,4BAA4B,GAAG,OAArC;AACA,MAAMC,qBAAqB,GAAG,OAA9B;AACA,MAAMC,uBAAuB,GAAG,OAAhC;AACO,eAAeC,IAAf,CAAoBC,KAApB,EAA2B;AAC9B,QAAMC,KAAK,GAAGD,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAA3C;AACA,QAAMC,cAAc,GAAGR,4BAA4B,CAACS,IAA7B,CAAkCL,KAAlC,KACnBH,qBAAqB,CAACQ,IAAtB,CAA2BL,KAA3B,CADJ;AAEA,QAAMM,cAAc,GAAGR,uBAAuB,CAACO,IAAxB,CAA6BL,KAA7B,CAAvB;AACA,QAAMO,SAAS,GAAGN,KAAK,GACjB,KADiB,GAEjBG,cAAc,GACV,cADU,GAEVE,cAAc,GACV,gBADU,GAEV,OANd;AAOA,SAAO;AACHE,IAAAA,IAAI,EAAE,OADH;AAEHR,IAAAA,KAAK,EAAEA,KAFJ;AAGHO,IAAAA;AAHG,GAAP;AAKH;;ACpBD;AACA;AACA;AACA;AACA;AACA,AAAO,SAASE,uBAAT,CAAiCT,KAAjC,EAAwC;AAC3C,MAAIA,KAAK,CAACE,KAAN,CAAY,IAAZ,EAAkBC,MAAlB,KAA6B,CAAjC,EAAoC;AAChC,WAAQ,UAASH,KAAM,EAAvB;AACH;;AACD,SAAQ,SAAQA,KAAM,EAAtB;AACH;;ACTM,eAAeU,IAAf,CAAoBV,KAApB,EAA2BW,OAA3B,EAAoCC,KAApC,EAA2CC,UAA3C,EAAuD;AAC1D,QAAMC,QAAQ,GAAGH,OAAO,CAACG,QAAR,CAAiBC,KAAjB,CAAuBH,KAAvB,EAA8BC,UAA9B,CAAjB;AACAC,EAAAA,QAAQ,CAACE,OAAT,CAAiBC,aAAjB,GAAiCR,uBAAuB,CAACT,KAAD,CAAxD;AACA,SAAOW,OAAO,CAACG,QAAD,CAAd;AACH;;MCHYI,eAAe,GAAG,SAASA,eAAT,CAAyBlB,KAAzB,EAAgC;AAC3D,MAAI,CAACA,KAAL,EAAY;AACR,UAAM,IAAImB,KAAJ,CAAU,0DAAV,CAAN;AACH;;AACD,MAAI,OAAOnB,KAAP,KAAiB,QAArB,EAA+B;AAC3B,UAAM,IAAImB,KAAJ,CAAU,uEAAV,CAAN;AACH;;AACDnB,EAAAA,KAAK,GAAGA,KAAK,CAACoB,OAAN,CAAc,oBAAd,EAAoC,EAApC,CAAR;AACA,SAAOC,MAAM,CAACC,MAAP,CAAcvB,IAAI,CAACwB,IAAL,CAAU,IAAV,EAAgBvB,KAAhB,CAAd,EAAsC;AACzCU,IAAAA,IAAI,EAAEA,IAAI,CAACa,IAAL,CAAU,IAAV,EAAgBvB,KAAhB;AADmC,GAAtC,CAAP;AAGH,CAXM;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/auth-token/dist-src/auth.js b/node_modules/@octokit/auth-token/dist-src/auth.js new file mode 100644 index 0000000..b22ce98 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/auth.js @@ -0,0 +1,21 @@ +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +export async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || + REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp + ? "app" + : isInstallation + ? "installation" + : isUserToServer + ? "user-to-server" + : "oauth"; + return { + type: "token", + token: token, + tokenType, + }; +} diff --git a/node_modules/@octokit/auth-token/dist-src/hook.js b/node_modules/@octokit/auth-token/dist-src/hook.js new file mode 100644 index 0000000..f8e47f0 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/hook.js @@ -0,0 +1,6 @@ +import { withAuthorizationPrefix } from "./with-authorization-prefix"; +export async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} diff --git a/node_modules/@octokit/auth-token/dist-src/index.js b/node_modules/@octokit/auth-token/dist-src/index.js new file mode 100644 index 0000000..f2ddd63 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/index.js @@ -0,0 +1,14 @@ +import { auth } from "./auth"; +import { hook } from "./hook"; +export const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token), + }); +}; diff --git a/node_modules/@octokit/auth-token/dist-src/types.js b/node_modules/@octokit/auth-token/dist-src/types.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js b/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js new file mode 100644 index 0000000..9035813 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js @@ -0,0 +1,11 @@ +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +export function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} diff --git a/node_modules/@octokit/auth-token/dist-types/auth.d.ts b/node_modules/@octokit/auth-token/dist-types/auth.d.ts new file mode 100644 index 0000000..dc41835 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/auth.d.ts @@ -0,0 +1,2 @@ +import { Token, Authentication } from "./types"; +export declare function auth(token: Token): Promise; diff --git a/node_modules/@octokit/auth-token/dist-types/hook.d.ts b/node_modules/@octokit/auth-token/dist-types/hook.d.ts new file mode 100644 index 0000000..21e4b6f --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/hook.d.ts @@ -0,0 +1,2 @@ +import { AnyResponse, EndpointOptions, RequestInterface, RequestParameters, Route, Token } from "./types"; +export declare function hook(token: Token, request: RequestInterface, route: Route | EndpointOptions, parameters?: RequestParameters): Promise; diff --git a/node_modules/@octokit/auth-token/dist-types/index.d.ts b/node_modules/@octokit/auth-token/dist-types/index.d.ts new file mode 100644 index 0000000..5999429 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/index.d.ts @@ -0,0 +1,7 @@ +import { StrategyInterface, Token, Authentication } from "./types"; +export declare type Types = { + StrategyOptions: Token; + AuthOptions: never; + Authentication: Authentication; +}; +export declare const createTokenAuth: StrategyInterface; diff --git a/node_modules/@octokit/auth-token/dist-types/types.d.ts b/node_modules/@octokit/auth-token/dist-types/types.d.ts new file mode 100644 index 0000000..0ae24de --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/types.d.ts @@ -0,0 +1,33 @@ +import * as OctokitTypes from "@octokit/types"; +export declare type AnyResponse = OctokitTypes.OctokitResponse; +export declare type StrategyInterface = OctokitTypes.StrategyInterface<[ + Token +], [ +], Authentication>; +export declare type EndpointDefaults = OctokitTypes.EndpointDefaults; +export declare type EndpointOptions = OctokitTypes.EndpointOptions; +export declare type RequestParameters = OctokitTypes.RequestParameters; +export declare type RequestInterface = OctokitTypes.RequestInterface; +export declare type Route = OctokitTypes.Route; +export declare type Token = string; +export declare type OAuthTokenAuthentication = { + type: "token"; + tokenType: "oauth"; + token: Token; +}; +export declare type InstallationTokenAuthentication = { + type: "token"; + tokenType: "installation"; + token: Token; +}; +export declare type AppAuthentication = { + type: "token"; + tokenType: "app"; + token: Token; +}; +export declare type UserToServerAuthentication = { + type: "token"; + tokenType: "user-to-server"; + token: Token; +}; +export declare type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication | UserToServerAuthentication; diff --git a/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts b/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts new file mode 100644 index 0000000..2e52c31 --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts @@ -0,0 +1,6 @@ +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +export declare function withAuthorizationPrefix(token: string): string; diff --git a/node_modules/@octokit/auth-token/dist-web/index.js b/node_modules/@octokit/auth-token/dist-web/index.js new file mode 100644 index 0000000..8b1cd7d --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-web/index.js @@ -0,0 +1,55 @@ +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || + REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp + ? "app" + : isInstallation + ? "installation" + : isUserToServer + ? "user-to-server" + : "oauth"; + return { + type: "token", + token: token, + tokenType, + }; +} + +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token), + }); +}; + +export { createTokenAuth }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/auth-token/dist-web/index.js.map b/node_modules/@octokit/auth-token/dist-web/index.js.map new file mode 100644 index 0000000..1d6197b --- /dev/null +++ b/node_modules/@octokit/auth-token/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/auth.js","../dist-src/with-authorization-prefix.js","../dist-src/hook.js","../dist-src/index.js"],"sourcesContent":["const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nexport async function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) ||\n REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp\n ? \"app\"\n : isInstallation\n ? \"installation\"\n : isUserToServer\n ? \"user-to-server\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType,\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token),\n });\n};\n"],"names":[],"mappings":"AAAA,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAC7C,MAAM,qBAAqB,GAAG,OAAO,CAAC;AACtC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AACjC,eAAe,IAAI,CAAC,KAAK,EAAE;AAClC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACjD,IAAI,MAAM,cAAc,GAAG,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC;AACnE,QAAQ,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,IAAI,MAAM,cAAc,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,SAAS,GAAG,KAAK;AAC3B,UAAU,KAAK;AACf,UAAU,cAAc;AACxB,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,kBAAkB,gBAAgB;AAClC,kBAAkB,OAAO,CAAC;AAC1B,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,OAAO;AACrB,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,SAAS;AACjB,KAAK,CAAC;AACN;;ACpBA;AACA;AACA;AACA;AACA;AACA,AAAO,SAAS,uBAAuB,CAAC,KAAK,EAAE;AAC/C,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACxC,QAAQ,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5B,CAAC;;ACTM,eAAe,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;AAC9D,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC/D,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACpE,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;;ACHW,MAAC,eAAe,GAAG,SAAS,eAAe,CAAC,KAAK,EAAE;AAC/D,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,QAAQ,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;AACpF,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AACjG,KAAK;AACL,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACpD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACjD,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACpC,KAAK,CAAC,CAAC;AACP,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/auth-token/package.json b/node_modules/@octokit/auth-token/package.json new file mode 100644 index 0000000..1b0df71 --- /dev/null +++ b/node_modules/@octokit/auth-token/package.json @@ -0,0 +1,45 @@ +{ + "name": "@octokit/auth-token", + "description": "GitHub API token authentication for browsers and Node.js", + "version": "2.5.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "octokit", + "authentication", + "api" + ], + "repository": "github:octokit/auth-token.js", + "dependencies": { + "@octokit/types": "^6.0.3" + }, + "devDependencies": { + "@octokit/core": "^3.0.0", + "@octokit/request": "^5.3.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^27.0.0", + "fetch-mock": "^9.0.0", + "jest": "^27.0.0", + "prettier": "2.4.1", + "semantic-release": "^17.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.0" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/core/LICENSE b/node_modules/@octokit/core/LICENSE new file mode 100644 index 0000000..ef2c18e --- /dev/null +++ b/node_modules/@octokit/core/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/core/README.md b/node_modules/@octokit/core/README.md new file mode 100644 index 0000000..ed4c070 --- /dev/null +++ b/node_modules/@octokit/core/README.md @@ -0,0 +1,457 @@ +# core.js + +> Extendable client for GitHub's REST & GraphQL APIs + +[![@latest](https://img.shields.io/npm/v/@octokit/core.svg)](https://www.npmjs.com/package/@octokit/core) +[![Build Status](https://github.com/octokit/core.js/workflows/Test/badge.svg)](https://github.com/octokit/core.js/actions?query=workflow%3ATest+branch%3Amain) + + + +- [Usage](#usage) + - [REST API example](#rest-api-example) + - [GraphQL example](#graphql-example) +- [Options](#options) +- [Defaults](#defaults) +- [Authentication](#authentication) +- [Logging](#logging) +- [Hooks](#hooks) +- [Plugins](#plugins) +- [Build your own Octokit with Plugins and Defaults](#build-your-own-octokit-with-plugins-and-defaults) +- [LICENSE](#license) + + + +If you need a minimalistic library to utilize GitHub's [REST API](https://developer.github.com/v3/) and [GraphQL API](https://developer.github.com/v4/) which you can extend with plugins as needed, then `@octokit/core` is a great starting point. + +If you don't need the Plugin API then using [`@octokit/request`](https://github.com/octokit/request.js/) or [`@octokit/graphql`](https://github.com/octokit/graphql.js/) directly is a good alternative. + +## Usage + + + + + + +
+Browsers + +Load @octokit/core directly from esm.sh + +```html + +``` + +
+Node + + +Install with npm install @octokit/core + +```js +import { Octokit } from "@octokit/core"; +``` + +
+ +As we use [conditional exports](https://nodejs.org/api/packages.html#conditional-exports), you will need to adapt your `tsconfig.json`. See the TypeScript docs on [package.json "exports"](https://www.typescriptlang.org/docs/handbook/modules/reference.html#packagejson-exports). + +### REST API example + +```js +// Create a personal access token at https://github.com/settings/tokens/new?scopes=repo +const octokit = new Octokit({ auth: `personal-access-token123` }); + +const response = await octokit.request("GET /orgs/{org}/repos", { + org: "octokit", + type: "private", +}); +``` + +See [`@octokit/request`](https://github.com/octokit/request.js) for full documentation of the `.request` method. + +### GraphQL example + +```js +const octokit = new Octokit({ auth: `secret123` }); + +const response = await octokit.graphql( + `query ($login: String!) { + organization(login: $login) { + repositories(privacy: PRIVATE) { + totalCount + } + } + }`, + { login: "octokit" }, +); +``` + +See [`@octokit/graphql`](https://github.com/octokit/graphql.js) for full documentation of the `.graphql` method. + +## Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ options.authStrategy + + Function + + Defaults to @octokit/auth-token. See Authentication below for examples. +
+ options.auth + + String or Object + + See Authentication below for examples. +
+ options.baseUrl + + String + + +When using with GitHub Enterprise Server, set `options.baseUrl` to the root URL of the API. For example, if your GitHub Enterprise Server's hostname is `github.acme-inc.com`, then set `options.baseUrl` to `https://github.acme-inc.com/api/v3`. Example + +```js +const octokit = new Octokit({ + baseUrl: "https://github.acme-inc.com/api/v3", +}); +``` + +
+ options.previews + + Array of Strings + + +Some REST API endpoints require preview headers to be set, or enable +additional features. Preview headers can be set on a per-request basis, e.g. + +```js +octokit.request("POST /repos/{owner}/{repo}/pulls", { + mediaType: { + previews: ["shadow-cat"], + }, + owner, + repo, + title: "My pull request", + base: "main", + head: "my-feature", + draft: true, +}); +``` + +You can also set previews globally, by setting the `options.previews` option on the constructor. Example: + +```js +const octokit = new Octokit({ + previews: ["shadow-cat"], +}); +``` + +
+ options.request + + Object + + +Set a default request timeout (`options.request.timeout`) or an [`http(s).Agent`](https://nodejs.org/api/http.html#http_class_http_agent) e.g. for proxy usage (Node only, `options.request.agent`). + +There are more `options.request.*` options, see [`@octokit/request` options](https://github.com/octokit/request.js#request). `options.request` can also be set on a per-request basis. + +
+ options.timeZone + + String + + +Sets the `Time-Zone` header which defines a timezone according to the [list of names from the Olson database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + +```js +const octokit = new Octokit({ + timeZone: "America/Los_Angeles", +}); +``` + +The time zone header will determine the timezone used for generating the timestamp when creating commits. See [GitHub's Timezones documentation](https://developer.github.com/v3/#timezones). + +
+ options.userAgent + + String + + +A custom user agent string for your app or library. Example + +```js +const octokit = new Octokit({ + userAgent: "my-app/v1.2.3", +}); +``` + +
+ +## Defaults + +You can create a new Octokit class with customized default options. + +```js +const MyOctokit = Octokit.defaults({ + auth: "personal-access-token123", + baseUrl: "https://github.acme-inc.com/api/v3", + userAgent: "my-app/v1.2.3", +}); +const octokit1 = new MyOctokit(); +const octokit2 = new MyOctokit(); +``` + +If you pass additional options to your new constructor, the options will be merged shallowly. + +```js +const MyOctokit = Octokit.defaults({ + foo: { + opt1: 1, + }, +}); +const octokit = new MyOctokit({ + foo: { + opt2: 1, + }, +}); +// options will be { foo: { opt2: 1 }} +``` + +If you need a deep or conditional merge, you can pass a function instead. + +```js +const MyOctokit = Octokit.defaults((options) => { + return { + foo: Object.assign({}, options.foo, { opt1: 1 }), + }; +}); +const octokit = new MyOctokit({ + foo: { opt2: 1 }, +}); +// options will be { foo: { opt1: 1, opt2: 1 }} +``` + +Be careful about mutating the `options` object in the `Octokit.defaults` callback, as it can have unforeseen consequences. + +## Authentication + +Authentication is optional for some REST API endpoints accessing public data, but is required for GraphQL queries. Using authentication also increases your [API rate limit](https://developer.github.com/v3/#rate-limiting). + +By default, Octokit authenticates using the [token authentication strategy](https://github.com/octokit/auth-token.js). Pass in a token using `options.auth`. It can be a personal access token, an OAuth token, an installation access token or a JSON Web Token for GitHub App authentication. The `Authorization` header will be set according to the type of token. + +```js +import { Octokit } from "@octokit/core"; + +const octokit = new Octokit({ + auth: "mypersonalaccesstoken123", +}); + +const { data } = await octokit.request("/user"); +``` + +To use a different authentication strategy, set `options.authStrategy`. A list of authentication strategies is available at [octokit/authentication-strategies.js](https://github.com/octokit/authentication-strategies.js/#readme). + +Example + +```js +import { Octokit } from "@octokit/core"; +import { createAppAuth } from "@octokit/auth-app"; + +const appOctokit = new Octokit({ + authStrategy: createAppAuth, + auth: { + appId: 123, + privateKey: process.env.PRIVATE_KEY, + }, +}); + +const { data } = await appOctokit.request("/app"); +``` + +The `.auth()` method returned by the current authentication strategy can be accessed at `octokit.auth()`. Example + +```js +const { token } = await appOctokit.auth({ + type: "installation", + installationId: 123, +}); +``` + +## Logging + +There are four built-in log methods + +1. `octokit.log.debug(message[, additionalInfo])` +1. `octokit.log.info(message[, additionalInfo])` +1. `octokit.log.warn(message[, additionalInfo])` +1. `octokit.log.error(message[, additionalInfo])` + +They can be configured using the [`log` client option](client-options). By default, `octokit.log.debug()` and `octokit.log.info()` are no-ops, while the other two call `console.warn()` and `console.error()` respectively. + +This is useful if you build reusable [plugins](#plugins). + +If you would like to make the log level configurable using an environment variable or external option, we recommend the [console-log-level](https://github.com/watson/console-log-level) package. Example + +```js +import consoleLogLevel from "console-log-level"; +const octokit = new Octokit({ + log: consoleLogLevel({ level: "info" }), +}); +``` + +## Hooks + +You can customize Octokit's request lifecycle with hooks. + +```js +octokit.hook.before("request", async (options) => { + validate(options); +}); +octokit.hook.after("request", async (response, options) => { + console.log(`${options.method} ${options.url}: ${response.status}`); +}); +octokit.hook.error("request", async (error, options) => { + if (error.status === 304) { + return findInCache(error.response.headers.etag); + } + + throw error; +}); +octokit.hook.wrap("request", async (request, options) => { + // add logic before, after, catch errors or replace the request altogether + return request(options); +}); +``` + +See [before-after-hook](https://github.com/gr2m/before-after-hook#readme) for more documentation on hooks. + +## Plugins + +Octokit’s functionality can be extended using plugins. The `Octokit.plugin()` method accepts a plugin (or many) and returns a new constructor. + +A plugin is a function which gets two arguments: + +1. the current instance +2. the options passed to the constructor. + +In order to extend `octokit`'s API, the plugin must return an object with the new methods. Please refrain from adding methods directly to the `octokit` instance, especialy if you depend on keys that do not exist in `@octokit/core`, such as `octokit.rest`. + +```js +// index.js +import { Octokit } from "@octokit/core"; +import myPlugin from "./lib/my-plugin.js"; +import octokitPluginExample from "octokit-plugin-example"; +const MyOctokit = Octokit.plugin( + myPlugin, + octokitPluginExample +); + +const octokit = new MyOctokit({ greeting: "Moin moin" }); +octokit.helloWorld(); // logs "Moin moin, world!" +octokit.request("GET /"); // logs "GET / - 200 in 123ms" + +// lib/my-plugin.js +const plugin = (octokit, options = { greeting: "Hello" }) => { + // hook into the request lifecycle + octokit.hook.wrap("request", async (request, options) => { + const time = Date.now(); + const response = await request(options); + console.log( + `${options.method} ${options.url} – ${response.status} in ${Date.now() - + time}ms` + ); + return response; + }); + + // add a custom method + return { + helloWorld: () => console.log(`${options.greeting}, world!`); + } +}; +export default plugin; +``` + +## Build your own Octokit with Plugins and Defaults + +You can build your own Octokit class with preset default options and plugins. In fact, this is mostly how the `@octokit/` modules work, such as [`@octokit/action`](https://github.com/octokit/action.js): + +```js +import { Octokit } from "@octokit/core"; +import { paginateRest } from "@octokit/plugin-paginate-rest"; +import { throttling } from "@octokit/plugin-throttling"; +import { retry } from "@octokit/plugin-retry"; +import { createActionAuth } from "@octokit/auth-action"; +const MyActionOctokit = Octokit.plugin( + paginateRest, + throttling, + retry, +).defaults({ + throttle: { + onAbuseLimit: (retryAfter, options) => { + /* ... */ + }, + onRateLimit: (retryAfter, options) => { + /* ... */ + }, + }, + authStrategy: createActionAuth, + userAgent: `my-octokit-action/v1.2.3`, +}); + +const octokit = new MyActionOctokit(); +const installations = await octokit.paginate("GET /app/installations"); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/core/dist-src/index.js b/node_modules/@octokit/core/dist-src/index.js new file mode 100644 index 0000000..1a72f10 --- /dev/null +++ b/node_modules/@octokit/core/dist-src/index.js @@ -0,0 +1,141 @@ +import { getUserAgent } from "universal-user-agent"; +import Hook from "before-after-hook"; +import { request } from "@octokit/request"; +import { withCustomRequest } from "@octokit/graphql"; +import { createTokenAuth } from "@octokit/auth-token"; +import { VERSION } from "./version.js"; +const noop = () => { +}; +const consoleWarn = console.warn.bind(console); +const consoleError = console.error.bind(console); +function createLogger(logger = {}) { + if (typeof logger.debug !== "function") { + logger.debug = noop; + } + if (typeof logger.info !== "function") { + logger.info = noop; + } + if (typeof logger.warn !== "function") { + logger.warn = consoleWarn; + } + if (typeof logger.error !== "function") { + logger.error = consoleError; + } + return logger; +} +const userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`; +class Octokit { + static VERSION = VERSION; + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + super( + Object.assign( + {}, + defaults, + options, + options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null + ) + ); + } + }; + return OctokitWithDefaults; + } + static plugins = []; + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + const currentPlugins = this.plugins; + const NewOctokit = class extends this { + static plugins = currentPlugins.concat( + newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) + ); + }; + return NewOctokit; + } + constructor(options = {}) { + const hook = new Hook.Collection(); + const requestDefaults = { + baseUrl: request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; + requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail; + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = createLogger(options.log); + this.hook = hook; + if (!options.authStrategy) { + if (!options.auth) { + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + const auth = createTokenAuth(options.auth); + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { authStrategy, ...otherOptions } = options; + const auth = authStrategy( + Object.assign( + { + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, + options.auth + ) + ); + hook.wrap("request", auth.hook); + this.auth = auth; + } + const classConstructor = this.constructor; + for (let i = 0; i < classConstructor.plugins.length; ++i) { + Object.assign(this, classConstructor.plugins[i](this, options)); + } + } + // assigned during constructor + request; + graphql; + log; + hook; + // TODO: type `octokit.auth` based on passed options.authStrategy + auth; +} +export { + Octokit +}; diff --git a/node_modules/@octokit/core/dist-src/version.js b/node_modules/@octokit/core/dist-src/version.js new file mode 100644 index 0000000..e711fc1 --- /dev/null +++ b/node_modules/@octokit/core/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "7.0.6"; +export { + VERSION +}; diff --git a/node_modules/@octokit/core/dist-types/index.d.ts b/node_modules/@octokit/core/dist-types/index.d.ts new file mode 100644 index 0000000..8275033 --- /dev/null +++ b/node_modules/@octokit/core/dist-types/index.d.ts @@ -0,0 +1,31 @@ +import type { HookCollection } from "before-after-hook"; +import { request } from "@octokit/request"; +import { type graphql } from "@octokit/graphql"; +import type { Constructor, Hooks, OctokitOptions, OctokitPlugin, ReturnTypeOf, UnionToIntersection } from "./types.js"; +export type { OctokitOptions } from "./types.js"; +export declare class Octokit { + static VERSION: string; + static defaults>(this: S, defaults: OctokitOptions | Function): typeof this; + static plugins: OctokitPlugin[]; + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin & { + plugins: any[]; + }, T extends OctokitPlugin[]>(this: S, ...newPlugins: T): typeof this & Constructor>>; + constructor(options?: OctokitOptions); + request: typeof request; + graphql: typeof graphql; + log: { + debug: (message: string, additionalInfo?: object) => any; + info: (message: string, additionalInfo?: object) => any; + warn: (message: string, additionalInfo?: object) => any; + error: (message: string, additionalInfo?: object) => any; + [key: string]: any; + }; + hook: HookCollection; + auth: (...args: unknown[]) => Promise; +} diff --git a/node_modules/@octokit/core/dist-types/types.d.ts b/node_modules/@octokit/core/dist-types/types.d.ts new file mode 100644 index 0000000..eae600a --- /dev/null +++ b/node_modules/@octokit/core/dist-types/types.d.ts @@ -0,0 +1,49 @@ +import type * as OctokitTypes from "@octokit/types"; +import type { RequestError } from "@octokit/request-error"; +import type { Octokit } from "./index.js"; +export type RequestParameters = OctokitTypes.RequestParameters; +export interface OctokitOptions { + authStrategy?: any; + auth?: any; + userAgent?: string; + previews?: string[]; + baseUrl?: string; + log?: { + debug: (message: string) => unknown; + info: (message: string) => unknown; + warn: (message: string) => unknown; + error: (message: string) => unknown; + }; + request?: OctokitTypes.RequestRequestOptions; + timeZone?: string; + [option: string]: any; +} +export type Constructor = new (...args: any[]) => T; +export type ReturnTypeOf = T extends AnyFunction ? ReturnType : T extends AnyFunction[] ? UnionToIntersection, void>> : never; +/** + * @author https://stackoverflow.com/users/2887218/jcalz + * @see https://stackoverflow.com/a/50375286/10325032 + */ +export type UnionToIntersection = (Union extends any ? (argument: Union) => void : never) extends (argument: infer Intersection) => void ? Intersection : never; +type AnyFunction = (...args: any) => any; +export type OctokitPlugin = (octokit: Octokit, options: OctokitOptions) => { + [key: string]: any; +} | void; +export type Hooks = { + request: { + Options: Required; + Result: OctokitTypes.OctokitResponse; + Error: RequestError | Error; + }; + [key: string]: { + Options: unknown; + Result: unknown; + Error: unknown; + }; +}; +export type StrictOmit = { + [P in keyof T as P extends K ? never : P]: T[P]; +} & { + [parameter: string]: unknown; +}; +export {}; diff --git a/node_modules/@octokit/core/dist-types/version.d.ts b/node_modules/@octokit/core/dist-types/version.d.ts new file mode 100644 index 0000000..12819c5 --- /dev/null +++ b/node_modules/@octokit/core/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "7.0.6"; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/LICENSE b/node_modules/@octokit/core/node_modules/@octokit/auth-token/LICENSE new file mode 100644 index 0000000..ef2c18e --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/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/core/node_modules/@octokit/auth-token/README.md b/node_modules/@octokit/core/node_modules/@octokit/auth-token/README.md new file mode 100644 index 0000000..f94e2f2 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/README.md @@ -0,0 +1,284 @@ +# auth-token.js + +> GitHub API token authentication for browsers and Node.js + +[![@latest](https://img.shields.io/npm/v/@octokit/auth-token.svg)](https://www.npmjs.com/package/@octokit/auth-token) +[![Build Status](https://github.com/octokit/auth-token.js/workflows/Test/badge.svg)](https://github.com/octokit/auth-token.js/actions?query=workflow%3ATest) + +`@octokit/auth-token` is the simplest of [GitHub’s authentication strategies](https://github.com/octokit/auth.js). + +It is useful if you want to support multiple authentication strategies, as it’s API is compatible with its sibling packages for [basic](https://github.com/octokit/auth-basic.js), [GitHub App](https://github.com/octokit/auth-app.js) and [OAuth app](https://github.com/octokit/auth.js) authentication. + + + +- [Usage](#usage) +- [`createTokenAuth(token) options`](#createtokenauthtoken-options) +- [`auth()`](#auth) +- [Authentication object](#authentication-object) +- [`auth.hook(request, route, options)` or `auth.hook(request, options)`](#authhookrequest-route-options-or-authhookrequest-options) +- [Find more information](#find-more-information) + - [Find out what scopes are enabled for oauth tokens](#find-out-what-scopes-are-enabled-for-oauth-tokens) + - [Find out if token is a personal access token or if it belongs to an OAuth app](#find-out-if-token-is-a-personal-access-token-or-if-it-belongs-to-an-oauth-app) + - [Find out what permissions are enabled for a repository](#find-out-what-permissions-are-enabled-for-a-repository) + - [Use token for git operations](#use-token-for-git-operations) +- [License](#license) + + + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/auth-token` directly from [esm.sh](https://esm.sh) + +```html + +``` + +
+Node + + +Install with npm install @octokit/auth-token + +```js +import { createTokenAuth } from "@octokit/auth-token"; +``` + +
+ +```js +const auth = createTokenAuth("ghp_PersonalAccessToken01245678900000000"); +const authentication = await auth(); +// { +// type: 'token', +// token: 'ghp_PersonalAccessToken01245678900000000', +// tokenType: 'oauth' +// } +``` + +## `createTokenAuth(token) options` + +The `createTokenAuth` method accepts a single argument of type string, which is the token. The passed token can be one of the following: + +- [Personal access token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line) +- [OAuth access token](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/) +- [GITHUB_TOKEN provided to GitHub Actions](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables) +- Installation access token ([server-to-server](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)) +- User authentication for installation ([user-to-server](https://docs.github.com/en/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)) + +Examples + +```js +// Personal access token or OAuth access token +createTokenAuth("ghp_PersonalAccessToken01245678900000000"); +// { +// type: 'token', +// token: 'ghp_PersonalAccessToken01245678900000000', +// tokenType: 'oauth' +// } + +// Installation access token or GitHub Action token +createTokenAuth("ghs_InstallallationOrActionToken00000000"); +// { +// type: 'token', +// token: 'ghs_InstallallationOrActionToken00000000', +// tokenType: 'installation' +// } + +// Installation access token or GitHub Action token +createTokenAuth("ghu_InstallationUserToServer000000000000"); +// { +// type: 'token', +// token: 'ghu_InstallationUserToServer000000000000', +// tokenType: 'user-to-server' +// } +``` + +## `auth()` + +The `auth()` method has no options. It returns a promise which resolves with the the authentication object. + +## Authentication object + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ type + + string + + "token" +
+ token + + string + + The provided token. +
+ tokenType + + string + + Can be either "oauth" for personal access tokens and OAuth tokens, "installation" for installation access tokens (includes GITHUB_TOKEN provided to GitHub Actions), "app" for a GitHub App JSON Web Token, or "user-to-server" for a user authentication token through an app installation. +
+ +## `auth.hook(request, route, options)` or `auth.hook(request, options)` + +`auth.hook()` hooks directly into the request life cycle. It authenticates the request using the provided token. + +The `request` option is an instance of [`@octokit/request`](https://github.com/octokit/request.js#readme). The `route`/`options` parameters are the same as for the [`request()` method](https://github.com/octokit/request.js#request). + +`auth.hook()` can be called directly to send an authenticated request + +```js +const { data: authorizations } = await auth.hook( + request, + "GET /authorizations", +); +``` + +Or it can be passed as option to [`request()`](https://github.com/octokit/request.js#request). + +```js +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { data: authorizations } = await requestWithAuth("GET /authorizations"); +``` + +## Find more information + +`auth()` does not send any requests, it only transforms the provided token string into an authentication object. + +Here is a list of things you can do to retrieve further information + +### Find out what scopes are enabled for oauth tokens + +Note that this does not work for installations. There is no way to retrieve permissions based on an installation access tokens. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /"); +const scopes = response.headers["x-oauth-scopes"].split(/,\s+/); + +if (scopes.length) { + console.log( + `"${TOKEN}" has ${scopes.length} scopes enabled: ${scopes.join(", ")}`, + ); +} else { + console.log(`"${TOKEN}" has no scopes enabled`); +} +``` + +### Find out if token is a personal access token or if it belongs to an OAuth app + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /"); +const clientId = response.headers["x-oauth-client-id"]; + +if (clientId) { + console.log( + `"${token}" is an OAuth token, its app’s client_id is ${clientId}.`, + ); +} else { + console.log(`"${token}" is a personal access token`); +} +``` + +### Find out what permissions are enabled for a repository + +Note that the `permissions` key is not set when authenticated using an installation access token. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("GET /repos/{owner}/{repo}", { + owner: "octocat", + repo: "hello-world", +}); + +console.log(response.data.permissions); +// { +// admin: true, +// push: true, +// pull: true +// } +``` + +### Use token for git operations + +Both OAuth and installation access tokens can be used for git operations. However, when using with an installation, [the token must be prefixed with `x-access-token`](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#http-based-git-access-by-an-installation). + +This example is using the [`execa`](https://github.com/sindresorhus/execa) package to run a `git push` command. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const { token, tokenType } = await auth(); +const tokenWithPrefix = + tokenType === "installation" ? `x-access-token:${token}` : token; + +const repositoryUrl = `https://${tokenWithPrefix}@github.com/octocat/hello-world.git`; + +const { stdout } = await execa("git", ["push", repositoryUrl]); +console.log(stdout); +``` + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-bundle/index.js b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-bundle/index.js new file mode 100644 index 0000000..4d68bcf --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-bundle/index.js @@ -0,0 +1,55 @@ +// pkg/dist-src/is-jwt.js +var b64url = "(?:[a-zA-Z0-9_-]+)"; +var sep = "\\."; +var jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`); +var isJWT = jwtRE.test.bind(jwtRE); + +// pkg/dist-src/auth.js +async function auth(token) { + const isApp = isJWT(token); + const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_"); + const isUserToServer = token.startsWith("ghu_"); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token, + tokenType + }; +} + +// pkg/dist-src/with-authorization-prefix.js +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} + +// pkg/dist-src/hook.js +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge( + route, + parameters + ); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +// pkg/dist-src/index.js +var createTokenAuth = function createTokenAuth2(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error( + "[@octokit/auth-token] Token passed to createTokenAuth is not a string" + ); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; +export { + createTokenAuth +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-bundle/index.js.map b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-bundle/index.js.map new file mode 100644 index 0000000..57157db --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-bundle/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/is-jwt.js", "../dist-src/auth.js", "../dist-src/with-authorization-prefix.js", "../dist-src/hook.js", "../dist-src/index.js"], + "sourcesContent": ["const b64url = \"(?:[a-zA-Z0-9_-]+)\";\nconst sep = \"\\\\.\";\nconst jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);\nconst isJWT = jwtRE.test.bind(jwtRE);\nexport {\n isJWT\n};\n", "import { isJWT } from \"./is-jwt.js\";\nasync function auth(token) {\n const isApp = isJWT(token);\n const isInstallation = token.startsWith(\"v1.\") || token.startsWith(\"ghs_\");\n const isUserToServer = token.startsWith(\"ghu_\");\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\nexport {\n auth\n};\n", "function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\nexport {\n withAuthorizationPrefix\n};\n", "import { withAuthorizationPrefix } from \"./with-authorization-prefix.js\";\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\nexport {\n hook\n};\n", "import { auth } from \"./auth.js\";\nimport { hook } from \"./hook.js\";\nconst createTokenAuth = function createTokenAuth2(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\n \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n );\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\nexport {\n createTokenAuth\n};\n"], + "mappings": ";AAAA,IAAM,SAAS;AACf,IAAM,MAAM;AACZ,IAAM,QAAQ,IAAI,OAAO,IAAI,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG;AACpE,IAAM,QAAQ,MAAM,KAAK,KAAK,KAAK;;;ACFnC,eAAe,KAAK,OAAO;AACzB,QAAM,QAAQ,MAAM,KAAK;AACzB,QAAM,iBAAiB,MAAM,WAAW,KAAK,KAAK,MAAM,WAAW,MAAM;AACzE,QAAM,iBAAiB,MAAM,WAAW,MAAM;AAC9C,QAAM,YAAY,QAAQ,QAAQ,iBAAiB,iBAAiB,iBAAiB,mBAAmB;AACxG,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AACF;;;ACXA,SAAS,wBAAwB,OAAO;AACtC,MAAI,MAAM,MAAM,IAAI,EAAE,WAAW,GAAG;AAClC,WAAO,UAAU,KAAK;AAAA,EACxB;AACA,SAAO,SAAS,KAAK;AACvB;;;ACJA,eAAe,KAAK,OAAO,SAAS,OAAO,YAAY;AACrD,QAAM,WAAW,QAAQ,SAAS;AAAA,IAChC;AAAA,IACA;AAAA,EACF;AACA,WAAS,QAAQ,gBAAgB,wBAAwB,KAAK;AAC9D,SAAO,QAAQ,QAAQ;AACzB;;;ACNA,IAAM,kBAAkB,SAAS,iBAAiB,OAAO;AACvD,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,UAAQ,MAAM,QAAQ,sBAAsB,EAAE;AAC9C,SAAO,OAAO,OAAO,KAAK,KAAK,MAAM,KAAK,GAAG;AAAA,IAC3C,MAAM,KAAK,KAAK,MAAM,KAAK;AAAA,EAC7B,CAAC;AACH;", + "names": [] +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/auth.js b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/auth.js new file mode 100644 index 0000000..587f523 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/auth.js @@ -0,0 +1,15 @@ +import { isJWT } from "./is-jwt.js"; +async function auth(token) { + const isApp = isJWT(token); + const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_"); + const isUserToServer = token.startsWith("ghu_"); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token, + tokenType + }; +} +export { + auth +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/hook.js b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/hook.js new file mode 100644 index 0000000..be336ad --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/hook.js @@ -0,0 +1,12 @@ +import { withAuthorizationPrefix } from "./with-authorization-prefix.js"; +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge( + route, + parameters + ); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} +export { + hook +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/index.js b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/index.js new file mode 100644 index 0000000..a68cea6 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/index.js @@ -0,0 +1,19 @@ +import { auth } from "./auth.js"; +import { hook } from "./hook.js"; +const createTokenAuth = function createTokenAuth2(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error( + "[@octokit/auth-token] Token passed to createTokenAuth is not a string" + ); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; +export { + createTokenAuth +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/is-jwt.js b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/is-jwt.js new file mode 100644 index 0000000..833dad7 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/is-jwt.js @@ -0,0 +1,7 @@ +const b64url = "(?:[a-zA-Z0-9_-]+)"; +const sep = "\\."; +const jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`); +const isJWT = jwtRE.test.bind(jwtRE); +export { + isJWT +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js new file mode 100644 index 0000000..02a4bb5 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js @@ -0,0 +1,9 @@ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} +export { + withAuthorizationPrefix +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/auth.d.ts b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/auth.d.ts new file mode 100644 index 0000000..6398528 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/auth.d.ts @@ -0,0 +1,2 @@ +import type { Token, Authentication } from "./types.js"; +export declare function auth(token: Token): Promise; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/hook.d.ts b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/hook.d.ts new file mode 100644 index 0000000..cf96965 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/hook.d.ts @@ -0,0 +1,2 @@ +import type { AnyResponse, EndpointOptions, RequestInterface, RequestParameters, Route, Token } from "./types.js"; +export declare function hook(token: Token, request: RequestInterface, route: Route | EndpointOptions, parameters?: RequestParameters): Promise; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/index.d.ts b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/index.d.ts new file mode 100644 index 0000000..9f8a318 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/index.d.ts @@ -0,0 +1,7 @@ +import type { StrategyInterface, Token, Authentication } from "./types.js"; +export type Types = { + StrategyOptions: Token; + AuthOptions: never; + Authentication: Authentication; +}; +export declare const createTokenAuth: StrategyInterface; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/is-jwt.d.ts b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/is-jwt.d.ts new file mode 100644 index 0000000..3d3ff81 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/is-jwt.d.ts @@ -0,0 +1 @@ +export declare const isJWT: (string: string) => boolean; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/types.d.ts b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/types.d.ts new file mode 100644 index 0000000..c3e1ae0 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/types.d.ts @@ -0,0 +1,33 @@ +import type * as OctokitTypes from "@octokit/types"; +export type AnyResponse = OctokitTypes.OctokitResponse; +export type StrategyInterface = OctokitTypes.StrategyInterface<[ + Token +], [ +], Authentication>; +export type EndpointDefaults = OctokitTypes.EndpointDefaults; +export type EndpointOptions = OctokitTypes.EndpointOptions; +export type RequestParameters = OctokitTypes.RequestParameters; +export type RequestInterface = OctokitTypes.RequestInterface; +export type Route = OctokitTypes.Route; +export type Token = string; +export type OAuthTokenAuthentication = { + type: "token"; + tokenType: "oauth"; + token: Token; +}; +export type InstallationTokenAuthentication = { + type: "token"; + tokenType: "installation"; + token: Token; +}; +export type AppAuthentication = { + type: "token"; + tokenType: "app"; + token: Token; +}; +export type UserToServerAuthentication = { + type: "token"; + tokenType: "user-to-server"; + token: Token; +}; +export type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication | UserToServerAuthentication; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts new file mode 100644 index 0000000..2e52c31 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts @@ -0,0 +1,6 @@ +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +export declare function withAuthorizationPrefix(token: string): string; diff --git a/node_modules/@octokit/core/node_modules/@octokit/auth-token/package.json b/node_modules/@octokit/core/node_modules/@octokit/auth-token/package.json new file mode 100644 index 0000000..075fe07 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/auth-token/package.json @@ -0,0 +1,50 @@ +{ + "name": "@octokit/auth-token", + "publishConfig": { + "access": "public", + "provenance": true + }, + "type": "module", + "version": "6.0.0", + "description": "GitHub API token authentication for browsers and Node.js", + "repository": "github:octokit/auth-token.js", + "keywords": [ + "github", + "octokit", + "authentication", + "api" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "devDependencies": { + "@octokit/request": "^9.0.0", + "@octokit/tsconfig": "^4.0.0", + "@octokit/types": "^14.0.0", + "@vitest/coverage-v8": "^3.0.0", + "esbuild": "^0.25.0", + "fetch-mock": "^12.0.0", + "glob": "^11.0.0", + "prettier": "3.5.3", + "typescript": "^5.3.0", + "vitest": "^3.0.0" + }, + "engines": { + "node": ">= 20" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "types": "./dist-types/index.d.ts", + "exports": { + ".": { + "types": "./dist-types/index.d.ts", + "import": "./dist-bundle/index.js", + "default": "./dist-bundle/index.js" + }, + "./types": { + "types": "./dist-types/index.d.ts" + } + }, + "sideEffects": false +} diff --git a/node_modules/@octokit/graphql/LICENSE b/node_modules/@octokit/core/node_modules/@octokit/endpoint/LICENSE similarity index 100% rename from node_modules/@octokit/graphql/LICENSE rename to node_modules/@octokit/core/node_modules/@octokit/endpoint/LICENSE diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/core/node_modules/@octokit/endpoint/README.md new file mode 100644 index 0000000..164f60d --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/README.md @@ -0,0 +1,412 @@ +# endpoint.js + +> Turns GitHub REST API endpoints into generic request options + +[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint) +[![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg)](https://github.com/octokit/endpoint.js/actions/workflows/test.yml?query=branch%3Amain) + +`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library. + + + + + +- [Usage](#usage) +- [API](#api) + - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) + - [`endpoint.defaults()`](#endpointdefaults) + - [`endpoint.DEFAULTS`](#endpointdefaults) + - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) + - [`endpoint.parse()`](#endpointparse) +- [Special cases](#special-cases) + - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) + - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) +- [LICENSE](#license) + + + +## Usage + + + + + + +
+Browsers + +Load @octokit/endpoint directly from esm.sh + +```html + +``` + +
+Node + + +Install with npm install @octokit/endpoint + +```js +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); +``` + +> [!IMPORTANT] +> As we use [conditional exports](https://nodejs.org/api/packages.html#conditional-exports), you will need to adapt your `tsconfig.json`. See the TypeScript docs on [package.json "exports"](https://www.typescriptlang.org/docs/handbook/modules/reference.html#packagejson-exports). + +## API + +### `endpoint(route, options)` or `endpoint(options)` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ route + + String + + If set, it has to be a string consisting of URL and the request method, e.g., GET /orgs/{org}. If it’s set to a URL, only the method defaults to GET. +
+ options.method + + String + + Required unless route is set. Any supported http verb. Defaults to GET. +
+ options.url + + String + + Required unless route is set. A path or full URL which may contain :variable or {variable} placeholders, + e.g., /orgs/{org}/repos. The url is parsed using url-template. +
+ options.baseUrl + + String + + Defaults to https://api.github.com. +
+ options.headers + + Object + + Custom headers. Passed headers are merged with defaults:
+ headers['user-agent'] defaults to octokit-endpoint.js/1.2.3 (where 1.2.3 is the released version).
+ headers['accept'] defaults to application/vnd.github.v3+json.
+
+ options.mediaType.format + + String + + Media type param, such as raw, diff, or text+json. See Media Types. Setting options.mediaType.format will amend the headers.accept value. +
+ options.data + + Any + + Set request body directly instead of setting it to JSON based on additional parameters. See "The data parameter" below. +
+ options.request + + Object + + Pass custom meta information for the request. The request object will be returned as is. +
+ +All other options will be passed depending on the `method` and `url` options. + +1. If the option key has a placeholder in the `url`, it will be used as the replacement. For example, if the passed options are `{url: '/orgs/{org}/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos`. +2. If the `method` is `GET` or `HEAD`, the option is passed as a query parameter. +3. Otherwise, the parameter is passed in the request body as a JSON key. + +**Result** + +`endpoint()` is a synchronous method and returns an object with the following keys: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ key + + type + + description +
methodStringThe http method. Always lowercase.
urlStringThe url with placeholders replaced with passed parameters.
headersObjectAll header names are lowercased.
bodyAnyThe request body if one is present. Only for PATCH, POST, PUT, DELETE requests.
requestObjectRequest meta option, it will be returned as it was passed into endpoint()
+ +### `endpoint.defaults()` + +Override or set default options. Example: + +```js +const request = require("request"); +const myEndpoint = require("@octokit/endpoint").defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-project", + per_page: 100, +}); + +request(myEndpoint(`GET /orgs/{org}/repos`)); +``` + +You can call `.defaults()` again on the returned method, the defaults will cascade. + +```js +const myProjectEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +const myProjectEndpointWithAuth = myProjectEndpoint.defaults({ + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, +}); +``` + +`myProjectEndpointWithAuth` now defaults the `baseUrl`, `headers['user-agent']`, +`org` and `headers['authorization']` on top of `headers['accept']` that is set +by the global default. + +### `endpoint.DEFAULTS` + +The current default options. + +```js +endpoint.DEFAULTS.baseUrl; // https://api.github.com +const myEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", +}); +myEndpoint.DEFAULTS.baseUrl; // https://github-enterprise.acme-inc.com/api/v3 +``` + +### `endpoint.merge(route, options)` or `endpoint.merge(options)` + +Get the defaulted endpoint options, but without parsing them into request options: + +```js +const myProjectEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +myProjectEndpoint.merge("GET /orgs/{org}/repos", { + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-secret-project", + type: "private", +}); + +// { +// baseUrl: 'https://github-enterprise.acme-inc.com/api/v3', +// method: 'GET', +// url: '/orgs/{org}/repos', +// headers: { +// accept: 'application/vnd.github.v3+json', +// authorization: `token 0000000000000000000000000000000000000001`, +// 'user-agent': 'myApp/1.2.3' +// }, +// org: 'my-secret-project', +// type: 'private' +// } +``` + +### `endpoint.parse()` + +Stateless method to turn endpoint options into request options. Calling +`endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + +## Special cases + + + +### The `data` parameter – set request body directly + +Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) don’t have parameters that are sent as request body keys, instead, the request body needs to be set directly. In these cases, set the `data` parameter. + +```js +const options = endpoint("POST /markdown/raw", { + data: "Hello world github/linguist#1 **cool**, and #1!", + headers: { + accept: "text/html;charset=utf-8", + "content-type": "text/plain", + }, +}); + +// options is +// { +// method: 'post', +// url: 'https://api.github.com/markdown/raw', +// headers: { +// accept: 'text/html;charset=utf-8', +// 'content-type': 'text/plain', +// 'user-agent': userAgent +// }, +// body: 'Hello world github/linguist#1 **cool**, and #1!' +// } +``` + +### Set parameters for both the URL/query and the request body + +There are API endpoints that accept both query parameters as well as a body. In that case, you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570). + +Example + +```js +endpoint( + "POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", + { + name: "example.zip", + label: "short description", + headers: { + "content-type": "text/plain", + "content-length": 14, + authorization: `token 0000000000000000000000000000000000000001`, + }, + data: "Hello, world!", + }, +); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-bundle/index.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-bundle/index.js new file mode 100644 index 0000000..3d9aa82 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-bundle/index.js @@ -0,0 +1,346 @@ +// pkg/dist-src/defaults.js +import { getUserAgent } from "universal-user-agent"; + +// pkg/dist-src/version.js +var VERSION = "0.0.0-development"; + +// pkg/dist-src/defaults.js +var userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +var DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "" + } +}; + +// pkg/dist-src/util/lowercase-keys.js +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +// pkg/dist-src/util/is-plain-object.js +function isPlainObject(value) { + if (typeof value !== "object" || value === null) return false; + if (Object.prototype.toString.call(value) !== "[object Object]") return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} + +// pkg/dist-src/util/merge-deep.js +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { [key]: options[key] }); + else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} + +// pkg/dist-src/util/remove-undefined-properties.js +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === void 0) { + delete obj[key]; + } + } + return obj; +} + +// pkg/dist-src/merge.js +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { method, url } : { url: method }, options); + } else { + options = Object.assign({}, route); + } + options.headers = lowercaseKeys(options.headers); + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + if (options.url === "/graphql") { + if (defaults && defaults.mediaType.previews?.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter( + (preview) => !mergedOptions.mediaType.previews.includes(preview) + ).concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, "")); + } + return mergedOptions; +} + +// pkg/dist-src/util/add-query-parameters.js +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return url + separator + names.map((name) => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} + +// pkg/dist-src/util/extract-url-variable-names.js +var urlVariableRegex = /\{[^{}}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); +} + +// pkg/dist-src/util/omit.js +function omit(object, keysToOmit) { + const result = { __proto__: null }; + for (const key of Object.keys(object)) { + if (keysToOmit.indexOf(key) === -1) { + result[key] = object[key]; + } + } + return result; +} + +// pkg/dist-src/util/url-template.js +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }).join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} +function isDefined(value) { + return value !== void 0 && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "bigint" || typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push( + encodeValue(operator, value, isKeyOperator(operator) ? key : "") + ); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + result.push( + encodeValue(operator, value2, isKeyOperator(operator) ? key : "") + ); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + tmp.push(encodeValue(operator, value2)); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + return result; +} +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + template = template.replace( + /\{([^\{\}]+)\}|([^\{\}]+)/g, + function(_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function(variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + } + ); + if (template === "/") { + return template; + } else { + return template.replace(/\/$/, ""); + } +} + +// pkg/dist-src/parse.js +function parse(options) { + let method = options.method.toUpperCase(); + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType" + ]); + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + headers.accept = headers.accept.split(/,/).map( + (format) => format.replace( + /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, + `application/vnd$1$2.${options.mediaType.format}` + ) + ).join(","); + } + if (url.endsWith("/graphql")) { + if (options.mediaType.previews?.length) { + const previewsFromAcceptHeader = headers.accept.match(/(? { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } + } + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + } + } + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + return Object.assign( + { method, url, headers }, + typeof body !== "undefined" ? { body } : null, + options.request ? { request: options.request } : null + ); +} + +// pkg/dist-src/endpoint-with-defaults.js +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS2 = merge(oldDefaults, newDefaults); + const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2); + return Object.assign(endpoint2, { + DEFAULTS: DEFAULTS2, + defaults: withDefaults.bind(null, DEFAULTS2), + merge: merge.bind(null, DEFAULTS2), + parse + }); +} + +// pkg/dist-src/index.js +var endpoint = withDefaults(null, DEFAULTS); +export { + endpoint +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-bundle/index.js.map b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-bundle/index.js.map new file mode 100644 index 0000000..bc3b9ac --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-bundle/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/is-plain-object.js", "../dist-src/util/merge-deep.js", "../dist-src/util/remove-undefined-properties.js", "../dist-src/merge.js", "../dist-src/util/add-query-parameters.js", "../dist-src/util/extract-url-variable-names.js", "../dist-src/util/omit.js", "../dist-src/util/url-template.js", "../dist-src/parse.js", "../dist-src/endpoint-with-defaults.js", "../dist-src/with-defaults.js", "../dist-src/index.js"], + "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version.js\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\nexport {\n DEFAULTS\n};\n", "const VERSION = \"0.0.0-development\";\nexport {\n VERSION\n};\n", "function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\nexport {\n lowercaseKeys\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null) return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\") return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null) return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\nexport {\n isPlainObject\n};\n", "import { isPlainObject } from \"./is-plain-object.js\";\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, { [key]: options[key] });\n else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\nexport {\n mergeDeep\n};\n", "function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nexport {\n removeUndefinedProperties\n};\n", "import { lowercaseKeys } from \"./util/lowercase-keys.js\";\nimport { mergeDeep } from \"./util/merge-deep.js\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties.js\";\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\nexport {\n merge\n};\n", "function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\nexport {\n addQueryParameters\n};\n", "const urlVariableRegex = /\\{[^{}}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/(?:^\\W+)|(?:(? a.concat(b), []);\n}\nexport {\n extractUrlVariableNames\n};\n", "function omit(object, keysToOmit) {\n const result = { __proto__: null };\n for (const key of Object.keys(object)) {\n if (keysToOmit.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n return result;\n}\nexport {\n omit\n};\n", "function encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n }).join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== void 0 && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"bigint\" || typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(\n encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n );\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n result.push(\n encodeValue(operator, value2, isKeyOperator(operator) ? key : \"\")\n );\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n tmp.push(encodeValue(operator, value2));\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n template = template.replace(\n /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n function(_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function(variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n }\n );\n if (template === \"/\") {\n return template;\n } else {\n return template.replace(/\\/$/, \"\");\n }\n}\nexport {\n parseUrl\n};\n", "import { addQueryParameters } from \"./util/add-query-parameters.js\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names.js\";\nimport { omit } from \"./util/omit.js\";\nimport { parseUrl } from \"./util/url-template.js\";\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/(? {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\nexport {\n parse\n};\n", "import { DEFAULTS } from \"./defaults.js\";\nimport { merge } from \"./merge.js\";\nimport { parse } from \"./parse.js\";\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\nexport {\n endpointWithDefaults\n};\n", "import { endpointWithDefaults } from \"./endpoint-with-defaults.js\";\nimport { merge } from \"./merge.js\";\nimport { parse } from \"./parse.js\";\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\nexport {\n withDefaults\n};\n", "import { withDefaults } from \"./with-defaults.js\";\nimport { DEFAULTS } from \"./defaults.js\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n"], + "mappings": ";AAAA,SAAS,oBAAoB;;;ACA7B,IAAM,UAAU;;;ADEhB,IAAM,YAAY,uBAAuB,OAAO,IAAI,aAAa,CAAC;AAClE,IAAM,WAAW;AAAA,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,EACV;AACF;;;AEbA,SAAS,cAAc,QAAQ;AAC7B,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AACA,SAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACjD,WAAO,IAAI,YAAY,CAAC,IAAI,OAAO,GAAG;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACRA,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU,KAAM,QAAO;AACxD,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM,kBAAmB,QAAO;AACxE,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU,KAAM,QAAO;AAC3B,QAAM,OAAO,OAAO,UAAU,eAAe,KAAK,OAAO,aAAa,KAAK,MAAM;AACjF,SAAO,OAAO,SAAS,cAAc,gBAAgB,QAAQ,SAAS,UAAU,KAAK,IAAI,MAAM,SAAS,UAAU,KAAK,KAAK;AAC9H;;;ACNA,SAAS,UAAU,UAAU,SAAS;AACpC,QAAM,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ;AACzC,SAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,QAAI,cAAc,QAAQ,GAAG,CAAC,GAAG;AAC/B,UAAI,EAAE,OAAO,UAAW,QAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA,UAChE,QAAO,GAAG,IAAI,UAAU,SAAS,GAAG,GAAG,QAAQ,GAAG,CAAC;AAAA,IAC1D,OAAO;AACL,aAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC/C;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACZA,SAAS,0BAA0B,KAAK;AACtC,aAAW,OAAO,KAAK;AACrB,QAAI,IAAI,GAAG,MAAM,QAAQ;AACvB,aAAO,IAAI,GAAG;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;;;ACJA,SAAS,MAAM,UAAU,OAAO,SAAS;AACvC,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACnC,cAAU,OAAO,OAAO,MAAM,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,OAAO,GAAG,OAAO;AAAA,EAC1E,OAAO;AACL,cAAU,OAAO,OAAO,CAAC,GAAG,KAAK;AAAA,EACnC;AACA,UAAQ,UAAU,cAAc,QAAQ,OAAO;AAC/C,4BAA0B,OAAO;AACjC,4BAA0B,QAAQ,OAAO;AACzC,QAAM,gBAAgB,UAAU,YAAY,CAAC,GAAG,OAAO;AACvD,MAAI,QAAQ,QAAQ,YAAY;AAC9B,QAAI,YAAY,SAAS,UAAU,UAAU,QAAQ;AACnD,oBAAc,UAAU,WAAW,SAAS,UAAU,SAAS;AAAA,QAC7D,CAAC,YAAY,CAAC,cAAc,UAAU,SAAS,SAAS,OAAO;AAAA,MACjE,EAAE,OAAO,cAAc,UAAU,QAAQ;AAAA,IAC3C;AACA,kBAAc,UAAU,YAAY,cAAc,UAAU,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,QAAQ,QAAQ,YAAY,EAAE,CAAC;AAAA,EAC9H;AACA,SAAO;AACT;;;ACvBA,SAAS,mBAAmB,KAAK,YAAY;AAC3C,QAAM,YAAY,KAAK,KAAK,GAAG,IAAI,MAAM;AACzC,QAAM,QAAQ,OAAO,KAAK,UAAU;AACpC,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO;AAAA,EACT;AACA,SAAO,MAAM,YAAY,MAAM,IAAI,CAAC,SAAS;AAC3C,QAAI,SAAS,KAAK;AAChB,aAAO,OAAO,WAAW,EAAE,MAAM,GAAG,EAAE,IAAI,kBAAkB,EAAE,KAAK,GAAG;AAAA,IACxE;AACA,WAAO,GAAG,IAAI,IAAI,mBAAmB,WAAW,IAAI,CAAC,CAAC;AAAA,EACxD,CAAC,EAAE,KAAK,GAAG;AACb;;;ACZA,IAAM,mBAAmB;AACzB,SAAS,eAAe,cAAc;AACpC,SAAO,aAAa,QAAQ,6BAA6B,EAAE,EAAE,MAAM,GAAG;AACxE;AACA,SAAS,wBAAwB,KAAK;AACpC,QAAM,UAAU,IAAI,MAAM,gBAAgB;AAC1C,MAAI,CAAC,SAAS;AACZ,WAAO,CAAC;AAAA,EACV;AACA,SAAO,QAAQ,IAAI,cAAc,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACrE;;;ACVA,SAAS,KAAK,QAAQ,YAAY;AAChC,QAAM,SAAS,EAAE,WAAW,KAAK;AACjC,aAAW,OAAO,OAAO,KAAK,MAAM,GAAG;AACrC,QAAI,WAAW,QAAQ,GAAG,MAAM,IAAI;AAClC,aAAO,GAAG,IAAI,OAAO,GAAG;AAAA,IAC1B;AAAA,EACF;AACA,SAAO;AACT;;;ACRA,SAAS,eAAe,KAAK;AAC3B,SAAO,IAAI,MAAM,oBAAoB,EAAE,IAAI,SAAS,MAAM;AACxD,QAAI,CAAC,eAAe,KAAK,IAAI,GAAG;AAC9B,aAAO,UAAU,IAAI,EAAE,QAAQ,QAAQ,GAAG,EAAE,QAAQ,QAAQ,GAAG;AAAA,IACjE;AACA,WAAO;AAAA,EACT,CAAC,EAAE,KAAK,EAAE;AACZ;AACA,SAAS,iBAAiB,KAAK;AAC7B,SAAO,mBAAmB,GAAG,EAAE,QAAQ,YAAY,SAAS,GAAG;AAC7D,WAAO,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,YAAY;AAAA,EACxD,CAAC;AACH;AACA,SAAS,YAAY,UAAU,OAAO,KAAK;AACzC,UAAQ,aAAa,OAAO,aAAa,MAAM,eAAe,KAAK,IAAI,iBAAiB,KAAK;AAC7F,MAAI,KAAK;AACP,WAAO,iBAAiB,GAAG,IAAI,MAAM;AAAA,EACvC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AACA,SAAS,UAAU,OAAO;AACxB,SAAO,UAAU,UAAU,UAAU;AACvC;AACA,SAAS,cAAc,UAAU;AAC/B,SAAO,aAAa,OAAO,aAAa,OAAO,aAAa;AAC9D;AACA,SAAS,UAAU,SAAS,UAAU,KAAK,UAAU;AACnD,MAAI,QAAQ,QAAQ,GAAG,GAAG,SAAS,CAAC;AACpC,MAAI,UAAU,KAAK,KAAK,UAAU,IAAI;AACpC,QAAI,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW;AACrH,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,aAAW,SAAS;AAAA,IAClB;AAAA,IACA,SAAS,GAAG,YAAY,SAAS;AAC/B,UAAI,YAAY;AACd,YAAI,WAAW;AACf,cAAM,SAAS,CAAC;AAChB,YAAI,UAAU,QAAQ,WAAW,OAAO,CAAC,CAAC,MAAM,IAAI;AAClD,qBAAW,WAAW,OAAO,CAAC;AAC9B,uBAAa,WAAW,OAAO,CAAC;AAAA,QAClC;AACA,mBAAW,MAAM,IAAI,EAAE,QAAQ,SAAS,UAAU;AAChD,cAAI,MAAM,4BAA4B,KAAK,QAAQ;AACnD,iBAAO,KAAK,UAAU,SAAS,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AAAA,QACpE,CAAC;AACD,YAAI,YAAY,aAAa,KAAK;AAChC,cAAI,YAAY;AAChB,cAAI,aAAa,KAAK;AACpB,wBAAY;AAAA,UACd,WAAW,aAAa,KAAK;AAC3B,wBAAY;AAAA,UACd;AACA,kBAAQ,OAAO,WAAW,IAAI,WAAW,MAAM,OAAO,KAAK,SAAS;AAAA,QACtE,OAAO;AACL,iBAAO,OAAO,KAAK,GAAG;AAAA,QACxB;AAAA,MACF,OAAO;AACL,eAAO,eAAe,OAAO;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACA,MAAI,aAAa,KAAK;AACpB,WAAO;AAAA,EACT,OAAO;AACL,WAAO,SAAS,QAAQ,OAAO,EAAE;AAAA,EACnC;AACF;;;AC7HA,SAAS,MAAM,SAAS;AACtB,MAAI,SAAS,QAAQ,OAAO,YAAY;AACxC,MAAI,OAAO,QAAQ,OAAO,KAAK,QAAQ,gBAAgB,MAAM;AAC7D,MAAI,UAAU,OAAO,OAAO,CAAC,GAAG,QAAQ,OAAO;AAC/C,MAAI;AACJ,MAAI,aAAa,KAAK,SAAS;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,QAAM,mBAAmB,wBAAwB,GAAG;AACpD,QAAM,SAAS,GAAG,EAAE,OAAO,UAAU;AACrC,MAAI,CAAC,QAAQ,KAAK,GAAG,GAAG;AACtB,UAAM,QAAQ,UAAU;AAAA,EAC1B;AACA,QAAM,oBAAoB,OAAO,KAAK,OAAO,EAAE,OAAO,CAAC,WAAW,iBAAiB,SAAS,MAAM,CAAC,EAAE,OAAO,SAAS;AACrH,QAAM,sBAAsB,KAAK,YAAY,iBAAiB;AAC9D,QAAM,kBAAkB,6BAA6B,KAAK,QAAQ,MAAM;AACxE,MAAI,CAAC,iBAAiB;AACpB,QAAI,QAAQ,UAAU,QAAQ;AAC5B,cAAQ,SAAS,QAAQ,OAAO,MAAM,GAAG,EAAE;AAAA,QACzC,CAAC,WAAW,OAAO;AAAA,UACjB;AAAA,UACA,uBAAuB,QAAQ,UAAU,MAAM;AAAA,QACjD;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AACA,QAAI,IAAI,SAAS,UAAU,GAAG;AAC5B,UAAI,QAAQ,UAAU,UAAU,QAAQ;AACtC,cAAM,2BAA2B,QAAQ,OAAO,MAAM,+BAA+B,KAAK,CAAC;AAC3F,gBAAQ,SAAS,yBAAyB,OAAO,QAAQ,UAAU,QAAQ,EAAE,IAAI,CAAC,YAAY;AAC5F,gBAAM,SAAS,QAAQ,UAAU,SAAS,IAAI,QAAQ,UAAU,MAAM,KAAK;AAC3E,iBAAO,0BAA0B,OAAO,WAAW,MAAM;AAAA,QAC3D,CAAC,EAAE,KAAK,GAAG;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,OAAO,MAAM,EAAE,SAAS,MAAM,GAAG;AACpC,UAAM,mBAAmB,KAAK,mBAAmB;AAAA,EACnD,OAAO;AACL,QAAI,UAAU,qBAAqB;AACjC,aAAO,oBAAoB;AAAA,IAC7B,OAAO;AACL,UAAI,OAAO,KAAK,mBAAmB,EAAE,QAAQ;AAC3C,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,QAAQ,cAAc,KAAK,OAAO,SAAS,aAAa;AAC3D,YAAQ,cAAc,IAAI;AAAA,EAC5B;AACA,MAAI,CAAC,SAAS,KAAK,EAAE,SAAS,MAAM,KAAK,OAAO,SAAS,aAAa;AACpE,WAAO;AAAA,EACT;AACA,SAAO,OAAO;AAAA,IACZ,EAAE,QAAQ,KAAK,QAAQ;AAAA,IACvB,OAAO,SAAS,cAAc,EAAE,KAAK,IAAI;AAAA,IACzC,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAQ,IAAI;AAAA,EACnD;AACF;;;AC/DA,SAAS,qBAAqB,UAAU,OAAO,SAAS;AACtD,SAAO,MAAM,MAAM,UAAU,OAAO,OAAO,CAAC;AAC9C;;;ACFA,SAAS,aAAa,aAAa,aAAa;AAC9C,QAAMA,YAAW,MAAM,aAAa,WAAW;AAC/C,QAAMC,YAAW,qBAAqB,KAAK,MAAMD,SAAQ;AACzD,SAAO,OAAO,OAAOC,WAAU;AAAA,IAC7B,UAAAD;AAAA,IACA,UAAU,aAAa,KAAK,MAAMA,SAAQ;AAAA,IAC1C,OAAO,MAAM,KAAK,MAAMA,SAAQ;AAAA,IAChC;AAAA,EACF,CAAC;AACH;;;ACVA,IAAM,WAAW,aAAa,MAAM,QAAQ;", + "names": ["DEFAULTS", "endpoint"] +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/defaults.js new file mode 100644 index 0000000..5f65ced --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/defaults.js @@ -0,0 +1,17 @@ +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version.js"; +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "" + } +}; +export { + DEFAULTS +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js new file mode 100644 index 0000000..e67c9e5 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js @@ -0,0 +1,9 @@ +import { DEFAULTS } from "./defaults.js"; +import { merge } from "./merge.js"; +import { parse } from "./parse.js"; +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} +export { + endpointWithDefaults +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/index.js new file mode 100644 index 0000000..7d60502 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/index.js @@ -0,0 +1,6 @@ +import { withDefaults } from "./with-defaults.js"; +import { DEFAULTS } from "./defaults.js"; +const endpoint = withDefaults(null, DEFAULTS); +export { + endpoint +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/merge.js new file mode 100644 index 0000000..cf1b37e --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/merge.js @@ -0,0 +1,27 @@ +import { lowercaseKeys } from "./util/lowercase-keys.js"; +import { mergeDeep } from "./util/merge-deep.js"; +import { removeUndefinedProperties } from "./util/remove-undefined-properties.js"; +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { method, url } : { url: method }, options); + } else { + options = Object.assign({}, route); + } + options.headers = lowercaseKeys(options.headers); + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + if (options.url === "/graphql") { + if (defaults && defaults.mediaType.previews?.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter( + (preview) => !mergedOptions.mediaType.previews.includes(preview) + ).concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, "")); + } + return mergedOptions; +} +export { + merge +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/parse.js new file mode 100644 index 0000000..f3df817 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/parse.js @@ -0,0 +1,70 @@ +import { addQueryParameters } from "./util/add-query-parameters.js"; +import { extractUrlVariableNames } from "./util/extract-url-variable-names.js"; +import { omit } from "./util/omit.js"; +import { parseUrl } from "./util/url-template.js"; +function parse(options) { + let method = options.method.toUpperCase(); + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType" + ]); + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + headers.accept = headers.accept.split(/,/).map( + (format) => format.replace( + /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, + `application/vnd$1$2.${options.mediaType.format}` + ) + ).join(","); + } + if (url.endsWith("/graphql")) { + if (options.mediaType.previews?.length) { + const previewsFromAcceptHeader = headers.accept.match(/(? { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } + } + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + } + } + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + return Object.assign( + { method, url, headers }, + typeof body !== "undefined" ? { body } : null, + options.request ? { request: options.request } : null + ); +} +export { + parse +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js new file mode 100644 index 0000000..6bdf736 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js @@ -0,0 +1,16 @@ +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return url + separator + names.map((name) => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} +export { + addQueryParameters +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js new file mode 100644 index 0000000..bd90977 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js @@ -0,0 +1,14 @@ +const urlVariableRegex = /\{[^{}}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); +} +export { + extractUrlVariableNames +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js new file mode 100644 index 0000000..6ae73a6 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js @@ -0,0 +1,11 @@ +function isPlainObject(value) { + if (typeof value !== "object" || value === null) return false; + if (Object.prototype.toString.call(value) !== "[object Object]") return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} +export { + isPlainObject +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js new file mode 100644 index 0000000..9bd7bb9 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js @@ -0,0 +1,12 @@ +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} +export { + lowercaseKeys +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js new file mode 100644 index 0000000..bbfef87 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js @@ -0,0 +1,16 @@ +import { isPlainObject } from "./is-plain-object.js"; +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { [key]: options[key] }); + else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} +export { + mergeDeep +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/omit.js new file mode 100644 index 0000000..aceffe2 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/omit.js @@ -0,0 +1,12 @@ +function omit(object, keysToOmit) { + const result = { __proto__: null }; + for (const key of Object.keys(object)) { + if (keysToOmit.indexOf(key) === -1) { + result[key] = object[key]; + } + } + return result; +} +export { + omit +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js new file mode 100644 index 0000000..8653027 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js @@ -0,0 +1,11 @@ +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === void 0) { + delete obj[key]; + } + } + return obj; +} +export { + removeUndefinedProperties +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/url-template.js new file mode 100644 index 0000000..805424f --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/util/url-template.js @@ -0,0 +1,133 @@ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }).join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} +function isDefined(value) { + return value !== void 0 && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "bigint" || typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push( + encodeValue(operator, value, isKeyOperator(operator) ? key : "") + ); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + result.push( + encodeValue(operator, value2, isKeyOperator(operator) ? key : "") + ); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + tmp.push(encodeValue(operator, value2)); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + return result; +} +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + template = template.replace( + /\{([^\{\}]+)\}|([^\{\}]+)/g, + function(_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function(variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + } + ); + if (template === "/") { + return template; + } else { + return template.replace(/\/$/, ""); + } +} +export { + parseUrl +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/version.js new file mode 100644 index 0000000..7544985 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "11.0.3"; +export { + VERSION +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/with-defaults.js new file mode 100644 index 0000000..5551d42 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-src/with-defaults.js @@ -0,0 +1,16 @@ +import { endpointWithDefaults } from "./endpoint-with-defaults.js"; +import { merge } from "./merge.js"; +import { parse } from "./parse.js"; +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse + }); +} +export { + withDefaults +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/defaults.d.ts new file mode 100644 index 0000000..d65e889 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/defaults.d.ts @@ -0,0 +1,2 @@ +import type { EndpointDefaults } from "@octokit/types"; +export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts new file mode 100644 index 0000000..ec25627 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts @@ -0,0 +1,3 @@ +import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; +import { DEFAULTS } from "./defaults.js"; +export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/index.d.ts new file mode 100644 index 0000000..1ede136 --- /dev/null +++ b/node_modules/@octokit/core/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/core/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/merge.d.ts new file mode 100644 index 0000000..f583981 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/merge.d.ts @@ -0,0 +1,2 @@ +import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; +export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/parse.d.ts new file mode 100644 index 0000000..5d0927a --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/parse.d.ts @@ -0,0 +1,2 @@ +import type { EndpointDefaults, RequestOptions } from "@octokit/types"; +export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/node_modules/@octokit/core/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/core/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/core/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/node_modules/@octokit/core/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/core/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/core/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts new file mode 100644 index 0000000..004fa4b --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts @@ -0,0 +1 @@ +export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts new file mode 100644 index 0000000..1daf307 --- /dev/null +++ b/node_modules/@octokit/core/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/core/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts new file mode 100644 index 0000000..914411c --- /dev/null +++ b/node_modules/@octokit/core/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/core/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts new file mode 100644 index 0000000..06927d6 --- /dev/null +++ b/node_modules/@octokit/core/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/core/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts new file mode 100644 index 0000000..92d8d85 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts @@ -0,0 +1 @@ +export declare function removeUndefinedProperties(obj: any): any; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts new file mode 100644 index 0000000..5d967ca --- /dev/null +++ b/node_modules/@octokit/core/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/core/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/version.d.ts new file mode 100644 index 0000000..1dfc475 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "11.0.3"; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts new file mode 100644 index 0000000..e09354c --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; +export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/node_modules/@octokit/core/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/core/node_modules/@octokit/endpoint/package.json new file mode 100644 index 0000000..e323231 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/endpoint/package.json @@ -0,0 +1,50 @@ +{ + "name": "@octokit/endpoint", + "version": "11.0.3", + "type": "module", + "publishConfig": { + "access": "public", + "provenance": true + }, + "description": "Turns REST API endpoints into generic request options", + "repository": "github:octokit/endpoint.js", + "keywords": [ + "octokit", + "github", + "api", + "rest" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "devDependencies": { + "@octokit/tsconfig": "^4.0.0", + "@types/node": "^24.0.0", + "@vitest/coverage-v8": "^3.0.0", + "esbuild": "^0.27.0", + "tinyglobby": "^0.2.15", + "prettier": "3.6.2", + "semantic-release-plugin-update-version-in-files": "^2.0.0", + "typescript": "^5.0.0", + "vitest": "^3.0.0" + }, + "dependencies": { + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 20" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "types": "./dist-types/index.d.ts", + "exports": { + ".": { + "types": "./dist-types/index.d.ts", + "import": "./dist-bundle/index.js", + "default": "./dist-bundle/index.js" + } + }, + "sideEffects": false +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/LICENSE b/node_modules/@octokit/core/node_modules/@octokit/graphql/LICENSE new file mode 100644 index 0000000..af5366d --- /dev/null +++ b/node_modules/@octokit/core/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/core/node_modules/@octokit/graphql/README.md b/node_modules/@octokit/core/node_modules/@octokit/graphql/README.md new file mode 100644 index 0000000..074cb05 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/README.md @@ -0,0 +1,408 @@ +# graphql.js + +> GitHub GraphQL API client for browsers and Node + +[![@latest](https://img.shields.io/npm/v/@octokit/graphql.svg)](https://www.npmjs.com/package/@octokit/graphql) +[![Build Status](https://github.com/octokit/graphql.js/workflows/Test/badge.svg)](https://github.com/octokit/graphql.js/actions?query=workflow%3ATest+branch%3Amain) + + + +- [Usage](#usage) + - [Send a simple query](#send-a-simple-query) + - [Authentication](#authentication) + - [Variables](#variables) + - [Pass query together with headers and variables](#pass-query-together-with-headers-and-variables) + - [Use with GitHub Enterprise](#use-with-github-enterprise) + - [Use custom `@octokit/request` instance](#use-custom-octokitrequest-instance) +- [TypeScript](#typescript) + - [Additional Types](#additional-types) +- [Errors](#errors) +- [Partial responses](#partial-responses) +- [Writing tests](#writing-tests) +- [License](#license) + + + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/graphql` directly from [esm.sh](https://esm.sh) + +```html + +``` + +
+Node + + +Install with npm install @octokit/graphql + +```js +import { graphql } from "@octokit/graphql"; +``` + +
+ +### Send a simple query + +```js +const { repository } = await graphql( + ` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } + `, + { + headers: { + authorization: `token secret123`, + }, + }, +); +``` + +### Authentication + +The simplest way to authenticate a request is to set the `Authorization` header, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const graphqlWithAuth = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const { repository } = await graphqlWithAuth(` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +``` + +For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). + +```js +const { createAppAuth } = await import("@octokit/auth-app"); +const auth = createAppAuth({ + appId: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const graphqlWithAuth = graphql.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { repository } = await graphqlWithAuth( + `{ + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + }`, +); +``` + +### Variables + +⚠️ Do not use [template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) in the query strings as they make your code vulnerable to query injection attacks (see [#2](https://github.com/octokit/graphql.js/issues/2)). Use variables instead: + +```js +const { repository } = await graphql( + ` + query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner: $owner, name: $repo) { + issues(last: $num) { + edges { + node { + title + } + } + } + } + } + `, + { + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, + }, +); +``` + +### Pass query together with headers and variables + +```js +import { graphql } from("@octokit/graphql"); +const { repository } = 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 +import { graphql } from "@octokit/graphql"; +graphql = graphql.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api", + headers: { + authorization: `token secret123`, + }, +}); +const { repository } = await graphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +``` + +### Use custom `@octokit/request` instance + +```js +import { request } from "@octokit/request"; +import { withCustomRequest } from "@octokit/graphql"; + +let requestCounter = 0; +const myRequest = request.defaults({ + headers: { + authorization: "bearer secret123", + }, + request: { + hook(request, options) { + requestCounter++; + return request(options); + }, + }, +}); +const myGraphql = withCustomRequest(myRequest); +await request("/"); +await myGraphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +// requestCounter is now 2 +``` + +## TypeScript + +`@octokit/graphql` is exposing proper types for its usage with TypeScript projects. + +### Additional Types + +Additionally, `GraphQlQueryResponseData` has been exposed to users: + +```ts +import type { GraphQlQueryResponseData } from "@octokit/graphql"; +``` + +## Errors + +In case of a GraphQL error, `error.message` is set to a combined message describing all errors returned by the endpoint. +All errors can be accessed at `error.errors`. `error.request` has the request options such as query, variables and headers set for easier debugging. + +```js +import { graphql, GraphqlResponseError } from "@octokit/graphql"; +graphql = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const query = `{ + viewer { + bioHtml + } +}`; + +try { + const result = await graphql(query); +} catch (error) { + if (error instanceof GraphqlResponseError) { + // do something with the error, allowing you to detect a graphql response error, + // compared to accidentally catching unrelated errors. + + // server responds with an object like the following (as an example) + // class GraphqlResponseError { + // "headers": { + // "status": "403", + // }, + // "data": null, + // "errors": [{ + // "message": "Field 'bioHtml' doesn't exist on type 'User'", + // "locations": [{ + // "line": 3, + // "column": 5 + // }] + // }] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // Field 'bioHtml' doesn't exist on type 'User' + } else { + // handle non-GraphQL error + } +} +``` + +## Partial responses + +A GraphQL query may respond with partial data accompanied by errors. In this case we will throw an error but the partial data will still be accessible through `error.data` + +```js +import { graphql } from "@octokit/graphql"; +graphql = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const query = `{ + repository(name: "probot", owner: "probot") { + name + ref(qualifiedName: "master") { + target { + ... on Commit { + history(first: 25, after: "invalid cursor") { + nodes { + message + } + } + } + } + } + } +}`; + +try { + const result = await graphql(query); +} catch (error) { + // server responds with + // { + // "data": { + // "repository": { + // "name": "probot", + // "ref": null + // } + // }, + // "errors": [ + // { + // "type": "INVALID_CURSOR_ARGUMENTS", + // "path": [ + // "repository", + // "ref", + // "target", + // "history" + // ], + // "locations": [ + // { + // "line": 7, + // "column": 11 + // } + // ], + // "message": "`invalid cursor` does not appear to be a valid cursor." + // } + // ] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // `invalid cursor` does not appear to be a valid cursor. + console.log(error.data); // { repository: { name: 'probot', ref: null } } +} +``` + +## Writing tests + +You can pass a replacement for [the built-in fetch implementation](https://github.com/bitinn/node-fetch) as `request.fetch` option. For example, using [fetch-mock](http://www.wheresrhys.co.uk/fetch-mock/) works great to write tests + +```js +import assert from "assert"; +import fetchMock from "fetch-mock"; + +import { graphql } from "@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/core/node_modules/@octokit/graphql/dist-bundle/index.js b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-bundle/index.js new file mode 100644 index 0000000..da0ade5 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-bundle/index.js @@ -0,0 +1,129 @@ +// pkg/dist-src/index.js +import { request } from "@octokit/request"; +import { getUserAgent } from "universal-user-agent"; + +// pkg/dist-src/version.js +var VERSION = "0.0.0-development"; + +// pkg/dist-src/with-defaults.js +import { request as Request2 } from "@octokit/request"; + +// pkg/dist-src/graphql.js +import { request as Request } from "@octokit/request"; + +// pkg/dist-src/error.js +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors: +` + data.errors.map((e) => ` - ${e.message}`).join("\n"); +} +var GraphqlResponseError = class extends Error { + constructor(request2, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request2; + this.headers = headers; + this.response = response; + this.errors = response.errors; + this.data = response.data; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + name = "GraphqlResponseError"; + errors; + data; +}; + +// pkg/dist-src/graphql.js +var NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", + "operationName" +]; +var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request2, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject( + new Error(`[@octokit/graphql] "query" cannot be used as variable name`) + ); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject( + new Error( + `[@octokit/graphql] "${key}" cannot be used as variable name` + ) + ); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys( + parsedOptions + ).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request2(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError( + requestOptions, + headers, + response.data + ); + } + return response.data.data; + }); +} + +// pkg/dist-src/with-defaults.js +function withDefaults(request2, newDefaults) { + const newRequest = request2.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: newRequest.endpoint + }); +} + +// pkg/dist-src/index.js +var graphql2 = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} +export { + GraphqlResponseError, + graphql2 as graphql, + withCustomRequest +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-bundle/index.js.map b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-bundle/index.js.map new file mode 100644 index 0000000..3f41bc3 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-bundle/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/with-defaults.js", "../dist-src/graphql.js", "../dist-src/error.js"], + "sourcesContent": ["import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version.js\";\nimport { withDefaults } from \"./with-defaults.js\";\nconst graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nimport { GraphqlResponseError } from \"./error.js\";\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql,\n withCustomRequest\n};\n", "const VERSION = \"0.0.0-development\";\nexport {\n VERSION\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql.js\";\nfunction withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: newRequest.endpoint\n });\n}\nexport {\n withDefaults\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { GraphqlResponseError } from \"./error.js\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n \"operationName\"\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(\n new Error(\n `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n )\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\nexport {\n graphql\n};\n", "function _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n name = \"GraphqlResponseError\";\n errors;\n data;\n}\nexport {\n GraphqlResponseError\n};\n"], + "mappings": ";AAAA,SAAS,eAAe;AACxB,SAAS,oBAAoB;;;ACD7B,IAAM,UAAU;;;ACAhB,SAAS,WAAWA,gBAAe;;;ACAnC,SAAS,WAAW,eAAe;;;ACAnC,SAAS,+BAA+B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK,OAAO,IAAI,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,IAAI;AACvD;AACA,IAAM,uBAAN,cAAmC,MAAM;AAAA,EACvC,YAAYC,UAAS,SAAS,UAAU;AACtC,UAAM,+BAA+B,QAAQ,CAAC;AAC9C,SAAK,UAAUA;AACf,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,SAAS,SAAS;AACvB,SAAK,OAAO,SAAS;AACrB,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,IAChD;AAAA,EACF;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AACF;;;ADjBA,IAAM,uBAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,IAAM,6BAA6B,CAAC,SAAS,UAAU,KAAK;AAC5D,IAAM,uBAAuB;AAC7B,SAAS,QAAQC,UAAS,OAAO,SAAS;AACxC,MAAI,SAAS;AACX,QAAI,OAAO,UAAU,YAAY,WAAW,SAAS;AACnD,aAAO,QAAQ;AAAA,QACb,IAAI,MAAM,4DAA4D;AAAA,MACxE;AAAA,IACF;AACA,eAAW,OAAO,SAAS;AACzB,UAAI,CAAC,2BAA2B,SAAS,GAAG,EAAG;AAC/C,aAAO,QAAQ;AAAA,QACb,IAAI;AAAA,UACF,uBAAuB,GAAG;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,QAAM,gBAAgB,OAAO,UAAU,WAAW,OAAO,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI;AACtF,QAAM,iBAAiB,OAAO;AAAA,IAC5B;AAAA,EACF,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACxB,QAAI,qBAAqB,SAAS,GAAG,GAAG;AACtC,aAAO,GAAG,IAAI,cAAc,GAAG;AAC/B,aAAO;AAAA,IACT;AACA,QAAI,CAAC,OAAO,WAAW;AACrB,aAAO,YAAY,CAAC;AAAA,IACtB;AACA,WAAO,UAAU,GAAG,IAAI,cAAc,GAAG;AACzC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACL,QAAM,UAAU,cAAc,WAAWA,SAAQ,SAAS,SAAS;AACnE,MAAI,qBAAqB,KAAK,OAAO,GAAG;AACtC,mBAAe,MAAM,QAAQ,QAAQ,sBAAsB,cAAc;AAAA,EAC3E;AACA,SAAOA,SAAQ,cAAc,EAAE,KAAK,CAAC,aAAa;AAChD,QAAI,SAAS,KAAK,QAAQ;AACxB,YAAM,UAAU,CAAC;AACjB,iBAAW,OAAO,OAAO,KAAK,SAAS,OAAO,GAAG;AAC/C,gBAAQ,GAAG,IAAI,SAAS,QAAQ,GAAG;AAAA,MACrC;AACA,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF;AACA,WAAO,SAAS,KAAK;AAAA,EACvB,CAAC;AACH;;;AD5DA,SAAS,aAAaC,UAAS,aAAa;AAC1C,QAAM,aAAaA,SAAQ,SAAS,WAAW;AAC/C,QAAM,SAAS,CAAC,OAAO,YAAY;AACjC,WAAO,QAAQ,YAAY,OAAO,OAAO;AAAA,EAC3C;AACA,SAAO,OAAO,OAAO,QAAQ;AAAA,IAC3B,UAAU,aAAa,KAAK,MAAM,UAAU;AAAA,IAC5C,UAAU,WAAW;AAAA,EACvB,CAAC;AACH;;;AFPA,IAAMC,WAAU,aAAa,SAAS;AAAA,EACpC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,IAAI,aAAa,CAAC;AAAA,EAC/D;AAAA,EACA,QAAQ;AAAA,EACR,KAAK;AACP,CAAC;AAED,SAAS,kBAAkB,eAAe;AACxC,SAAO,aAAa,eAAe;AAAA,IACjC,QAAQ;AAAA,IACR,KAAK;AAAA,EACP,CAAC;AACH;", + "names": ["Request", "request", "request", "request", "graphql"] +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/error.js b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/error.js new file mode 100644 index 0000000..e899b5a --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/error.js @@ -0,0 +1,23 @@ +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors: +` + data.errors.map((e) => ` - ${e.message}`).join("\n"); +} +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.errors = response.errors; + this.data = response.data; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + name = "GraphqlResponseError"; + errors; + data; +} +export { + GraphqlResponseError +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/graphql.js b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/graphql.js new file mode 100644 index 0000000..391a594 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/graphql.js @@ -0,0 +1,66 @@ +import { request as Request } from "@octokit/request"; +import { GraphqlResponseError } from "./error.js"; +const NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", + "operationName" +]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject( + new Error(`[@octokit/graphql] "query" cannot be used as variable name`) + ); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject( + new Error( + `[@octokit/graphql] "${key}" cannot be used as variable name` + ) + ); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys( + parsedOptions + ).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError( + requestOptions, + headers, + response.data + ); + } + return response.data.data; + }); +} +export { + graphql +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/index.js b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/index.js new file mode 100644 index 0000000..c3e5446 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/index.js @@ -0,0 +1,23 @@ +import { request } from "@octokit/request"; +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version.js"; +import { withDefaults } from "./with-defaults.js"; +const graphql = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +import { GraphqlResponseError } from "./error.js"; +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} +export { + GraphqlResponseError, + graphql, + withCustomRequest +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/version.js b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/version.js new file mode 100644 index 0000000..c1f302f --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "9.0.3"; +export { + VERSION +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/with-defaults.js b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/with-defaults.js new file mode 100644 index 0000000..2e7dd58 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-src/with-defaults.js @@ -0,0 +1,15 @@ +import { request as Request } from "@octokit/request"; +import { graphql } from "./graphql.js"; +function withDefaults(request, newDefaults) { + const newRequest = request.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: newRequest.endpoint + }); +} +export { + withDefaults +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/error.d.ts b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/error.d.ts new file mode 100644 index 0000000..722b9e0 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/error.d.ts @@ -0,0 +1,13 @@ +import type { ResponseHeaders } from "@octokit/types"; +import type { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types.js"; +type ServerResponseData = Required>; +export declare class GraphqlResponseError extends Error { + readonly request: GraphQlEndpointOptions; + readonly headers: ResponseHeaders; + readonly response: ServerResponseData; + name: string; + readonly errors: GraphQlQueryResponse["errors"]; + readonly data: ResponseData; + constructor(request: GraphQlEndpointOptions, headers: ResponseHeaders, response: ServerResponseData); +} +export {}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/graphql.d.ts b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/graphql.d.ts new file mode 100644 index 0000000..f21fe22 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/graphql.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import type { RequestParameters, GraphQlQueryResponseData } from "./types.js"; +export declare function graphql(request: typeof Request, query: string | RequestParameters, options?: RequestParameters): Promise; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/index.d.ts b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/index.d.ts new file mode 100644 index 0000000..94f3bf2 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/index.d.ts @@ -0,0 +1,5 @@ +import { request } from "@octokit/request"; +export declare const graphql: import("./types.js").graphql; +export type { GraphQlQueryResponseData } from "./types.js"; +export { GraphqlResponseError } from "./error.js"; +export declare function withCustomRequest(customRequest: typeof request): import("./types.js").graphql; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/types.d.ts b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/types.d.ts new file mode 100644 index 0000000..ceba025 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/types.d.ts @@ -0,0 +1,55 @@ +import type { EndpointOptions, RequestParameters as RequestParametersType, EndpointInterface } from "@octokit/types"; +export type GraphQlEndpointOptions = EndpointOptions & { + variables?: { + [key: string]: unknown; + }; +}; +export type RequestParameters = RequestParametersType; +export type Query = string; +export interface graphql { + /** + * Sends a GraphQL query request based on endpoint options + * The GraphQL query must be specified in `options`. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: RequestParameters): GraphQlResponse; + /** + * Sends a GraphQL query request based on endpoint options + * + * @param {string} query GraphQL query. Example: `'query { viewer { login } }'`. + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (query: Query, parameters?: RequestParameters): GraphQlResponse; + /** + * Returns a new `endpoint` with updated route and parameters + */ + defaults: (newDefaults: RequestParameters) => graphql; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} +export type GraphQlResponse = Promise; +export type GraphQlQueryResponseData = { + [key: string]: any; +}; +export type GraphQlQueryResponse = { + data: ResponseData; + errors?: [ + { + type: string; + message: string; + path: [string]; + extensions: { + [key: string]: any; + }; + locations: [ + { + line: number; + column: number; + } + ]; + } + ]; +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/version.d.ts b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/version.d.ts new file mode 100644 index 0000000..b52078d --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "9.0.3"; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts new file mode 100644 index 0000000..9644868 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import type { graphql as ApiInterface, RequestParameters } from "./types.js"; +export declare function withDefaults(request: typeof Request, newDefaults: RequestParameters): ApiInterface; diff --git a/node_modules/@octokit/core/node_modules/@octokit/graphql/package.json b/node_modules/@octokit/core/node_modules/@octokit/graphql/package.json new file mode 100644 index 0000000..f212720 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/graphql/package.json @@ -0,0 +1,55 @@ +{ + "name": "@octokit/graphql", + "version": "9.0.3", + "publishConfig": { + "access": "public", + "provenance": true + }, + "type": "module", + "description": "GitHub GraphQL API client for browsers and Node", + "repository": "github:octokit/graphql.js", + "keywords": [ + "octokit", + "github", + "api", + "graphql" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "dependencies": { + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.0" + }, + "devDependencies": { + "@octokit/tsconfig": "^4.0.0", + "@types/node": "^24.0.0", + "@vitest/coverage-v8": "^3.0.0", + "esbuild": "^0.25.0", + "fetch-mock": "^12.0.0", + "glob": "^11.0.0", + "prettier": "3.6.2", + "semantic-release-plugin-update-version-in-files": "^2.0.0", + "typescript": "^5.3.0", + "vitest": "^3.0.0" + }, + "engines": { + "node": ">= 20" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "types": "./dist-types/index.d.ts", + "exports": { + ".": { + "types": "./dist-types/index.d.ts", + "import": "./dist-bundle/index.js", + "default": "./dist-bundle/index.js" + }, + "./types": { + "types": "./dist-types/types.d.ts" + } + }, + "sideEffects": false +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/LICENSE new file mode 100644 index 0000000..b5642cd --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/LICENSE @@ -0,0 +1,7 @@ +Copyright (c) GitHub 2025 - Licensed as MIT. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@octokit/core/node_modules/@octokit/openapi-types/README.md b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/README.md new file mode 100644 index 0000000..e61ed8d --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/README.md @@ -0,0 +1,17 @@ +# @octokit/openapi-types + +> Generated TypeScript definitions based on GitHub's OpenAPI spec + +This package is continuously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) + +## Usage + +```ts +import { components } from "@octokit/openapi-types"; + +type Repository = components["schemas"]["full-repository"]; +``` + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/core/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/package.json new file mode 100644 index 0000000..822dd9b --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/package.json @@ -0,0 +1,21 @@ +{ + "name": "@octokit/openapi-types", + "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", + "repository": { + "type": "git", + "url": "https://github.com/octokit/openapi-types.ts.git", + "directory": "packages/openapi-types" + }, + "publishConfig": { + "access": "public", + "provenance": true + }, + "version": "27.0.0", + "main": "", + "types": "types.d.ts", + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "octokit": { + "openapi-version": "21.0.0" + } +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/types.d.ts new file mode 100644 index 0000000..556b090 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/openapi-types/types.d.ts @@ -0,0 +1,122599 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +/** OneOf type helpers */ +type Without = { [P in Exclude]?: never }; +type XOR = T | U extends object + ? (Without & U) | (Without & T) + : T | U; +type OneOf = T extends [infer Only] + ? Only + : T extends [infer A, infer B, ...infer Rest] + ? OneOf<[XOR, ...Rest]> + : never; + +export interface paths { + "/": { + /** + * GitHub API Root + * @description Get Hypermedia links to resources accessible in GitHub's REST API + */ + get: operations["meta/root"]; + }; + "/advisories": { + /** + * List global security advisories + * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. + * + * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." + */ + get: operations["security-advisories/list-global-advisories"]; + }; + "/advisories/{ghsa_id}": { + /** + * Get a global security advisory + * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. + */ + get: operations["security-advisories/get-global-advisory"]; + }; + "/app": { + /** + * Get the authenticated app + * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-authenticated"]; + }; + "/app-manifests/{code}/conversions": { + /** + * Create a GitHub App from a manifest + * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + post: operations["apps/create-from-manifest"]; + }; + "/app/hook/config": { + /** + * Get a webhook configuration for an app + * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-config-for-app"]; + /** + * Update a webhook configuration for an app + * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + patch: operations["apps/update-webhook-config-for-app"]; + }; + "/app/hook/deliveries": { + /** + * List deliveries for an app webhook + * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/list-webhook-deliveries"]; + }; + "/app/hook/deliveries/{delivery_id}": { + /** + * Get a delivery for an app webhook + * @description Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-delivery"]; + }; + "/app/hook/deliveries/{delivery_id}/attempts": { + /** + * Redeliver a delivery for an app webhook + * @description Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/redeliver-webhook-delivery"]; + }; + "/app/installation-requests": { + /** + * List installation requests for the authenticated app + * @description Lists all the pending installation requests for the authenticated GitHub App. + */ + get: operations["apps/list-installation-requests-for-authenticated-app"]; + }; + "/app/installations": { + /** + * List installations for the authenticated app + * @description You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + get: operations["apps/list-installations"]; + }; + "/app/installations/{installation_id}": { + /** + * Get an installation for the authenticated app + * @description Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-installation"]; + /** + * Delete an installation for the authenticated app + * @description Uninstalls a GitHub App on a user, organization, or enterprise account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/delete-installation"]; + }; + "/app/installations/{installation_id}/access_tokens": { + /** + * Create an installation access token for an app + * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. + * + * Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner. + * + * Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/create-installation-access-token"]; + }; + "/app/installations/{installation_id}/suspended": { + /** + * Suspend an app installation + * @description Suspends a GitHub App on a user, organization, or enterprise account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + put: operations["apps/suspend-installation"]; + /** + * Unsuspend an app installation + * @description Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/unsuspend-installation"]; + }; + "/applications/{client_id}/grant": { + /** + * Delete an app authorization + * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + delete: operations["apps/delete-authorization"]; + }; + "/applications/{client_id}/token": { + /** + * Check a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/check-token"]; + /** + * Delete an app token + * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. + */ + delete: operations["apps/delete-token"]; + /** + * Reset a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. Invalid tokens will return `404 NOT FOUND`. + */ + patch: operations["apps/reset-token"]; + }; + "/applications/{client_id}/token/scoped": { + /** + * Create a scoped access token + * @description Use a non-scoped user access token to create a repository-scoped and/or permission-scoped user access token. You can specify + * which repositories the token can access and which permissions are granted to the + * token. + * + * Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/scope-token"]; + }; + "/apps/{app_slug}": { + /** + * Get an app + * @description > [!NOTE] + * > The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + */ + get: operations["apps/get-by-slug"]; + }; + "/assignments/{assignment_id}": { + /** + * Get an assignment + * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-an-assignment"]; + }; + "/assignments/{assignment_id}/accepted_assignments": { + /** + * List accepted assignments for an assignment + * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/list-accepted-assignments-for-an-assignment"]; + }; + "/assignments/{assignment_id}/grades": { + /** + * Get assignment grades + * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-assignment-grades"]; + }; + "/classrooms": { + /** + * List classrooms + * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. + */ + get: operations["classroom/list-classrooms"]; + }; + "/classrooms/{classroom_id}": { + /** + * Get a classroom + * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/get-a-classroom"]; + }; + "/classrooms/{classroom_id}/assignments": { + /** + * List assignments for a classroom + * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/list-assignments-for-a-classroom"]; + }; + "/codes_of_conduct": { + /** + * Get all codes of conduct + * @description Returns array of all GitHub's codes of conduct. + */ + get: operations["codes-of-conduct/get-all-codes-of-conduct"]; + }; + "/codes_of_conduct/{key}": { + /** + * Get a code of conduct + * @description Returns information about the specified GitHub code of conduct. + */ + get: operations["codes-of-conduct/get-conduct-code"]; + }; + "/credentials/revoke": { + /** + * Revoke a list of credentials + * @description Submit a list of credentials to be revoked. This endpoint is intended to revoke credentials the caller does not own and may have found exposed on GitHub.com or elsewhere. It can also be used for credentials associated with an old user account that you no longer have access to. Credential owners will be notified of the revocation. + * + * This endpoint currently accepts the following credential types: + * - Personal access tokens (classic) + * - Fine-grained personal access tokens + * + * Revoked credentials may impact users on GitHub Free, Pro, & Team and GitHub Enterprise Cloud, and GitHub Enterprise Cloud with Enterprise Managed Users. + * GitHub cannot reactivate any credentials that have been revoked; new credentials will need to be generated. + * + * To prevent abuse, this API is limited to only 60 unauthenticated requests per hour and a max of 1000 tokens per API request. + * + * > [!NOTE] + * > Any authenticated requests will return a 403. + */ + post: operations["credentials/revoke"]; + }; + "/emojis": { + /** + * Get emojis + * @description Lists all the emojis available to use on GitHub. + */ + get: operations["emojis/get"]; + }; + "/enterprises/{enterprise}/code-security/configurations": { + /** + * Get code security configurations for an enterprise + * @description Lists all code security configurations available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-configurations-for-enterprise"]; + /** + * Create a code security configuration for an enterprise + * @description Creates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + post: operations["code-security/create-configuration-for-enterprise"]; + }; + "/enterprises/{enterprise}/code-security/configurations/defaults": { + /** + * Get default code security configurations for an enterprise + * @description Lists the default code security configurations for an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-default-configurations-for-enterprise"]; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}": { + /** + * Retrieve a code security configuration of an enterprise + * @description Gets a code security configuration available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-single-configuration-for-enterprise"]; + /** + * Delete a code security configuration for an enterprise + * @description Deletes a code security configuration from an enterprise. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + delete: operations["code-security/delete-configuration-for-enterprise"]; + /** + * Update a custom code security configuration for an enterprise + * @description Updates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + patch: operations["code-security/update-enterprise-configuration"]; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach": { + /** + * Attach an enterprise configuration to repositories + * @description Attaches an enterprise code security configuration to repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + post: operations["code-security/attach-enterprise-configuration"]; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults": { + /** + * Set a code security configuration as a default for an enterprise + * @description Sets a code security configuration as a default to be applied to new repositories in your enterprise. + * + * This configuration will be applied by default to the matching repository type when created, but only for organizations within the enterprise that do not already have a default code security configuration set. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + put: operations["code-security/set-configuration-as-default-for-enterprise"]; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories": { + /** + * Get repositories associated with an enterprise code security configuration + * @description Lists the repositories associated with an enterprise code security configuration in an organization. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-repositories-for-enterprise-configuration"]; + }; + "/enterprises/{enterprise}/dependabot/alerts": { + /** + * List Dependabot alerts for an enterprise + * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. + * + * The authenticated user must be a member of the enterprise to use this endpoint. + * + * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. + */ + get: operations["dependabot/list-alerts-for-enterprise"]; + }; + "/enterprises/{enterprise}/teams": { + /** + * List enterprise teams + * @description List all teams in the enterprise for the authenticated user + */ + get: operations["enterprise-teams/list"]; + /** + * Create an enterprise team + * @description To create an enterprise team, the authenticated user must be an owner of the enterprise. + */ + post: operations["enterprise-teams/create"]; + }; + "/enterprises/{enterprise}/teams/{enterprise-team}/memberships": { + /** + * List members in an enterprise team + * @description Lists all team members in an enterprise team. + */ + get: operations["enterprise-team-memberships/list"]; + }; + "/enterprises/{enterprise}/teams/{enterprise-team}/memberships/add": { + /** + * Bulk add team members + * @description Add multiple team members to an enterprise team. + */ + post: operations["enterprise-team-memberships/bulk-add"]; + }; + "/enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove": { + /** + * Bulk remove team members + * @description Remove multiple team members from an enterprise team. + */ + post: operations["enterprise-team-memberships/bulk-remove"]; + }; + "/enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}": { + /** + * Get enterprise team membership + * @description Returns whether the user is a member of the enterprise team. + */ + get: operations["enterprise-team-memberships/get"]; + /** + * Add team member + * @description Add a team member to an enterprise team. + */ + put: operations["enterprise-team-memberships/add"]; + /** + * Remove team membership + * @description Remove membership of a specific user from a particular team in an enterprise. + */ + delete: operations["enterprise-team-memberships/remove"]; + }; + "/enterprises/{enterprise}/teams/{enterprise-team}/organizations": { + /** + * Get organization assignments + * @description Get all organizations assigned to an enterprise team + */ + get: operations["enterprise-team-organizations/get-assignments"]; + }; + "/enterprises/{enterprise}/teams/{enterprise-team}/organizations/add": { + /** + * Add organization assignments + * @description Assign an enterprise team to multiple organizations. + */ + post: operations["enterprise-team-organizations/bulk-add"]; + }; + "/enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove": { + /** + * Remove organization assignments + * @description Unassign an enterprise team from multiple organizations. + */ + post: operations["enterprise-team-organizations/bulk-remove"]; + }; + "/enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}": { + /** + * Get organization assignment + * @description Check if an enterprise team is assigned to an organization + */ + get: operations["enterprise-team-organizations/get-assignment"]; + /** + * Add an organization assignment + * @description Assign an enterprise team to an organization. + */ + put: operations["enterprise-team-organizations/add"]; + /** + * Delete an organization assignment + * @description Unassign an enterprise team from an organization. + */ + delete: operations["enterprise-team-organizations/delete"]; + }; + "/enterprises/{enterprise}/teams/{team_slug}": { + /** + * Get an enterprise team + * @description Gets a team using the team's slug. To create the slug, GitHub replaces special characters in the name string, changes all words to lowercase, and replaces spaces with a `-` separator and adds the "ent:" prefix. For example, "My TEam Näme" would become `ent:my-team-name`. + */ + get: operations["enterprise-teams/get"]; + /** + * Delete an enterprise team + * @description To delete an enterprise team, the authenticated user must be an enterprise owner. + * + * If you are an enterprise owner, deleting an enterprise team will delete all of its IdP mappings as well. + */ + delete: operations["enterprise-teams/delete"]; + /** + * Update an enterprise team + * @description To edit a team, the authenticated user must be an enterprise owner. + */ + patch: operations["enterprise-teams/update"]; + }; + "/events": { + /** + * List public events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events"]; + }; + "/feeds": { + /** + * Get feeds + * @description Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * > [!NOTE] + * > Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + get: operations["activity/get-feeds"]; + }; + "/gists": { + /** + * List gists for the authenticated user + * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + get: operations["gists/list"]; + /** + * Create a gist + * @description Allows you to add a new gist with one or more files. + * + * > [!NOTE] + * > Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + post: operations["gists/create"]; + }; + "/gists/public": { + /** + * List public gists + * @description List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + get: operations["gists/list-public"]; + }; + "/gists/starred": { + /** + * List starred gists + * @description List the authenticated user's starred gists: + */ + get: operations["gists/list-starred"]; + }; + "/gists/{gist_id}": { + /** + * Get a gist + * @description Gets a specified gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get"]; + /** Delete a gist */ + delete: operations["gists/delete"]; + /** + * Update a gist + * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + patch: operations["gists/update"]; + }; + "/gists/{gist_id}/comments": { + /** + * List gist comments + * @description Lists the comments on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/list-comments"]; + /** + * Create a gist comment + * @description Creates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + post: operations["gists/create-comment"]; + }; + "/gists/{gist_id}/comments/{comment_id}": { + /** + * Get a gist comment + * @description Gets a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get-comment"]; + /** Delete a gist comment */ + delete: operations["gists/delete-comment"]; + /** + * Update a gist comment + * @description Updates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + patch: operations["gists/update-comment"]; + }; + "/gists/{gist_id}/commits": { + /** List gist commits */ + get: operations["gists/list-commits"]; + }; + "/gists/{gist_id}/forks": { + /** List gist forks */ + get: operations["gists/list-forks"]; + /** Fork a gist */ + post: operations["gists/fork"]; + }; + "/gists/{gist_id}/star": { + /** Check if a gist is starred */ + get: operations["gists/check-is-starred"]; + /** + * Star a gist + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["gists/star"]; + /** Unstar a gist */ + delete: operations["gists/unstar"]; + }; + "/gists/{gist_id}/{sha}": { + /** + * Get a gist revision + * @description Gets a specified gist revision. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get-revision"]; + }; + "/gitignore/templates": { + /** + * Get all gitignore templates + * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). + */ + get: operations["gitignore/get-all-templates"]; + }; + "/gitignore/templates/{name}": { + /** + * Get a gitignore template + * @description Get the content of a gitignore template. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw .gitignore contents. + */ + get: operations["gitignore/get-template"]; + }; + "/installation/repositories": { + /** + * List repositories accessible to the app installation + * @description List repositories that an app installation can access. + */ + get: operations["apps/list-repos-accessible-to-installation"]; + }; + "/installation/token": { + /** + * Revoke an installation access token + * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. + */ + delete: operations["apps/revoke-installation-access-token"]; + }; + "/issues": { + /** + * List issues assigned to the authenticated user + * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list"]; + }; + "/licenses": { + /** + * Get all commonly used licenses + * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: operations["licenses/get-all-commonly-used"]; + }; + "/licenses/{license}": { + /** + * Get a license + * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: operations["licenses/get"]; + }; + "/markdown": { + /** + * Render a Markdown document + * @description Depending on what is rendered in the Markdown, you may need to provide additional token scopes for labels, such as `issues:read` or `pull_requests:read`. + */ + post: operations["markdown/render"]; + }; + "/markdown/raw": { + /** + * Render a Markdown document in raw mode + * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + post: operations["markdown/render-raw"]; + }; + "/marketplace_listing/accounts/{account_id}": { + /** + * Get a subscription plan for an account + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account"]; + }; + "/marketplace_listing/plans": { + /** + * List plans + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans"]; + }; + "/marketplace_listing/plans/{plan_id}/accounts": { + /** + * List accounts for a plan + * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan"]; + }; + "/marketplace_listing/stubbed/accounts/{account_id}": { + /** + * Get a subscription plan for an account (stubbed) + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account-stubbed"]; + }; + "/marketplace_listing/stubbed/plans": { + /** + * List plans (stubbed) + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans-stubbed"]; + }; + "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { + /** + * List accounts for a plan (stubbed) + * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan-stubbed"]; + }; + "/meta": { + /** + * Get GitHub meta information + * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * The API's response also includes a list of GitHub's domain names. + * + * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. + * + * > [!NOTE] + * > This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. + */ + get: operations["meta/get"]; + }; + "/networks/{owner}/{repo}/events": { + /** + * List public events for a network of repositories + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events-for-repo-network"]; + }; + "/notifications": { + /** + * List notifications for the authenticated user + * @description List all notifications for the current user, sorted by most recently updated. + */ + get: operations["activity/list-notifications-for-authenticated-user"]; + /** + * Mark notifications as read + * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-notifications-as-read"]; + }; + "/notifications/threads/{thread_id}": { + /** + * Get a thread + * @description Gets information about a notification thread. + */ + get: operations["activity/get-thread"]; + /** + * Mark a thread as done + * @description Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications. + */ + delete: operations["activity/mark-thread-as-done"]; + /** + * Mark a thread as read + * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. + */ + patch: operations["activity/mark-thread-as-read"]; + }; + "/notifications/threads/{thread_id}/subscription": { + /** + * Get a thread subscription for the authenticated user + * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + get: operations["activity/get-thread-subscription-for-authenticated-user"]; + /** + * Set a thread subscription + * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. + */ + put: operations["activity/set-thread-subscription"]; + /** + * Delete a thread subscription + * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + delete: operations["activity/delete-thread-subscription"]; + }; + "/octocat": { + /** + * Get Octocat + * @description Get the octocat as ASCII art + */ + get: operations["meta/get-octocat"]; + }; + "/organizations": { + /** + * List organizations + * @description Lists all organizations, in the order that they were created. + * + * > [!NOTE] + * > Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. + */ + get: operations["orgs/list"]; + }; + "/organizations/{org}/dependabot/repository-access": { + /** + * Lists the repositories Dependabot can access in an organization + * @description Lists repositories that organization admins have allowed Dependabot to access when updating dependencies. + * > [!NOTE] + * > This operation supports both server-to-server and user-to-server access. + * Unauthorized users will not see the existence of this endpoint. + */ + get: operations["dependabot/repository-access-for-org"]; + /** + * Updates Dependabot's repository access list for an organization + * @description Updates repositories according to the list of repositories that organization admins have given Dependabot access to when they've updated dependencies. + * + * > [!NOTE] + * > This operation supports both server-to-server and user-to-server access. + * Unauthorized users will not see the existence of this endpoint. + * + * **Example request body:** + * ```json + * { + * "repository_ids_to_add": [123, 456], + * "repository_ids_to_remove": [789] + * } + * ``` + */ + patch: operations["dependabot/update-repository-access-for-org"]; + }; + "/organizations/{org}/dependabot/repository-access/default-level": { + /** + * Set the default repository access level for Dependabot + * @description Sets the default level of repository access Dependabot will have while performing an update. Available values are: + * - 'public' - Dependabot will only have access to public repositories, unless access is explicitly granted to non-public repositories. + * - 'internal' - Dependabot will only have access to public and internal repositories, unless access is explicitly granted to private repositories. + * + * Unauthorized users will not see the existence of this endpoint. + * + * This operation supports both server-to-server and user-to-server access. + */ + put: operations["dependabot/set-repository-access-default-level"]; + }; + "/organizations/{org}/org-properties/values": { + /** + * Get all custom property values for an organization + * @description Gets all custom property values that are set for an organization. + * + * The organization must belong to an enterprise. + * + * Access requirements: + * - Organization admins + * - OAuth tokens and personal access tokens (classic) with the `read:org` scope + * - Actors with the organization-level "read custom properties for an organization" fine-grained permission or above + */ + get: operations["orgs/custom-properties-for-orgs-get-organization-values"]; + /** + * Create or update custom property values for an organization + * @description Create new or update existing custom property values for an organization. + * To remove a custom property value from an organization, set the property value to `null`. + * + * The organization must belong to an enterprise. + * + * Access requirements: + * - Organization admins + * - OAuth tokens and personal access tokens (classic) with the `admin:org` scope + * - Actors with the organization-level "edit custom properties for an organization" fine-grained permission + */ + patch: operations["orgs/custom-properties-for-orgs-create-or-update-organization-values"]; + }; + "/organizations/{org}/settings/billing/premium_request/usage": { + /** + * Get billing premium request usage report for an organization + * @description Gets a report of premium request usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. + * + * **Note:** Only data from the past 24 months is accessible via this endpoint. + */ + get: operations["billing/get-github-billing-premium-request-usage-report-org"]; + }; + "/organizations/{org}/settings/billing/usage": { + /** + * Get billing usage report for an organization + * @description Gets a report of the total usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. + * + * **Note:** This endpoint is only available to organizations with access to the enhanced billing platform. For more information, see "[About the enhanced billing platform](https://docs.github.com/billing/using-the-new-billing-platform)." + */ + get: operations["billing/get-github-billing-usage-report-org"]; + }; + "/orgs/{org}": { + /** + * Get an organization + * @description Gets information about an organization. + * + * When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, outside collaborators, guest collaborators, repository collaborators, or everyone with access to any repository within the organization to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * To see the full details about an organization, the authenticated user must be an organization owner. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. + * + * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. + */ + get: operations["orgs/get"]; + /** + * Delete an organization + * @description Deletes an organization and all its repositories. + * + * The organization login will be unavailable for 90 days after deletion. + * + * Please review the Terms of Service regarding account deletion before using this endpoint: + * + * https://docs.github.com/site-policy/github-terms/github-terms-of-service + */ + delete: operations["orgs/delete"]; + /** + * Update an organization + * @description > [!WARNING] + * > **Closing down notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * > [!WARNING] + * > **Closing down notice:** Code security product enablement for new repositories through the organization API is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) to set defaults instead. For more information on setting a default security configuration, see the [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). + * + * Updates the organization's profile and member privileges. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint. + */ + patch: operations["orgs/update"]; + }; + "/orgs/{org}/actions/cache/usage": { + /** + * Get GitHub Actions cache usage for an organization + * @description Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-for-org"]; + }; + "/orgs/{org}/actions/cache/usage-by-repository": { + /** + * List repositories with GitHub Actions cache usage for an organization + * @description Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners": { + /** + * List GitHub-hosted runners for an organization + * @description Lists all GitHub-hosted runners configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runner:org` scope to use this endpoint. + */ + get: operations["actions/list-hosted-runners-for-org"]; + /** + * Create a GitHub-hosted runner for an organization + * @description Creates a GitHub-hosted runner for an organization. + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + post: operations["actions/create-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/images/custom": { + /** + * List custom images for an organization + * @description List custom images for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + get: operations["actions/list-custom-images-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}": { + /** + * Get a custom image definition for GitHub Actions Hosted Runners + * @description Get a custom image definition for GitHub Actions Hosted Runners. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + get: operations["actions/get-custom-image-for-org"]; + /** + * Delete a custom image from the organization + * @description Delete a custom image from the organization. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + delete: operations["actions/delete-custom-image-from-org"]; + }; + "/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions": { + /** + * List image versions of a custom image for an organization + * @description List image versions of a custom image for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + get: operations["actions/list-custom-image-versions-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}": { + /** + * Get an image version of a custom image for GitHub Actions Hosted Runners + * @description Get an image version of a custom image for GitHub Actions Hosted Runners. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + get: operations["actions/get-custom-image-version-for-org"]; + /** + * Delete an image version of custom image from the organization + * @description Delete an image version of custom image from the organization. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + delete: operations["actions/delete-custom-image-version-from-org"]; + }; + "/orgs/{org}/actions/hosted-runners/images/github-owned": { + /** + * Get GitHub-owned images for GitHub-hosted runners in an organization + * @description Get the list of GitHub-owned images available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-github-owned-images-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/images/partner": { + /** + * Get partner images for GitHub-hosted runners in an organization + * @description Get the list of partner images available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-partner-images-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/limits": { + /** + * Get limits on GitHub-hosted runners for an organization + * @description Get the GitHub-hosted runners limits for an organization. + */ + get: operations["actions/get-hosted-runners-limits-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/machine-sizes": { + /** + * Get GitHub-hosted runners machine specs for an organization + * @description Get the list of machine specs available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-machine-specs-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/platforms": { + /** + * Get platforms for GitHub-hosted runners in an organization + * @description Get the list of platforms available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-platforms-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/{hosted_runner_id}": { + /** + * Get a GitHub-hosted runner for an organization + * @description Gets a GitHub-hosted runner configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + get: operations["actions/get-hosted-runner-for-org"]; + /** + * Delete a GitHub-hosted runner for an organization + * @description Deletes a GitHub-hosted runner for an organization. + */ + delete: operations["actions/delete-hosted-runner-for-org"]; + /** + * Update a GitHub-hosted runner for an organization + * @description Updates a GitHub-hosted runner for an organization. + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + patch: operations["actions/update-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/oidc/customization/sub": { + /** + * Get the customization template for an OIDC subject claim for an organization + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["oidc/get-oidc-custom-sub-template-for-org"]; + /** + * Set the customization template for an OIDC subject claim for an organization + * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + put: operations["oidc/update-oidc-custom-sub-template-for-org"]; + }; + "/orgs/{org}/actions/permissions": { + /** + * Get GitHub Actions permissions for an organization + * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-permissions-organization"]; + /** + * Set GitHub Actions permissions for an organization + * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-permissions-organization"]; + }; + "/orgs/{org}/actions/permissions/artifact-and-log-retention": { + /** + * Get artifact and log retention settings for an organization + * @description Gets artifact and log retention settings for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + get: operations["actions/get-artifact-and-log-retention-settings-organization"]; + /** + * Set artifact and log retention settings for an organization + * @description Sets artifact and log retention settings for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + put: operations["actions/set-artifact-and-log-retention-settings-organization"]; + }; + "/orgs/{org}/actions/permissions/fork-pr-contributor-approval": { + /** + * Get fork PR contributor approval permissions for an organization + * @description Gets the fork PR contributor approval policy for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + get: operations["actions/get-fork-pr-contributor-approval-permissions-organization"]; + /** + * Set fork PR contributor approval permissions for an organization + * @description Sets the fork PR contributor approval policy for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-fork-pr-contributor-approval-permissions-organization"]; + }; + "/orgs/{org}/actions/permissions/fork-pr-workflows-private-repos": { + /** + * Get private repo fork PR workflow settings for an organization + * @description Gets the settings for whether workflows from fork pull requests can run on private repositories in an organization. + */ + get: operations["actions/get-private-repo-fork-pr-workflows-settings-organization"]; + /** + * Set private repo fork PR workflow settings for an organization + * @description Sets the settings for whether workflows from fork pull requests can run on private repositories in an organization. + */ + put: operations["actions/set-private-repo-fork-pr-workflows-settings-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories": { + /** + * List selected repositories enabled for GitHub Actions in an organization + * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; + /** + * Set selected repositories enabled for GitHub Actions in an organization + * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + /** + * Enable a selected repository for GitHub Actions in an organization + * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/enable-selected-repository-github-actions-organization"]; + /** + * Disable a selected repository for GitHub Actions in an organization + * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/disable-selected-repository-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/selected-actions": { + /** + * Get allowed actions and reusable workflows for an organization + * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-allowed-actions-organization"]; + /** + * Set allowed actions and reusable workflows for an organization + * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-allowed-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/self-hosted-runners": { + /** + * Get self-hosted runners settings for an organization + * @description Gets the settings for self-hosted runners for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + get: operations["actions/get-self-hosted-runners-permissions-organization"]; + /** + * Set self-hosted runners settings for an organization + * @description Sets the settings for self-hosted runners for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + put: operations["actions/set-self-hosted-runners-permissions-organization"]; + }; + "/orgs/{org}/actions/permissions/self-hosted-runners/repositories": { + /** + * List repositories allowed to use self-hosted runners in an organization + * @description Lists repositories that are allowed to use self-hosted runners in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + get: operations["actions/list-selected-repositories-self-hosted-runners-organization"]; + /** + * Set repositories allowed to use self-hosted runners in an organization + * @description Sets repositories that are allowed to use self-hosted runners in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + put: operations["actions/set-selected-repositories-self-hosted-runners-organization"]; + }; + "/orgs/{org}/actions/permissions/self-hosted-runners/repositories/{repository_id}": { + /** + * Add a repository to the list of repositories allowed to use self-hosted runners in an organization + * @description Adds a repository to the list of repositories that are allowed to use self-hosted runners in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + put: operations["actions/enable-selected-repository-self-hosted-runners-organization"]; + /** + * Remove a repository from the list of repositories allowed to use self-hosted runners in an organization + * @description Removes a repository from the list of repositories that are allowed to use self-hosted runners in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + delete: operations["actions/disable-selected-repository-self-hosted-runners-organization"]; + }; + "/orgs/{org}/actions/permissions/workflow": { + /** + * Get default workflow permissions for an organization + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; + /** + * Set default workflow permissions for an organization + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; + }; + "/orgs/{org}/actions/runner-groups": { + /** + * List self-hosted runner groups for an organization + * @description Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runner-groups-for-org"]; + /** + * Create a self-hosted runner group for an organization + * @description Creates a new self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["actions/create-self-hosted-runner-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}": { + /** + * Get a self-hosted runner group for an organization + * @description Gets a specific self-hosted runner group for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-group-for-org"]; + /** + * Delete a self-hosted runner group from an organization + * @description Deletes a self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-group-from-org"]; + /** + * Update a self-hosted runner group for an organization + * @description Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + patch: operations["actions/update-self-hosted-runner-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners": { + /** + * List GitHub-hosted runners in a group for an organization + * @description Lists the GitHub-hosted runners in an organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-github-hosted-runners-in-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { + /** + * List repository access to a self-hosted runner group in an organization + * @description Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * Set repository access for a self-hosted runner group in an organization + * @description Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { + /** + * Add repository access to a self-hosted runner group in an organization + * @description Adds a repository to the list of repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/add-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * Remove repository access to a self-hosted runner group in an organization + * @description Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { + /** + * List self-hosted runners in a group for an organization + * @description Lists self-hosted runners that are in a specific organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-in-group-for-org"]; + /** + * Set self-hosted runners in a group for an organization + * @description Replaces the list of self-hosted runners that are part of an organization runner group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-self-hosted-runners-in-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + /** + * Add a self-hosted runner to a group for an organization + * @description Adds a self-hosted runner to a runner group configured in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/add-self-hosted-runner-to-group-for-org"]; + /** + * Remove a self-hosted runner from a group for an organization + * @description Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-self-hosted-runner-from-group-for-org"]; + }; + "/orgs/{org}/actions/runners": { + /** + * List self-hosted runners for an organization + * @description Lists all self-hosted runners configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-self-hosted-runners-for-org"]; + }; + "/orgs/{org}/actions/runners/downloads": { + /** + * List runner applications for an organization + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-runner-applications-for-org"]; + }; + "/orgs/{org}/actions/runners/generate-jitconfig": { + /** + * Create configuration for a just-in-time runner for an organization + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the organization. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/generate-runner-jitconfig-for-org"]; + }; + "/orgs/{org}/actions/runners/registration-token": { + /** + * Create a registration token for an organization + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-registration-token-for-org"]; + }; + "/orgs/{org}/actions/runners/remove-token": { + /** + * Create a remove token for an organization + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-remove-token-for-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}": { + /** + * Get a self-hosted runner for an organization + * @description Gets a specific self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/get-self-hosted-runner-for-org"]; + /** + * Delete a self-hosted runner from an organization + * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels": { + /** + * List labels for a self-hosted runner for an organization + * @description Lists all labels for a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; + /** + * Set custom labels for a self-hosted runner for an organization + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; + /** + * Add custom labels to a self-hosted runner for an organization + * @description Adds custom labels to a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-org"]; + /** + * Remove all custom labels from a self-hosted runner for an organization + * @description Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner for an organization + * @description Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/secrets": { + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-org-secrets"]; + }; + "/orgs/{org}/actions/secrets/public-key": { + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-public-key"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}": { + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-org-secret"]; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. For more information about setting the visibility, see [Create or + * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/add-selected-repo-to-org-secret"]; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/actions/variables": { + /** + * List organization variables + * @description Lists all organization variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-org-variables"]; + /** + * Create an organization variable + * @description Creates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-org-variable"]; + }; + "/orgs/{org}/actions/variables/{name}": { + /** + * Get an organization variable + * @description Gets a specific variable in an organization. + * + * The authenticated user must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-variable"]; + /** + * Delete an organization variable + * @description Deletes an organization variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-org-variable"]; + /** + * Update an organization variable + * @description Updates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + patch: operations["actions/update-org-variable"]; + }; + "/orgs/{org}/actions/variables/{name}/repositories": { + /** + * List selected repositories for an organization variable + * @description Lists all repositories that can access an organization variable + * that is available to selected repositories. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-selected-repos-for-org-variable"]; + /** + * Set selected repositories for an organization variable + * @description Replaces all repositories for an organization variable that is available + * to selected repositories. Organization variables that are available to selected + * repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-selected-repos-for-org-variable"]; + }; + "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { + /** + * Add selected repository to an organization variable + * @description Adds a repository to an organization variable that is available to selected repositories. + * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/add-selected-repo-to-org-variable"]; + /** + * Remove selected repository from an organization variable + * @description Removes a repository from an organization variable that is + * available to selected repositories. Organization variables that are available to + * selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-selected-repo-from-org-variable"]; + }; + "/orgs/{org}/artifacts/metadata/storage-record": { + /** + * Create artifact metadata storage record + * @description Create metadata storage records for artifacts associated with an organization. + * This endpoint will create a new artifact storage record on behalf of any artifact matching the provided digest and + * associated with a repository owned by the organization. + */ + post: operations["orgs/create-artifact-storage-record"]; + }; + "/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records": { + /** + * List artifact storage records + * @description List a collection of artifact storage records with a given subject digest that are associated with repositories owned by an organization. + * + * The collection of storage records returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `content:read` permission is required. + */ + get: operations["orgs/list-artifact-storage-records"]; + }; + "/orgs/{org}/attestations/bulk-list": { + /** + * List attestations by bulk subject digests + * @description List a collection of artifact attestations associated with any entry in a list of subject digests owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["orgs/list-attestations-bulk"]; + }; + "/orgs/{org}/attestations/delete-request": { + /** + * Delete attestations in bulk + * @description Delete artifact attestations in bulk by either subject digests or unique ID. + */ + post: operations["orgs/delete-attestations-bulk"]; + }; + "/orgs/{org}/attestations/digest/{subject_digest}": { + /** + * Delete attestations by subject digest + * @description Delete an artifact attestation by subject digest. + */ + delete: operations["orgs/delete-attestations-by-subject-digest"]; + }; + "/orgs/{org}/attestations/repositories": { + /** + * List attestation repositories + * @description List repositories owned by the provided organization that have created at least one attested artifact + * Results will be sorted in ascending order by repository ID + */ + get: operations["orgs/list-attestation-repositories"]; + }; + "/orgs/{org}/attestations/{attestation_id}": { + /** + * Delete attestations by ID + * @description Delete an artifact attestation by unique ID that is associated with a repository owned by an org. + */ + delete: operations["orgs/delete-attestations-by-id"]; + }; + "/orgs/{org}/attestations/{subject_digest}": { + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["orgs/list-attestations"]; + }; + "/orgs/{org}/blocks": { + /** + * List users blocked by an organization + * @description List the users blocked by an organization. + */ + get: operations["orgs/list-blocked-users"]; + }; + "/orgs/{org}/blocks/{username}": { + /** + * Check if a user is blocked by an organization + * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. + */ + get: operations["orgs/check-blocked-user"]; + /** + * Block a user from an organization + * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. + */ + put: operations["orgs/block-user"]; + /** + * Unblock a user from an organization + * @description Unblocks the given user on behalf of the specified organization. + */ + delete: operations["orgs/unblock-user"]; + }; + "/orgs/{org}/campaigns": { + /** + * List campaigns for an organization + * @description Lists campaigns in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + get: operations["campaigns/list-org-campaigns"]; + /** + * Create a campaign for an organization + * @description Create a campaign for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + * + * Fine-grained tokens must have the "Code scanning alerts" repository permissions (read) on all repositories included + * in the campaign. + */ + post: operations["campaigns/create-campaign"]; + }; + "/orgs/{org}/campaigns/{campaign_number}": { + /** + * Get a campaign for an organization + * @description Gets a campaign for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + get: operations["campaigns/get-campaign-summary"]; + /** + * Delete a campaign for an organization + * @description Deletes a campaign in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + delete: operations["campaigns/delete-campaign"]; + /** + * Update a campaign + * @description Updates a campaign in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + patch: operations["campaigns/update-campaign"]; + }; + "/orgs/{org}/code-scanning/alerts": { + /** + * List code scanning alerts for an organization + * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` or `repo`s cope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alerts-for-org"]; + }; + "/orgs/{org}/code-security/configurations": { + /** + * Get code security configurations for an organization + * @description Lists all code security configurations available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["code-security/get-configurations-for-org"]; + /** + * Create a code security configuration + * @description Creates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/create-configuration"]; + }; + "/orgs/{org}/code-security/configurations/defaults": { + /** + * Get default code security configurations + * @description Lists the default code security configurations for an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["code-security/get-default-configurations"]; + }; + "/orgs/{org}/code-security/configurations/detach": { + /** + * Detach configurations from repositories + * @description Detach code security configuration(s) from a set of repositories. + * Repositories will retain their settings but will no longer be associated with the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/detach-configuration"]; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}": { + /** + * Get a code security configuration + * @description Gets a code security configuration available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-configuration"]; + /** + * Delete a code security configuration + * @description Deletes the desired code security configuration from an organization. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/delete-configuration"]; + /** + * Update a code security configuration + * @description Updates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + patch: operations["code-security/update-configuration"]; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/attach": { + /** + * Attach a configuration to repositories + * @description Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/attach-configuration"]; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/defaults": { + /** + * Set a code security configuration as a default for an organization + * @description Sets a code security configuration as a default to be applied to new repositories in your organization. + * + * This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + put: operations["code-security/set-configuration-as-default"]; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/repositories": { + /** + * Get repositories associated with a code security configuration + * @description Lists the repositories associated with a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["code-security/get-repositories-for-configuration"]; + }; + "/orgs/{org}/codespaces": { + /** + * List codespaces for the organization + * @description Lists the codespaces associated to a specified organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-in-organization"]; + }; + "/orgs/{org}/codespaces/access": { + /** + * Manage access control for organization codespaces + * @deprecated + * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/set-codespaces-access"]; + }; + "/orgs/{org}/codespaces/access/selected_users": { + /** + * Add users to Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/set-codespaces-access-users"]; + /** + * Remove users from Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will no longer be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-codespaces-access-users"]; + }; + "/orgs/{org}/codespaces/secrets": { + /** + * List organization secrets + * @description Lists all Codespaces development environment secrets available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-org-secrets"]; + }; + "/orgs/{org}/codespaces/secrets/public-key": { + /** + * Get an organization public key + * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-public-key"]; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}": { + /** + * Get an organization secret + * @description Gets an organization development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/create-or-update-org-secret"]; + /** + * Delete an organization secret + * @description Deletes an organization development environment secret using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-org-secret"]; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization development environment secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization development environment secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/add-selected-repo-to-org-secret"]; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization development environment secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/copilot/billing": { + /** + * Get Copilot seat information and settings for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets information about an organization's Copilot subscription, including seat breakdown + * and feature policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-copilot-business-in-your-organization)." + * + * Only organization owners can view details about the organization's Copilot Business or Copilot Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/get-copilot-organization-details"]; + }; + "/orgs/{org}/copilot/billing/seats": { + /** + * List all Copilot seat assignments for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Lists all Copilot seats for which an organization with a Copilot Business or Copilot Enterprise subscription is currently being billed. + * Only organization owners can view assigned seats. + * + * Each seat object contains information about the assigned user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see [Metrics data properties for GitHub Copilot](https://docs.github.com/copilot/reference/metrics-data). + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/list-copilot-seats"]; + }; + "/orgs/{org}/copilot/billing/selected_teams": { + /** + * Add teams to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-teams"]; + /** + * Remove teams from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all members of each team specified to "pending cancellation". + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through another team. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; + }; + "/orgs/{org}/copilot/billing/selected_users": { + /** + * Add users to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-users"]; + /** + * Remove users from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all users specified to "pending cancellation". + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through team membership. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; + }; + "/orgs/{org}/copilot/metrics": { + /** + * Get Copilot metrics for an organization + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the organization contained **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 100 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization. + * Only organization owners and owners and billing managers of the parent enterprise can view Copilot metrics. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/copilot-metrics-for-organization"]; + }; + "/orgs/{org}/dependabot/alerts": { + /** + * List Dependabot alerts for an organization + * @description Lists Dependabot alerts for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/list-alerts-for-org"]; + }; + "/orgs/{org}/dependabot/secrets": { + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/list-org-secrets"]; + }; + "/orgs/{org}/dependabot/secrets/public-key": { + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/get-org-public-key"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}": { + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["dependabot/create-or-update-org-secret"]; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["dependabot/delete-org-secret"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["dependabot/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. The visibility is set when you [Create or + * update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["dependabot/add-selected-repo-to-org-secret"]; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["dependabot/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/docker/conflicts": { + /** + * Get list of conflicting packages during Docker migration for organization + * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; + }; + "/orgs/{org}/events": { + /** + * List public organization events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-org-events"]; + }; + "/orgs/{org}/failed_invitations": { + /** + * List failed organization invitations + * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. + */ + get: operations["orgs/list-failed-invitations"]; + }; + "/orgs/{org}/hooks": { + /** + * List organization webhooks + * @description List webhooks for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/list-webhooks"]; + /** + * Create an organization webhook + * @description Create a hook that posts payloads in JSON format. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or + * edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/create-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}": { + /** + * Get an organization webhook + * @description Returns a webhook configured in an organization. To get only the webhook + * `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization). + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook"]; + /** + * Delete an organization webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + delete: operations["orgs/delete-webhook"]; + /** + * Update an organization webhook + * @description Updates a webhook configured in an organization. When you update a webhook, + * the `secret` will be overwritten. If you previously had a `secret` set, you must + * provide the same `secret` or set a new `secret` or the secret will be removed. If + * you are only updating individual webhook `config` properties, use "[Update a webhook + * configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)". + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + patch: operations["orgs/update-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}/config": { + /** + * Get a webhook configuration for an organization + * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook-config-for-org"]; + /** + * Update a webhook configuration for an organization + * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + patch: operations["orgs/update-webhook-config-for-org"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries": { + /** + * List deliveries for an organization webhook + * @description Returns a list of webhook deliveries for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/list-webhook-deliveries"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** + * Get a webhook delivery for an organization webhook + * @description Returns a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook-delivery"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** + * Redeliver a delivery for an organization webhook + * @description Redeliver a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/redeliver-webhook-delivery"]; + }; + "/orgs/{org}/hooks/{hook_id}/pings": { + /** + * Ping an organization webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) + * to be sent to the hook. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/ping-webhook"]; + }; + "/orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}": { + /** + * Get route stats by actor + * @description Get API request count statistics for an actor broken down by route within a specified time frame. + */ + get: operations["api-insights/get-route-stats-by-actor"]; + }; + "/orgs/{org}/insights/api/subject-stats": { + /** + * Get subject stats + * @description Get API request statistics for all subjects within an organization within a specified time frame. Subjects can be users or GitHub Apps. + */ + get: operations["api-insights/get-subject-stats"]; + }; + "/orgs/{org}/insights/api/summary-stats": { + /** + * Get summary stats + * @description Get overall statistics of API requests made within an organization by all users and apps within a specified time frame. + */ + get: operations["api-insights/get-summary-stats"]; + }; + "/orgs/{org}/insights/api/summary-stats/users/{user_id}": { + /** + * Get summary stats by user + * @description Get overall statistics of API requests within the organization for a user. + */ + get: operations["api-insights/get-summary-stats-by-user"]; + }; + "/orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}": { + /** + * Get summary stats by actor + * @description Get overall statistics of API requests within the organization made by a specific actor. Actors can be GitHub App installations, OAuth apps or other tokens on behalf of a user. + */ + get: operations["api-insights/get-summary-stats-by-actor"]; + }; + "/orgs/{org}/insights/api/time-stats": { + /** + * Get time stats + * @description Get the number of API requests and rate-limited requests made within an organization over a specified time period. + */ + get: operations["api-insights/get-time-stats"]; + }; + "/orgs/{org}/insights/api/time-stats/users/{user_id}": { + /** + * Get time stats by user + * @description Get the number of API requests and rate-limited requests made within an organization by a specific user over a specified time period. + */ + get: operations["api-insights/get-time-stats-by-user"]; + }; + "/orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}": { + /** + * Get time stats by actor + * @description Get the number of API requests and rate-limited requests made within an organization by a specific actor within a specified time period. + */ + get: operations["api-insights/get-time-stats-by-actor"]; + }; + "/orgs/{org}/insights/api/user-stats/{user_id}": { + /** + * Get user stats + * @description Get API usage statistics within an organization for a user broken down by the type of access. + */ + get: operations["api-insights/get-user-stats"]; + }; + "/orgs/{org}/installation": { + /** + * Get an organization installation for the authenticated app + * @description Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-org-installation"]; + }; + "/orgs/{org}/installations": { + /** + * List app installations for an organization + * @description Lists all GitHub Apps in an organization. The installation count includes + * all GitHub Apps installed on repositories in the organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:read` scope to use this endpoint. + */ + get: operations["orgs/list-app-installations"]; + }; + "/orgs/{org}/interaction-limits": { + /** + * Get interaction restrictions for an organization + * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + */ + get: operations["interactions/get-restrictions-for-org"]; + /** + * Set interaction restrictions for an organization + * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + */ + put: operations["interactions/set-restrictions-for-org"]; + /** + * Remove interaction restrictions for an organization + * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + delete: operations["interactions/remove-restrictions-for-org"]; + }; + "/orgs/{org}/invitations": { + /** + * List pending organization invitations + * @description The return hash contains a `role` field which refers to the Organization + * Invitation role and will be one of the following values: `direct_member`, `admin`, + * `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub + * member, the `login` field in the return hash will be `null`. + */ + get: operations["orgs/list-pending-invitations"]; + /** + * Create an organization invitation + * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + post: operations["orgs/create-invitation"]; + }; + "/orgs/{org}/invitations/{invitation_id}": { + /** + * Cancel an organization invitation + * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + delete: operations["orgs/cancel-invitation"]; + }; + "/orgs/{org}/invitations/{invitation_id}/teams": { + /** + * List organization invitation teams + * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + get: operations["orgs/list-invitation-teams"]; + }; + "/orgs/{org}/issue-types": { + /** + * List issue types for an organization + * @description Lists all issue types for an organization. OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint. + */ + get: operations["orgs/list-issue-types"]; + /** + * Create issue type for an organization + * @description Create a new issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["orgs/create-issue-type"]; + }; + "/orgs/{org}/issue-types/{issue_type_id}": { + /** + * Update issue type for an organization + * @description Updates an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/update-issue-type"]; + /** + * Delete issue type for an organization + * @description Deletes an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/delete-issue-type"]; + }; + "/orgs/{org}/issues": { + /** + * List organization issues assigned to the authenticated user + * @description List issues in an organization assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-org"]; + }; + "/orgs/{org}/members": { + /** + * List organization members + * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + get: operations["orgs/list-members"]; + }; + "/orgs/{org}/members/{username}": { + /** + * Check organization membership for a user + * @description Check if a user is, publicly or privately, a member of the organization. + */ + get: operations["orgs/check-membership-for-user"]; + /** + * Remove an organization member + * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + * + * > [!NOTE] + * > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. + */ + delete: operations["orgs/remove-member"]; + }; + "/orgs/{org}/members/{username}/codespaces": { + /** + * List codespaces for a user in organization + * @description Lists the codespaces that a member of an organization has for repositories in that organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-codespaces-for-user-in-org"]; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { + /** + * Delete a codespace from the organization + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-from-organization"]; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { + /** + * Stop a codespace for an organization user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/stop-in-organization"]; + }; + "/orgs/{org}/members/{username}/copilot": { + /** + * Get Copilot seat assignment details for a user + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets the GitHub Copilot seat details for a member of an organization who currently has access to GitHub Copilot. + * + * The seat object contains information about the user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see [Metrics data properties for GitHub Copilot](https://docs.github.com/copilot/reference/metrics-data). + * + * Only organization owners can view Copilot seat assignment details for members of their organization. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/get-copilot-seat-details-for-user"]; + }; + "/orgs/{org}/memberships/{username}": { + /** + * Get organization membership for a user + * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. + */ + get: operations["orgs/get-membership-for-user"]; + /** + * Set organization membership for a user + * @description Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, organization owners are limited to creating 50 organization invitations for an organization within a 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + put: operations["orgs/set-membership-for-user"]; + /** + * Remove organization membership for a user + * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + * + * > [!NOTE] + * > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. + */ + delete: operations["orgs/remove-membership-for-user"]; + }; + "/orgs/{org}/migrations": { + /** + * List organization migrations + * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). + * + * A list of `repositories` is only returned for export migrations. + */ + get: operations["migrations/list-for-org"]; + /** + * Start an organization migration + * @description Initiates the generation of a migration archive. + */ + post: operations["migrations/start-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}": { + /** + * Get an organization migration status + * @description Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + get: operations["migrations/get-status-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/archive": { + /** + * Download an organization migration archive + * @description Fetches the URL to a migration archive. + */ + get: operations["migrations/download-archive-for-org"]; + /** + * Delete an organization migration archive + * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + delete: operations["migrations/delete-archive-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { + /** + * Unlock an organization repository + * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + delete: operations["migrations/unlock-repo-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repositories": { + /** + * List repositories in an organization migration + * @description List all the repositories for this organization migration. + */ + get: operations["migrations/list-repos-for-org"]; + }; + "/orgs/{org}/organization-roles": { + /** + * Get all organization roles for an organization + * @description Lists the organization roles available in this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-roles"]; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}": { + /** + * Remove all organization roles for a team + * @description Removes all assigned organization roles from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-team"]; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}": { + /** + * Assign an organization role to a team + * @description Assigns an organization role to a team in an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-team-to-org-role"]; + /** + * Remove an organization role from a team + * @description Removes an organization role from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-team"]; + }; + "/orgs/{org}/organization-roles/users/{username}": { + /** + * Remove all organization roles for a user + * @description Revokes all assigned organization roles from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-user"]; + }; + "/orgs/{org}/organization-roles/users/{username}/{role_id}": { + /** + * Assign an organization role to a user + * @description Assigns an organization role to a member of an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-user-to-org-role"]; + /** + * Remove an organization role from a user + * @description Remove an organization role from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-user"]; + }; + "/orgs/{org}/organization-roles/{role_id}": { + /** + * Get an organization role + * @description Gets an organization role that is available to this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/get-org-role"]; + }; + "/orgs/{org}/organization-roles/{role_id}/teams": { + /** + * List teams that are assigned to an organization role + * @description Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-teams"]; + }; + "/orgs/{org}/organization-roles/{role_id}/users": { + /** + * List users that are assigned to an organization role + * @description Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-users"]; + }; + "/orgs/{org}/outside_collaborators": { + /** + * List outside collaborators for an organization + * @description List all users who are outside collaborators of an organization. + */ + get: operations["orgs/list-outside-collaborators"]; + }; + "/orgs/{org}/outside_collaborators/{username}": { + /** + * Convert an organization member to outside collaborator + * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + */ + put: operations["orgs/convert-member-to-outside-collaborator"]; + /** + * Remove outside collaborator from an organization + * @description Removing a user from this list will remove them from all the organization's repositories. + */ + delete: operations["orgs/remove-outside-collaborator"]; + }; + "/orgs/{org}/packages": { + /** + * List packages for an organization + * @description Lists packages in an organization readable by the user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-organization"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}": { + /** + * Get a package for an organization + * @description Gets a specific package in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-organization"]; + /** + * Delete a package for an organization + * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/restore": { + /** + * Restore a package for an organization + * @description Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions": { + /** + * List package versions for a package owned by an organization + * @description Lists package versions for a package owned by an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Get a package version for an organization + * @description Gets a specific package version in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-organization"]; + /** + * Delete package version for an organization + * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restore package version for an organization + * @description Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-org"]; + }; + "/orgs/{org}/personal-access-token-requests": { + /** + * List requests to access organization resources with fine-grained personal access tokens + * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-requests"]; + /** + * Review requests to access organization resources with fine-grained personal access tokens + * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/review-pat-grant-requests-in-bulk"]; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { + /** + * Review a request to access organization resources with a fine-grained personal access token + * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/review-pat-grant-request"]; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { + /** + * List repositories requested to be accessed by a fine-grained personal access token + * @description Lists the repositories a fine-grained personal access token request is requesting access to. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-request-repositories"]; + }; + "/orgs/{org}/personal-access-tokens": { + /** + * List fine-grained personal access tokens with access to organization resources + * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grants"]; + /** + * Update the access to organization resources via fine-grained personal access tokens + * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/update-pat-accesses"]; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}": { + /** + * Update the access a fine-grained personal access token has to organization resources + * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/update-pat-access"]; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { + /** + * List repositories a fine-grained personal access token has access to + * @description Lists the repositories a fine-grained personal access token has access to. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-repositories"]; + }; + "/orgs/{org}/private-registries": { + /** + * List private registries for an organization + * @description + * Lists all private registry configurations available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/list-org-private-registries"]; + /** + * Create a private registry for an organization + * @description + * Creates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["private-registries/create-org-private-registry"]; + }; + "/orgs/{org}/private-registries/public-key": { + /** + * Get private registries public key for an organization + * @description + * Gets the org public key, which is needed to encrypt private registry secrets. You need to encrypt a secret before you can create or update secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/get-org-public-key"]; + }; + "/orgs/{org}/private-registries/{secret_name}": { + /** + * Get a private registry for an organization + * @description + * Get the configuration of a single private registry defined for an organization, omitting its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/get-org-private-registry"]; + /** + * Delete a private registry for an organization + * @description + * Delete a private registry configuration at the organization-level. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["private-registries/delete-org-private-registry"]; + /** + * Update a private registry for an organization + * @description + * Updates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + patch: operations["private-registries/update-org-private-registry"]; + }; + "/orgs/{org}/projects": { + /** + * List organization projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects-classic/list-for-org"]; + /** + * Create an organization project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects-classic/create-for-org"]; + }; + "/orgs/{org}/projectsV2": { + /** + * List projects for organization + * @description List all projects owned by a specific organization accessible by the authenticated user. + */ + get: operations["projects/list-for-org"]; + }; + "/orgs/{org}/projectsV2/{project_number}": { + /** + * Get project for organization + * @description Get a specific organization-owned project. + */ + get: operations["projects/get-for-org"]; + }; + "/orgs/{org}/projectsV2/{project_number}/fields": { + /** + * List project fields for organization + * @description List all fields for a specific organization-owned project. + */ + get: operations["projects/list-fields-for-org"]; + }; + "/orgs/{org}/projectsV2/{project_number}/fields/{field_id}": { + /** + * Get project field for organization + * @description Get a specific field for an organization-owned project. + */ + get: operations["projects/get-field-for-org"]; + }; + "/orgs/{org}/projectsV2/{project_number}/items": { + /** + * List items for an organization owned project + * @description List all items for a specific organization-owned project accessible by the authenticated user. + */ + get: operations["projects/list-items-for-org"]; + /** + * Add item to organization owned project + * @description Add an issue or pull request item to the specified organization owned project. + */ + post: operations["projects/add-item-for-org"]; + }; + "/orgs/{org}/projectsV2/{project_number}/items/{item_id}": { + /** + * Get an item for an organization owned project + * @description Get a specific item from an organization-owned project. + */ + get: operations["projects/get-org-item"]; + /** + * Delete project item for organization + * @description Delete a specific item from an organization-owned project. + */ + delete: operations["projects/delete-item-for-org"]; + /** + * Update project item for organization + * @description Update a specific item in an organization-owned project. + */ + patch: operations["projects/update-item-for-org"]; + }; + "/orgs/{org}/properties/schema": { + /** + * Get all custom properties for an organization + * @description Gets all custom properties defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/custom-properties-for-repos-get-organization-definitions"]; + /** + * Create or update custom properties for an organization + * @description Creates new or updates existing custom properties defined for an organization in a batch. + * + * If the property already exists, the existing property will be replaced with the new values. + * Missing optional values will fall back to default values, previous values will be overwritten. + * E.g. if a property exists with `values_editable_by: org_and_repo_actors` and it's updated without specifying `values_editable_by`, it will be updated to default value `org_actors`. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + patch: operations["orgs/custom-properties-for-repos-create-or-update-organization-definitions"]; + }; + "/orgs/{org}/properties/schema/{custom_property_name}": { + /** + * Get a custom property for an organization + * @description Gets a custom property that is defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/custom-properties-for-repos-get-organization-definition"]; + /** + * Create or update a custom property for an organization + * @description Creates a new or updates an existing custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + put: operations["orgs/custom-properties-for-repos-create-or-update-organization-definition"]; + /** + * Remove a custom property for an organization + * @description Removes a custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + delete: operations["orgs/custom-properties-for-repos-delete-organization-definition"]; + }; + "/orgs/{org}/properties/values": { + /** + * List custom property values for organization repositories + * @description Lists organization repositories with all of their custom property values. + * Organization members can read these properties. + */ + get: operations["orgs/custom-properties-for-repos-get-organization-values"]; + /** + * Create or update custom property values for organization repositories + * @description Create new or update existing custom property values for repositories in a batch that belong to an organization. + * Each target repository will have its custom property values updated to match the values provided in the request. + * + * A maximum of 30 repositories can be updated in a single request. + * + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_values_editor` in the organization. + */ + patch: operations["orgs/custom-properties-for-repos-create-or-update-organization-values"]; + }; + "/orgs/{org}/public_members": { + /** + * List public organization members + * @description Members of an organization can choose to have their membership publicized or not. + */ + get: operations["orgs/list-public-members"]; + }; + "/orgs/{org}/public_members/{username}": { + /** + * Check public organization membership for a user + * @description Check if the provided user is a public member of the organization. + */ + get: operations["orgs/check-public-membership-for-user"]; + /** + * Set public organization membership for the authenticated user + * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["orgs/set-public-membership-for-authenticated-user"]; + /** + * Remove public organization membership for the authenticated user + * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. + */ + delete: operations["orgs/remove-public-membership-for-authenticated-user"]; + }; + "/orgs/{org}/repos": { + /** + * List organization repositories + * @description Lists repositories for the specified organization. + * + * > [!NOTE] + * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + get: operations["repos/list-for-org"]; + /** + * Create an organization repository + * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-in-org"]; + }; + "/orgs/{org}/rulesets": { + /** + * Get all organization repository rulesets + * @description Get all the repository rulesets for an organization. + */ + get: operations["repos/get-org-rulesets"]; + /** + * Create an organization repository ruleset + * @description Create a repository ruleset for an organization. + */ + post: operations["repos/create-org-ruleset"]; + }; + "/orgs/{org}/rulesets/rule-suites": { + /** + * List organization rule suites + * @description Lists suites of rule evaluations at the organization level. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suites"]; + }; + "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": { + /** + * Get an organization rule suite + * @description Gets information about a suite of rule evaluations from within an organization. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suite"]; + }; + "/orgs/{org}/rulesets/{ruleset_id}": { + /** + * Get an organization repository ruleset + * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + get: operations["repos/get-org-ruleset"]; + /** + * Update an organization repository ruleset + * @description Update a ruleset for an organization. + */ + put: operations["repos/update-org-ruleset"]; + /** + * Delete an organization repository ruleset + * @description Delete a ruleset for an organization. + */ + delete: operations["repos/delete-org-ruleset"]; + }; + "/orgs/{org}/rulesets/{ruleset_id}/history": { + /** + * Get organization ruleset history + * @description Get the history of an organization ruleset. + */ + get: operations["orgs/get-org-ruleset-history"]; + }; + "/orgs/{org}/rulesets/{ruleset_id}/history/{version_id}": { + /** + * Get organization ruleset version + * @description Get a version of an organization ruleset. + */ + get: operations["orgs/get-org-ruleset-version"]; + }; + "/orgs/{org}/secret-scanning/alerts": { + /** + * List secret scanning alerts for an organization + * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-alerts-for-org"]; + }; + "/orgs/{org}/secret-scanning/pattern-configurations": { + /** + * List organization pattern configurations + * @description Lists the secret scanning pattern configurations for an organization. + * + * Personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["secret-scanning/list-org-pattern-configs"]; + /** + * Update organization pattern configurations + * @description Updates the secret scanning pattern configurations for an organization. + * + * Personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + patch: operations["secret-scanning/update-org-pattern-configs"]; + }; + "/orgs/{org}/security-advisories": { + /** + * List repository security advisories for an organization + * @description Lists repository security advisories for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + get: operations["security-advisories/list-org-repository-advisories"]; + }; + "/orgs/{org}/security-managers": { + /** + * List security manager teams + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + get: operations["orgs/list-security-manager-teams"]; + }; + "/orgs/{org}/security-managers/teams/{team_slug}": { + /** + * Add a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + put: operations["orgs/add-security-manager-team"]; + /** + * Remove a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + delete: operations["orgs/remove-security-manager-team"]; + }; + "/orgs/{org}/settings/billing/actions": { + /** + * Get GitHub Actions billing for an organization + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-github-actions-billing-org"]; + }; + "/orgs/{org}/settings/billing/packages": { + /** + * Get GitHub Packages billing for an organization + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-github-packages-billing-org"]; + }; + "/orgs/{org}/settings/billing/shared-storage": { + /** + * Get shared storage billing for an organization + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-shared-storage-billing-org"]; + }; + "/orgs/{org}/settings/immutable-releases": { + /** + * Get immutable releases settings for an organization + * @description Gets the immutable releases policy for repositories in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/get-immutable-releases-settings"]; + /** + * Set immutable releases settings for an organization + * @description Sets the immutable releases policy for repositories in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/set-immutable-releases-settings"]; + }; + "/orgs/{org}/settings/immutable-releases/repositories": { + /** + * List selected repositories for immutable releases enforcement + * @description List all of the repositories that have been selected for immutable releases enforcement in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/get-immutable-releases-settings-repositories"]; + /** + * Set selected repositories for immutable releases enforcement + * @description Replaces all repositories that have been selected for immutable releases enforcement in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/set-immutable-releases-settings-repositories"]; + }; + "/orgs/{org}/settings/immutable-releases/repositories/{repository_id}": { + /** + * Enable a selected repository for immutable releases in an organization + * @description Adds a repository to the list of selected repositories that are enforced for immutable releases in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/enable-selected-repository-immutable-releases-organization"]; + /** + * Disable a selected repository for immutable releases in an organization + * @description Removes a repository from the list of selected repositories that are enforced for immutable releases in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/disable-selected-repository-immutable-releases-organization"]; + }; + "/orgs/{org}/settings/network-configurations": { + /** + * List hosted compute network configurations for an organization + * @description Lists all hosted compute network configurations configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/list-network-configurations-for-org"]; + /** + * Create a hosted compute network configuration for an organization + * @description Creates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + post: operations["hosted-compute/create-network-configuration-for-org"]; + }; + "/orgs/{org}/settings/network-configurations/{network_configuration_id}": { + /** + * Get a hosted compute network configuration for an organization + * @description Gets a hosted compute network configuration configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/get-network-configuration-for-org"]; + /** + * Delete a hosted compute network configuration from an organization + * @description Deletes a hosted compute network configuration from an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + delete: operations["hosted-compute/delete-network-configuration-from-org"]; + /** + * Update a hosted compute network configuration for an organization + * @description Updates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + patch: operations["hosted-compute/update-network-configuration-for-org"]; + }; + "/orgs/{org}/settings/network-settings/{network_settings_id}": { + /** + * Get a hosted compute network settings resource for an organization + * @description Gets a hosted compute network settings resource configured for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/get-network-settings-for-org"]; + }; + "/orgs/{org}/team/{team_slug}/copilot/metrics": { + /** + * Get Copilot metrics for a team + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 100 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization containing the team within GitHub settings. + * Only organization owners for the organization that contains this team and owners and billing managers of the parent enterprise can view Copilot metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/copilot-metrics-for-team"]; + }; + "/orgs/{org}/teams": { + /** + * List teams + * @description Lists all teams in an organization that are visible to the authenticated user. + */ + get: operations["teams/list"]; + /** + * Create a team + * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + post: operations["teams/create"]; + }; + "/orgs/{org}/teams/{team_slug}": { + /** + * Get a team by name + * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + get: operations["teams/get-by-name"]; + /** + * Delete a team + * @description To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + delete: operations["teams/delete-in-org"]; + /** + * Update a team + * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + patch: operations["teams/update-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions": { + /** + * List discussions + * @description List all discussions on a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-in-org"]; + /** + * Create a discussion + * @description Creates a new discussion post on a team's page. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { + /** + * Get a discussion + * @description Get a specific discussion on a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-in-org"]; + /** + * Delete a discussion + * @description Delete a discussion from a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-in-org"]; + /** + * Update a discussion + * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + /** + * List discussion comments + * @description List all comments on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-in-org"]; + /** + * Create a discussion comment + * @description Creates a new comment on a team discussion. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { + /** + * Get a discussion comment + * @description Get a specific comment on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-in-org"]; + /** + * Delete a discussion comment + * @description Deletes a comment on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-comment-in-org"]; + /** + * Update a discussion comment + * @description Edits the body text of a discussion comment. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + /** + * List reactions for a team discussion comment + * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-comment-in-org"]; + /** + * Create reaction for a team discussion comment + * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { + /** + * Delete team discussion comment reaction + * @description > [!NOTE] + * > You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["reactions/delete-for-team-discussion-comment"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + /** + * List reactions for a team discussion + * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-in-org"]; + /** + * Create reaction for a team discussion + * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { + /** + * Delete team discussion reaction + * @description > [!NOTE] + * > You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["reactions/delete-for-team-discussion"]; + }; + "/orgs/{org}/teams/{team_slug}/invitations": { + /** + * List pending team invitations + * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + get: operations["teams/list-pending-invitations-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/members": { + /** + * List team members + * @description Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/list-members-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/memberships/{username}": { + /** + * Get team membership for a user + * @description Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * > [!NOTE] + * > The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-in-org"]; + /** + * Add or update team membership for a user + * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + put: operations["teams/add-or-update-membership-for-user-in-org"]; + /** + * Remove team membership for a user + * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + delete: operations["teams/remove-membership-for-user-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects": { + /** + * List team projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/list-projects-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { + /** + * Check team permissions for a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/check-permissions-for-project-in-org"]; + /** + * Add or update team project permissions + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["teams/add-or-update-project-permissions-in-org"]; + /** + * Remove a project from a team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["teams/remove-project-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos": { + /** + * List team repositories + * @description Lists a team's repositories visible to the authenticated user. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + get: operations["teams/list-repos-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { + /** + * Check team permissions for a repository + * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * If the repository is private, you must have at least `read` permission for that repository, and your token must have the `repo` or `admin:org` scope. Otherwise, you will receive a `404 Not Found` response status. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + get: operations["teams/check-permissions-for-repo-in-org"]; + /** + * Add or update team repository permissions + * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + put: operations["teams/add-or-update-repo-permissions-in-org"]; + /** + * Remove a repository from a team + * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + delete: operations["teams/remove-repo-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/teams": { + /** + * List child teams + * @description Lists the child teams of the team specified by `{team_slug}`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + get: operations["teams/list-child-in-org"]; + }; + "/orgs/{org}/{security_product}/{enablement}": { + /** + * Enable or disable a security feature for an organization + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** The ability to enable or disable a security feature for all eligible repositories in an organization is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. For more information, see the [changelog](https://github.blog/changelog/2024-07-22-deprecation-of-api-endpoint-to-enable-or-disable-a-security-feature-for-an-organization/). + * + * Enables or disables the specified security feature for all eligible repositories in an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. + */ + post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; + }; + "/projects/columns/{column_id}": { + /** + * Get a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects-classic/get-column"]; + /** + * Delete a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects-classic/delete-column"]; + /** + * Update an existing project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + patch: operations["projects-classic/update-column"]; + }; + "/projects/columns/{column_id}/moves": { + /** + * Move a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects-classic/move-column"]; + }; + "/projects/{project_id}": { + /** + * Get a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects-classic/get"]; + /** + * Delete a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects-classic/delete"]; + /** + * Update a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + patch: operations["projects-classic/update"]; + }; + "/projects/{project_id}/collaborators": { + /** + * List project collaborators + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects-classic/list-collaborators"]; + }; + "/projects/{project_id}/collaborators/{username}": { + /** + * Add project collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["projects-classic/add-collaborator"]; + /** + * Remove user as a collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects-classic/remove-collaborator"]; + }; + "/projects/{project_id}/collaborators/{username}/permission": { + /** + * Get project permission for a user + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects-classic/get-permission-for-user"]; + }; + "/rate_limit": { + /** + * Get rate limit status for the authenticated user + * @description > [!NOTE] + * > Accessing this endpoint does not count against your REST API rate limit. + * + * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search/search)." + * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." + * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." + * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." + * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `dependency_sbom` object provides your rate limit status for requesting SBOMs from the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/about-the-rest-api/api-versions)." + * + * > [!NOTE] + * > The `rate` object is closing down. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: operations["rate-limit/get"]; + }; + "/repos/{owner}/{repo}": { + /** + * Get a repository + * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + * + * > [!NOTE] + * > - In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * > - To view merge-related settings, you must have the `contents:read` and `contents:write` permissions. + */ + get: operations["repos/get"]; + /** + * Delete a repository + * @description Deleting a repository requires admin access. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + * + * OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint. + */ + delete: operations["repos/delete"]; + /** + * Update a repository + * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. + */ + patch: operations["repos/update"]; + }; + "/repos/{owner}/{repo}/actions/artifacts": { + /** + * List artifacts for a repository + * @description Lists all artifacts for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-artifacts-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + /** + * Get an artifact + * @description Gets a specific artifact for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-artifact"]; + /** + * Delete an artifact + * @description Deletes an artifact for a workflow run. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-artifact"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + /** + * Download an artifact + * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-artifact"]; + }; + "/repos/{owner}/{repo}/actions/cache/usage": { + /** + * Get GitHub Actions cache usage for a repository + * @description Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage"]; + }; + "/repos/{owner}/{repo}/actions/caches": { + /** + * List GitHub Actions caches for a repository + * @description Lists the GitHub Actions caches for a repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-list"]; + /** + * Delete GitHub Actions caches for a repository (using a cache key) + * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-key"]; + }; + "/repos/{owner}/{repo}/actions/caches/{cache_id}": { + /** + * Delete a GitHub Actions cache for a repository (using a cache ID) + * @description Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-id"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + /** + * Get a job for a workflow run + * @description Gets a specific job in a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-job-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + /** + * Download job logs for a workflow run + * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-job-logs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { + /** + * Re-run a job from a workflow run + * @description Re-run a job and its dependent jobs in a workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-job-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/oidc/customization/sub": { + /** + * Get the customization template for an OIDC subject claim for a repository + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; + /** + * Set the customization template for an OIDC subject claim for a repository + * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/organization-secrets": { + /** + * List repository organization secrets + * @description Lists all organization secrets shared with a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-organization-secrets"]; + }; + "/repos/{owner}/{repo}/actions/organization-variables": { + /** + * List repository organization variables + * @description Lists all organization variables shared with a repository. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-organization-variables"]; + }; + "/repos/{owner}/{repo}/actions/permissions": { + /** + * Get GitHub Actions permissions for a repository + * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-permissions-repository"]; + /** + * Set GitHub Actions permissions for a repository + * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-permissions-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/access": { + /** + * Get the level of access for workflows outside of the repository + * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-workflow-access-to-repository"]; + /** + * Set the level of access for workflows outside of the repository + * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-workflow-access-to-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/artifact-and-log-retention": { + /** + * Get artifact and log retention settings for a repository + * @description Gets artifact and log retention settings for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-artifact-and-log-retention-settings-repository"]; + /** + * Set artifact and log retention settings for a repository + * @description Sets artifact and log retention settings for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-artifact-and-log-retention-settings-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval": { + /** + * Get fork PR contributor approval permissions for a repository + * @description Gets the fork PR contributor approval policy for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-fork-pr-contributor-approval-permissions-repository"]; + /** + * Set fork PR contributor approval permissions for a repository + * @description Sets the fork PR contributor approval policy for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-fork-pr-contributor-approval-permissions-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/fork-pr-workflows-private-repos": { + /** + * Get private repo fork PR workflow settings for a repository + * @description Gets the settings for whether workflows from fork pull requests can run on a private repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-private-repo-fork-pr-workflows-settings-repository"]; + /** + * Set private repo fork PR workflow settings for a repository + * @description Sets the settings for whether workflows from fork pull requests can run on a private repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-private-repo-fork-pr-workflows-settings-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + /** + * Get allowed actions and reusable workflows for a repository + * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-allowed-actions-repository"]; + /** + * Set allowed actions and reusable workflows for a repository + * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-allowed-actions-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/workflow": { + /** + * Get default workflow permissions for a repository + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; + /** + * Set default workflow permissions for a repository + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; + }; + "/repos/{owner}/{repo}/actions/runners": { + /** + * List self-hosted runners for a repository + * @description Lists all self-hosted runners configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/downloads": { + /** + * List runner applications for a repository + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-runner-applications-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { + /** + * Create configuration for a just-in-time runner for a repository + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the repository. + * + * OAuth tokens and personal access tokens (classic) need the`repo` scope to use this endpoint. + */ + post: operations["actions/generate-runner-jitconfig-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/registration-token": { + /** + * Create a registration token for a repository + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-registration-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/remove-token": { + /** + * Create a remove token for a repository + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an repository. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-remove-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + /** + * Get a self-hosted runner for a repository + * @description Gets a specific self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-for-repo"]; + /** + * Delete a self-hosted runner from a repository + * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { + /** + * List labels for a self-hosted runner for a repository + * @description Lists all labels for a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; + /** + * Set custom labels for a self-hosted runner for a repository + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; + /** + * Add custom labels to a self-hosted runner for a repository + * @description Adds custom labels to a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-repo"]; + /** + * Remove all custom labels from a self-hosted runner for a repository + * @description Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner for a repository + * @description Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs": { + /** + * List workflow runs for a repository + * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + get: operations["actions/list-workflow-runs-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + /** + * Get a workflow run + * @description Gets a specific workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run"]; + /** + * Delete a workflow run + * @description Deletes a specific workflow run. + * + * Anyone with write access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { + /** + * Get the review history for a workflow run + * @description Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-reviews-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { + /** + * Approve a workflow run for a fork pull request + * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/approve-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + /** + * List workflow run artifacts + * @description Lists artifacts for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-workflow-run-artifacts"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { + /** + * Get a workflow run attempt + * @description Gets a specific workflow run attempt. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + /** + * List jobs for a workflow run attempt + * @description Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-jobs-for-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { + /** + * Download workflow run attempt logs + * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-workflow-run-attempt-logs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + /** + * Cancel a workflow run + * @description Cancels a workflow run using its `id`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/cancel-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { + /** + * Review custom deployment protection rules for a workflow run + * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * > [!NOTE] + * > GitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + post: operations["actions/review-custom-gates-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": { + /** + * Force cancel a workflow run + * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. + * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/force-cancel-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + /** + * List jobs for a workflow run + * @description Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-jobs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + /** + * Download workflow run logs + * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-workflow-run-logs"]; + /** + * Delete workflow run logs + * @description Deletes all logs for a workflow run. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-workflow-run-logs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { + /** + * Get pending deployments for a workflow run + * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-pending-deployments-for-run"]; + /** + * Review pending deployments for a workflow run + * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/review-pending-deployments-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + /** + * Re-run a workflow + * @description Re-runs your workflow run using its `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-workflow"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { + /** + * Re-run failed jobs from a workflow run + * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-workflow-failed-jobs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + /** + * Get workflow run usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run-usage"]; + }; + "/repos/{owner}/{repo}/actions/secrets": { + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/actions/secrets/public-key": { + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/create-or-update-repo-secret"]; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/actions/variables": { + /** + * List repository variables + * @description Lists all repository variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-variables"]; + /** + * Create a repository variable + * @description Creates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-repo-variable"]; + }; + "/repos/{owner}/{repo}/actions/variables/{name}": { + /** + * Get a repository variable + * @description Gets a specific variable in a repository. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-variable"]; + /** + * Delete a repository variable + * @description Deletes a repository variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-repo-variable"]; + /** + * Update a repository variable + * @description Updates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + patch: operations["actions/update-repo-variable"]; + }; + "/repos/{owner}/{repo}/actions/workflows": { + /** + * List repository workflows + * @description Lists the workflows in a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-repo-workflows"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + /** + * Get a workflow + * @description Gets a specific workflow. You can replace `workflow_id` with the workflow + * file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + /** + * Disable a workflow + * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/disable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + /** + * Create a workflow dispatch event + * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-workflow-dispatch"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + /** + * Enable a workflow + * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/enable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + /** + * List workflow runs for a workflow + * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + get: operations["actions/list-workflow-runs"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + /** + * Get workflow usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-usage"]; + }; + "/repos/{owner}/{repo}/activity": { + /** + * List repository activities + * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. + * + * For more information about viewing repository activity, + * see "[Viewing activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)." + */ + get: operations["repos/list-activities"]; + }; + "/repos/{owner}/{repo}/assignees": { + /** + * List assignees + * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + get: operations["issues/list-assignees"]; + }; + "/repos/{owner}/{repo}/assignees/{assignee}": { + /** + * Check if a user can be assigned + * @description Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned"]; + }; + "/repos/{owner}/{repo}/attestations": { + /** + * Create an attestation + * @description Store an artifact attestation and associate it with a repository. + * + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. + * + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["repos/create-attestation"]; + }; + "/repos/{owner}/{repo}/attestations/{subject_digest}": { + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with a repository. + * + * The authenticated user making the request must have read access to the repository. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["repos/list-attestations"]; + }; + "/repos/{owner}/{repo}/autolinks": { + /** + * Get all autolinks of a repository + * @description Gets all autolinks that are configured for a repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/list-autolinks"]; + /** + * Create an autolink reference for a repository + * @description Users with admin access to the repository can create an autolink. + */ + post: operations["repos/create-autolink"]; + }; + "/repos/{owner}/{repo}/autolinks/{autolink_id}": { + /** + * Get an autolink reference of a repository + * @description This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/get-autolink"]; + /** + * Delete an autolink reference from a repository + * @description This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + delete: operations["repos/delete-autolink"]; + }; + "/repos/{owner}/{repo}/automated-security-fixes": { + /** + * Check if Dependabot security updates are enabled for a repository + * @description Shows whether Dependabot security updates are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + get: operations["repos/check-automated-security-fixes"]; + /** + * Enable Dependabot security updates + * @description Enables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + put: operations["repos/enable-automated-security-fixes"]; + /** + * Disable Dependabot security updates + * @description Disables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + delete: operations["repos/disable-automated-security-fixes"]; + }; + "/repos/{owner}/{repo}/branches": { + /** List branches */ + get: operations["repos/list-branches"]; + }; + "/repos/{owner}/{repo}/branches/{branch}": { + /** Get a branch */ + get: operations["repos/get-branch"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection": { + /** + * Get branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-branch-protection"]; + /** + * Update branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * > [!NOTE] + * > Passing new arrays of `users` and `teams` replaces their previous values. + * + * > [!NOTE] + * > The list of users, apps, and teams in total is limited to 100 items. + */ + put: operations["repos/update-branch-protection"]; + /** + * Delete branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { + /** + * Get admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-admin-branch-protection"]; + /** + * Set admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + post: operations["repos/set-admin-branch-protection"]; + /** + * Delete admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + delete: operations["repos/delete-admin-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { + /** + * Get pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-pull-request-review-protection"]; + /** + * Delete pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-pull-request-review-protection"]; + /** + * Update pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * > [!NOTE] + * > Passing new arrays of `users` and `teams` replaces their previous values. + */ + patch: operations["repos/update-pull-request-review-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { + /** + * Get commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * > [!NOTE] + * > You must enable branch protection to require signed commits. + */ + get: operations["repos/get-commit-signature-protection"]; + /** + * Create commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + post: operations["repos/create-commit-signature-protection"]; + /** + * Delete commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + delete: operations["repos/delete-commit-signature-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { + /** + * Get status checks protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-status-checks-protection"]; + /** + * Remove status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-protection"]; + /** + * Update status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + patch: operations["repos/update-status-check-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { + /** + * Get all status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-all-status-check-contexts"]; + /** + * Set status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + put: operations["repos/set-status-check-contexts"]; + /** + * Add status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + post: operations["repos/add-status-check-contexts"]; + /** + * Remove status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-contexts"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { + /** + * Get access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * > [!NOTE] + * > Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + get: operations["repos/get-access-restrictions"]; + /** + * Delete access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + delete: operations["repos/delete-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { + /** + * Get apps with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + get: operations["repos/get-apps-with-access-to-protected-branch"]; + /** + * Set app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + put: operations["repos/set-app-access-restrictions"]; + /** + * Add app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + post: operations["repos/add-app-access-restrictions"]; + /** + * Remove app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + delete: operations["repos/remove-app-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { + /** + * Get teams with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + get: operations["repos/get-teams-with-access-to-protected-branch"]; + /** + * Set team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + */ + put: operations["repos/set-team-access-restrictions"]; + /** + * Add team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + */ + post: operations["repos/add-team-access-restrictions"]; + /** + * Remove team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + */ + delete: operations["repos/remove-team-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { + /** + * Get users with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + get: operations["repos/get-users-with-access-to-protected-branch"]; + /** + * Set user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + put: operations["repos/set-user-access-restrictions"]; + /** + * Add user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + post: operations["repos/add-user-access-restrictions"]; + /** + * Remove user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + delete: operations["repos/remove-user-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/rename": { + /** + * Rename a branch + * @description Renames a branch in a repository. + * + * > [!NOTE] + * > Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The authenticated user must have push access to the branch. If the branch is the default branch, the authenticated user must also have admin or owner permissions. + * + * In order to rename the default branch, fine-grained access tokens also need the `administration:write` repository permission. + */ + post: operations["repos/rename-branch"]; + }; + "/repos/{owner}/{repo}/check-runs": { + /** + * Create a check run + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + post: operations["checks/create"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}": { + /** + * Get a check run + * @description Gets a single check run using its `id`. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/get"]; + /** + * Update a check run + * @description Updates a check run for a specific commit in a repository. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + patch: operations["checks/update"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + /** + * List check run annotations + * @description Lists annotations for a check run using the annotation `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-annotations"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { + /** + * Rerequest a check run + * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, the `status` of the check suite it belongs to is reset to `queued` and the `conclusion` is cleared. The check run itself is not updated. GitHub apps recieving the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) with the `rerequested` action should then decide if the check run should be reset or updated and call the [update `check_run` endpoint](https://docs.github.com/rest/checks/runs#update-a-check-run) to update the check_run if desired. + * + * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". + */ + post: operations["checks/rerequest-run"]; + }; + "/repos/{owner}/{repo}/check-suites": { + /** + * Create a check suite + * @description Creates a check suite manually. By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". + * + * > [!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`. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + post: operations["checks/create-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/preferences": { + /** + * Update repository preferences for check suites + * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). + * You must have admin permissions in the repository to set preferences for check suites. + */ + patch: operations["checks/set-suites-preferences"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { + /** + * Get a check suite + * @description Gets a single check suite using its `id`. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/get-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + /** + * List check runs in a check suite + * @description Lists check runs for a check suite using its `id`. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-for-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { + /** + * Rerequest a check suite + * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + */ + post: operations["checks/rerequest-suite"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts": { + /** + * List code scanning alerts for a repository + * @description Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + get: operations["code-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + /** + * Get a code scanning alert + * @description Gets a single code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-alert"]; + /** + * Update a code scanning alert + * @description Updates the status of a single code scanning alert. + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + patch: operations["code-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix": { + /** + * Get the status of an autofix for a code scanning alert + * @description Gets the status and description of an autofix for a code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-autofix"]; + /** + * Create an autofix for a code scanning alert + * @description Creates an autofix for a code scanning alert. + * + * If a new autofix is to be created as a result of this request or is currently being generated, then this endpoint will return a 202 Accepted response. + * + * If an autofix already exists for a given alert, then this endpoint will return a 200 OK response. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + post: operations["code-scanning/create-autofix"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits": { + /** + * Commit an autofix for a code scanning alert + * @description Commits an autofix for a code scanning alert. + * + * If an autofix is committed as a result of this request, then this endpoint will return a 201 Created response. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + post: operations["code-scanning/commit-autofix"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + /** + * List instances of a code scanning alert + * @description Lists all instances of the specified code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alert-instances"]; + }; + "/repos/{owner}/{repo}/code-scanning/analyses": { + /** + * List code scanning analyses for a repository + * @description Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * > [!WARNING] + * > **Closing down notice:** The `tool_name` field is closing down and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-recent-analyses"]; + }; + "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { + /** + * Get a code scanning analysis for a repository + * @description Gets a specified code scanning analysis for a repository. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/sarif+json`**: Instead of returning a summary of the analysis, this endpoint returns a subset of the analysis data that was uploaded. The data is formatted as [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). It also returns additional data such as the `github/alertNumber` and `github/alertUrl` properties. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-analysis"]; + /** + * Delete a code scanning analysis from a repository + * @description Deletes a specified code scanning analysis from a repository. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `category` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + delete: operations["code-scanning/delete-analysis"]; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases": { + /** + * List CodeQL databases for a repository + * @description Lists the CodeQL databases that are available in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-codeql-databases"]; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { + /** + * Get a CodeQL database for a repository + * @description Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-codeql-database"]; + /** + * Delete a CodeQL database + * @description Deletes a CodeQL database for a language in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + delete: operations["code-scanning/delete-codeql-database"]; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses": { + /** + * Create a CodeQL variant analysis + * @description Creates a new CodeQL variant analysis, which will run a CodeQL query against one or more repositories. + * + * Get started by learning more about [running CodeQL queries at scale with Multi-Repository Variant Analysis](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis). + * + * Use the `owner` and `repo` parameters in the URL to specify the controller repository that + * will be used for running GitHub Actions workflows and storing the results of the CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["code-scanning/create-variant-analysis"]; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}": { + /** + * Get the summary of a CodeQL variant analysis + * @description Gets the summary of a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis"]; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}": { + /** + * Get the analysis status of a repository in a CodeQL variant analysis + * @description Gets the analysis status of a repository in a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis-repo-task"]; + }; + "/repos/{owner}/{repo}/code-scanning/default-setup": { + /** + * Get a code scanning default setup configuration + * @description Gets a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-default-setup"]; + /** + * Update a code scanning default setup configuration + * @description Updates a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + patch: operations["code-scanning/update-default-setup"]; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs": { + /** + * Upload an analysis as SARIF data + * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. + * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." + * + * + * | **SARIF data** | **Maximum values** | **Additional limits** | + * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| + * | Runs per file | 20 | | + * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | + * | Rules per run | 25,000 | | + * | Tool extensions per run | 100 | | + * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | + * | Location per result | 1,000 | Only 100 locations will be included. | + * | Tags per rule | 20 | Only 10 tags will be included. | + * + * + * The `202 Accepted` response includes an `id` value. + * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + * + * This endpoint is limited to 1,000 requests per hour for each user or app installation calling it. + */ + post: operations["code-scanning/upload-sarif"]; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { + /** + * Get information about a SARIF upload + * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-sarif"]; + }; + "/repos/{owner}/{repo}/code-security-configuration": { + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["code-security/get-configuration-for-repository"]; + }; + "/repos/{owner}/{repo}/codeowners/errors": { + /** + * List CODEOWNERS errors + * @description List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + get: operations["repos/codeowners-errors"]; + }; + "/repos/{owner}/{repo}/codespaces": { + /** + * List codespaces in a repository for the authenticated user + * @description Lists the codespaces associated to a specified repository and the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-in-repository-for-authenticated-user"]; + /** + * Create a codespace in a repository + * @description Creates a codespace owned by the authenticated user in the specified repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-with-repo-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/devcontainers": { + /** + * List devcontainer configurations in a repository for the authenticated user + * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/machines": { + /** + * List available machine types for a repository + * @description List the machine types available for a given repository based on its configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/repo-machines-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/new": { + /** + * Get default attributes for a codespace + * @description Gets the default attributes for codespaces created by the user with the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/permissions_check": { + /** + * Check if permissions defined by a devcontainer have been accepted by the authenticated user + * @description Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/check-permissions-for-devcontainer"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets": { + /** + * List repository secrets + * @description Lists all development environment secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets/public-key": { + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * If the repository is private, OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { + /** + * Get a repository secret + * @description Gets a single repository development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + put: operations["codespaces/create-or-update-repo-secret"]; + /** + * Delete a repository secret + * @description Deletes a development environment secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + delete: operations["codespaces/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/collaborators": { + /** + * List repository collaborators + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * The `permissions` hash returned in the response contains the base role permissions of the collaborator. The `role_name` is the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. + * There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response. + * + * Team members will include the members of child teams. + * + * The authenticated user must have write, maintain, or admin privileges on the repository to use this endpoint. For organization-owned repositories, the authenticated user needs to be a member of the organization. + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + get: operations["repos/list-collaborators"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}": { + /** + * Check if a user is a repository collaborator + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + get: operations["repos/check-collaborator"]; + /** + * Add a repository collaborator + * @description Add a user to a repository with a specified level of access. If the repository is owned by an organization, this API does not add the user to the organization - a user that has repository access without being an organization member is called an "outside collaborator" (if they are not an Enterprise Managed User) or a "repository collaborator" if they are an Enterprise Managed User. These users are exempt from some organization policies - see "[Adding outside collaborators to repositories](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization)" to learn more about these collaborator types. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * + * Adding an outside collaborator may be restricted by enterprise and organization administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)" and "[Setting permissions for adding outside collaborators](https://docs.github.com/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators)" for organization settings. + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the role being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). + * + * For Enterprise Managed Users, this endpoint does not send invitations - these users are automatically added to organizations and repositories. Enterprise Managed Users can only be added to organizations and repositories within their enterprise. + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + put: operations["repos/add-collaborator"]; + /** + * Remove a repository collaborator + * @description Removes a collaborator from a repository. + * + * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. + * + * This endpoint also: + * - Cancels any outstanding invitations sent by the collaborator + * - Unassigns the user from any issues + * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. + * - Unstars the repository + * - Updates access permissions to packages + * + * Removing a user as a collaborator has the following effects on forks: + * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. + * - If the user had their own fork of the repository, the fork will be deleted. + * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. + * + * > [!NOTE] + * > A user can still have access to the repository through organization permissions like base repository permissions. + * + * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. + * + * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". + */ + delete: operations["repos/remove-collaborator"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + /** + * Get repository permissions for a user + * @description Checks the repository permission and role of a collaborator. + * + * The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. + * The `role_name` attribute provides the name of the assigned role, including custom roles. The + * `permission` can also be used to determine which base level of access the collaborator has to the repository. + * + * The calculated permissions are the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. + * There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response. + */ + get: operations["repos/get-collaborator-permission-level"]; + }; + "/repos/{owner}/{repo}/comments": { + /** + * List commit comments for a repository + * @description Lists the commit comments for a specified repository. Comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/list-commit-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}": { + /** + * Get a commit comment + * @description Gets a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/get-commit-comment"]; + /** Delete a commit comment */ + delete: operations["repos/delete-commit-comment"]; + /** + * Update a commit comment + * @description Updates the contents of a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["repos/update-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + /** + * List reactions for a commit comment + * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + get: operations["reactions/list-for-commit-comment"]; + /** + * Create reaction for a commit comment + * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. + */ + post: operations["reactions/create-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + /** + * Delete a commit comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + delete: operations["reactions/delete-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits": { + /** + * List commits + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/list-commits"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + /** + * List branches for HEAD commit + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + get: operations["repos/list-branches-for-head-commit"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { + /** + * List commit comments + * @description Lists the comments for a specified commit. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/list-comments-for-commit"]; + /** + * Create a commit comment + * @description Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["repos/create-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + /** + * List pull requests associated with a commit + * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, it will return merged and open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. + */ + get: operations["repos/list-pull-requests-associated-with-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}": { + /** + * Get a commit + * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * > [!NOTE] + * > If there are more than 300 files in the commit diff and the default JSON media type is requested, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." Pagination query parameters are not supported for these media types. + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.sha`**: Returns the commit's SHA-1 hash. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/get-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-runs": { + /** + * List check runs for a Git reference + * @description Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-suites": { + /** + * List check suites for a Git reference + * @description Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-suites-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/status": { + /** + * Get the combined status for a specific reference + * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + get: operations["repos/get-combined-status-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + /** + * List commit statuses for a reference + * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + get: operations["repos/list-commit-statuses-for-ref"]; + }; + "/repos/{owner}/{repo}/community/profile": { + /** + * Get community profile metrics + * @description Returns all community profile metrics for a repository. The repository cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * the recommended community health files are present. For more information, see + * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + get: operations["repos/get-community-profile-metrics"]; + }; + "/repos/{owner}/{repo}/compare/{basehead}": { + /** + * Compare two commits + * @description Compares two commits against one another. You can compare refs (branches or tags) and commit SHAs in the same repository, or you can compare refs and commit SHAs that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." + * + * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. + * + * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: + * + * - The list of changed files is only shown on the first page of results, and it includes up to 300 changed files for the entire comparison. + * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. + * + * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits-with-basehead"]; + }; + "/repos/{owner}/{repo}/contents/{path}": { + /** + * Get repository content + * @description Gets the contents of a file or directory in a repository. Specify the file path or directory with the `path` parameter. If you omit the `path` parameter, you will receive the contents of the repository's root directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents for files and symlinks. + * - **`application/vnd.github.html+json`**: Returns the file contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + * - **`application/vnd.github.object+json`**: Returns the contents in a consistent object format regardless of the content type. For example, instead of an array of objects for a directory, the response will be an object with an `entries` attribute containing the array of objects. + * + * If the content is a directory, the response will be an array of objects, one object for each item in the directory. When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value _should_ be "submodule". This behavior exists [for backwards compatibility purposes](https://git.io/v1YCW). In the next major version of the API, the type will be returned as "submodule". + * + * If the content is a symlink and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself. + * + * If the content is a submodule, the `submodule_git_url` field 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. + * + * **Notes**: + * + * - To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). + * - This API has an upper limit of 1,000 files for a directory. If you need to retrieve + * more files, use the [Git Trees API](https://docs.github.com/rest/git/trees#get-a-tree). + * - Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. + * - If the requested file's size is: + * - 1 MB or smaller: All features of this endpoint are supported. + * - Between 1-100 MB: Only the `raw` or `object` custom media types are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty + * string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * - Greater than 100 MB: This endpoint is not supported. + */ + get: operations["repos/get-content"]; + /** + * Create or update file contents + * @description Creates a new file or replaces an existing file in a repository. + * + * > [!NOTE] + * > If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The `workflow` scope is also required in order to modify files in the `.github/workflows` directory. + */ + put: operations["repos/create-or-update-file-contents"]; + /** + * Delete a file + * @description Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * + * > [!NOTE] + * > If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + delete: operations["repos/delete-file"]; + }; + "/repos/{owner}/{repo}/contributors": { + /** + * List repository contributors + * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + get: operations["repos/list-contributors"]; + }; + "/repos/{owner}/{repo}/dependabot/alerts": { + /** + * List Dependabot alerts for a repository + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { + /** + * Get a Dependabot alert + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/get-alert"]; + /** + * Update a Dependabot alert + * @description The authenticated user must have access to security alerts for the repository to use this endpoint. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + patch: operations["dependabot/update-alert"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets": { + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["dependabot/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets/public-key": { + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. Anyone with read access + * to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private. + */ + get: operations["dependabot/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["dependabot/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["dependabot/create-or-update-repo-secret"]; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["dependabot/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { + /** + * Get a diff of the dependencies between commits + * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. + */ + get: operations["dependency-graph/diff-range"]; + }; + "/repos/{owner}/{repo}/dependency-graph/sbom": { + /** + * Export a software bill of materials (SBOM) for a repository. + * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. + */ + get: operations["dependency-graph/export-sbom"]; + }; + "/repos/{owner}/{repo}/dependency-graph/snapshots": { + /** + * Create a snapshot of dependencies for a repository + * @description Create a new snapshot of a repository's dependencies. + * + * The authenticated user must have access to the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["dependency-graph/create-repository-snapshot"]; + }; + "/repos/{owner}/{repo}/deployments": { + /** + * List deployments + * @description Simple filtering of deployments is available via query parameters: + */ + get: operations["repos/list-deployments"]; + /** + * Create a deployment + * @description Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Merged branch response: + * + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * Merge conflict response: + * + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * Failed commit status checks: + * + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + post: operations["repos/create-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}": { + /** Get a deployment */ + get: operations["repos/get-deployment"]; + /** + * Delete a deployment + * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + delete: operations["repos/delete-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + /** + * List deployment statuses + * @description Users with pull access can view deployment statuses for a deployment: + */ + get: operations["repos/list-deployment-statuses"]; + /** + * Create a deployment status + * @description Users with `push` access can create deployment statuses for a given deployment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. + */ + post: operations["repos/create-deployment-status"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { + /** + * Get a deployment status + * @description Users with pull access can view a deployment status for a deployment: + */ + get: operations["repos/get-deployment-status"]; + }; + "/repos/{owner}/{repo}/dispatches": { + /** + * Create a repository dispatch event + * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-dispatch-event"]; + }; + "/repos/{owner}/{repo}/environments": { + /** + * List environments + * @description Lists the environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-all-environments"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}": { + /** + * Get an environment + * @description > [!NOTE] + * > To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-environment"]; + /** + * Create or update an environment + * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * > [!NOTE] + * > To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." + * + * > [!NOTE] + * > To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + /** + * Delete an environment + * @description OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-an-environment"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { + /** + * List deployment branch policies + * @description Lists the deployment branch policies for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-deployment-branch-policies"]; + /** + * Create a deployment branch policy + * @description Creates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-deployment-branch-policy"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { + /** + * Get a deployment branch policy + * @description Gets a deployment branch or tag policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-deployment-branch-policy"]; + /** + * Update a deployment branch policy + * @description Updates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/update-deployment-branch-policy"]; + /** + * Delete a deployment branch policy + * @description Deletes a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-deployment-branch-policy"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { + /** + * Get all deployment protection rules for an environment + * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-all-deployment-protection-rules"]; + /** + * Create a custom deployment protection rule on an environment + * @description Enable a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app), as well as the [guide to creating custom deployment protection rules](https://docs.github.com/actions/managing-workflow-runs-and-deployments/managing-deployments/creating-custom-deployment-protection-rules). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-deployment-protection-rule"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { + /** + * List custom deployment rule integrations available for an environment + * @description Gets all custom deployment protection rule integrations that are available for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-custom-deployment-rule-integrations"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { + /** + * Get a custom deployment protection rule + * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-custom-deployment-protection-rule"]; + /** + * Disable a custom protection rule for an environment + * @description Disables a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/disable-deployment-protection-rule"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets": { + /** + * List environment secrets + * @description Lists all secrets available in an environment without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-environment-secrets"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key": { + /** + * Get an environment public key + * @description Get the public key for an environment, which you need to encrypt environment + * secrets. You need to encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-public-key"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}": { + /** + * Get an environment secret + * @description Gets a single environment secret without revealing its encrypted value. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-secret"]; + /** + * Create or update an environment secret + * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/create-or-update-environment-secret"]; + /** + * Delete an environment secret + * @description Deletes a secret in an environment using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-environment-secret"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/variables": { + /** + * List environment variables + * @description Lists all environment variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-environment-variables"]; + /** + * Create an environment variable + * @description Create an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-environment-variable"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}": { + /** + * Get an environment variable + * @description Gets a specific variable in an environment. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-variable"]; + /** + * Delete an environment variable + * @description Deletes an environment variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-environment-variable"]; + /** + * Update an environment variable + * @description Updates an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + patch: operations["actions/update-environment-variable"]; + }; + "/repos/{owner}/{repo}/events": { + /** + * List repository events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-repo-events"]; + }; + "/repos/{owner}/{repo}/forks": { + /** List forks */ + get: operations["repos/list-forks"]; + /** + * Create a fork + * @description Create a fork for the authenticated user. + * + * > [!NOTE] + * > Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * + * > [!NOTE] + * > Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. + */ + post: operations["repos/create-fork"]; + }; + "/repos/{owner}/{repo}/git/blobs": { + /** Create a blob */ + post: operations["git/create-blob"]; + }; + "/repos/{owner}/{repo}/git/blobs/{file_sha}": { + /** + * Get a blob + * @description The `content` in the response will always be Base64 encoded. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw blob data. + * - **`application/vnd.github+json`**: Returns a JSON representation of the blob with `content` as a base64 encoded string. This is the default if no media type is specified. + * + * **Note** This endpoint supports blobs up to 100 megabytes in size. + */ + get: operations["git/get-blob"]; + }; + "/repos/{owner}/{repo}/git/commits": { + /** + * Create a commit + * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-commit"]; + }; + "/repos/{owner}/{repo}/git/commits/{commit_sha}": { + /** + * Get a commit object + * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-commit"]; + }; + "/repos/{owner}/{repo}/git/matching-refs/{ref}": { + /** + * List matching references + * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * > [!NOTE] + * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + get: operations["git/list-matching-refs"]; + }; + "/repos/{owner}/{repo}/git/ref/{ref}": { + /** + * Get a reference + * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * > [!NOTE] + * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + get: operations["git/get-ref"]; + }; + "/repos/{owner}/{repo}/git/refs": { + /** + * Create a reference + * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + post: operations["git/create-ref"]; + }; + "/repos/{owner}/{repo}/git/refs/{ref}": { + /** + * Delete a reference + * @description Deletes the provided reference. + */ + delete: operations["git/delete-ref"]; + /** + * Update a reference + * @description Updates the provided reference to point to a new SHA. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + */ + patch: operations["git/update-ref"]; + }; + "/repos/{owner}/{repo}/git/tags": { + /** + * Create a tag object + * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-tag"]; + }; + "/repos/{owner}/{repo}/git/tags/{tag_sha}": { + /** + * Get a tag + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-tag"]; + }; + "/repos/{owner}/{repo}/git/trees": { + /** + * Create a tree + * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." + * + * Returns an error if you try to delete a file that does not exist. + */ + post: operations["git/create-tree"]; + }; + "/repos/{owner}/{repo}/git/trees/{tree_sha}": { + /** + * Get a tree + * @description Returns a single tree using the SHA1 value or ref name for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + * + * > [!NOTE] + * > The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. + */ + get: operations["git/get-tree"]; + }; + "/repos/{owner}/{repo}/hooks": { + /** + * List repository webhooks + * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. + */ + get: operations["repos/list-webhooks"]; + /** + * Create a repository webhook + * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + post: operations["repos/create-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}": { + /** + * Get a repository webhook + * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." + */ + get: operations["repos/get-webhook"]; + /** + * Delete a repository webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be a repository owner, or have admin access in the repository, to delete the webhook. + */ + delete: operations["repos/delete-webhook"]; + /** + * Update a repository webhook + * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." + */ + patch: operations["repos/update-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/config": { + /** + * Get a webhook configuration for a repository + * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint. + */ + get: operations["repos/get-webhook-config-for-repo"]; + /** + * Update a webhook configuration for a repository + * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint. + */ + patch: operations["repos/update-webhook-config-for-repo"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + /** + * List deliveries for a repository webhook + * @description Returns a list of webhook deliveries for a webhook configured in a repository. + */ + get: operations["repos/list-webhook-deliveries"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** + * Get a delivery for a repository webhook + * @description Returns a delivery for a webhook configured in a repository. + */ + get: operations["repos/get-webhook-delivery"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** + * Redeliver a delivery for a repository webhook + * @description Redeliver a webhook delivery for a webhook configured in a repository. + */ + post: operations["repos/redeliver-webhook-delivery"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { + /** + * Ping a repository webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + post: operations["repos/ping-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { + /** + * Test the push repository webhook + * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * > [!NOTE] + * > Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + post: operations["repos/test-push-webhook"]; + }; + "/repos/{owner}/{repo}/immutable-releases": { + /** + * Check if immutable releases are enabled for a repository + * @description Shows whether immutable releases are enabled or disabled. Also identifies whether immutability is being + * enforced by the repository owner. The authenticated user must have admin read access to the repository. + */ + get: operations["repos/check-immutable-releases"]; + /** + * Enable immutable releases + * @description Enables immutable releases for a repository. The authenticated user must have admin access to the repository. + */ + put: operations["repos/enable-immutable-releases"]; + /** + * Disable immutable releases + * @description Disables immutable releases for a repository. The authenticated user must have admin access to the repository. + */ + delete: operations["repos/disable-immutable-releases"]; + }; + "/repos/{owner}/{repo}/import": { + /** + * Get an import status + * @deprecated + * @description View the progress of an import. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + get: operations["migrations/get-import-status"]; + /** + * Start an import + * @deprecated + * @description Start a source import to a GitHub repository using GitHub Importer. + * Importing into a GitHub repository with GitHub Actions enabled is not supported and will + * return a status `422 Unprocessable Entity` response. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + put: operations["migrations/start-import"]; + /** + * Cancel an import + * @deprecated + * @description Stop an import for a repository. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + delete: operations["migrations/cancel-import"]; + /** + * Update an import + * @deprecated + * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/update-import"]; + }; + "/repos/{owner}/{repo}/import/authors": { + /** + * Get commit authors + * @deprecated + * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + get: operations["migrations/get-commit-authors"]; + }; + "/repos/{owner}/{repo}/import/authors/{author_id}": { + /** + * Map a commit author + * @deprecated + * @description Update an author's identity for the import. Your application can continue updating authors any time before you push + * new commits to the repository. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/map-commit-author"]; + }; + "/repos/{owner}/{repo}/import/large_files": { + /** + * Get large files + * @deprecated + * @description List files larger than 100MB found during the import + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + get: operations["migrations/get-large-files"]; + }; + "/repos/{owner}/{repo}/import/lfs": { + /** + * Update Git LFS preference + * @deprecated + * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability + * is powered by [Git LFS](https://git-lfs.com). + * + * You can learn more about our LFS feature and working with large files [on our help + * site](https://docs.github.com/repositories/working-with-files/managing-large-files). + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/set-lfs-preference"]; + }; + "/repos/{owner}/{repo}/installation": { + /** + * Get a repository installation for the authenticated app + * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-repo-installation"]; + }; + "/repos/{owner}/{repo}/interaction-limits": { + /** + * Get interaction restrictions for a repository + * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + get: operations["interactions/get-restrictions-for-repo"]; + /** + * Set interaction restrictions for a repository + * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + put: operations["interactions/set-restrictions-for-repo"]; + /** + * Remove interaction restrictions for a repository + * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + delete: operations["interactions/remove-restrictions-for-repo"]; + }; + "/repos/{owner}/{repo}/invitations": { + /** + * List repository invitations + * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + get: operations["repos/list-invitations"]; + }; + "/repos/{owner}/{repo}/invitations/{invitation_id}": { + /** Delete a repository invitation */ + delete: operations["repos/delete-invitation"]; + /** Update a repository invitation */ + patch: operations["repos/update-invitation"]; + }; + "/repos/{owner}/{repo}/issues": { + /** + * List repository issues + * @description List issues in a repository. Only open issues will be listed. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-repo"]; + /** + * Create an issue + * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/create"]; + }; + "/repos/{owner}/{repo}/issues/comments": { + /** + * List issue comments for a repository + * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. + * + * By default, issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}": { + /** + * Get an issue comment + * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/get-comment"]; + /** + * Delete an issue comment + * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + delete: operations["issues/delete-comment"]; + /** + * Update an issue comment + * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["issues/update-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + /** + * List reactions for an issue comment + * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + get: operations["reactions/list-for-issue-comment"]; + /** + * Create reaction for an issue comment + * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. + */ + post: operations["reactions/create-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { + /** + * Delete an issue comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + delete: operations["reactions/delete-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/events": { + /** + * List issue events for a repository + * @description Lists events for a repository. + */ + get: operations["issues/list-events-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/events/{event_id}": { + /** + * Get an issue event + * @description Gets a single event by the event id. + */ + get: operations["issues/get-event"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}": { + /** + * Get an issue + * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api#follow-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/get"]; + /** + * Update an issue + * @description Issue owners and users with push access or Triage role can edit an issue. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["issues/update"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { + /** + * Add assignees to an issue + * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + post: operations["issues/add-assignees"]; + /** + * Remove assignees from an issue + * @description Removes one or more assignees from an issue. + */ + delete: operations["issues/remove-assignees"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { + /** + * Check if a user can be assigned to a issue + * @description Checks if a user has permission to be assigned to a specific issue. + * + * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned-to-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/comments": { + /** + * List issue comments + * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * Issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-comments"]; + /** + * Create an issue comment + * @description You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/create-comment"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by": { + /** + * List dependencies an issue is blocked by + * @description You can use the REST API to list the dependencies an issue is blocked by. + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * + * - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-dependencies-blocked-by"]; + /** + * Add a dependency an issue is blocked by + * @description You can use the REST API to add a 'blocked by' relationship to an issue. + * + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see [Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits) + * and [Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api). + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * + * - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/add-blocked-by-dependency"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}": { + /** + * Remove dependency an issue is blocked by + * @description You can use the REST API to remove a dependency that an issue is blocked by. + * + * Removing content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see [Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits) + * and [Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api). + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass a specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + delete: operations["issues/remove-dependency-blocked-by"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking": { + /** + * List dependencies an issue is blocking + * @description You can use the REST API to list the dependencies an issue is blocking. + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * + * - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-dependencies-blocking"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/events": { + /** + * List issue events + * @description Lists all events for an issue. + */ + get: operations["issues/list-events"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels": { + /** + * List labels for an issue + * @description Lists all labels for an issue. + */ + get: operations["issues/list-labels-on-issue"]; + /** + * Set labels for an issue + * @description Removes any previous labels and sets the new labels for an issue. + */ + put: operations["issues/set-labels"]; + /** + * Add labels to an issue + * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. + */ + post: operations["issues/add-labels"]; + /** + * Remove all labels from an issue + * @description Removes all labels from an issue. + */ + delete: operations["issues/remove-all-labels"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { + /** + * Remove a label from an issue + * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + delete: operations["issues/remove-label"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/lock": { + /** + * Lock an issue + * @description Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["issues/lock"]; + /** + * Unlock an issue + * @description Users with push access can unlock an issue's conversation. + */ + delete: operations["issues/unlock"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/parent": { + /** + * Get parent issue + * @description You can use the REST API to get the parent issue of a sub-issue. + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/get-parent"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { + /** + * List reactions for an issue + * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + get: operations["reactions/list-for-issue"]; + /** + * Create reaction for an issue + * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. + */ + post: operations["reactions/create-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { + /** + * Delete an issue reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + delete: operations["reactions/delete-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issue": { + /** + * Remove sub-issue + * @description You can use the REST API to remove a sub-issue from an issue. + * Removing content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass a specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + delete: operations["issues/remove-sub-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issues": { + /** + * List sub-issues + * @description You can use the REST API to list the sub-issues on an issue. + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * + * - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-sub-issues"]; + /** + * Add sub-issue + * @description You can use the REST API to add sub-issues to issues. + * + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/add-sub-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority": { + /** + * Reprioritize sub-issue + * @description You can use the REST API to reprioritize a sub-issue to a different position in the parent list. + */ + patch: operations["issues/reprioritize-sub-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { + /** + * List timeline events for an issue + * @description List all timeline events for an issue. + */ + get: operations["issues/list-events-for-timeline"]; + }; + "/repos/{owner}/{repo}/keys": { + /** List deploy keys */ + get: operations["repos/list-deploy-keys"]; + /** + * Create a deploy key + * @description You can create a read-only deploy key. + */ + post: operations["repos/create-deploy-key"]; + }; + "/repos/{owner}/{repo}/keys/{key_id}": { + /** Get a deploy key */ + get: operations["repos/get-deploy-key"]; + /** + * Delete a deploy key + * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + */ + delete: operations["repos/delete-deploy-key"]; + }; + "/repos/{owner}/{repo}/labels": { + /** + * List labels for a repository + * @description Lists all labels for a repository. + */ + get: operations["issues/list-labels-for-repo"]; + /** + * Create a label + * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). + */ + post: operations["issues/create-label"]; + }; + "/repos/{owner}/{repo}/labels/{name}": { + /** + * Get a label + * @description Gets a label using the given name. + */ + get: operations["issues/get-label"]; + /** + * Delete a label + * @description Deletes a label using the given label name. + */ + delete: operations["issues/delete-label"]; + /** + * Update a label + * @description Updates a label using the given label name. + */ + patch: operations["issues/update-label"]; + }; + "/repos/{owner}/{repo}/languages": { + /** + * List repository languages + * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + get: operations["repos/list-languages"]; + }; + "/repos/{owner}/{repo}/license": { + /** + * Get the license for a repository + * @description This method returns the contents of the repository's license file, if one is detected. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw contents of the license. + * - **`application/vnd.github.html+json`**: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["licenses/get-for-repo"]; + }; + "/repos/{owner}/{repo}/merge-upstream": { + /** + * Sync a fork branch with the upstream repository + * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + post: operations["repos/merge-upstream"]; + }; + "/repos/{owner}/{repo}/merges": { + /** Merge a branch */ + post: operations["repos/merge"]; + }; + "/repos/{owner}/{repo}/milestones": { + /** + * List milestones + * @description Lists milestones for a repository. + */ + get: operations["issues/list-milestones"]; + /** + * Create a milestone + * @description Creates a milestone. + */ + post: operations["issues/create-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}": { + /** + * Get a milestone + * @description Gets a milestone using the given milestone number. + */ + get: operations["issues/get-milestone"]; + /** + * Delete a milestone + * @description Deletes a milestone using the given milestone number. + */ + delete: operations["issues/delete-milestone"]; + /** Update a milestone */ + patch: operations["issues/update-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + /** + * List labels for issues in a milestone + * @description Lists labels for issues in a milestone. + */ + get: operations["issues/list-labels-for-milestone"]; + }; + "/repos/{owner}/{repo}/notifications": { + /** + * List repository notifications for the authenticated user + * @description Lists all notifications for the current user in the specified repository. + */ + get: operations["activity/list-repo-notifications-for-authenticated-user"]; + /** + * Mark repository notifications as read + * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-repo-notifications-as-read"]; + }; + "/repos/{owner}/{repo}/pages": { + /** + * Get a GitHub Pages site + * @description Gets information about a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages"]; + /** + * Update information about a GitHub Pages site + * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/update-information-about-pages-site"]; + /** + * Create a GitHub Pages site + * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-pages-site"]; + /** + * Delete a GitHub Pages site + * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-pages-site"]; + }; + "/repos/{owner}/{repo}/pages/builds": { + /** + * List GitHub Pages builds + * @description Lists builts of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/list-pages-builds"]; + /** + * Request a GitHub Pages build + * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + post: operations["repos/request-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/latest": { + /** + * Get latest Pages build + * @description Gets information about the single most recent build of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-latest-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/{build_id}": { + /** + * Get GitHub Pages build + * @description Gets information about a GitHub Pages build. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/deployments": { + /** + * Create a GitHub Pages deployment + * @description Create a GitHub Pages deployment for a repository. + * + * The authenticated user must have write permission to the repository. + */ + post: operations["repos/create-pages-deployment"]; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}": { + /** + * Get the status of a GitHub Pages deployment + * @description Gets the current status of a GitHub Pages deployment. + * + * The authenticated user must have read permission for the GitHub Pages site. + */ + get: operations["repos/get-pages-deployment"]; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel": { + /** + * Cancel a GitHub Pages deployment + * @description Cancels a GitHub Pages deployment. + * + * The authenticated user must have write permissions for the GitHub Pages site. + */ + post: operations["repos/cancel-pages-deployment"]; + }; + "/repos/{owner}/{repo}/pages/health": { + /** + * Get a DNS health check for GitHub Pages + * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages-health-check"]; + }; + "/repos/{owner}/{repo}/private-vulnerability-reporting": { + /** + * Check if private vulnerability reporting is enabled for a repository + * @description Returns a boolean indicating whether or not private vulnerability reporting is enabled for the repository. For more information, see "[Evaluating the security settings of a repository](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository)". + */ + get: operations["repos/check-private-vulnerability-reporting"]; + /** + * Enable private vulnerability reporting for a repository + * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." + */ + put: operations["repos/enable-private-vulnerability-reporting"]; + /** + * Disable private vulnerability reporting for a repository + * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + */ + delete: operations["repos/disable-private-vulnerability-reporting"]; + }; + "/repos/{owner}/{repo}/projects": { + /** + * List repository projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects-classic/list-for-repo"]; + /** + * Create a repository project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects-classic/create-for-repo"]; + }; + "/repos/{owner}/{repo}/properties/values": { + /** + * Get all custom property values for a repository + * @description Gets all custom property values that are set for a repository. + * Users with read access to the repository can use this endpoint. + */ + get: operations["repos/custom-properties-for-repos-get-repository-values"]; + /** + * Create or update custom property values for a repository + * @description Create new or update existing custom property values for a repository. + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint. + */ + patch: operations["repos/custom-properties-for-repos-create-or-update-repository-values"]; + }; + "/repos/{owner}/{repo}/pulls": { + /** + * List pull requests + * @description Lists pull requests in a specified repository. + * + * Draft pull requests are available in public repositories with GitHub + * Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing + * plans, and in public and private repositories with GitHub Team and GitHub Enterprise + * Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) + * in the GitHub Help documentation. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list"]; + /** + * Create a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create"]; + }; + "/repos/{owner}/{repo}/pulls/comments": { + /** + * List review comments in a repository + * @description Lists review comments for all pull requests in a repository. By default, + * review comments are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-review-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { + /** + * Get a review comment for a pull request + * @description Provides details for a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/get-review-comment"]; + /** + * Delete a review comment for a pull request + * @description Deletes a review comment. + */ + delete: operations["pulls/delete-review-comment"]; + /** + * Update a review comment for a pull request + * @description Edits the content of a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["pulls/update-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + /** + * List reactions for a pull request review comment + * @description List the reactions to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + get: operations["reactions/list-for-pull-request-review-comment"]; + /** + * Create reaction for a pull request review comment + * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. + */ + post: operations["reactions/create-for-pull-request-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { + /** + * Delete a pull request comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + delete: operations["reactions/delete-for-pull-request-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}": { + /** + * Get a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + * - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message. + */ + get: operations["pulls/get"]; + /** + * Update a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["pulls/update"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { + /** + * Create a codespace from a pull request + * @description Creates a codespace owned by the authenticated user for the specified pull request. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-with-pr-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { + /** + * List review comments on a pull request + * @description Lists all review comments for a specified pull request. By default, review comments + * are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-review-comments"]; + /** + * Create a review comment for a pull request + * @description Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." + * + * If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. + * + * The `position` parameter is closing down. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { + /** + * Create a reply for a review comment + * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-reply-for-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { + /** + * List commits on a pull request + * @description Lists a maximum of 250 commits for a pull request. To receive a complete + * commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) + * endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-commits"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/files": { + /** + * List pull requests files + * @description Lists the files in a specified pull request. + * + * > [!NOTE] + * > Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-files"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { + /** + * Check if a pull request has been merged + * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. + */ + get: operations["pulls/check-if-merged"]; + /** + * Merge a pull request + * @description Merges a pull request into the base branch. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + put: operations["pulls/merge"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + /** + * Get all requested reviewers for a pull request + * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. + */ + get: operations["pulls/list-requested-reviewers"]; + /** + * Request reviewers for a pull request + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/request-reviewers"]; + /** + * Remove requested reviewers from a pull request + * @description Removes review requests from a pull request for a given set of users and/or teams. + */ + delete: operations["pulls/remove-requested-reviewers"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + /** + * List reviews for a pull request + * @description Lists all reviews for a specified pull request. The list of reviews returns in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-reviews"]; + /** + * Create a review for a pull request + * @description Creates a review on a specified pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." + * + * > [!NOTE] + * > To comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { + /** + * Get a review for a pull request + * @description Retrieves a pull request review by its ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/get-review"]; + /** + * Update a review for a pull request + * @description Updates the contents of a specified review summary comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + put: operations["pulls/update-review"]; + /** + * Delete a pending review for a pull request + * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + delete: operations["pulls/delete-pending-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + /** + * List comments for a pull request review + * @description Lists comments for a specific pull request review. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-comments-for-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { + /** + * Dismiss a review for a pull request + * @description Dismisses a specified review on a pull request. + * + * > [!NOTE] + * > To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + put: operations["pulls/dismiss-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { + /** + * Submit a review for a pull request + * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/submit-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { + /** + * Update a pull request branch + * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + * Note: If making a request on behalf of a GitHub App you must also have permissions to write the contents of the head repository. + */ + put: operations["pulls/update-branch"]; + }; + "/repos/{owner}/{repo}/readme": { + /** + * Get a repository README + * @description Gets the preferred README for a repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["repos/get-readme"]; + }; + "/repos/{owner}/{repo}/readme/{dir}": { + /** + * Get a repository README for a directory + * @description Gets the README from a repository directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["repos/get-readme-in-directory"]; + }; + "/repos/{owner}/{repo}/releases": { + /** + * List releases + * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + get: operations["repos/list-releases"]; + /** + * Create a release + * @description Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + post: operations["repos/create-release"]; + }; + "/repos/{owner}/{repo}/releases/assets/{asset_id}": { + /** + * Get a release asset + * @description To download the asset's binary content: + * + * - If within a browser, fetch the location specified in the `browser_download_url` key provided in the response. + * - Alternatively, set the `Accept` header of the request to + * [`application/octet-stream`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * The API will either redirect the client to the location, or stream it directly if possible. + * API clients should handle both a `200` or `302` response. + */ + get: operations["repos/get-release-asset"]; + /** Delete a release asset */ + delete: operations["repos/delete-release-asset"]; + /** + * Update a release asset + * @description Users with push access to the repository can edit a release asset. + */ + patch: operations["repos/update-release-asset"]; + }; + "/repos/{owner}/{repo}/releases/generate-notes": { + /** + * Generate release notes content for a release + * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. + */ + post: operations["repos/generate-release-notes"]; + }; + "/repos/{owner}/{repo}/releases/latest": { + /** + * Get the latest release + * @description View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + get: operations["repos/get-latest-release"]; + }; + "/repos/{owner}/{repo}/releases/tags/{tag}": { + /** + * Get a release by tag name + * @description Get a published release with the specified tag. + */ + get: operations["repos/get-release-by-tag"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}": { + /** + * Get a release + * @description Gets a public release with the specified release ID. + * + * > [!NOTE] + * > This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + */ + get: operations["repos/get-release"]; + /** + * Delete a release + * @description Users with push access to the repository can delete a release. + */ + delete: operations["repos/delete-release"]; + /** + * Update a release + * @description Users with push access to the repository can edit a release. + */ + patch: operations["repos/update-release"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/assets": { + /** List release assets */ + get: operations["repos/list-release-assets"]; + /** + * Upload a release asset + * @description This endpoint makes use of a [Hypermedia relation](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + post: operations["repos/upload-release-asset"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions": { + /** + * List reactions for a release + * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + get: operations["reactions/list-for-release"]; + /** + * Create reaction for a release + * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + */ + post: operations["reactions/create-for-release"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { + /** + * Delete a release reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + delete: operations["reactions/delete-for-release"]; + }; + "/repos/{owner}/{repo}/rules/branches/{branch}": { + /** + * Get rules for a branch + * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply + * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level + * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" + * enforcement statuses are not returned. + */ + get: operations["repos/get-branch-rules"]; + }; + "/repos/{owner}/{repo}/rulesets": { + /** + * Get all repository rulesets + * @description Get all the rulesets for a repository. + */ + get: operations["repos/get-repo-rulesets"]; + /** + * Create a repository ruleset + * @description Create a ruleset for a repository. + */ + post: operations["repos/create-repo-ruleset"]; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites": { + /** + * List repository rule suites + * @description Lists suites of rule evaluations at the repository level. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suites"]; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": { + /** + * Get a repository rule suite + * @description Gets information about a suite of rule evaluations from within a repository. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suite"]; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { + /** + * Get a repository ruleset + * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + get: operations["repos/get-repo-ruleset"]; + /** + * Update a repository ruleset + * @description Update a ruleset for a repository. + */ + put: operations["repos/update-repo-ruleset"]; + /** + * Delete a repository ruleset + * @description Delete a ruleset for a repository. + */ + delete: operations["repos/delete-repo-ruleset"]; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}/history": { + /** + * Get repository ruleset history + * @description Get the history of a repository ruleset. + */ + get: operations["repos/get-repo-ruleset-history"]; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}": { + /** + * Get repository ruleset version + * @description Get a version of a repository ruleset. + */ + get: operations["repos/get-repo-ruleset-version"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts": { + /** + * List secret scanning alerts for a repository + * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + /** + * Get a secret scanning alert + * @description Gets a single secret scanning alert detected in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/get-alert"]; + /** + * Update a secret scanning alert + * @description Updates the status of a secret scanning alert in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + patch: operations["secret-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + /** + * List locations for a secret scanning alert + * @description Lists all locations for a given secret scanning alert for an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-locations-for-alert"]; + }; + "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["secret-scanning/create-push-protection-bypass"]; + }; + "/repos/{owner}/{repo}/secret-scanning/scan-history": { + /** + * Get secret scanning scan history for a repository + * @description Lists the latest default incremental and backfill scans by type for a repository. Scans from Copilot Secret Scanning are not included. + * + * > [!NOTE] + * > This endpoint requires [GitHub Advanced Security](https://docs.github.com/get-started/learning-about-github/about-github-advanced-security)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/get-scan-history"]; + }; + "/repos/{owner}/{repo}/security-advisories": { + /** + * List repository security advisories + * @description Lists security advisories in a repository. + * + * The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + get: operations["security-advisories/list-repository-advisories"]; + /** + * Create a repository security advisory + * @description Creates a new repository security advisory. + * + * In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + post: operations["security-advisories/create-repository-advisory"]; + }; + "/repos/{owner}/{repo}/security-advisories/reports": { + /** + * Privately report a security vulnerability + * @description Report a security vulnerability to the maintainers of the repository. + * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. + */ + post: operations["security-advisories/create-private-vulnerability-report"]; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { + /** + * Get a repository security advisory + * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * Anyone can access any published security advisory on a public repository. + * + * The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a + * collaborator on the security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + get: operations["security-advisories/get-repository-advisory"]; + /** + * Update a repository security advisory + * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository, + * or a collaborator on the repository security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + patch: operations["security-advisories/update-repository-advisory"]; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { + /** + * Request a CVE for a repository security advisory + * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." + * + * You may request a CVE for public repositories, but cannot do so for private repositories. + * + * In order to request a CVE for a repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + post: operations["security-advisories/create-repository-advisory-cve-request"]; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks": { + /** + * Create a temporary private fork + * @description Create a temporary private fork to collaborate on fixing a security vulnerability in your repository. + * + * > [!NOTE] + * > Forking a repository happens asynchronously. You may have to wait up to 5 minutes before you can access the fork. + */ + post: operations["security-advisories/create-fork"]; + }; + "/repos/{owner}/{repo}/stargazers": { + /** + * List stargazers + * @description Lists the people that have starred the repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-stargazers-for-repo"]; + }; + "/repos/{owner}/{repo}/stats/code_frequency": { + /** + * Get the weekly commit activity + * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + * + * > [!NOTE] + * > This endpoint can only be used for repositories with fewer than 10,000 commits. If the repository contains 10,000 or more commits, a 422 status code will be returned. + */ + get: operations["repos/get-code-frequency-stats"]; + }; + "/repos/{owner}/{repo}/stats/commit_activity": { + /** + * Get the last year of commit activity + * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + get: operations["repos/get-commit-activity-stats"]; + }; + "/repos/{owner}/{repo}/stats/contributors": { + /** + * Get all contributor commit activity + * @description + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](https://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + * + * > [!NOTE] + * > This endpoint will return `0` values for all addition and deletion counts in repositories with 10,000 or more commits. + */ + get: operations["repos/get-contributors-stats"]; + }; + "/repos/{owner}/{repo}/stats/participation": { + /** + * Get the weekly commit count + * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + * + * The most recent week is seven days ago at UTC midnight to today at UTC midnight. + */ + get: operations["repos/get-participation-stats"]; + }; + "/repos/{owner}/{repo}/stats/punch_card": { + /** + * Get the hourly commit count for each day + * @description Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + get: operations["repos/get-punch-card-stats"]; + }; + "/repos/{owner}/{repo}/statuses/{sha}": { + /** + * Create a commit status + * @description Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + post: operations["repos/create-commit-status"]; + }; + "/repos/{owner}/{repo}/subscribers": { + /** + * List watchers + * @description Lists the people watching the specified repository. + */ + get: operations["activity/list-watchers-for-repo"]; + }; + "/repos/{owner}/{repo}/subscription": { + /** + * Get a repository subscription + * @description Gets information about whether the authenticated user is subscribed to the repository. + */ + get: operations["activity/get-repo-subscription"]; + /** + * Set a repository subscription + * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. + */ + put: operations["activity/set-repo-subscription"]; + /** + * Delete a repository subscription + * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). + */ + delete: operations["activity/delete-repo-subscription"]; + }; + "/repos/{owner}/{repo}/tags": { + /** List repository tags */ + get: operations["repos/list-tags"]; + }; + "/repos/{owner}/{repo}/tags/protection": { + /** + * Closing down - List tag protection states for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#get-all-repository-rulesets)" endpoint instead. + * + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + get: operations["repos/list-tag-protection"]; + /** + * Closing down - Create a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#create-a-repository-ruleset)" endpoint instead. + * + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + post: operations["repos/create-tag-protection"]; + }; + "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { + /** + * Closing down - Delete a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset)" endpoint instead. + * + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + delete: operations["repos/delete-tag-protection"]; + }; + "/repos/{owner}/{repo}/tarball/{ref}": { + /** + * Download a repository archive (tar) + * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * > [!NOTE] + * > For private repositories, these links are temporary and expire after five minutes. + */ + get: operations["repos/download-tarball-archive"]; + }; + "/repos/{owner}/{repo}/teams": { + /** + * List repository teams + * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. + * + * For a public repository, a team is listed only if that team added the public repository explicitly. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to use this endpoint with a public repository, and `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-teams"]; + }; + "/repos/{owner}/{repo}/topics": { + /** Get all repository topics */ + get: operations["repos/get-all-topics"]; + /** Replace all repository topics */ + put: operations["repos/replace-all-topics"]; + }; + "/repos/{owner}/{repo}/traffic/clones": { + /** + * Get repository clones + * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + get: operations["repos/get-clones"]; + }; + "/repos/{owner}/{repo}/traffic/popular/paths": { + /** + * Get top referral paths + * @description Get the top 10 popular contents over the last 14 days. + */ + get: operations["repos/get-top-paths"]; + }; + "/repos/{owner}/{repo}/traffic/popular/referrers": { + /** + * Get top referral sources + * @description Get the top 10 referrers over the last 14 days. + */ + get: operations["repos/get-top-referrers"]; + }; + "/repos/{owner}/{repo}/traffic/views": { + /** + * Get page views + * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + get: operations["repos/get-views"]; + }; + "/repos/{owner}/{repo}/transfer": { + /** + * Transfer a repository + * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). + */ + post: operations["repos/transfer"]; + }; + "/repos/{owner}/{repo}/vulnerability-alerts": { + /** + * Check if vulnerability alerts are enabled for a repository + * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + get: operations["repos/check-vulnerability-alerts"]; + /** + * Enable vulnerability alerts + * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + put: operations["repos/enable-vulnerability-alerts"]; + /** + * Disable vulnerability alerts + * @description Disables dependency alerts and the dependency graph for a repository. + * The authenticated user must have admin access to the repository. For more information, + * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + delete: operations["repos/disable-vulnerability-alerts"]; + }; + "/repos/{owner}/{repo}/zipball/{ref}": { + /** + * Download a repository archive (zip) + * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * > [!NOTE] + * > For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + */ + get: operations["repos/download-zipball-archive"]; + }; + "/repos/{template_owner}/{template_repo}/generate": { + /** + * Create a repository using a template + * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-using-template"]; + }; + "/repositories": { + /** + * List public repositories + * @description Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. + */ + get: operations["repos/list-public"]; + }; + "/search/code": { + /** + * Search code + * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * Considerations for code search: + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + * + * This endpoint requires you to authenticate and limits you to 10 requests per minute. + */ + get: operations["search/code"]; + }; + "/search/commits": { + /** + * Search commits + * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + get: operations["search/commits"]; + }; + "/search/issues": { + /** + * Search issues and pull requests + * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * > [!NOTE] + * > For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + get: operations["search/issues-and-pull-requests"]; + }; + "/search/labels": { + /** + * Search labels + * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + get: operations["search/labels"]; + }; + "/search/repositories": { + /** + * Search repositories + * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + */ + get: operations["search/repos"]; + }; + "/search/topics": { + /** + * Search topics + * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + get: operations["search/topics"]; + }; + "/search/users": { + /** + * Search users + * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + * + * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." + */ + get: operations["search/users"]; + }; + "/teams/{team_id}": { + /** + * Get a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. + */ + get: operations["teams/get-legacy"]; + /** + * Delete a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + delete: operations["teams/delete-legacy"]; + /** + * Update a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + patch: operations["teams/update-legacy"]; + }; + "/teams/{team_id}/discussions": { + /** + * List discussions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. + * + * List all discussions on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-legacy"]; + /** + * Create a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}": { + /** + * Get a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-legacy"]; + /** + * Delete a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-legacy"]; + /** + * Update a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments": { + /** + * List discussion comments (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-legacy"]; + /** + * Create a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { + /** + * Get a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-legacy"]; + /** + * Delete a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-comment-legacy"]; + /** + * Update a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + /** + * List reactions for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + /** + * Create reaction for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/reactions": { + /** + * List reactions for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-legacy"]; + /** + * Create reaction for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-legacy"]; + }; + "/teams/{team_id}/invitations": { + /** + * List pending team invitations (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + get: operations["teams/list-pending-invitations-legacy"]; + }; + "/teams/{team_id}/members": { + /** + * List team members (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + get: operations["teams/list-members-legacy"]; + }; + "/teams/{team_id}/members/{username}": { + /** + * Get team member (Legacy) + * @deprecated + * @description The "Get team member" endpoint (described below) is closing down. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/get-member-legacy"]; + /** + * Add team member (Legacy) + * @deprecated + * @description The "Add team member" endpoint (described below) is closing down. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["teams/add-member-legacy"]; + /** + * Remove team member (Legacy) + * @deprecated + * @description The "Remove team member" endpoint (described below) is closing down. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-member-legacy"]; + }; + "/teams/{team_id}/memberships/{username}": { + /** + * Get team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-legacy"]; + /** + * Add or update team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + put: operations["teams/add-or-update-membership-for-user-legacy"]; + /** + * Remove team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-membership-for-user-legacy"]; + }; + "/teams/{team_id}/projects": { + /** + * List team projects (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/list-projects-legacy"]; + }; + "/teams/{team_id}/projects/{project_id}": { + /** + * Check team permissions for a project (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/check-permissions-for-project-legacy"]; + /** + * Add or update team project permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["teams/add-or-update-project-permissions-legacy"]; + /** + * Remove a project from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["teams/remove-project-legacy"]; + }; + "/teams/{team_id}/repos": { + /** + * List team repositories (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. + */ + get: operations["teams/list-repos-legacy"]; + }; + "/teams/{team_id}/repos/{owner}/{repo}": { + /** + * Check team permissions for a repository (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. + * + * > [!NOTE] + * > Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `Accept` header: + */ + get: operations["teams/check-permissions-for-repo-legacy"]; + /** + * Add or update team repository permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["teams/add-or-update-repo-permissions-legacy"]; + /** + * Remove a repository from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + delete: operations["teams/remove-repo-legacy"]; + }; + "/teams/{team_id}/teams": { + /** + * List child teams (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. + */ + get: operations["teams/list-child-legacy"]; + }; + "/user": { + /** + * Get the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private profile information. + */ + get: operations["users/get-authenticated"]; + /** + * Update the authenticated user + * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + patch: operations["users/update-authenticated"]; + }; + "/user/blocks": { + /** + * List users blocked by the authenticated user + * @description List the users you've blocked on your personal account. + */ + get: operations["users/list-blocked-by-authenticated-user"]; + }; + "/user/blocks/{username}": { + /** + * Check if a user is blocked by the authenticated user + * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. + */ + get: operations["users/check-blocked"]; + /** + * Block a user + * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. + */ + put: operations["users/block"]; + /** + * Unblock a user + * @description Unblocks the given user and returns a 204. + */ + delete: operations["users/unblock"]; + }; + "/user/codespaces": { + /** + * List codespaces for the authenticated user + * @description Lists the authenticated user's codespaces. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-for-authenticated-user"]; + /** + * Create a codespace for the authenticated user + * @description Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-for-authenticated-user"]; + }; + "/user/codespaces/secrets": { + /** + * List secrets for the authenticated user + * @description Lists all development environment secrets available for a user's codespaces without revealing their + * encrypted values. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/list-secrets-for-authenticated-user"]; + }; + "/user/codespaces/secrets/public-key": { + /** + * Get public key for the authenticated user + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/get-public-key-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}": { + /** + * Get a secret for the authenticated user + * @description Gets a development environment secret available to a user's codespaces without revealing its encrypted value. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/get-secret-for-authenticated-user"]; + /** + * Create or update a secret for the authenticated user + * @description Creates or updates a development environment secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; + /** + * Delete a secret for the authenticated user + * @description Deletes a development environment secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + delete: operations["codespaces/delete-secret-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}/repositories": { + /** + * List selected repositories for a user secret + * @description List the repositories that have been granted the ability to use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; + /** + * Set selected repositories for a user secret + * @description Select the repositories that will use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + /** + * Add a selected repository to a user secret + * @description Adds a repository to the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; + /** + * Remove a selected repository from a user secret + * @description Removes a repository from the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}": { + /** + * Get a codespace for the authenticated user + * @description Gets information about a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/get-for-authenticated-user"]; + /** + * Delete a codespace for the authenticated user + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + delete: operations["codespaces/delete-for-authenticated-user"]; + /** + * Update a codespace for the authenticated user + * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + patch: operations["codespaces/update-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/exports": { + /** + * Export a codespace for the authenticated user + * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/export-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/exports/{export_id}": { + /** + * Get details about a codespace export + * @description Gets information about an export of a codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/get-export-details-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/machines": { + /** + * List machine types for a codespace + * @description List the machine types a codespace can transition to use. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/codespace-machines-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/publish": { + /** + * Create a repository from an unpublished codespace + * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. + * + * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. + * + * This will fail for a codespace that is already published, meaning it has an associated repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/publish-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/start": { + /** + * Start a codespace for the authenticated user + * @description Starts a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/start-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/stop": { + /** + * Stop a codespace for the authenticated user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/stop-for-authenticated-user"]; + }; + "/user/docker/conflicts": { + /** + * Get list of conflicting packages during Docker migration for authenticated-user + * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; + }; + "/user/email/visibility": { + /** + * Set primary email visibility for the authenticated user + * @description Sets the visibility for your primary email addresses. + */ + patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; + }; + "/user/emails": { + /** + * List email addresses for the authenticated user + * @description Lists all of your email addresses, and specifies which one is visible + * to the public. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + get: operations["users/list-emails-for-authenticated-user"]; + /** + * Add an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + post: operations["users/add-email-for-authenticated-user"]; + /** + * Delete an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + delete: operations["users/delete-email-for-authenticated-user"]; + }; + "/user/followers": { + /** + * List followers of the authenticated user + * @description Lists the people following the authenticated user. + */ + get: operations["users/list-followers-for-authenticated-user"]; + }; + "/user/following": { + /** + * List the people the authenticated user follows + * @description Lists the people who the authenticated user follows. + */ + get: operations["users/list-followed-by-authenticated-user"]; + }; + "/user/following/{username}": { + /** Check if a person is followed by the authenticated user */ + get: operations["users/check-person-is-followed-by-authenticated"]; + /** + * Follow a user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + put: operations["users/follow"]; + /** + * Unfollow a user + * @description OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + delete: operations["users/unfollow"]; + }; + "/user/gpg_keys": { + /** + * List GPG keys for the authenticated user + * @description Lists the current user's GPG keys. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + get: operations["users/list-gpg-keys-for-authenticated-user"]; + /** + * Create a GPG key for the authenticated user + * @description Adds a GPG key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + post: operations["users/create-gpg-key-for-authenticated-user"]; + }; + "/user/gpg_keys/{gpg_key_id}": { + /** + * Get a GPG key for the authenticated user + * @description View extended details for a single GPG key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + get: operations["users/get-gpg-key-for-authenticated-user"]; + /** + * Delete a GPG key for the authenticated user + * @description Removes a GPG key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + */ + delete: operations["users/delete-gpg-key-for-authenticated-user"]; + }; + "/user/installations": { + /** + * List app installations accessible to the user access token + * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + get: operations["apps/list-installations-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories": { + /** + * List repositories accessible to the user access token + * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + get: operations["apps/list-installation-repos-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories/{repository_id}": { + /** + * Add a repository to an app installation + * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + put: operations["apps/add-repo-to-installation-for-authenticated-user"]; + /** + * Remove a repository from an app installation + * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; + }; + "/user/interaction-limits": { + /** + * Get interaction restrictions for your public repositories + * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + */ + get: operations["interactions/get-restrictions-for-authenticated-user"]; + /** + * Set interaction restrictions for your public repositories + * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + */ + put: operations["interactions/set-restrictions-for-authenticated-user"]; + /** + * Remove interaction restrictions from your public repositories + * @description Removes any interaction restrictions from your public repositories. + */ + delete: operations["interactions/remove-restrictions-for-authenticated-user"]; + }; + "/user/issues": { + /** + * List user account issues assigned to the authenticated user + * @description List issues across owned and member repositories assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-authenticated-user"]; + }; + "/user/keys": { + /** + * List public SSH keys for the authenticated user + * @description Lists the public SSH keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + get: operations["users/list-public-ssh-keys-for-authenticated-user"]; + /** + * Create a public SSH key for the authenticated user + * @description Adds a public SSH key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:public_key` scope to use this endpoint. + */ + post: operations["users/create-public-ssh-key-for-authenticated-user"]; + }; + "/user/keys/{key_id}": { + /** + * Get a public SSH key for the authenticated user + * @description View extended details for a single public SSH key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + get: operations["users/get-public-ssh-key-for-authenticated-user"]; + /** + * Delete a public SSH key for the authenticated user + * @description Removes a public SSH key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + */ + delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; + }; + "/user/marketplace_purchases": { + /** + * List subscriptions for the authenticated user + * @description Lists the active subscriptions for the authenticated user. + */ + get: operations["apps/list-subscriptions-for-authenticated-user"]; + }; + "/user/marketplace_purchases/stubbed": { + /** + * List subscriptions for the authenticated user (stubbed) + * @description Lists the active subscriptions for the authenticated user. + */ + get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; + }; + "/user/memberships/orgs": { + /** + * List organization memberships for the authenticated user + * @description Lists all of the authenticated user's organization memberships. + */ + get: operations["orgs/list-memberships-for-authenticated-user"]; + }; + "/user/memberships/orgs/{org}": { + /** + * Get an organization membership for the authenticated user + * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. + */ + get: operations["orgs/get-membership-for-authenticated-user"]; + /** + * Update an organization membership for the authenticated user + * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. + */ + patch: operations["orgs/update-membership-for-authenticated-user"]; + }; + "/user/migrations": { + /** + * List user migrations + * @description Lists all migrations a user has started. + */ + get: operations["migrations/list-for-authenticated-user"]; + /** + * Start a user migration + * @description Initiates the generation of a user migration archive. + */ + post: operations["migrations/start-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}": { + /** + * Get a user migration status + * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). + */ + get: operations["migrations/get-status-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/archive": { + /** + * Download a user migration archive + * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + get: operations["migrations/get-archive-for-authenticated-user"]; + /** + * Delete a user migration archive + * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ + delete: operations["migrations/delete-archive-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + /** + * Unlock a user repository + * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + delete: operations["migrations/unlock-repo-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repositories": { + /** + * List repositories for a user migration + * @description Lists all the repositories for this user migration. + */ + get: operations["migrations/list-repos-for-authenticated-user"]; + }; + "/user/orgs": { + /** + * List organizations for the authenticated user + * @description List organizations for the authenticated user. + * + * For OAuth app tokens and personal access tokens (classic), this endpoint 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 for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will receive a `403 Forbidden` response. + * + * > [!NOTE] + * > Requests using a fine-grained access token will receive a `200 Success` response with an empty list. + */ + get: operations["orgs/list-for-authenticated-user"]; + }; + "/user/packages": { + /** + * List packages for the authenticated user's namespace + * @description Lists packages owned by the authenticated user within the user's namespace. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}": { + /** + * Get a package for the authenticated user + * @description Gets a specific package for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-authenticated-user"]; + /** + * Delete a package for the authenticated user + * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/restore": { + /** + * Restore a package for the authenticated user + * @description Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions": { + /** + * List package versions for a package owned by the authenticated user + * @description Lists package versions for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Get a package version for the authenticated user + * @description Gets a specific package version for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-authenticated-user"]; + /** + * Delete a package version for the authenticated user + * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restore a package version for the authenticated user + * @description Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-authenticated-user"]; + }; + "/user/projects": { + /** + * Create a user project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects-classic/create-for-authenticated-user"]; + }; + "/user/public_emails": { + /** + * List public email addresses for the authenticated user + * @description Lists your publicly visible email address, which you can set with the + * [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) + * endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + get: operations["users/list-public-emails-for-authenticated-user"]; + }; + "/user/repos": { + /** + * List repositories for the authenticated user + * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + get: operations["repos/list-for-authenticated-user"]; + /** + * Create a repository for the authenticated user + * @description Creates a new repository for the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-for-authenticated-user"]; + }; + "/user/repository_invitations": { + /** + * List repository invitations for the authenticated user + * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + get: operations["repos/list-invitations-for-authenticated-user"]; + }; + "/user/repository_invitations/{invitation_id}": { + /** Decline a repository invitation */ + delete: operations["repos/decline-invitation-for-authenticated-user"]; + /** Accept a repository invitation */ + patch: operations["repos/accept-invitation-for-authenticated-user"]; + }; + "/user/social_accounts": { + /** + * List social accounts for the authenticated user + * @description Lists all of your social accounts. + */ + get: operations["users/list-social-accounts-for-authenticated-user"]; + /** + * Add social accounts for the authenticated user + * @description Add one or more social accounts to the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + post: operations["users/add-social-account-for-authenticated-user"]; + /** + * Delete social accounts for the authenticated user + * @description Deletes one or more social accounts from the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + delete: operations["users/delete-social-account-for-authenticated-user"]; + }; + "/user/ssh_signing_keys": { + /** + * List SSH signing keys for the authenticated user + * @description Lists the SSH signing keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; + /** + * Create a SSH signing key for the authenticated user + * @description Creates an SSH signing key for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. + */ + post: operations["users/create-ssh-signing-key-for-authenticated-user"]; + }; + "/user/ssh_signing_keys/{ssh_signing_key_id}": { + /** + * Get an SSH signing key for the authenticated user + * @description Gets extended details for an SSH signing key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + get: operations["users/get-ssh-signing-key-for-authenticated-user"]; + /** + * Delete an SSH signing key for the authenticated user + * @description Deletes an SSH signing key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. + */ + delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; + }; + "/user/starred": { + /** + * List repositories starred by the authenticated user + * @description Lists repositories the authenticated user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-repos-starred-by-authenticated-user"]; + }; + "/user/starred/{owner}/{repo}": { + /** + * Check if a repository is starred by the authenticated user + * @description Whether the authenticated user has starred the repository. + */ + get: operations["activity/check-repo-is-starred-by-authenticated-user"]; + /** + * Star a repository for the authenticated user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["activity/star-repo-for-authenticated-user"]; + /** + * Unstar a repository for the authenticated user + * @description Unstar a repository that the authenticated user has previously starred. + */ + delete: operations["activity/unstar-repo-for-authenticated-user"]; + }; + "/user/subscriptions": { + /** + * List repositories watched by the authenticated user + * @description Lists repositories the authenticated user is watching. + */ + get: operations["activity/list-watched-repos-for-authenticated-user"]; + }; + "/user/teams": { + /** + * List teams for the authenticated user + * @description List all of the teams across all of the organizations to which the authenticated + * user belongs. + * + * OAuth app tokens and personal access tokens (classic) need the `user`, `repo`, or `read:org` scope to use this endpoint. + * + * When using a fine-grained personal access token, the resource owner of the token must be a single organization, and the response will only include the teams from that organization. + */ + get: operations["teams/list-for-authenticated-user"]; + }; + "/user/{account_id}": { + /** + * Get a user using their ID + * @description Provides publicly available information about someone with a GitHub account. This method takes their durable user `ID` instead of their `login`, which can change over time. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails). + */ + get: operations["users/get-by-id"]; + }; + "/users": { + /** + * List users + * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. + */ + get: operations["users/list"]; + }; + "/users/{username}": { + /** + * Get a user + * @description Provides publicly available information about someone with a GitHub account. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails). + */ + get: operations["users/get-by-username"]; + }; + "/users/{username}/attestations/bulk-list": { + /** + * List attestations by bulk subject digests + * @description List a collection of artifact attestations associated with any entry in a list of subject digests owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["users/list-attestations-bulk"]; + }; + "/users/{username}/attestations/delete-request": { + /** + * Delete attestations in bulk + * @description Delete artifact attestations in bulk by either subject digests or unique ID. + */ + post: operations["users/delete-attestations-bulk"]; + }; + "/users/{username}/attestations/digest/{subject_digest}": { + /** + * Delete attestations by subject digest + * @description Delete an artifact attestation by subject digest. + */ + delete: operations["users/delete-attestations-by-subject-digest"]; + }; + "/users/{username}/attestations/{attestation_id}": { + /** + * Delete attestations by ID + * @description Delete an artifact attestation by unique ID that is associated with a repository owned by a user. + */ + delete: operations["users/delete-attestations-by-id"]; + }; + "/users/{username}/attestations/{subject_digest}": { + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["users/list-attestations"]; + }; + "/users/{username}/docker/conflicts": { + /** + * Get list of conflicting packages during Docker migration for user + * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; + }; + "/users/{username}/events": { + /** + * List events for the authenticated user + * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. _Optional_: use the fine-grained token with following permission set to view private events: "Events" user permissions (read). + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-events-for-authenticated-user"]; + }; + "/users/{username}/events/orgs/{org}": { + /** + * List organization events for the authenticated user + * @description This is the user's organization dashboard. You must be authenticated as the user to view this. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-org-events-for-authenticated-user"]; + }; + "/users/{username}/events/public": { + /** + * List public events for a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events-for-user"]; + }; + "/users/{username}/followers": { + /** + * List followers of a user + * @description Lists the people following the specified user. + */ + get: operations["users/list-followers-for-user"]; + }; + "/users/{username}/following": { + /** + * List the people a user follows + * @description Lists the people who the specified user follows. + */ + get: operations["users/list-following-for-user"]; + }; + "/users/{username}/following/{target_user}": { + /** Check if a user follows another user */ + get: operations["users/check-following-for-user"]; + }; + "/users/{username}/gists": { + /** + * List gists for a user + * @description Lists public gists for the specified user: + */ + get: operations["gists/list-for-user"]; + }; + "/users/{username}/gpg_keys": { + /** + * List GPG keys for a user + * @description Lists the GPG keys for a user. This information is accessible by anyone. + */ + get: operations["users/list-gpg-keys-for-user"]; + }; + "/users/{username}/hovercard": { + /** + * Get contextual information for a user + * @description Provides hovercard information. 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, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["users/get-context-for-user"]; + }; + "/users/{username}/installation": { + /** + * Get a user installation for the authenticated app + * @description Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-user-installation"]; + }; + "/users/{username}/keys": { + /** + * List public keys for a user + * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + get: operations["users/list-public-keys-for-user"]; + }; + "/users/{username}/orgs": { + /** + * List organizations for a user + * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + get: operations["orgs/list-for-user"]; + }; + "/users/{username}/packages": { + /** + * List packages for a user + * @description Lists all packages in a user's namespace for which the requesting user has access. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}": { + /** + * Get a package for a user + * @description Gets a specific package metadata for a public package owned by a user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-user"]; + /** + * Delete a package for a user + * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/restore": { + /** + * Restore a package for a user + * @description Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions": { + /** + * List package versions for a package owned by a user + * @description Lists package versions for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Get a package version for a user + * @description Gets a specific package version for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-user"]; + /** + * Delete package version for a user + * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restore package version for a user + * @description Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-user"]; + }; + "/users/{username}/projects": { + /** + * List user projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects-classic/list-for-user"]; + }; + "/users/{username}/projectsV2": { + /** + * List projects for user + * @description List all projects owned by a specific user accessible by the authenticated user. + */ + get: operations["projects/list-for-user"]; + }; + "/users/{username}/projectsV2/{project_number}": { + /** + * Get project for user + * @description Get a specific user-owned project. + */ + get: operations["projects/get-for-user"]; + }; + "/users/{username}/projectsV2/{project_number}/fields": { + /** + * List project fields for user + * @description List all fields for a specific user-owned project. + */ + get: operations["projects/list-fields-for-user"]; + }; + "/users/{username}/projectsV2/{project_number}/fields/{field_id}": { + /** + * Get project field for user + * @description Get a specific field for a user-owned project. + */ + get: operations["projects/get-field-for-user"]; + }; + "/users/{username}/projectsV2/{project_number}/items": { + /** + * List items for a user owned project + * @description List all items for a specific user-owned project accessible by the authenticated user. + */ + get: operations["projects/list-items-for-user"]; + /** + * Add item to user owned project + * @description Add an issue or pull request item to the specified user owned project. + */ + post: operations["projects/add-item-for-user"]; + }; + "/users/{username}/projectsV2/{project_number}/items/{item_id}": { + /** + * Get an item for a user owned project + * @description Get a specific item from a user-owned project. + */ + get: operations["projects/get-user-item"]; + /** + * Delete project item for user + * @description Delete a specific item from a user-owned project. + */ + delete: operations["projects/delete-item-for-user"]; + /** + * Update project item for user + * @description Update a specific item in a user-owned project. + */ + patch: operations["projects/update-item-for-user"]; + }; + "/users/{username}/received_events": { + /** + * List events received by the authenticated user + * @description These are events that you've received by watching repositories and following users. If you are authenticated as the + * given user, you will see private events. Otherwise, you'll only see public events. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-received-events-for-user"]; + }; + "/users/{username}/received_events/public": { + /** + * List public events received by a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-received-public-events-for-user"]; + }; + "/users/{username}/repos": { + /** + * List repositories for a user + * @description Lists public repositories for the specified user. + */ + get: operations["repos/list-for-user"]; + }; + "/users/{username}/settings/billing/actions": { + /** + * Get GitHub Actions billing for a user + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-github-actions-billing-user"]; + }; + "/users/{username}/settings/billing/packages": { + /** + * Get GitHub Packages billing for a user + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-github-packages-billing-user"]; + }; + "/users/{username}/settings/billing/premium_request/usage": { + /** + * Get billing premium request usage report for a user + * @description Gets a report of premium request usage for a user. + * + * **Note:** Only data from the past 24 months is accessible via this endpoint. + */ + get: operations["billing/get-github-billing-premium-request-usage-report-user"]; + }; + "/users/{username}/settings/billing/shared-storage": { + /** + * Get shared storage billing for a user + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-shared-storage-billing-user"]; + }; + "/users/{username}/settings/billing/usage": { + /** + * Get billing usage report for a user + * @description Gets a report of the total usage for a user. + * + * **Note:** This endpoint is only available to users with access to the enhanced billing platform. + */ + get: operations["billing/get-github-billing-usage-report-user"]; + }; + "/users/{username}/social_accounts": { + /** + * List social accounts for a user + * @description Lists social media accounts for a user. This endpoint is accessible by anyone. + */ + get: operations["users/list-social-accounts-for-user"]; + }; + "/users/{username}/ssh_signing_keys": { + /** + * List SSH signing keys for a user + * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. + */ + get: operations["users/list-ssh-signing-keys-for-user"]; + }; + "/users/{username}/starred": { + /** + * List repositories starred by a user + * @description Lists repositories a user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-repos-starred-by-user"]; + }; + "/users/{username}/subscriptions": { + /** + * List repositories watched by a user + * @description Lists repositories a user is watching. + */ + get: operations["activity/list-repos-watched-by-user"]; + }; + "/versions": { + /** + * Get all API versions + * @description Get all supported GitHub API versions. + */ + get: operations["meta/get-all-versions"]; + }; + "/zen": { + /** + * Get the Zen of GitHub + * @description Get a random sentence from the Zen of GitHub + */ + get: operations["meta/get-zen"]; + }; + "/repos/{owner}/{repo}/compare/{base}...{head}": { + /** + * Compare two commits + * @description **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits"]; + }; + "/orgs/{org}/organization-fine-grained-permissions": { + /** + * List organization fine-grained permissions for an organization + * @description Lists the fine-grained permissions that can be used in custom organization roles for an organization. For more information, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * To list the fine-grained permissions that can be used in custom repository roles for an organization, see "[List repository fine-grained permissions for an organization](https://docs.github.com/rest/orgs/organization-roles#list-repository-fine-grained-permissions-for-an-organization)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-organization-fine-grained-permissions"]; + }; +} + +export type webhooks = Record; + +export interface components { + schemas: { + root: { + /** Format: uri-template */ + current_user_url: string; + /** Format: uri-template */ + current_user_authorizations_html_url: string; + /** Format: uri-template */ + authorizations_url: string; + /** Format: uri-template */ + code_search_url: string; + /** Format: uri-template */ + commit_search_url: string; + /** Format: uri-template */ + emails_url: string; + /** Format: uri-template */ + emojis_url: string; + /** Format: uri-template */ + events_url: string; + /** Format: uri-template */ + feeds_url: string; + /** Format: uri-template */ + followers_url: string; + /** Format: uri-template */ + following_url: string; + /** Format: uri-template */ + gists_url: string; + /** + * Format: uri-template + * @deprecated + */ + hub_url?: string; + /** Format: uri-template */ + issue_search_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + label_search_url: string; + /** Format: uri-template */ + notifications_url: string; + /** Format: uri-template */ + organization_url: string; + /** Format: uri-template */ + organization_repositories_url: string; + /** Format: uri-template */ + organization_teams_url: string; + /** Format: uri-template */ + public_gists_url: string; + /** Format: uri-template */ + rate_limit_url: string; + /** Format: uri-template */ + repository_url: string; + /** Format: uri-template */ + repository_search_url: string; + /** Format: uri-template */ + current_user_repositories_url: string; + /** Format: uri-template */ + starred_url: string; + /** Format: uri-template */ + starred_gists_url: string; + /** Format: uri-template */ + topic_search_url?: string; + /** Format: uri-template */ + user_url: string; + /** Format: uri-template */ + user_organizations_url: string; + /** Format: uri-template */ + user_repositories_url: string; + /** Format: uri-template */ + user_search_url: string; + }; + /** + * @description The package's language or package management ecosystem. + * @enum {string} + */ + "security-advisory-ecosystems": + | "rubygems" + | "npm" + | "pip" + | "maven" + | "nuget" + | "composer" + | "go" + | "rust" + | "erlang" + | "actions" + | "pub" + | "other" + | "swift"; + /** @description A vulnerability describing the product and its affected versions within a GitHub Security Advisory. */ + vulnerability: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version that resolves the vulnerability. */ + first_patched_version: string | null; + /** @description The functions in the package that are affected by the vulnerability. */ + vulnerable_functions: readonly string[] | null; + }; + "cvss-severities": { + cvss_v3?: { + /** @description The CVSS 3 vector string. */ + vector_string: string | null; + /** @description The CVSS 3 score. */ + score: number | null; + } | null; + cvss_v4?: { + /** @description The CVSS 4 vector string. */ + vector_string: string | null; + /** @description The CVSS 4 score. */ + score: number | null; + } | null; + } | null; + /** @description The EPSS scores as calculated by the [Exploit Prediction Scoring System](https://www.first.org/epss). */ + readonly "security-advisory-epss": { + readonly percentage?: number; + readonly percentile?: number; + } | null; + /** + * Simple User + * @description A GitHub user. + */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + /** @example public */ + user_view_type?: string; + }; + /** + * @description The type of credit the user is receiving. + * @enum {string} + */ + "security-advisory-credit-types": + | "analyst" + | "finder" + | "reporter" + | "coordinator" + | "remediation_developer" + | "remediation_reviewer" + | "remediation_verifier" + | "tool" + | "sponsor" + | "other"; + /** @description A GitHub Security Advisory. */ + "global-advisory": { + /** @description The GitHub Security Advisory ID. */ + ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id: string | null; + /** @description The API URL for the advisory. */ + url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + html_url: string; + /** + * Format: uri + * @description The API URL for the repository advisory. + */ + repository_advisory_url: string | null; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; + /** + * @description The type of advisory. + * @enum {string} + */ + type: "reviewed" | "unreviewed" | "malware"; + /** + * @description The severity of the advisory. + * @enum {string} + */ + severity: "critical" | "high" | "medium" | "low" | "unknown"; + /** + * Format: uri + * @description The URL of the advisory's source code. + */ + source_code_location: string | null; + identifiers: + | readonly { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[] + | null; + references: string[] | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + published_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + updated_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format. + */ + github_reviewed_at: string | null; + /** + * Format: date-time + * @description The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format. + * This field is only populated when the advisory is imported from the National Vulnerability Database. + */ + nvd_published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + withdrawn_at: string | null; + /** @description The products and respective version ranges affected by the advisory. */ + vulnerabilities: components["schemas"]["vulnerability"][] | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + score: number | null; + } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; + epss?: components["schemas"]["security-advisory-epss"]; + cwes: + | { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + name: string; + }[] + | null; + /** @description The users who contributed to the advisory. */ + credits: + | readonly { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + }[] + | null; + }; + /** + * Basic Error + * @description Basic Error + */ + "basic-error": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + /** + * Validation Error Simple + * @description Validation Error Simple + */ + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: string[]; + }; + /** + * Enterprise + * @description An enterprise on GitHub. + */ + enterprise: { + /** @description A short description of the enterprise. */ + description?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** + * @description Unique identifier of the enterprise + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the enterprise. + * @example Octo Business + */ + name: string; + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ + slug: string; + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + integration: { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + owner: + | components["schemas"]["simple-user"] + | components["schemas"]["enterprise"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + [key: string]: string | undefined; + }; + /** + * @description The list of events for the GitHub app. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation. + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself. + * @example 5 + */ + installations_count?: number; + } | null; + /** + * Format: uri + * @description The URL to which the payloads will be delivered. + * @example https://example.com/webhook + */ + "webhook-config-url": string; + /** + * @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + * @example "json" + */ + "webhook-config-content-type": string; + /** + * @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). + * @example "********" + */ + "webhook-config-secret": string; + "webhook-config-insecure-ssl": string | number; + /** + * Webhook Configuration + * @description Configuration object of the webhook + */ + "webhook-config": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * Simple webhook delivery + * @description Delivery made by a webhook, without request and response information. + */ + "hook-delivery-item": { + /** + * Format: int64 + * @description Unique identifier of the webhook delivery. + * @example 42 + */ + id: number; + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the webhook delivery occurred. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the webhook delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Describes the response returned after attempting the delivery. + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * Format: int64 + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * Format: int64 + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | null; + }; + /** + * Scim Error + * @description Scim Error + */ + "scim-error": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; + /** + * Validation Error + * @description Validation Error + */ + "validation-error": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + /** + * Webhook delivery + * @description Delivery made by a webhook. + */ + "hook-delivery": { + /** + * @description Unique identifier of the delivery. + * @example 42 + */ + id: number; + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the delivery was delivered. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Description of the status of the attempted delivery + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | null; + /** + * @description The URL target of the delivery. + * @example https://www.example.com + */ + url?: string; + request: { + /** @description The request headers sent with the webhook delivery. */ + headers: { + [key: string]: unknown; + } | null; + /** @description The webhook payload. */ + payload: { + [key: string]: unknown; + } | null; + }; + response: { + /** @description The response headers received when the delivery was made. */ + headers: { + [key: string]: unknown; + } | null; + /** @description The response payload received. */ + payload: string | null; + }; + }; + /** + * Integration Installation Request + * @description Request to install an integration on a target + */ + "integration-installation-request": { + /** + * @description Unique identifier of the request installation. + * @example 42 + */ + id: number; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id?: string; + account: + | components["schemas"]["simple-user"] + | components["schemas"]["enterprise"]; + requester: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-07-08T16:18:44-04:00 + */ + created_at: string; + }; + /** + * App Permissions + * @description The permissions granted to the user access token. + * @example { + * "contents": "read", + * "issues": "read", + * "deployments": "write", + * "single_file": "read" + * } + */ + "app-permissions": { + /** + * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + * @enum {string} + */ + actions?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + * @enum {string} + */ + administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for checks on code. + * @enum {string} + */ + checks?: "read" | "write"; + /** + * @description The level of permission to grant the access token to create, edit, delete, and list Codespaces. + * @enum {string} + */ + codespaces?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + * @enum {string} + */ + contents?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot secrets. + * @enum {string} + */ + dependabot_secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token for deployments and deployment statuses. + * @enum {string} + */ + deployments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for managing repository environments. + * @enum {string} + */ + environments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + * @enum {string} + */ + issues?: "read" | "write"; + /** + * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + * @enum {string} + */ + metadata?: "read" | "write"; + /** + * @description The level of permission to grant the access token for packages published to GitHub Packages. + * @enum {string} + */ + packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + * @enum {string} + */ + pages?: "read" | "write"; + /** + * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + * @enum {string} + */ + pull_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and edit custom properties for a repository, when allowed by the property. + * @enum {string} + */ + repository_custom_properties?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + * @enum {string} + */ + repository_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository projects, columns, and cards. + * @enum {string} + */ + repository_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token to view and manage secret scanning alerts. + * @enum {string} + */ + secret_scanning_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository secrets. + * @enum {string} + */ + secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + * @enum {string} + */ + security_events?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage just a single file. + * @enum {string} + */ + single_file?: "read" | "write"; + /** + * @description The level of permission to grant the access token for commit statuses. + * @enum {string} + */ + statuses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot alerts. + * @enum {string} + */ + vulnerability_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to update GitHub Actions workflow files. + * @enum {string} + */ + workflows?: "write"; + /** + * @description The level of permission to grant the access token to view and edit custom properties for an organization, when allowed by the property. + * @enum {string} + */ + custom_properties_for_organizations?: "read" | "write"; + /** + * @description The level of permission to grant the access token for organization teams and members. + * @enum {string} + */ + members?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage access to an organization. + * @enum {string} + */ + organization_administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom repository roles management. + * @enum {string} + */ + organization_custom_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom organization roles management. + * @enum {string} + */ + organization_custom_org_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository custom properties management at the organization level. + * @enum {string} + */ + organization_custom_properties?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for managing access to GitHub Copilot for members of an organization with a Copilot Business subscription. This property is in public preview and is subject to change. + * @enum {string} + */ + organization_copilot_seat_management?: "write"; + /** + * @description The level of permission to grant the access token to view and manage announcement banners for an organization. + * @enum {string} + */ + organization_announcement_banners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view events triggered by an activity in an organization. + * @enum {string} + */ + organization_events?: "read"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + * @enum {string} + */ + organization_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization. + * @enum {string} + */ + organization_personal_access_tokens?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. + * @enum {string} + */ + organization_personal_access_token_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing an organization's plan. + * @enum {string} + */ + organization_plan?: "read"; + /** + * @description The level of permission to grant the access token to manage organization projects and projects public preview (where available). + * @enum {string} + */ + organization_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for organization packages published to GitHub Packages. + * @enum {string} + */ + organization_packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage organization secrets. + * @enum {string} + */ + organization_secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + * @enum {string} + */ + organization_self_hosted_runners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage users blocked by the organization. + * @enum {string} + */ + organization_user_blocking?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage team discussions and related comments. + * @enum {string} + */ + team_discussions?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the email addresses belonging to a user. + * @enum {string} + */ + email_addresses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the followers belonging to a user. + * @enum {string} + */ + followers?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage git SSH keys. + * @enum {string} + */ + git_ssh_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GPG keys belonging to a user. + * @enum {string} + */ + gpg_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage interaction limits on a repository. + * @enum {string} + */ + interaction_limits?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the profile settings belonging to a user. + * @enum {string} + */ + profile?: "write"; + /** + * @description The level of permission to grant the access token to list and manage repositories a user is starring. + * @enum {string} + */ + starring?: "read" | "write"; + /** + * @description The level of permission to grant the access token for organization custom properties management at the enterprise level. + * @enum {string} + */ + enterprise_custom_properties_for_organizations?: + | "read" + | "write" + | "admin"; + }; + /** + * Simple User + * @description A GitHub user. + */ + "nullable-simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + /** @example public */ + user_view_type?: string; + } | null; + /** + * Installation + * @description Installation + */ + installation: { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + account: + | ( + | components["schemas"]["simple-user"] + | components["schemas"]["enterprise"] + ) + | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** + * Format: uri + * @example https://api.github.com/app/installations/1/access_tokens + */ + access_tokens_url: string; + /** + * Format: uri + * @example https://api.github.com/installation/repositories + */ + repositories_url: string; + /** + * Format: uri + * @example https://github.com/organizations/github/settings/installations/1 + */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @example Iv1.ab1112223334445c */ + client_id?: string; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + permissions: components["schemas"]["app-permissions"]; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + suspended_by: components["schemas"]["nullable-simple-user"]; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }; + /** + * License Simple + * @description License Simple + */ + "nullable-license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** + * Repository + * @description A repository on GitHub. + */ + repository: { + /** + * Format: int64 + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @deprecated + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + /** @description The status of the code search index for this repository */ + code_search_index_status?: { + lexical_search_ok?: boolean; + lexical_commit_sha?: string; + }; + }; + /** + * Installation Token + * @description Authentication token for a GitHub App installed on a user or org. + */ + "installation-token": { + token: string; + expires_at: string; + permissions?: components["schemas"]["app-permissions"]; + /** @enum {string} */ + repository_selection?: "all" | "selected"; + repositories?: components["schemas"]["repository"][]; + /** @example README.md */ + single_file?: string; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + }; + /** Scoped Installation */ + "nullable-scoped-installation": { + permissions: components["schemas"]["app-permissions"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repositories_url: string; + account: components["schemas"]["simple-user"]; + } | null; + /** + * Authorization + * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. + */ + authorization: { + /** Format: int64 */ + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + user?: components["schemas"]["nullable-simple-user"]; + installation?: components["schemas"]["nullable-scoped-installation"]; + /** Format: date-time */ + expires_at: string | null; + }; + /** + * Simple Classroom Repository + * @description A GitHub repository view for Classroom + */ + "simple-classroom-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @description The full, globally unique name of the repository. + * @example octocat/Hello-World + */ + full_name: string; + /** + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ + node_id: string; + /** @description Whether the repository is private. */ + private: boolean; + /** + * @description The default branch for the repository. + * @example main + */ + default_branch: string; + }; + /** + * Organization Simple for Classroom + * @description A GitHub organization. + */ + "simple-classroom-organization": { + /** @example 1 */ + id: number; + /** @example github */ + login: string; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/github + */ + html_url: string; + /** @example Github - Code thigns happen here */ + name: string | null; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + }; + /** + * Classroom + * @description A GitHub Classroom classroom + */ + classroom: { + /** + * @description Unique identifier of the classroom. + * @example 42 + */ + id: number; + /** + * @description The name of the classroom. + * @example Programming Elixir + */ + name: string; + /** + * @description Whether classroom is archived. + * @example false + */ + archived: boolean; + organization: components["schemas"]["simple-classroom-organization"]; + /** + * @description The URL of the classroom on GitHub Classroom. + * @example https://classroom.github.com/classrooms/1-programming-elixir + */ + url: string; + }; + /** + * Classroom Assignment + * @description A GitHub Classroom assignment + */ + "classroom-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment creates a public repository. + * @example true + */ + public_repo: boolean; + /** + * @description Assignment title. + * @example Intro to Binaries + */ + title: string; + /** + * @description Whether it's a group assignment or individual assignment. + * @example individual + * @enum {string} + */ + type: "individual" | "group"; + /** + * @description The link that a student can use to accept the assignment. + * @example https://classroom.github.com/a/Lx7jiUgx + */ + invite_link: string; + /** + * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. + * @example true + */ + invitations_enabled: boolean; + /** + * @description Sluggified name of the assignment. + * @example intro-to-binaries + */ + slug: string; + /** + * @description Whether students are admins on created repository when a student accepts the assignment. + * @example true + */ + students_are_repo_admins: boolean; + /** + * @description Whether feedback pull request will be created when a student accepts the assignment. + * @example true + */ + feedback_pull_requests_enabled: boolean; + /** + * @description The maximum allowable teams for the assignment. + * @example 0 + */ + max_teams: number | null; + /** + * @description The maximum allowable members per team. + * @example 0 + */ + max_members: number | null; + /** + * @description The selected editor for the assignment. + * @example codespaces + */ + editor: string; + /** + * @description The number of students that have accepted the assignment. + * @example 25 + */ + accepted: number; + /** + * @description The number of students that have submitted the assignment. + * @example 10 + */ + submitted: number; + /** + * @description The number of students that have passed the assignment. + * @example 10 + */ + passing: number; + /** + * @description The programming language used in the assignment. + * @example elixir + */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + * @example 2011-01-26T19:06:43Z + */ + deadline: string | null; + starter_code_repository: components["schemas"]["simple-classroom-repository"]; + classroom: components["schemas"]["classroom"]; + }; + /** + * Simple Classroom User + * @description A GitHub user simplified for Classroom. + */ + "simple-classroom-user": { + /** @example 1 */ + id: number; + /** @example octocat */ + login: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + }; + /** + * Simple Classroom + * @description A GitHub Classroom classroom + */ + "simple-classroom": { + /** + * @description Unique identifier of the classroom. + * @example 42 + */ + id: number; + /** + * @description The name of the classroom. + * @example Programming Elixir + */ + name: string; + /** + * @description Returns whether classroom is archived or not. + * @example false + */ + archived: boolean; + /** + * @description The url of the classroom on GitHub Classroom. + * @example https://classroom.github.com/classrooms/1-programming-elixir + */ + url: string; + }; + /** + * Simple Classroom Assignment + * @description A GitHub Classroom assignment + */ + "simple-classroom-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment creates a public repository. + * @example true + */ + public_repo: boolean; + /** + * @description Assignment title. + * @example Intro to Binaries + */ + title: string; + /** + * @description Whether it's a Group Assignment or Individual Assignment. + * @example individual + * @enum {string} + */ + type: "individual" | "group"; + /** + * @description The link that a student can use to accept the assignment. + * @example https://classroom.github.com/a/Lx7jiUgx + */ + invite_link: string; + /** + * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. + * @example true + */ + invitations_enabled: boolean; + /** + * @description Sluggified name of the assignment. + * @example intro-to-binaries + */ + slug: string; + /** + * @description Whether students are admins on created repository on accepted assignment. + * @example true + */ + students_are_repo_admins: boolean; + /** + * @description Whether feedback pull request will be created on assignment acceptance. + * @example true + */ + feedback_pull_requests_enabled: boolean; + /** + * @description The maximum allowable teams for the assignment. + * @example 0 + */ + max_teams?: number | null; + /** + * @description The maximum allowable members per team. + * @example 0 + */ + max_members?: number | null; + /** + * @description The selected editor for the assignment. + * @example codespaces + */ + editor: string; + /** + * @description The number of students that have accepted the assignment. + * @example 25 + */ + accepted: number; + /** + * @description The number of students that have submitted the assignment. + * @example 10 + */ + submitted: number; + /** + * @description The number of students that have passed the assignment. + * @example 10 + */ + passing: number; + /** + * @description The programming language used in the assignment. + * @example elixir + */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + * @example 2011-01-26T19:06:43Z + */ + deadline: string | null; + classroom: components["schemas"]["simple-classroom"]; + }; + /** + * Classroom Accepted Assignment + * @description A GitHub Classroom accepted assignment + */ + "classroom-accepted-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment has been submitted. + * @example true + */ + submitted: boolean; + /** + * @description Whether a submission passed. + * @example true + */ + passing: boolean; + /** + * @description Count of student commits. + * @example 5 + */ + commit_count: number; + /** + * @description Most recent grade. + * @example 10/10 + */ + grade: string; + students: components["schemas"]["simple-classroom-user"][]; + repository: components["schemas"]["simple-classroom-repository"]; + assignment: components["schemas"]["simple-classroom-assignment"]; + }; + /** + * Classroom Assignment Grade + * @description Grade for a student or groups GitHub Classroom assignment + */ + "classroom-assignment-grade": { + /** @description Name of the assignment */ + assignment_name: string; + /** @description URL of the assignment */ + assignment_url: string; + /** @description URL of the starter code for the assignment */ + starter_code_url: string; + /** @description GitHub username of the student */ + github_username: string; + /** @description Roster identifier of the student */ + roster_identifier: string; + /** @description Name of the student's assignment repository */ + student_repository_name: string; + /** @description URL of the student's assignment repository */ + student_repository_url: string; + /** @description Timestamp of the student's assignment submission */ + submission_timestamp: string; + /** @description Number of points awarded to the student */ + points_awarded: number; + /** @description Number of points available for the assignment */ + points_available: number; + /** @description If a group assignment, name of the group the student is in */ + group_name?: string; + }; + /** + * Code Of Conduct + * @description Code Of Conduct + */ + "code-of-conduct": { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** + * Format: uri + * @example https://api.github.com/codes_of_conduct/contributor_covenant + */ + url: string; + /** + * @example # Contributor Covenant Code of Conduct + * + * ## Our Pledge + * + * In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + * + * ## Our Standards + * + * Examples of behavior that contributes to creating a positive environment include: + * + * * Using welcoming and inclusive language + * * Being respectful of differing viewpoints and experiences + * * Gracefully accepting constructive criticism + * * Focusing on what is best for the community + * * Showing empathy towards other community members + * + * Examples of unacceptable behavior by participants include: + * + * * The use of sexualized language or imagery and unwelcome sexual attention or advances + * * Trolling, insulting/derogatory comments, and personal or political attacks + * * Public or private harassment + * * Publishing others' private information, such as a physical or electronic address, without explicit permission + * * Other conduct which could reasonably be considered inappropriate in a professional setting + * + * ## Our Responsibilities + * + * Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + * to any instances of unacceptable behavior. + * + * Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + * + * ## Scope + * + * This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + * posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + * + * ## Enforcement + * + * Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + * + * Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + * + * ## Attribution + * + * This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + /** @description A code security configuration */ + "code-security-configuration": { + /** @description The ID of the code security configuration */ + id?: number; + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** + * @description The type of the code security configuration. + * @enum {string} + */ + target_type?: "global" | "organization" | "enterprise"; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security + * @enum {string} + */ + advanced_security?: + | "enabled" + | "disabled" + | "code_security" + | "secret_protection"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for code scanning */ + code_scanning_options?: { + /** @description Whether to allow repos which use advanced setup */ + allow_advanced?: boolean | null; + } | null; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for code scanning default setup */ + code_scanning_default_setup_options?: { + /** + * @description Whether to use labeled runners or standard GitHub runners. + * @enum {string|null} + */ + runner_type?: "standard" | "labeled" | "not_set" | null; + /** @description The label of the runner to use for code scanning when runner_type is 'labeled'. */ + runner_label?: string | null; + } | null; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + /** + * Format: uri + * @description The URL of the configuration + */ + url?: string; + /** + * Format: uri + * @description The URL of the configuration + */ + html_url?: string; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** @description Security Configuration feature options for code scanning */ + "code-scanning-options": { + /** @description Whether to allow repos which use advanced setup */ + allow_advanced?: boolean | null; + } | null; + /** @description Feature options for code scanning default setup */ + "code-scanning-default-setup-options": { + /** + * @description Whether to use labeled runners or standard GitHub runners. + * @enum {string} + */ + runner_type?: "standard" | "labeled" | "not_set"; + /** @description The label of the runner to use for code scanning default setup when runner_type is 'labeled'. */ + runner_label?: string | null; + } | null; + /** @description A list of default code security configurations */ + "code-security-default-configurations": { + /** + * @description The visibility of newly created repositories for which the code security configuration will be applied to by default + * @enum {unknown} + */ + default_for_new_repos?: "public" | "private_and_internal" | "all"; + configuration?: components["schemas"]["code-security-configuration"]; + }[]; + /** + * Simple Repository + * @description A GitHub repository. + */ + "simple-repository": { + /** + * Format: int64 + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ + node_id: string; + /** + * @description The name of the repository. + * @example Hello-World + */ + name: string; + /** + * @description The full, globally unique, name of the repository. + * @example octocat/Hello-World + */ + full_name: string; + owner: components["schemas"]["simple-user"]; + /** @description Whether the repository is private. */ + private: boolean; + /** + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** + * @description The repository description. + * @example This your first repo! + */ + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** + * Format: uri + * @description The URL to get more information about the repository from the GitHub API. + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** + * @description A template for the API URL to download the repository as an archive. + * @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + */ + archive_url: string; + /** + * @description A template for the API URL to list the available assignees for issues in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} + */ + assignees_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git blob in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + */ + blobs_url: string; + /** + * @description A template for the API URL to get information about branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} + */ + branches_url: string; + /** + * @description A template for the API URL to get information about collaborators of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + */ + collaborators_url: string; + /** + * @description A template for the API URL to get information about comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/comments{/number} + */ + comments_url: string; + /** + * @description A template for the API URL to get information about commits on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} + */ + commits_url: string; + /** + * @description A template for the API URL to compare two commits or refs. + * @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + */ + compare_url: string; + /** + * @description A template for the API URL to get the contents of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} + */ + contents_url: string; + /** + * Format: uri + * @description A template for the API URL to list the contributors to the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @description The API URL to list the deployments of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @description The API URL to list the downloads on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @description The API URL to list the events of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @description The API URL to list the forks of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** + * @description A template for the API URL to get information about Git commits of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + */ + git_commits_url: string; + /** + * @description A template for the API URL to get information about Git refs of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + */ + git_refs_url: string; + /** + * @description A template for the API URL to get information about Git tags of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + */ + git_tags_url: string; + /** + * @description A template for the API URL to get information about issue comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + */ + issue_comment_url: string; + /** + * @description A template for the API URL to get information about issue events on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + */ + issue_events_url: string; + /** + * @description A template for the API URL to get information about issues on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues{/number} + */ + issues_url: string; + /** + * @description A template for the API URL to get information about deploy keys on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} + */ + keys_url: string; + /** + * @description A template for the API URL to get information about labels of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/labels{/name} + */ + labels_url: string; + /** + * Format: uri + * @description The API URL to get information about the languages of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @description The API URL to merge branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** + * @description A template for the API URL to get information about milestones of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} + */ + milestones_url: string; + /** + * @description A template for the API URL to get information about notifications on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + */ + notifications_url: string; + /** + * @description A template for the API URL to get information about pull requests on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} + */ + pulls_url: string; + /** + * @description A template for the API URL to get information about releases on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/releases{/id} + */ + releases_url: string; + /** + * Format: uri + * @description The API URL to list the stargazers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** + * @description A template for the API URL to get information about statuses of a commit. + * @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} + */ + statuses_url: string; + /** + * Format: uri + * @description The API URL to list the subscribers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @description The API URL to subscribe to notifications for this repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @description The API URL to get information about tags on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @description The API URL to list the teams on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git tree of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + */ + trees_url: string; + /** + * Format: uri + * @description The API URL to list the hooks on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + }; + /** @description Repositories associated with a code security configuration and attachment status */ + "code-security-configuration-repositories": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: + | "attached" + | "attaching" + | "detached" + | "removed" + | "enforced" + | "failed" + | "updating" + | "removed_by_enterprise"; + repository?: components["schemas"]["simple-repository"]; + }; + /** @description The security alert number. */ + readonly "alert-number": number; + /** @description Details for the vulnerable package. */ + readonly "dependabot-alert-package": { + /** @description The package's language or package management ecosystem. */ + readonly ecosystem: string; + /** @description The unique package name within its ecosystem. */ + readonly name: string; + }; + /** @description Details pertaining to one vulnerable version range for the advisory. */ + readonly "dependabot-alert-security-vulnerability": { + readonly package: components["schemas"]["dependabot-alert-package"]; + /** + * @description The severity of the vulnerability. + * @enum {string} + */ + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ + readonly vulnerable_version_range: string; + /** @description Details pertaining to the package version that patches this vulnerability. */ + readonly first_patched_version: { + /** @description The package version that patches this vulnerability. */ + readonly identifier: string; + } | null; + }; + /** @description Details for the GitHub Security Advisory. */ + readonly "dependabot-alert-security-advisory": { + /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ + readonly ghsa_id: string; + /** @description The unique CVE ID assigned to the advisory. */ + readonly cve_id: string | null; + /** @description A short, plain text summary of the advisory. */ + readonly summary: string; + /** @description A long-form Markdown-supported description of the advisory. */ + readonly description: string; + /** @description Vulnerable version range information for the advisory. */ + readonly vulnerabilities: readonly components["schemas"]["dependabot-alert-security-vulnerability"][]; + /** + * @description The severity of the advisory. + * @enum {string} + */ + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ + readonly cvss: { + /** @description The overall CVSS score of the advisory. */ + readonly score: number; + /** @description The full CVSS vector string for the advisory. */ + readonly vector_string: string | null; + }; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; + readonly epss?: components["schemas"]["security-advisory-epss"]; + /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ + readonly cwes: readonly { + /** @description The unique CWE ID. */ + readonly cwe_id: string; + /** @description The short, plain text name of the CWE. */ + readonly name: string; + }[]; + /** @description Values that identify this advisory among security information sources. */ + readonly identifiers: readonly { + /** + * @description The type of advisory identifier. + * @enum {string} + */ + readonly type: "CVE" | "GHSA"; + /** @description The value of the advisory identifer. */ + readonly value: string; + }[]; + /** @description Links to additional advisory information. */ + readonly references: readonly { + /** + * Format: uri + * @description The URL of the reference. + */ + readonly url: string; + }[]; + /** + * Format: date-time + * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly published_at: string; + /** + * Format: date-time + * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly updated_at: string; + /** + * Format: date-time + * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly withdrawn_at: string | null; + }; + /** + * Format: uri + * @description The REST API URL of the alert resource. + */ + readonly "alert-url": string; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + readonly "alert-html-url": string; + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "alert-created-at": string; + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "alert-updated-at": string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "alert-dismissed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "alert-fixed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "alert-auto-dismissed-at": string | null; + /** @description A Dependabot alert. */ + "dependabot-alert-with-repository": { + number: components["schemas"]["alert-number"]; + /** + * @description The state of the Dependabot alert. + * @enum {string} + */ + state: "auto_dismissed" | "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + dependency: { + readonly package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime" | null; + /** + * @description The vulnerable dependency's relationship to your project. + * + * > [!NOTE] + * > We are rolling out support for dependency relationship across ecosystems. This value will be "unknown" for all dependencies in unsupported ecosystems. + * + * @enum {string|null} + */ + readonly relationship?: "unknown" | "direct" | "transitive" | null; + }; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: + | "fix_started" + | "inaccurate" + | "no_bandwidth" + | "not_used" + | "tolerable_risk" + | null; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: string | null; + fixed_at: components["schemas"]["alert-fixed-at"]; + auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; + repository: components["schemas"]["simple-repository"]; + }; + /** + * Enterprise Team + * @description Group of enterprise owners and/or members + */ + "enterprise-team": { + /** Format: int64 */ + id: number; + name: string; + description?: string; + slug: string; + /** Format: uri */ + url: string; + /** + * @description Retired: this field will not be returned with GHEC enterprise teams. + * @example disabled | all + */ + sync_to_organizations?: string; + /** @example disabled | selected | all */ + organization_selection_type?: string; + /** @example 62ab9291-fae2-468e-974b-7e45096d5021 */ + group_id: string | null; + /** + * @description Retired: this field will not be returned with GHEC enterprise teams. + * @example Justice League + */ + group_name?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/dc/teams/justice-league + */ + html_url: string; + members_url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Organization Simple + * @description A GitHub organization. + */ + "organization-simple": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + }; + /** + * Actor + * @description Actor + */ + actor: { + id: number; + login: string; + display_login?: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + avatar_url: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + "nullable-milestone": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + */ + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; + /** + * @description The number of the milestone. + * @example 42 + */ + number: number; + /** + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** + * @description The title of the milestone. + * @example v1.0 + */ + title: string; + /** @example Tracking milestone for version 1.0 */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2013-02-12T13:22:01Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2012-10-09T23:39:01Z + */ + due_on: string | null; + } | null; + /** + * Issue Type + * @description The type of issue. + */ + "issue-type": { + /** @description The unique identifier of the issue type. */ + id: number; + /** @description The node identifier of the issue type. */ + node_id: string; + /** @description The name of the issue type. */ + name: string; + /** @description The description of the issue type. */ + description: string | null; + /** + * @description The color of the issue type. + * @enum {string|null} + */ + color?: + | "gray" + | "blue" + | "green" + | "yellow" + | "orange" + | "red" + | "pink" + | "purple" + | null; + /** + * Format: date-time + * @description The time the issue type created. + */ + created_at?: string; + /** + * Format: date-time + * @description The time the issue type last updated. + */ + updated_at?: string; + /** @description The enabled state of the issue type. */ + is_enabled?: boolean; + } | null; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + "nullable-integration": { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + owner: + | components["schemas"]["simple-user"] + | components["schemas"]["enterprise"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + [key: string]: string | undefined; + }; + /** + * @description The list of events for the GitHub app. Note that the `installation_target`, `security_advisory`, and `meta` events are not included because they are global events and not specific to an installation. + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app. Only returned when the integration is requesting details about itself. + * @example 5 + */ + installations_count?: number; + } | null; + /** + * author_association + * @description How the author is associated with the repository. + * @example OWNER + * @enum {string} + */ + "author-association": + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** Reaction Rollup */ + "reaction-rollup": { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + /** Sub-issues Summary */ + "sub-issues-summary": { + total: number; + completed: number; + percent_completed: number; + }; + /** Issue Dependencies Summary */ + "issue-dependencies-summary": { + blocked_by: number; + blocking: number; + total_blocked_by: number; + total_blocking: number; + }; + /** + * Issue Field Value + * @description A value assigned to an issue field + */ + "issue-field-value": { + /** + * Format: int64 + * @description Unique identifier for the issue field. + * @example 1 + */ + issue_field_id: number; + /** @example IFT_GDKND */ + node_id: string; + /** + * @description The data type of the issue field + * @example text + * @enum {string} + */ + data_type: "text" | "single_select" | "number" | "date"; + /** @description The value of the issue field */ + value: (string | number) | null; + /** @description Details about the selected option (only present for single_select fields) */ + single_select_option?: { + /** + * Format: int64 + * @description Unique identifier for the option. + * @example 1 + */ + id: number; + /** + * @description The name of the option + * @example High + */ + name: string; + /** + * @description The color of the option + * @example red + */ + color: string; + } | null; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + issue: { + /** Format: int64 */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue + * @example https://api.github.com/repositories/42/issues/1 + */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** + * @description Number uniquely identifying the issue within its repository + * @example 42 + */ + number: number; + /** + * @description State of the issue; either 'open' or 'closed' + * @example open + */ + state: string; + /** + * @description The reason for the current state + * @example not_planned + * @enum {string|null} + */ + state_reason?: + | "completed" + | "reopened" + | "not_planned" + | "duplicate" + | null; + /** + * @description Title of the issue + * @example Widget creation fails in Safari on OS X 10.8 + */ + title: string; + /** + * @description Contents of the issue + * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? + */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + * @example [ + * "bug", + * "registration" + * ] + */ + labels: OneOf< + [ + string, + { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + }, + ] + >[]; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["nullable-milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + draft?: boolean; + closed_by?: components["schemas"]["nullable-simple-user"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association?: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + /** + * Format: uri + * @description URL to get the parent issue of this issue, if it is a sub-issue + */ + parent_issue_url?: string | null; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + }; + /** + * Issue Comment + * @description Comments provide a way for people to collaborate on an issue. + */ + "issue-comment": { + /** + * Format: int64 + * @description Unique identifier of the issue comment + * @example 42 + */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue comment + * @example https://api.github.com/repositories/42/issues/comments/1 + */ + url: string; + /** + * @description Contents of the issue comment + * @example What version of Safari were you using when you observed this bug? + */ + body?: string; + body_text?: string; + body_html?: string; + /** Format: uri */ + html_url: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Event + * @description Event + */ + event: { + id: string; + type: string | null; + actor: components["schemas"]["actor"]; + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + org?: components["schemas"]["actor"]; + payload: { + action?: string; + issue?: components["schemas"]["issue"]; + comment?: components["schemas"]["issue-comment"]; + pages?: { + page_name?: string; + title?: string; + summary?: string | null; + action?: string; + sha?: string; + html_url?: string; + }[]; + }; + public: boolean; + /** Format: date-time */ + created_at: string | null; + }; + /** + * Link With Type + * @description Hypermedia Link with Type + */ + "link-with-type": { + href: string; + type: string; + }; + /** + * Feed + * @description Feed + */ + feed: { + /** @example https://github.com/timeline */ + timeline_url: string; + /** @example https://github.com/{user} */ + user_url: string; + /** @example https://github.com/octocat */ + current_user_public_url?: string; + /** @example https://github.com/octocat.private?token=abc123 */ + current_user_url?: string; + /** @example https://github.com/octocat.private.actor?token=abc123 */ + current_user_actor_url?: string; + /** @example https://github.com/octocat-org */ + current_user_organization_url?: string; + /** + * @example [ + * "https://github.com/organizations/github/octocat.private.atom?token=abc123" + * ] + */ + current_user_organization_urls?: string[]; + /** @example https://github.com/security-advisories */ + security_advisories_url?: string; + /** + * @description A feed of discussions for a given repository. + * @example https://github.com/{user}/{repo}/discussions + */ + repository_discussions_url?: string; + /** + * @description A feed of discussions for a given repository and category. + * @example https://github.com/{user}/{repo}/discussions/categories/{category} + */ + repository_discussions_category_url?: string; + _links: { + timeline: components["schemas"]["link-with-type"]; + user: components["schemas"]["link-with-type"]; + security_advisories?: components["schemas"]["link-with-type"]; + current_user?: components["schemas"]["link-with-type"]; + current_user_public?: components["schemas"]["link-with-type"]; + current_user_actor?: components["schemas"]["link-with-type"]; + current_user_organization?: components["schemas"]["link-with-type"]; + current_user_organizations?: components["schemas"]["link-with-type"][]; + repository_discussions?: components["schemas"]["link-with-type"]; + repository_discussions_category?: components["schemas"]["link-with-type"]; + }; + }; + /** + * Base Gist + * @description Base Gist + */ + "base-gist": { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding?: string; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + comments_enabled?: boolean; + user: components["schemas"]["nullable-simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + }; + /** + * Public User + * @description Public User + */ + "public-user": { + login: string; + /** Format: int64 */ + id: number; + user_view_type?: string; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + events_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + /** Format: email */ + email: string | null; + /** Format: email */ + notification_email?: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** @example 1 */ + private_gists?: number; + /** @example 2 */ + total_private_repos?: number; + /** @example 2 */ + owned_private_repos?: number; + /** @example 1 */ + disk_usage?: number; + /** @example 3 */ + collaborators?: number; + }; + /** + * Gist History + * @description Gist History + */ + "gist-history": { + user?: components["schemas"]["nullable-simple-user"]; + version?: string; + /** Format: date-time */ + committed_at?: string; + change_status?: { + total?: number; + additions?: number; + deletions?: number; + }; + /** Format: uri */ + url?: string; + }; + /** + * Gist Simple + * @description Gist Simple + */ + "gist-simple": { + /** @deprecated */ + forks?: + | { + id?: string; + /** Format: uri */ + url?: string; + user?: components["schemas"]["public-user"]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }[] + | null; + /** @deprecated */ + history?: components["schemas"]["gist-history"][] | null; + /** + * Gist + * @description Gist + */ + fork_of?: { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + comments_enabled?: boolean; + user: components["schemas"]["nullable-simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["nullable-simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + } | null; + url?: string; + forks_url?: string; + commits_url?: string; + id?: string; + node_id?: string; + git_pull_url?: string; + git_push_url?: string; + html_url?: string; + files?: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + truncated?: boolean; + content?: string; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding?: string; + } | null; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + comments_enabled?: boolean; + user?: string | null; + comments_url?: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + }; + /** + * Gist Comment + * @description A comment made to a gist. + */ + "gist-comment": { + /** @example 1 */ + id: number; + /** @example MDExOkdpc3RDb21tZW50MQ== */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 + */ + url: string; + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-18T23:23:56Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-18T23:23:56Z + */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Gist Commit + * @description Gist Commit + */ + "gist-commit": { + /** + * Format: uri + * @example https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f + */ + url: string; + /** @example 57a7f021a713b1c5a6a199b54cc514735d2d462f */ + version: string; + user: components["schemas"]["nullable-simple-user"]; + change_status: { + total?: number; + additions?: number; + deletions?: number; + }; + /** + * Format: date-time + * @example 2010-04-14T02:15:15Z + */ + committed_at: string; + }; + /** + * Gitignore Template + * @description Gitignore Template + */ + "gitignore-template": { + /** @example C */ + name: string; + /** + * @example # Object files + * *.o + * + * # Libraries + * *.lib + * *.a + * + * # Shared objects (inc. Windows DLLs) + * *.dll + * *.so + * *.so.* + * *.dylib + * + * # Executables + * *.exe + * *.out + * *.app + */ + source: string; + }; + /** + * License Simple + * @description License Simple + */ + "license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + }; + /** + * License + * @description License + */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** @example MIT */ + spdx_id: string | null; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** + * Format: uri + * @example http://choosealicense.com/licenses/mit/ + */ + html_url: string; + /** @example A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty. */ + description: string; + /** @example Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders. */ + implementation: string; + /** + * @example [ + * "commercial-use", + * "modifications", + * "distribution", + * "sublicense", + * "private-use" + * ] + */ + permissions: string[]; + /** + * @example [ + * "include-copyright" + * ] + */ + conditions: string[]; + /** + * @example [ + * "no-liability" + * ] + */ + limitations: string[]; + /** + * @example + * + * The MIT License (MIT) + * + * Copyright (c) [year] [fullname] + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + body: string; + /** @example true */ + featured: boolean; + }; + /** + * Marketplace Listing Plan + * @description Marketplace Listing Plan + */ + "marketplace-listing-plan": { + /** + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313/accounts + */ + accounts_url: string; + /** @example 1313 */ + id: number; + /** @example 3 */ + number: number; + /** @example Pro */ + name: string; + /** @example A professional-grade CI solution */ + description: string; + /** @example 1099 */ + monthly_price_in_cents: number; + /** @example 11870 */ + yearly_price_in_cents: number; + /** + * @example FLAT_RATE + * @enum {string} + */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + /** @example true */ + has_free_trial: boolean; + unit_name: string | null; + /** @example published */ + state: string; + /** + * @example [ + * "Up to 25 private repositories", + * "11 concurrent builds" + * ] + */ + bullets: string[]; + }; + /** + * Marketplace Purchase + * @description Marketplace Purchase + */ + "marketplace-purchase": { + url: string; + type: string; + id: number; + login: string; + organization_billing_email?: string; + email?: string | null; + marketplace_pending_change?: { + is_installed?: boolean; + effective_date?: string; + unit_count?: number | null; + id?: number; + plan?: components["schemas"]["marketplace-listing-plan"]; + } | null; + marketplace_purchase: { + billing_cycle?: string; + next_billing_date?: string | null; + is_installed?: boolean; + unit_count?: number | null; + on_free_trial?: boolean; + free_trial_ends_on?: string | null; + updated_at?: string; + plan?: components["schemas"]["marketplace-listing-plan"]; + }; + }; + /** + * Api Overview + * @description Api Overview + */ + "api-overview": { + /** @example true */ + verifiable_password_authentication: boolean; + ssh_key_fingerprints?: { + SHA256_RSA?: string; + SHA256_DSA?: string; + SHA256_ECDSA?: string; + SHA256_ED25519?: string; + }; + /** + * @example [ + * "ssh-ed25519 ABCDEFGHIJKLMNOPQRSTUVWXYZ" + * ] + */ + ssh_keys?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + hooks?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + github_enterprise_importer?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + web?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + api?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + git?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + packages?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + pages?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + importer?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + actions?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + actions_macos?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + codespaces?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + dependabot?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + copilot?: string[]; + domains?: { + website?: string[]; + codespaces?: string[]; + copilot?: string[]; + packages?: string[]; + actions?: string[]; + actions_inbound?: { + full_domains?: string[]; + wildcard_domains?: string[]; + }; + artifact_attestations?: { + /** + * @example [ + * "example" + * ] + */ + trust_domain?: string; + services?: string[]; + }; + }; + }; + "security-and-analysis": { + /** + * @description Enable or disable GitHub Advanced Security for the repository. + * + * For standalone Code Scanning or Secret Protection products, this parameter cannot be used. + */ + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + code_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + /** @description Enable or disable Dependabot security updates for the repository. */ + dependabot_security_updates?: { + /** + * @description The enablement status of Dependabot security updates for the repository. + * @enum {string} + */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_non_provider_patterns?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_ai_detection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { + /** + * Format: int64 + * @example 1296269 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + has_discussions?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + /** + * Thread + * @description Thread + */ + thread: { + id: string; + repository: components["schemas"]["minimal-repository"]; + subject: { + title: string; + url: string; + latest_comment_url: string; + type: string; + }; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string | null; + url: string; + /** @example https://api.github.com/notifications/threads/2/subscription */ + subscription_url: string; + }; + /** + * Thread Subscription + * @description Thread Subscription + */ + "thread-subscription": { + /** @example true */ + subscribed: boolean; + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string | null; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1/subscription + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1 + */ + thread_url?: string; + /** + * Format: uri + * @example https://api.github.com/repos/1 + */ + repository_url?: string; + }; + /** + * Simple Repository + * @description A GitHub repository. + */ + "nullable-simple-repository": { + /** + * Format: int64 + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ + node_id: string; + /** + * @description The name of the repository. + * @example Hello-World + */ + name: string; + /** + * @description The full, globally unique, name of the repository. + * @example octocat/Hello-World + */ + full_name: string; + owner: components["schemas"]["simple-user"]; + /** @description Whether the repository is private. */ + private: boolean; + /** + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** + * @description The repository description. + * @example This your first repo! + */ + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** + * Format: uri + * @description The URL to get more information about the repository from the GitHub API. + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** + * @description A template for the API URL to download the repository as an archive. + * @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + */ + archive_url: string; + /** + * @description A template for the API URL to list the available assignees for issues in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} + */ + assignees_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git blob in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + */ + blobs_url: string; + /** + * @description A template for the API URL to get information about branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} + */ + branches_url: string; + /** + * @description A template for the API URL to get information about collaborators of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + */ + collaborators_url: string; + /** + * @description A template for the API URL to get information about comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/comments{/number} + */ + comments_url: string; + /** + * @description A template for the API URL to get information about commits on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} + */ + commits_url: string; + /** + * @description A template for the API URL to compare two commits or refs. + * @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + */ + compare_url: string; + /** + * @description A template for the API URL to get the contents of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} + */ + contents_url: string; + /** + * Format: uri + * @description A template for the API URL to list the contributors to the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @description The API URL to list the deployments of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @description The API URL to list the downloads on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @description The API URL to list the events of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @description The API URL to list the forks of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** + * @description A template for the API URL to get information about Git commits of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + */ + git_commits_url: string; + /** + * @description A template for the API URL to get information about Git refs of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + */ + git_refs_url: string; + /** + * @description A template for the API URL to get information about Git tags of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + */ + git_tags_url: string; + /** + * @description A template for the API URL to get information about issue comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + */ + issue_comment_url: string; + /** + * @description A template for the API URL to get information about issue events on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + */ + issue_events_url: string; + /** + * @description A template for the API URL to get information about issues on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues{/number} + */ + issues_url: string; + /** + * @description A template for the API URL to get information about deploy keys on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} + */ + keys_url: string; + /** + * @description A template for the API URL to get information about labels of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/labels{/name} + */ + labels_url: string; + /** + * Format: uri + * @description The API URL to get information about the languages of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @description The API URL to merge branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** + * @description A template for the API URL to get information about milestones of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} + */ + milestones_url: string; + /** + * @description A template for the API URL to get information about notifications on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + */ + notifications_url: string; + /** + * @description A template for the API URL to get information about pull requests on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} + */ + pulls_url: string; + /** + * @description A template for the API URL to get information about releases on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/releases{/id} + */ + releases_url: string; + /** + * Format: uri + * @description The API URL to list the stargazers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** + * @description A template for the API URL to get information about statuses of a commit. + * @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} + */ + statuses_url: string; + /** + * Format: uri + * @description The API URL to list the subscribers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @description The API URL to subscribe to notifications for this repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @description The API URL to get information about tags on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @description The API URL to list the teams on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git tree of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + */ + trees_url: string; + /** + * Format: uri + * @description The API URL to list the hooks on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + } | null; + /** + * Dependabot Repository Access Details + * @description Information about repositories that Dependabot is able to access in an organization + */ + "dependabot-repository-access-details": { + /** + * @description The default repository access level for Dependabot updates. + * @example internal + * @enum {string|null} + */ + default_level?: "public" | "internal" | null; + accessible_repositories?: components["schemas"]["nullable-simple-repository"][]; + }; + /** + * Custom Property Value + * @description Custom property name and associated value + */ + "custom-property-value": { + /** @description The name of the property */ + property_name: string; + /** @description The value assigned to the property */ + value: string | string[] | null; + }; + "billing-premium-request-usage-report-org": { + timePeriod: { + /** @description The year for the usage report. */ + year: number; + /** @description The month for the usage report. */ + month?: number; + /** @description The day for the usage report. */ + day?: number; + }; + /** @description The unique identifier of the organization. */ + organization: string; + /** @description The name of the user for the usage report. */ + user?: string; + /** @description The product for the usage report. */ + product?: string; + /** @description The model for the usage report. */ + model?: string; + usageItems: { + /** @description Product name. */ + product: string; + /** @description SKU name. */ + sku: string; + /** @description Model name. */ + model: string; + /** @description Unit type of the usage line item. */ + unitType: string; + /** @description Price per unit of the usage line item. */ + pricePerUnit: number; + /** @description Gross quantity of the usage line item. */ + grossQuantity: number; + /** @description Gross amount of the usage line item. */ + grossAmount: number; + /** @description Discount quantity of the usage line item. */ + discountQuantity: number; + /** @description Discount amount of the usage line item. */ + discountAmount: number; + /** @description Net quantity of the usage line item. */ + netQuantity: number; + /** @description Net amount of the usage line item. */ + netAmount: number; + }[]; + }; + "billing-usage-report": { + usageItems?: { + /** @description Date of the usage line item. */ + date: string; + /** @description Product name. */ + product: string; + /** @description SKU name. */ + sku: string; + /** @description Quantity of the usage line item. */ + quantity: number; + /** @description Unit type of the usage line item. */ + unitType: string; + /** @description Price per unit of the usage line item. */ + pricePerUnit: number; + /** @description Gross amount of the usage line item. */ + grossAmount: number; + /** @description Discount amount of the usage line item. */ + discountAmount: number; + /** @description Net amount of the usage line item. */ + netAmount: number; + /** @description Name of the organization. */ + organizationName: string; + /** @description Name of the repository. */ + repositoryName?: string; + }[]; + }; + /** + * Organization Full + * @description Organization Full + */ + "organization-full": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** + * Format: uri + * @example https://github.com/blog + */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** + * Format: email + * @example octocat@github.com + */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** + * @description The number of collaborators on private repositories. + * + * This field may be null if the number of private repositories is over 50,000. + * @example 8 + */ + collaborators?: number | null; + /** + * Format: email + * @example org@example.com + */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** + * @description The default branch for repositories created in this organization. + * @example main + */ + default_repository_branch?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example true */ + members_can_delete_repositories?: boolean; + /** @example true */ + members_can_change_repo_visibility?: boolean; + /** @example true */ + members_can_invite_outside_collaborators?: boolean; + /** @example true */ + members_can_delete_issues?: boolean; + /** @example true */ + display_commenter_full_name_setting_enabled?: boolean; + /** @example true */ + readers_can_create_discussions?: boolean; + /** @example true */ + members_can_create_teams?: boolean; + /** @example true */ + members_can_view_dependency_insights?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** + * @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. + * @example false + */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** + * @description An optional URL string to display to contributors who are blocked from pushing a secret. + * @example https://github.com/test-org/test-repo/blob/main/README.md + */ + secret_scanning_push_protection_custom_link?: string | null; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; + /** + * @description Controls whether or not deploy keys may be added and used for repositories in the organization. + * @example false + */ + deploy_keys_enabled_for_repositories?: boolean; + }; + "actions-cache-usage-org-enterprise": { + /** @description The count of active caches across all repositories of an enterprise or an organization. */ + total_active_caches_count: number; + /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ + total_active_caches_size_in_bytes: number; + }; + /** + * Actions Cache Usage by repository + * @description GitHub Actions Cache Usage by repository. + */ + "actions-cache-usage-by-repository": { + /** + * @description The repository owner and name for the cache usage being shown. + * @example octo-org/Hello-World + */ + full_name: string; + /** + * @description The sum of the size in bytes of all the active cache items in the repository. + * @example 2322142 + */ + active_caches_size_in_bytes: number; + /** + * @description The number of active caches in the repository. + * @example 3 + */ + active_caches_count: number; + }; + /** + * GitHub-hosted runner image details. + * @description Provides details of a hosted runner image + */ + "nullable-actions-hosted-runner-pool-image": { + /** + * @description The ID of the image. Use this ID for the `image` parameter when creating a new larger runner. + * @example ubuntu-20.04 + */ + id: string; + /** + * @description Image size in GB. + * @example 86 + */ + size_gb: number; + /** + * @description Display name for this image. + * @example 20.04 + */ + display_name: string; + /** + * @description The image provider. + * @enum {string} + */ + source: "github" | "partner" | "custom"; + /** + * @description The image version of the hosted runner pool. + * @example latest + */ + version?: string; + } | null; + /** + * Github-owned VM details. + * @description Provides details of a particular machine spec. + */ + "actions-hosted-runner-machine-spec": { + /** + * @description The ID used for the `size` parameter when creating a new runner. + * @example 8-core + */ + id: string; + /** + * @description The number of cores. + * @example 8 + */ + cpu_cores: number; + /** + * @description The available RAM for the machine spec. + * @example 32 + */ + memory_gb: number; + /** + * @description The available SSD storage for the machine spec. + * @example 300 + */ + storage_gb: number; + }; + /** + * Public IP for a GitHub-hosted larger runners. + * @description Provides details of Public IP for a GitHub-hosted larger runners + */ + "public-ip": { + /** + * @description Whether public IP is enabled. + * @example true + */ + enabled?: boolean; + /** + * @description The prefix for the public IP. + * @example 20.80.208.150 + */ + prefix?: string; + /** + * @description The length of the IP prefix. + * @example 28 + */ + length?: number; + }; + /** + * GitHub-hosted hosted runner + * @description A Github-hosted hosted runner. + */ + "actions-hosted-runner": { + /** + * @description The unique identifier of the hosted runner. + * @example 5 + */ + id: number; + /** + * @description The name of the hosted runner. + * @example my-github-hosted-runner + */ + name: string; + /** + * @description The unique identifier of the group that the hosted runner belongs to. + * @example 2 + */ + runner_group_id?: number; + image_details: components["schemas"]["nullable-actions-hosted-runner-pool-image"]; + machine_size_details: components["schemas"]["actions-hosted-runner-machine-spec"]; + /** + * @description The status of the runner. + * @example Ready + * @enum {string} + */ + status: "Ready" | "Provisioning" | "Shutdown" | "Deleting" | "Stuck"; + /** + * @description The operating system of the image. + * @example linux-x64 + */ + platform: string; + /** + * @description The maximum amount of hosted runners. Runners will not scale automatically above this number. Use this setting to limit your cost. + * @default 10 + * @example 5 + */ + maximum_runners?: number; + /** + * @description Whether public IP is enabled for the hosted runners. + * @example true + */ + public_ip_enabled: boolean; + /** @description The public IP ranges when public IP is enabled for the hosted runners. */ + public_ips?: components["schemas"]["public-ip"][]; + /** + * Format: date-time + * @description The time at which the runner was last used, in ISO 8601 format. + * @example 2022-10-09T23:39:01Z + */ + last_active_on?: string | null; + /** @description Whether custom image generation is enabled for the hosted runners. */ + image_gen?: boolean; + }; + /** + * GitHub-hosted runner custom image details + * @description Provides details of a custom runner image + */ + "actions-hosted-runner-custom-image": { + /** + * @description The ID of the image. Use this ID for the `image` parameter when creating a new larger runner. + * @example 1 + */ + id: number; + /** + * @description The operating system of the image. + * @example linux-x64 + */ + platform: string; + /** + * @description Total size of all the image versions in GB. + * @example 200 + */ + total_versions_size: number; + /** + * @description Display name for this image. + * @example CustomImage + */ + name: string; + /** + * @description The image provider. + * @example custom + */ + source: string; + /** + * @description The number of image versions associated with the image. + * @example 4 + */ + versions_count: number; + /** + * @description The latest image version associated with the image. + * @example 1.3.0 + */ + latest_version: string; + /** + * @description The number of image versions associated with the image. + * @example Ready + */ + state: string; + }; + /** + * GitHub-hosted runner custom image version details. + * @description Provides details of a hosted runner custom image version + */ + "actions-hosted-runner-custom-image-version": { + /** + * @description The version of image. + * @example 1.0.0 + */ + version: string; + /** + * @description The state of image version. + * @example Ready + */ + state: string; + /** + * @description Image version size in GB. + * @example 30 + */ + size_gb: number; + /** + * @description The creation date time of the image version. + * @example 2024-11-09T23:39:01Z + */ + created_on: string; + /** + * @description The image version status details. + * @example None + */ + state_details: string; + }; + /** + * GitHub-hosted runner image details. + * @description Provides details of a hosted runner image + */ + "actions-hosted-runner-curated-image": { + /** + * @description The ID of the image. Use this ID for the `image` parameter when creating a new larger runner. + * @example ubuntu-20.04 + */ + id: string; + /** + * @description The operating system of the image. + * @example linux-x64 + */ + platform: string; + /** + * @description Image size in GB. + * @example 86 + */ + size_gb: number; + /** + * @description Display name for this image. + * @example 20.04 + */ + display_name: string; + /** + * @description The image provider. + * @enum {string} + */ + source: "github" | "partner" | "custom"; + }; + "actions-hosted-runner-limits": { + /** + * Static public IP Limits for GitHub-hosted Hosted Runners. + * @description Provides details of static public IP limits for GitHub-hosted Hosted Runners + */ + public_ips: { + /** + * @description The maximum number of static public IP addresses that can be used for Hosted Runners. + * @example 50 + */ + maximum: number; + /** + * @description The current number of static public IP addresses in use by Hosted Runners. + * @example 17 + */ + current_usage: number; + }; + }; + /** + * Actions OIDC Subject customization + * @description Actions OIDC Subject customization + */ + "oidc-custom-sub": { + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys: string[]; + }; + /** + * Empty Object + * @description An object without any properties. + */ + "empty-object": Record; + /** + * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-repositories": "all" | "none" | "selected"; + /** + * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. + * @enum {string} + */ + "allowed-actions": "all" | "local_only" | "selected"; + /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ + "selected-actions-url": string; + /** @description Whether actions must be pinned to a full-length commit SHA. */ + "sha-pinning-required": boolean; + "actions-organization-permissions": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ + selected_repositories_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + sha_pinning_required?: components["schemas"]["sha-pinning-required"]; + }; + "actions-artifact-and-log-retention-response": { + /** @description The number of days artifacts and logs are retained */ + days: number; + /** @description The maximum number of days that can be configured */ + maximum_allowed_days: number; + }; + "actions-artifact-and-log-retention": { + /** @description The number of days to retain artifacts and logs */ + days: number; + }; + "actions-fork-pr-contributor-approval": { + /** + * @description The policy that controls when fork PR workflows require approval from a maintainer. + * @enum {string} + */ + approval_policy: + | "first_time_contributors_new_to_github" + | "first_time_contributors" + | "all_external_contributors"; + }; + "actions-fork-pr-workflows-private-repos": { + /** @description Whether workflows triggered by pull requests from forks are allowed to run on private repositories. */ + run_workflows_from_fork_pull_requests: boolean; + /** @description Whether GitHub Actions can create pull requests or submit approving pull request reviews from a workflow triggered by a fork pull request. */ + send_write_tokens_to_workflows: boolean; + /** @description Whether to make secrets and variables available to workflows triggered by pull requests from forks. */ + send_secrets_and_variables: boolean; + /** @description Whether workflows triggered by pull requests from forks require approval from a repository administrator to run. */ + require_approval_for_fork_pr_workflows: boolean; + }; + "actions-fork-pr-workflows-private-repos-request": { + /** @description Whether workflows triggered by pull requests from forks are allowed to run on private repositories. */ + run_workflows_from_fork_pull_requests: boolean; + /** @description Whether GitHub Actions can create pull requests or submit approving pull request reviews from a workflow triggered by a fork pull request. */ + send_write_tokens_to_workflows?: boolean; + /** @description Whether to make secrets and variables available to workflows triggered by pull requests from forks. */ + send_secrets_and_variables?: boolean; + /** @description Whether workflows triggered by pull requests from forks require approval from a repository administrator to run. */ + require_approval_for_fork_pr_workflows?: boolean; + }; + "selected-actions": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed?: boolean; + /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ + verified_allowed?: boolean; + /** + * @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`. + * + * > [!NOTE] + * > The `patterns_allowed` setting only applies to public repositories. + */ + patterns_allowed?: string[]; + }; + "self-hosted-runners-settings": { + /** + * @description The policy that controls whether self-hosted runners can be used by repositories in the organization + * @enum {string} + */ + enabled_repositories: "all" | "selected" | "none"; + /** @description The URL to the endpoint for managing selected repositories for self-hosted runners in the organization */ + selected_repositories_url?: string; + }; + /** + * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. + * @enum {string} + */ + "actions-default-workflow-permissions": "read" | "write"; + /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ + "actions-can-approve-pull-request-reviews": boolean; + "actions-get-default-workflow-permissions": { + default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "actions-set-default-workflow-permissions": { + default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "runner-groups-org": { + id: number; + name: string; + visibility: string; + default: boolean; + /** @description Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected` */ + selected_repositories_url?: string; + runners_url: string; + hosted_runners_url?: string; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: string; + inherited: boolean; + inherited_allows_public_repositories?: boolean; + allows_public_repositories: boolean; + /** + * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. + * @default false + */ + workflow_restrictions_read_only?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + /** + * Self hosted runner label + * @description A label for a self hosted runner + */ + "runner-label": { + /** @description Unique identifier of the label. */ + id?: number; + /** @description Name of the label. */ + name: string; + /** + * @description The type of label. Read-only labels are applied automatically when the runner is configured. + * @enum {string} + */ + type?: "read-only" | "custom"; + }; + /** + * Self hosted runners + * @description A self hosted runner + */ + runner: { + /** + * @description The ID of the runner. + * @example 5 + */ + id: number; + /** + * @description The ID of the runner group. + * @example 1 + */ + runner_group_id?: number; + /** + * @description The name of the runner. + * @example iMac + */ + name: string; + /** + * @description The Operating System of the runner. + * @example macos + */ + os: string; + /** + * @description The status of the runner. + * @example online + */ + status: string; + busy: boolean; + labels: components["schemas"]["runner-label"][]; + ephemeral?: boolean; + }; + /** + * Runner Application + * @description Runner Application + */ + "runner-application": { + os: string; + architecture: string; + download_url: string; + filename: string; + /** @description A short lived bearer token used to download the runner, if needed. */ + temp_download_token?: string; + sha256_checksum?: string; + }; + /** + * Authentication Token + * @description Authentication Token + */ + "authentication-token": { + /** + * @description The token used for authentication + * @example v1.1f699f1069f60xxx + */ + token: string; + /** + * Format: date-time + * @description The time this token expires + * @example 2016-07-11T22:14:10Z + */ + expires_at: string; + /** + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions?: Record; + /** @description The repositories this token has access to */ + repositories?: components["schemas"]["repository"][]; + /** @example config.yaml */ + single_file?: string | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection?: "all" | "selected"; + }; + /** + * Actions Secret for an Organization + * @description Secrets for GitHub Actions for an organization. + */ + "organization-actions-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/secrets/my_secret/repositories + */ + selected_repositories_url?: string; + }; + /** + * ActionsPublicKey + * @description The public key used for setting Actions Secrets. + */ + "actions-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ + url?: string; + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; + /** + * Actions Variable for an Organization + * @description Organization variable for GitHub Actions. + */ + "organization-actions-variable": { + /** + * @description The name of the variable. + * @example USERNAME + */ + name: string; + /** + * @description The value of the variable. + * @example octocat + */ + value: string; + /** + * Format: date-time + * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + updated_at: string; + /** + * @description Visibility of a variable + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/variables/USERNAME/repositories + */ + selected_repositories_url?: string; + }; + /** + * Campaign state + * @description Indicates whether a campaign is open or closed + * @enum {string} + */ + "campaign-state": "open" | "closed"; + /** + * Campaign alert type + * @description Indicates the alert type of a campaign + * @enum {string} + */ + "campaign-alert-type": "code_scanning" | "secret_scanning"; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "nullable-team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * @description Name of the team + * @example Justice League + */ + name: string; + /** + * @description Description of the team + * @example A great team. + */ + description: string | null; + /** + * @description Permission that the team will have for its repositories + * @example admin + */ + permission: string; + /** + * @description The level of privacy this team should have + * @example closed + */ + privacy?: string; + /** + * @description The notification setting the team has set + * @example notifications_enabled + */ + notification_setting?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + /** + * @description The ownership type of the team + * @enum {string} + */ + type: "enterprise" | "organization"; + /** + * @description Unique identifier of the organization to which this team belongs + * @example 37 + */ + organization_id?: number; + /** + * @description Unique identifier of the enterprise to which this team belongs + * @example 42 + */ + enterprise_id?: number; + } | null; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + notification_setting?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; + }; + /** Format: uri */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + members_url: string; + /** Format: uri */ + repositories_url: string; + /** + * @description The ownership type of the team + * @enum {string} + */ + type: "enterprise" | "organization"; + /** + * @description Unique identifier of the organization to which this team belongs + * @example 37 + */ + organization_id?: number; + /** + * @description Unique identifier of the enterprise to which this team belongs + * @example 42 + */ + enterprise_id?: number; + parent: components["schemas"]["nullable-team-simple"]; + }; + /** + * Campaign summary + * @description The campaign metadata and alert stats. + */ + "campaign-summary": { + /** @description The number of the newly created campaign */ + number: number; + /** + * Format: date-time + * @description The date and time the campaign was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time the campaign was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** @description The campaign name */ + name?: string; + /** @description The campaign description */ + description: string; + /** @description The campaign managers */ + managers: components["schemas"]["simple-user"][]; + /** @description The campaign team managers */ + team_managers?: components["schemas"]["team"][]; + /** + * Format: date-time + * @description The date and time the campaign was published, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + published_at?: string; + /** + * Format: date-time + * @description The date and time the campaign has ended, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + ends_at: string; + /** + * Format: date-time + * @description The date and time the campaign was closed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the campaign is still open. + */ + closed_at?: string | null; + state: components["schemas"]["campaign-state"]; + /** + * Format: uri + * @description The contact link of the campaign. + */ + contact_link: string | null; + alert_stats?: { + /** @description The number of open alerts */ + open_count: number; + /** @description The number of closed alerts */ + closed_count: number; + /** @description The number of in-progress alerts */ + in_progress_count: number; + }; + }; + /** @description The name of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-name": string; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + "code-scanning-analysis-tool-guid": string | null; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-state-query": + | "open" + | "closed" + | "dismissed" + | "fixed"; + /** + * @description Severity of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-severity": + | "critical" + | "high" + | "medium" + | "low" + | "warning" + | "note" + | "error"; + /** + * Format: uri + * @description The REST API URL for fetching the list of instances for an alert. + */ + readonly "alert-instances-url": string; + /** + * @description State of a code scanning alert. + * @enum {string|null} + */ + "code-scanning-alert-state": "open" | "dismissed" | "fixed" | null; + /** + * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. + * @enum {string|null} + */ + "code-scanning-alert-dismissed-reason": + | "false positive" + | "won't fix" + | "used in tests" + | null; + /** @description The dismissal comment associated with the dismissal of the alert. */ + "code-scanning-alert-dismissed-comment": string | null; + "code-scanning-alert-rule-summary": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: "none" | "note" | "warning" | "error" | null; + /** + * @description The security severity of the alert. + * @enum {string|null} + */ + security_severity_level?: "low" | "medium" | "high" | "critical" | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + /** @description A description of the rule used to detect the alert. */ + full_description?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + }; + /** @description The version of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-version": string | null; + "code-scanning-analysis-tool": { + name?: components["schemas"]["code-scanning-analysis-tool-name"]; + version?: components["schemas"]["code-scanning-analysis-tool-version"]; + guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; + }; + /** + * @description The Git reference, formatted as `refs/pull//merge`, `refs/pull//head`, + * `refs/heads/` or simply ``. + */ + "code-scanning-ref": string; + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + "code-scanning-analysis-analysis-key": string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + "code-scanning-alert-environment": string; + /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + "code-scanning-analysis-category": string; + /** @description Describe a region within a file for the alert. */ + "code-scanning-alert-location": { + path?: string; + start_line?: number; + end_line?: number; + start_column?: number; + end_column?: number; + }; + /** + * @description A classification of the file. For example to identify it as generated. + * @enum {string|null} + */ + "code-scanning-alert-classification": + | "source" + | "generated" + | "test" + | "library" + | null; + "code-scanning-alert-instance": { + ref?: components["schemas"]["code-scanning-ref"]; + analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment?: components["schemas"]["code-scanning-alert-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + state?: components["schemas"]["code-scanning-alert-state"]; + commit_sha?: string; + message?: { + text?: string; + }; + location?: components["schemas"]["code-scanning-alert-location"]; + html_url?: string; + /** + * @description Classifications that have been applied to the file that triggered the alert. + * For example identifying it as documentation, or a generated file. + */ + classifications?: components["schemas"]["code-scanning-alert-classification"][]; + }; + "code-scanning-organization-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule-summary"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + repository: components["schemas"]["simple-repository"]; + dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][]; + }; + /** + * Codespace machine + * @description A description of the machine powering a codespace. + */ + "nullable-codespace-machine": { + /** + * @description The name of the machine. + * @example standardLinux + */ + name: string; + /** + * @description The display name of the machine includes cores, memory, and storage. + * @example 4 cores, 16 GB RAM, 64 GB storage + */ + display_name: string; + /** + * @description The operating system of the machine. + * @example linux + */ + operating_system: string; + /** + * @description How much storage is available to the codespace. + * @example 68719476736 + */ + storage_in_bytes: number; + /** + * @description How much memory is available to the codespace. + * @example 17179869184 + */ + memory_in_bytes: number; + /** + * @description How many cores are available to the codespace. + * @example 4 + */ + cpus: number; + /** + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @example ready + * @enum {string|null} + */ + prebuild_availability: "none" | "ready" | "in_progress" | null; + } | null; + /** + * Codespace + * @description A codespace. + */ + codespace: { + /** + * Format: int64 + * @example 1 + */ + id: number; + /** + * @description Automatically generated name of this codespace. + * @example monalisa-octocat-hello-world-g4wpq6h95q + */ + name: string; + /** + * @description Display name for this codespace. + * @example bookish space pancake + */ + display_name?: string | null; + /** + * @description UUID identifying this codespace's environment. + * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 + */ + environment_id: string | null; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["minimal-repository"]; + machine: components["schemas"]["nullable-codespace-machine"]; + /** + * @description Path to devcontainer.json from repo root used to create Codespace. + * @example .devcontainer/example/devcontainer.json + */ + devcontainer_path?: string | null; + /** + * @description Whether the codespace was created from a prebuild. + * @example false + */ + prebuild: boolean | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @description Last known time this codespace was started. + * @example 2011-01-26T19:01:12Z + */ + last_used_at: string; + /** + * @description State of this codespace. + * @example Available + * @enum {string} + */ + state: + | "Unknown" + | "Created" + | "Queued" + | "Provisioning" + | "Available" + | "Awaiting" + | "Unavailable" + | "Deleted" + | "Moved" + | "Shutdown" + | "Archived" + | "Starting" + | "ShuttingDown" + | "Failed" + | "Exporting" + | "Updating" + | "Rebuilding"; + /** + * Format: uri + * @description API URL for this codespace. + */ + url: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** + * @description The number of commits the local repository is ahead of the remote. + * @example 0 + */ + ahead?: number; + /** + * @description The number of commits the local repository is behind the remote. + * @example 0 + */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** + * @description The current branch (or SHA if in detached HEAD state) of the local repository. + * @example main + */ + ref?: string; + }; + /** + * @description The initally assigned location of a new codespace. + * @example WestUs2 + * @enum {string} + */ + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; + /** + * @description The number of minutes of inactivity after which this codespace will be automatically stopped. + * @example 60 + */ + idle_timeout_minutes: number | null; + /** + * Format: uri + * @description URL to access this codespace on the web. + */ + web_url: string; + /** + * Format: uri + * @description API URL to access available alternate machine types for this codespace. + */ + machines_url: string; + /** + * Format: uri + * @description API URL to start this codespace. + */ + start_url: string; + /** + * Format: uri + * @description API URL to stop this codespace. + */ + stop_url: string; + /** + * Format: uri + * @description API URL to publish this codespace to a new repository. + */ + publish_url?: string | null; + /** + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. + */ + pulls_url: string | null; + recent_folders: string[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: string[] | null; + }; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: boolean | null; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: string | null; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: string | null; + /** + * @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). + * @example 60 + */ + retention_period_minutes?: number | null; + /** + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + * @example 2011-01-26T20:01:12Z + */ + retention_expires_at?: string | null; + /** + * @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. + * @example you've used 100% of your spending limit for Codespaces + */ + last_known_stop_notice?: string | null; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-org-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME + */ + name: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + * @example https://api.github.com/orgs/ORGANIZATION/codespaces/secrets/SECRET_NAME/repositories + */ + selected_repositories_url?: string; + }; + /** + * CodespacesPublicKey + * @description The public key used for setting Codespaces secrets. + */ + "codespaces-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ + url?: string; + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; + /** + * Copilot Seat Breakdown + * @description The breakdown of Copilot Business seats for the organization. + */ + "copilot-organization-seat-breakdown": { + /** @description The total number of seats being billed for the organization as of the current billing cycle. */ + total?: number; + /** @description Seats added during the current billing cycle. */ + added_this_cycle?: number; + /** @description The number of seats that are pending cancellation at the end of the current billing cycle. */ + pending_cancellation?: number; + /** @description The number of users who have been invited to receive a Copilot seat through this organization. */ + pending_invitation?: number; + /** @description The number of seats that have used Copilot during the current billing cycle. */ + active_this_cycle?: number; + /** @description The number of seats that have not used Copilot during the current billing cycle. */ + inactive_this_cycle?: number; + }; + /** + * Copilot Organization Details + * @description Information about the seat breakdown and policies set for an organization with a Copilot Business or Copilot Enterprise subscription. + */ + "copilot-organization-details": { + seat_breakdown: components["schemas"]["copilot-organization-seat-breakdown"]; + /** + * @description The organization policy for allowing or blocking suggestions matching public code (duplication detection filter). + * @enum {string} + */ + public_code_suggestions: "allow" | "block" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot Chat in the IDE. + * @enum {string} + */ + ide_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot features on GitHub.com. + * @enum {string} + */ + platform_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot in the CLI. + * @enum {string} + */ + cli?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The mode of assigning new seats. + * @enum {string} + */ + seat_management_setting: + | "assign_all" + | "assign_selected" + | "disabled" + | "unconfigured"; + /** + * @description The Copilot plan of the organization, or the parent enterprise, when applicable. + * @enum {string} + */ + plan_type?: "business" | "enterprise"; + [key: string]: unknown; + }; + /** + * Organization Simple + * @description A GitHub organization. + */ + "nullable-organization-simple": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + } | null; + /** + * Copilot Business Seat Detail + * @description Information about a Copilot Business seat assignment for a user, team, or organization. + */ + "copilot-seat-details": { + assignee?: components["schemas"]["nullable-simple-user"]; + organization?: components["schemas"]["nullable-organization-simple"]; + /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ + assigning_team?: + | components["schemas"]["team"] + | components["schemas"]["enterprise-team"] + | null; + /** + * Format: date + * @description The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle. + */ + pending_cancellation_date?: string | null; + /** + * Format: date-time + * @description Timestamp of user's last GitHub Copilot activity, in ISO 8601 format. + */ + last_activity_at?: string | null; + /** @description Last editor that was used by the user for a GitHub Copilot completion. */ + last_activity_editor?: string | null; + /** + * Format: date-time + * @description Timestamp of the last time the user authenticated with GitHub Copilot, in ISO 8601 format. + */ + last_authenticated_at?: string | null; + /** + * Format: date-time + * @description Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format. + */ + created_at: string; + /** + * Format: date-time + * @deprecated + * @description **Closing down notice:** This field is no longer relevant and is closing down. Use the `created_at` field to determine when the assignee was last granted access to GitHub Copilot. Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format. + */ + updated_at?: string; + /** + * @description The Copilot plan of the organization, or the parent enterprise, when applicable. + * @enum {string} + */ + plan_type?: "business" | "enterprise" | "unknown"; + }; + /** @description Usage metrics for Copilot editor code completions in the IDE. */ + "copilot-ide-code-completions": { + /** @description Number of users who accepted at least one Copilot code suggestion, across all active editors. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description Code completion metrics for active languages. */ + languages?: { + /** @description Name of the language used for Copilot code completion suggestions. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given language. Includes both full and partial acceptances. */ + total_engaged_users?: number; + }[]; + editors?: { + /** @description Name of the given editor. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot code completion suggestions. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language and model. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description Code completion metrics for active languages, for the given editor. */ + languages?: { + /** @description Name of the language used for Copilot code completion suggestions, for the given editor. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description The number of Copilot code suggestions generated for the given editor, for the given language. */ + total_code_suggestions?: number; + /** @description The number of Copilot code suggestions accepted for the given editor, for the given language. Includes both full and partial acceptances. */ + total_code_acceptances?: number; + /** @description The number of lines of code suggested by Copilot code completions for the given editor, for the given language. */ + total_code_lines_suggested?: number; + /** @description The number of lines of code accepted from Copilot code suggestions for the given editor, for the given language. */ + total_code_lines_accepted?: number; + }[]; + }[]; + [key: string]: unknown; + }[]; + [key: string]: unknown; + } | null; + /** @description Usage metrics for Copilot Chat in the IDE. */ + "copilot-ide-chat": { + /** @description Total number of users who prompted Copilot Chat in the IDE. */ + total_engaged_users?: number; + editors?: { + /** @description Name of the given editor. */ + name?: string; + /** @description The number of users who prompted Copilot Chat in the specified editor. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot Chat. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description The number of users who prompted Copilot Chat in the given editor and model. */ + total_engaged_users?: number; + /** @description The total number of chats initiated by users in the given editor and model. */ + total_chats?: number; + /** @description The number of times users accepted a code suggestion from Copilot Chat using the 'Insert Code' UI element, for the given editor. */ + total_chat_insertion_events?: number; + /** @description The number of times users copied a code suggestion from Copilot Chat using the keyboard, or the 'Copy' UI element, for the given editor. */ + total_chat_copy_events?: number; + }[]; + }[]; + [key: string]: unknown; + } | null; + /** @description Usage metrics for Copilot Chat in GitHub.com */ + "copilot-dotcom-chat": { + /** @description Total number of users who prompted Copilot Chat on github.com at least once. */ + total_engaged_users?: number; + /** @description List of model metrics for a custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot Chat. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model (if applicable). */ + custom_model_training_date?: string | null; + /** @description Total number of users who prompted Copilot Chat on github.com at least once for each model. */ + total_engaged_users?: number; + /** @description Total number of chats initiated by users on github.com. */ + total_chats?: number; + }[]; + [key: string]: unknown; + } | null; + /** @description Usage metrics for Copilot for pull requests. */ + "copilot-dotcom-pull-requests": { + /** @description The number of users who used Copilot for Pull Requests on github.com to generate a pull request summary at least once. */ + total_engaged_users?: number; + /** @description Repositories in which users used Copilot for Pull Requests to generate pull request summaries */ + repositories?: { + /** @description Repository name */ + name?: string; + /** @description The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot pull request summaries. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description The number of pull request summaries generated using Copilot for Pull Requests in the given repository. */ + total_pr_summaries_created?: number; + /** @description The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository and model. */ + total_engaged_users?: number; + }[]; + }[]; + [key: string]: unknown; + } | null; + /** + * Copilot Usage Metrics + * @description Copilot usage metrics for a given day. + */ + "copilot-usage-metrics-day": { + /** + * Format: date + * @description The date for which the usage metrics are aggregated, in `YYYY-MM-DD` format. + */ + date: string; + /** @description The total number of Copilot users with activity belonging to any Copilot feature, globally, for the given day. Includes passive activity such as receiving a code suggestion, as well as engagement activity such as accepting a code suggestion or prompting chat. Does not include authentication events. Is not limited to the individual features detailed on the endpoint. */ + total_active_users?: number; + /** @description The total number of Copilot users who engaged with any Copilot feature, for the given day. Examples include but are not limited to accepting a code suggestion, prompting Copilot chat, or triggering a PR Summary. Does not include authentication events. Is not limited to the individual features detailed on the endpoint. */ + total_engaged_users?: number; + copilot_ide_code_completions?: components["schemas"]["copilot-ide-code-completions"]; + copilot_ide_chat?: components["schemas"]["copilot-ide-chat"]; + copilot_dotcom_chat?: components["schemas"]["copilot-dotcom-chat"]; + copilot_dotcom_pull_requests?: components["schemas"]["copilot-dotcom-pull-requests"]; + [key: string]: unknown; + }; + /** + * Dependabot Secret for an Organization + * @description Secrets for GitHub Dependabot for an organization. + */ + "organization-dependabot-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/dependabot/secrets/my_secret/repositories + */ + selected_repositories_url?: string; + }; + /** + * DependabotPublicKey + * @description The public key used for setting Dependabot Secrets. + */ + "dependabot-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + }; + /** + * Minimal Repository + * @description Minimal Repository + */ + "nullable-minimal-repository": { + /** + * Format: int64 + * @example 1296269 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + has_discussions?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + } | null; + /** + * Package + * @description A software package + */ + package: { + /** + * @description Unique identifier of the package. + * @example 1 + */ + id: number; + /** + * @description The name of the package. + * @example super-linter + */ + name: string; + /** + * @example docker + * @enum {string} + */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** @example https://api.github.com/orgs/github/packages/container/super-linter */ + url: string; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + html_url: string; + /** + * @description The number of versions of the package. + * @example 1 + */ + version_count: number; + /** + * @example private + * @enum {string} + */ + visibility: "private" | "public"; + owner?: components["schemas"]["nullable-simple-user"]; + repository?: components["schemas"]["nullable-minimal-repository"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Organization Invitation + * @description Organization Invitation + */ + "organization-invitation": { + /** Format: int64 */ + id: number; + login: string | null; + email: string | null; + role: string; + created_at: string; + failed_at?: string | null; + failed_reason?: string | null; + inviter: components["schemas"]["simple-user"]; + team_count: number; + /** @example "MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x" */ + node_id: string; + /** @example "https://api.github.com/organizations/16/invitations/1/teams" */ + invitation_teams_url: string; + /** @example "member" */ + invitation_source?: string; + }; + /** + * Org Hook + * @description Org Hook + */ + "org-hook": { + /** @example 1 */ + id: number; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/pings + */ + ping_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/deliveries + */ + deliveries_url?: string; + /** @example web */ + name: string; + /** + * @example [ + * "push", + * "pull_request" + * ] + */ + events: string[]; + /** @example true */ + active: boolean; + config: { + /** @example "http://example.com/2" */ + url?: string; + /** @example "0" */ + insecure_ssl?: string; + /** @example "form" */ + content_type?: string; + /** @example "********" */ + secret?: string; + }; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + type: string; + }; + /** + * Route Stats + * @description API Insights usage route stats for an actor + */ + "api-insights-route-stats": { + /** @description The HTTP method */ + http_method?: string; + /** @description The API path's route template */ + api_route?: string; + /** + * Format: int64 + * @description The total number of requests within the queried time period + */ + total_request_count?: number; + /** + * Format: int64 + * @description The total number of requests that were rate limited within the queried time period + */ + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: string; + }[]; + /** + * Subject Stats + * @description API Insights usage subject stats for an organization + */ + "api-insights-subject-stats": { + subject_type?: string; + subject_name?: string; + /** Format: int64 */ + subject_id?: number; + total_request_count?: number; + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: string; + }[]; + /** + * Summary Stats + * @description API Insights usage summary stats for an organization + */ + "api-insights-summary-stats": { + /** + * Format: int64 + * @description The total number of requests within the queried time period + */ + total_request_count?: number; + /** + * Format: int64 + * @description The total number of requests that were rate limited within the queried time period + */ + rate_limited_request_count?: number; + }; + /** + * Time Stats + * @description API Insights usage time stats for an organization + */ + "api-insights-time-stats": { + timestamp?: string; + /** Format: int64 */ + total_request_count?: number; + /** Format: int64 */ + rate_limited_request_count?: number; + }[]; + /** + * User Stats + * @description API Insights usage stats for a user + */ + "api-insights-user-stats": { + actor_type?: string; + actor_name?: string; + /** Format: int64 */ + actor_id?: number; + /** Format: int64 */ + integration_id?: number | null; + /** Format: int64 */ + oauth_application_id?: number | null; + total_request_count?: number; + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: string; + }[]; + /** + * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. + * @example collaborators_only + * @enum {string} + */ + "interaction-group": + | "existing_users" + | "contributors_only" + | "collaborators_only"; + /** + * Interaction Limits + * @description Interaction limit settings. + */ + "interaction-limit-response": { + limit: components["schemas"]["interaction-group"]; + /** @example repository */ + origin: string; + /** + * Format: date-time + * @example 2018-08-17T04:18:39Z + */ + expires_at: string; + }; + /** + * @description The duration of the interaction restriction. Default: `one_day`. + * @example one_month + * @enum {string} + */ + "interaction-expiry": + | "one_day" + | "three_days" + | "one_week" + | "one_month" + | "six_months"; + /** + * Interaction Restrictions + * @description Limit interactions to a specific type of user for a specified duration + */ + "interaction-limit": { + limit: components["schemas"]["interaction-group"]; + expiry?: components["schemas"]["interaction-expiry"]; + }; + "organization-create-issue-type": { + /** @description Name of the issue type. */ + name: string; + /** @description Whether or not the issue type is enabled at the organization level. */ + is_enabled: boolean; + /** @description Description of the issue type. */ + description?: string | null; + /** + * @description Color for the issue type. + * @enum {string|null} + */ + color?: + | "gray" + | "blue" + | "green" + | "yellow" + | "orange" + | "red" + | "pink" + | "purple" + | null; + }; + "organization-update-issue-type": { + /** @description Name of the issue type. */ + name: string; + /** @description Whether or not the issue type is enabled at the organization level. */ + is_enabled: boolean; + /** @description Description of the issue type. */ + description?: string | null; + /** + * @description Color for the issue type. + * @enum {string|null} + */ + color?: + | "gray" + | "blue" + | "green" + | "yellow" + | "orange" + | "red" + | "pink" + | "purple" + | null; + }; + /** + * Org Membership + * @description Org Membership + */ + "org-membership": { + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/memberships/defunkt + */ + url: string; + /** + * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. + * @example active + * @enum {string} + */ + state: "active" | "pending"; + /** + * @description The user's membership type in the organization. + * @example admin + * @enum {string} + */ + role: "admin" | "member" | "billing_manager"; + /** + * @description Whether the user has direct membership in the organization. + * @example true + */ + direct_membership?: boolean; + /** + * @description The slugs of the enterprise teams providing the user with indirect membership in the organization. + * A limit of 100 enterprise team slugs is returned. + * @example [ + * "ent:team-one", + * "ent:team-two" + * ] + */ + enterprise_teams_providing_indirect_membership?: string[]; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat + */ + organization_url: string; + organization: components["schemas"]["organization-simple"]; + user: components["schemas"]["nullable-simple-user"]; + permissions?: { + can_create_repository: boolean; + }; + }; + /** + * Migration + * @description A migration. + */ + migration: { + /** + * Format: int64 + * @example 79 + */ + id: number; + owner: components["schemas"]["nullable-simple-user"]; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + guid: string; + /** @example pending */ + state: string; + /** @example true */ + lock_repositories: boolean; + exclude_metadata: boolean; + exclude_git_data: boolean; + exclude_attachments: boolean; + exclude_releases: boolean; + exclude_owner_projects: boolean; + org_metadata_only: boolean; + /** @description The repositories included in the migration. Only returned for export migrations. */ + repositories: components["schemas"]["repository"][]; + /** + * Format: uri + * @example https://api.github.com/orgs/octo-org/migrations/79 + */ + url: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + updated_at: string; + node_id: string; + /** Format: uri */ + archive_url?: string; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ + exclude?: string[]; + }; + /** + * Organization Role + * @description Organization roles + */ + "organization-role": { + /** + * Format: int64 + * @description The unique identifier of the role. + */ + id: number; + /** @description The name of the role. */ + name: string; + /** @description A short description about who this role is for or what permissions it grants. */ + description?: string | null; + /** + * @description The system role from which this role inherits permissions. + * @enum {string|null} + */ + base_role?: "read" | "triage" | "write" | "maintain" | "admin" | null; + /** + * @description Source answers the question, "where did this role come from?" + * @enum {string|null} + */ + source?: "Organization" | "Enterprise" | "Predefined" | null; + /** @description A list of permissions included in this role. */ + permissions: string[]; + organization: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The date and time the role was created. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time the role was last updated. + */ + updated_at: string; + }; + /** + * A Role Assignment for a Team + * @description The Relationship a Team has with a role. + */ + "team-role-assignment": { + /** + * @description Determines if the team has a direct, indirect, or mixed relationship to a role + * @example direct + * @enum {string} + */ + assignment?: "direct" | "indirect" | "mixed"; + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + notification_setting?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; + }; + /** Format: uri */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + members_url: string; + /** Format: uri */ + repositories_url: string; + parent: components["schemas"]["nullable-team-simple"]; + /** + * @description The ownership type of the team + * @enum {string} + */ + type: "enterprise" | "organization"; + /** + * @description Unique identifier of the organization to which this team belongs + * @example 37 + */ + organization_id?: number; + /** + * @description Unique identifier of the enterprise to which this team belongs + * @example 42 + */ + enterprise_id?: number; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * @description Name of the team + * @example Justice League + */ + name: string; + /** + * @description Description of the team + * @example A great team. + */ + description: string | null; + /** + * @description Permission that the team will have for its repositories + * @example admin + */ + permission: string; + /** + * @description The level of privacy this team should have + * @example closed + */ + privacy?: string; + /** + * @description The notification setting the team has set + * @example notifications_enabled + */ + notification_setting?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + /** + * @description The ownership type of the team + * @enum {string} + */ + type: "enterprise" | "organization"; + /** + * @description Unique identifier of the organization to which this team belongs + * @example 37 + */ + organization_id?: number; + /** + * @description Unique identifier of the enterprise to which this team belongs + * @example 42 + */ + enterprise_id?: number; + }; + /** + * A Role Assignment for a User + * @description The Relationship a User has with a role. + */ + "user-role-assignment": { + /** + * @description Determines if the user has a direct, indirect, or mixed relationship to a role + * @example direct + * @enum {string} + */ + assignment?: "direct" | "indirect" | "mixed"; + /** @description Team the user has gotten the role through */ + inherited_from?: components["schemas"]["team-simple"][]; + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + /** @example public */ + user_view_type?: string; + }; + /** + * Package Version + * @description A version of a software package + */ + "package-version": { + /** + * @description Unique identifier of the package version. + * @example 1 + */ + id: number; + /** + * @description The name of the package version. + * @example latest + */ + name: string; + /** @example https://api.github.com/orgs/github/packages/container/super-linter/versions/786068 */ + url: string; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + package_html_url: string; + /** @example https://github.com/orgs/github/packages/container/super-linter/786068 */ + html_url?: string; + /** @example MIT */ + license?: string; + description?: string; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + deleted_at?: string; + /** Package Version Metadata */ + metadata?: { + /** + * @example docker + * @enum {string} + */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** Container Metadata */ + container?: { + tags: string[]; + }; + /** Docker Metadata */ + docker?: { + tag?: string[]; + }; + }; + }; + /** + * Simple Organization Programmatic Access Grant Request + * @description Minimal representation of an organization programmatic access grant request for enumerations + */ + "organization-programmatic-access-grant-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. */ + id: number; + /** @description Reason for requesting access. */ + reason: string | null; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Organization Programmatic Access Grant + * @description Minimal representation of an organization programmatic access grant for enumerations + */ + "organization-programmatic-access-grant": { + /** @description Unique identifier of the fine-grained personal access token grant. The `pat_id` used to get details about an approved fine-grained personal access token. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ + access_granted_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Organization private registry + * @description Private registry configuration for an organization + */ + "org-private-registry-configuration": { + /** + * @description The name of the private registry configuration. + * @example MAVEN_REPOSITORY_SECRET + */ + name: string; + /** + * @description The registry type. + * @enum {string} + */ + registry_type: + | "maven_repository" + | "nuget_feed" + | "goproxy_server" + | "npm_registry" + | "rubygems_server" + | "cargo_registry" + | "composer_repository" + | "docker_registry" + | "git_source" + | "helm_registry" + | "hex_organization" + | "hex_repository" + | "pub_repository" + | "python_index" + | "terraform_registry"; + /** + * @description The username to use when authenticating with the private registry. + * @example monalisa + */ + username?: string | null; + /** + * @description Which type of organization repositories have access to the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Organization private registry + * @description Private registry configuration for an organization + */ + "org-private-registry-configuration-with-selected-repositories": { + /** + * @description The name of the private registry configuration. + * @example MAVEN_REPOSITORY_SECRET + */ + name: string; + /** + * @description The registry type. + * @enum {string} + */ + registry_type: + | "maven_repository" + | "nuget_feed" + | "goproxy_server" + | "npm_registry" + | "rubygems_server" + | "cargo_registry" + | "composer_repository" + | "docker_registry" + | "git_source" + | "helm_registry" + | "hex_organization" + | "hex_repository" + | "pub_repository" + | "python_index" + | "terraform_registry"; + /** + * @description The username to use when authenticating with the private registry. + * @example monalisa + */ + username?: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry when `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Project + * @description Projects are a way to organize columns and cards of work. + */ + project: { + /** + * Format: uri + * @example https://api.github.com/repos/api-playground/projects-test + */ + owner_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604 + */ + url: string; + /** + * Format: uri + * @example https://github.com/api-playground/projects-test/projects/12 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604/columns + */ + columns_url: string; + /** @example 1002604 */ + id: number; + /** @example MDc6UHJvamVjdDEwMDI2MDQ= */ + node_id: string; + /** + * @description Name of the project + * @example Week One Sprint + */ + name: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body: string | null; + /** @example 1 */ + number: number; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state: string; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ + private?: boolean; + }; + /** + * Projects v2 Status Update + * @description An status update belonging to a project + */ + "nullable-projects-v2-status-update": { + /** @description The unique identifier of the status update. */ + id: number; + /** @description The node ID of the status update. */ + node_id: string; + /** @description The node ID of the project that this status update belongs to. */ + project_node_id?: string; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The time when the status update was created. + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @description The time when the status update was last updated. + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** + * @description The current status. + * @enum {string|null} + */ + status?: + | "INACTIVE" + | "ON_TRACK" + | "AT_RISK" + | "OFF_TRACK" + | "COMPLETE" + | null; + /** + * Format: date + * @description The start date of the period covered by the update. + * @example 2022-04-28 + */ + start_date?: string; + /** + * Format: date + * @description The target date associated with the update. + * @example 2022-04-28 + */ + target_date?: string; + /** + * @description Body of the status update + * @example The project is off to a great start! + */ + body?: string | null; + } | null; + /** + * Projects v2 Project + * @description A projects v2 project + */ + "projects-v2": { + /** @description The unique identifier of the project. */ + id: number; + /** @description The node ID of the project. */ + node_id: string; + owner: components["schemas"]["simple-user"]; + creator: components["schemas"]["simple-user"]; + /** @description The project title. */ + title: string; + /** @description A short description of the project. */ + description: string | null; + /** @description Whether the project is visible to anyone with access to the owner. */ + public: boolean; + /** + * Format: date-time + * @description The time when the project was closed. + * @example 2022-04-28T12:00:00Z + */ + closed_at: string | null; + /** + * Format: date-time + * @description The time when the project was created. + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @description The time when the project was last updated. + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** @description The project number. */ + number: number; + /** @description A concise summary of the project. */ + short_description: string | null; + /** + * Format: date-time + * @description The time when the project was deleted. + * @example 2022-04-28T12:00:00Z + */ + deleted_at: string | null; + deleted_by: components["schemas"]["nullable-simple-user"]; + /** + * @description The current state of the project. + * @enum {string} + */ + state?: "open" | "closed"; + latest_status_update?: components["schemas"]["nullable-projects-v2-status-update"]; + /** @description Whether this project is a template */ + is_template?: boolean; + }; + /** + * Projects v2 Single Select Option + * @description An option for a single select field + */ + "projects-v2-single-select-options": { + /** @description The unique identifier of the option. */ + id: string; + /** @description The display name of the option, in raw text and HTML formats. */ + name: { + raw: string; + html: string; + }; + /** @description The description of the option, in raw text and HTML formats. */ + description: { + raw: string; + html: string; + }; + /** @description The color associated with the option. */ + color: string; + }; + /** + * Projects v2 Iteration Setting + * @description An iteration setting for an iteration field + */ + "projects-v2-iteration-settings": { + /** @description The unique identifier of the iteration setting. */ + id: string; + /** + * Format: date + * @description The start date of the iteration. + */ + start_date: string; + /** @description The duration of the iteration in days. */ + duration: number; + /** @description The iteration title, in raw text and HTML formats. */ + title: { + raw: string; + html: string; + }; + /** @description Whether the iteration has been completed. */ + completed: boolean; + }; + /** + * Projects v2 Field + * @description A field inside a projects v2 project + */ + "projects-v2-field": { + /** @description The unique identifier of the field. */ + id: number; + /** @description The node ID of the field. */ + node_id?: string; + /** + * @description The API URL of the project that contains the field. + * @example https://api.github.com/projects/1 + */ + project_url: string; + /** @description The name of the field. */ + name: string; + /** + * @description The field's data type. + * @enum {string} + */ + data_type: + | "assignees" + | "linked_pull_requests" + | "reviewers" + | "labels" + | "milestone" + | "repository" + | "title" + | "text" + | "single_select" + | "number" + | "date" + | "iteration" + | "issue_type" + | "parent_issue" + | "sub_issues_progress"; + /** @description The options available for single select fields. */ + options?: components["schemas"]["projects-v2-single-select-options"][]; + /** @description Configuration for iteration fields. */ + configuration?: { + /** @description The day of the week when the iteration starts. */ + start_day?: number; + /** @description The duration of the iteration in days. */ + duration?: number; + iterations?: components["schemas"]["projects-v2-iteration-settings"][]; + }; + /** + * Format: date-time + * @description The time when the field was created. + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @description The time when the field was last updated. + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + }; + /** + * Projects v2 Item Content Type + * @description The type of content tracked in a project item + * @enum {string} + */ + "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; + /** + * Projects v2 Item + * @description An item belonging to a project + */ + "projects-v2-item-with-content": { + /** @description The unique identifier of the project item. */ + id: number; + /** @description The node ID of the project item. */ + node_id?: string; + /** + * Format: uri + * @description The API URL of the project that contains this item. + * @example https://api.github.com/users/monalisa/2/projectsV2/3 + */ + project_url?: string; + content_type: components["schemas"]["projects-v2-item-content-type"]; + /** @description The content of the item, which varies by content type. */ + content?: { + [key: string]: unknown; + } | null; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The time when the item was created. + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @description The time when the item was last updated. + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** + * Format: date-time + * @description The time when the item was archived. + * @example 2022-04-28T12:00:00Z + */ + archived_at: string | null; + /** + * Format: uri + * @description The API URL of this item. + * @example https://api.github.com/users/monalisa/2/projectsV2/items/3 + */ + item_url?: string | null; + /** @description The fields and values associated with this item. */ + fields?: { + [key: string]: unknown; + }[]; + }; + /** + * Link + * @description Hypermedia Link + */ + link: { + href: string; + }; + /** + * Auto merge + * @description The status of auto merging a pull request. + */ + "auto-merge": { + enabled_by: components["schemas"]["simple-user"]; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + /** @description Title for the merge commit message. */ + commit_title: string; + /** @description Commit message for the merge commit. */ + commit_message: string; + } | null; + /** + * Pull Request Simple + * @description Pull Request Simple + */ + "pull-request-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 + */ + url: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347 + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.patch + */ + patch_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + */ + commits_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + */ + review_comments_url: string; + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ + review_comment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + */ + comments_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + statuses_url: string; + /** @example 1347 */ + number: number; + /** @example open */ + state: string; + /** @example true */ + locked: boolean; + /** @example new-feature */ + title: string; + user: components["schemas"]["nullable-simple-user"]; + /** @example Please pull these awesome changes */ + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + /** @example too heated */ + active_lock_reason?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + merged_at: string | null; + /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team"][] | null; + head: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** + * @description Indicates whether or not the pull request is a draft. + * @example false + */ + draft?: boolean; + }; + /** + * Draft Issue + * @description A draft issue in a project + */ + "projects-v2-draft-issue": { + /** @description The ID of the draft issue */ + id: number; + /** @description The node ID of the draft issue */ + node_id: string; + /** @description The title of the draft issue */ + title: string; + /** @description The body content of the draft issue */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time the draft issue was created + */ + created_at: string; + /** + * Format: date-time + * @description The time the draft issue was last updated + */ + updated_at: string; + }; + /** + * Projects v2 Item + * @description An item belonging to a project + */ + "projects-v2-item-simple": { + /** @description The unique identifier of the project item. */ + id: number; + /** @description The node ID of the project item. */ + node_id?: string; + /** @description The content represented by the item. */ + content?: + | components["schemas"]["issue"] + | components["schemas"]["pull-request-simple"] + | components["schemas"]["projects-v2-draft-issue"]; + content_type: components["schemas"]["projects-v2-item-content-type"]; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The time when the item was created. + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @description The time when the item was last updated. + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** + * Format: date-time + * @description The time when the item was archived. + * @example 2022-04-28T12:00:00Z + */ + archived_at: string | null; + /** + * Format: uri + * @description The URL of the project this item belongs to. + */ + project_url?: string; + /** + * Format: uri + * @description The URL of the item in the project. + */ + item_url?: string; + }; + /** + * Organization Custom Property + * @description Custom property defined on an organization + */ + "custom-property": { + /** @description The name of the property */ + property_name: string; + /** + * Format: uri + * @description The URL that can be used to fetch, update, or delete info about this property via the API. + */ + url?: string; + /** + * @description The source type of the property + * @example organization + * @enum {string} + */ + source_type?: "organization" | "enterprise"; + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: string | string[] | null; + /** @description Short description of the property */ + description?: string | null; + /** + * @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. + */ + allowed_values?: string[] | null; + /** + * @description Who can edit the values of the property + * @example org_actors + * @enum {string|null} + */ + values_editable_by?: "org_actors" | "org_and_repo_actors" | null; + }; + /** + * Custom Property Set Payload + * @description Custom property set payload + */ + "custom-property-set-payload": { + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: string | string[] | null; + /** @description Short description of the property */ + description?: string | null; + /** + * @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. + */ + allowed_values?: string[] | null; + /** + * @description Who can edit the values of the property + * @example org_actors + * @enum {string|null} + */ + values_editable_by?: "org_actors" | "org_and_repo_actors" | null; + }; + /** + * Organization Repository Custom Property Values + * @description List of custom property values for a repository + */ + "org-repo-custom-property-values": { + /** @example 1296269 */ + repository_id: number; + /** @example Hello-World */ + repository_name: string; + /** @example octocat/Hello-World */ + repository_full_name: string; + /** @description List of custom property names and associated values */ + properties: components["schemas"]["custom-property-value"][]; + }; + /** + * Repository + * @description A repository on GitHub. + */ + "nullable-repository": { + /** + * Format: int64 + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @deprecated + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + /** @description The status of the code search index for this repository */ + code_search_index_status?: { + lexical_search_ok?: boolean; + lexical_commit_sha?: string; + }; + } | null; + /** + * Code Of Conduct Simple + * @description Code of Conduct Simple + */ + "code-of-conduct-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/github/docs/community/code_of_conduct + */ + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; + /** + * Format: uri + * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md + */ + html_url: string | null; + }; + /** + * Full Repository + * @description Full Repository + */ + "full-repository": { + /** + * Format: int64 + * @example 1296269 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @example true */ + is_template?: boolean; + /** + * @example [ + * "octocat", + * "atom", + * "electron", + * "API" + * ] + */ + topics?: string[]; + /** @example true */ + has_issues: boolean; + /** @example true */ + has_projects: boolean; + /** @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @example true */ + has_downloads?: boolean; + /** @example true */ + has_discussions: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @example public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + /** @example true */ + allow_rebase_merge?: boolean; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string | null; + /** @example true */ + allow_squash_merge?: boolean; + /** @example false */ + allow_auto_merge?: boolean; + /** @example false */ + delete_branch_on_merge?: boolean; + /** @example true */ + allow_merge_commit?: boolean; + /** @example true */ + allow_update_branch?: boolean; + /** @example false */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @example PR_TITLE + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @example PR_TITLE + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @example true */ + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + /** @example 42 */ + subscribers_count: number; + /** @example 0 */ + network_count: number; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + parent?: components["schemas"]["repository"]; + source?: components["schemas"]["repository"]; + forks: number; + master_branch?: string; + open_issues: number; + watchers: number; + /** + * @description Whether anonymous git access is allowed. + * @default true + */ + anonymous_access_enabled?: boolean; + code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + /** + * @description The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). + * @enum {string} + */ + "repository-rule-enforcement": "disabled" | "active" | "evaluate"; + /** + * Repository Ruleset Bypass Actor + * @description An actor that can bypass rules in a ruleset + */ + "repository-ruleset-bypass-actor": { + /** @description The ID of the actor that can bypass a ruleset. Required for `Integration`, `RepositoryRole`, and `Team` actor types. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ + actor_id?: number | null; + /** + * @description The type of actor that can bypass a ruleset. + * @enum {string} + */ + actor_type: + | "Integration" + | "OrganizationAdmin" + | "RepositoryRole" + | "Team" + | "DeployKey"; + /** + * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. + * @default always + * @enum {string} + */ + bypass_mode?: "always" | "pull_request" | "exempt"; + }; + /** + * Repository ruleset conditions for ref names + * @description Parameters for a repository ruleset ref name condition + */ + "repository-ruleset-conditions": { + ref_name?: { + /** @description Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. */ + include?: string[]; + /** @description Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + }; + }; + /** + * Repository ruleset conditions for repository names + * @description Parameters for a repository name condition + */ + "repository-ruleset-conditions-repository-name-target": { + repository_name: { + /** @description Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. */ + include?: string[]; + /** @description Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + /** @description Whether renaming of target repositories is prevented. */ + protected?: boolean; + }; + }; + /** + * Repository ruleset conditions for repository IDs + * @description Parameters for a repository ID condition + */ + "repository-ruleset-conditions-repository-id-target": { + repository_id: { + /** @description The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. */ + repository_ids?: number[]; + }; + }; + /** + * Repository ruleset property targeting definition + * @description Parameters for a targeting a repository property + */ + "repository-ruleset-conditions-repository-property-spec": { + /** @description The name of the repository property to target */ + name: string; + /** @description The values to match for the repository property */ + property_values: string[]; + /** + * @description The source of the repository property. Defaults to 'custom' if not specified. + * @enum {string} + */ + source?: "custom" | "system"; + }; + /** + * Repository ruleset conditions for repository properties + * @description Parameters for a repository property condition + */ + "repository-ruleset-conditions-repository-property-target": { + repository_property: { + /** @description The repository properties and values to include. All of these properties must match for the condition to pass. */ + include?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + /** @description The repository properties and values to exclude. The condition will not pass if any of these properties match. */ + exclude?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + }; + }; + /** + * Organization ruleset conditions + * @description Conditions for an organization ruleset. + * The branch and tag rulesets conditions object should contain both `repository_name` and `ref_name` properties, or both `repository_id` and `ref_name` properties, or both `repository_property` and `ref_name` properties. + * The push rulesets conditions object does not require the `ref_name` property. + * For repository policy rulesets, the conditions object should only contain the `repository_name`, the `repository_id`, or the `repository_property`. + */ + "org-ruleset-conditions": + | (components["schemas"]["repository-ruleset-conditions"] & + components["schemas"]["repository-ruleset-conditions-repository-name-target"]) + | (components["schemas"]["repository-ruleset-conditions"] & + components["schemas"]["repository-ruleset-conditions-repository-id-target"]) + | (components["schemas"]["repository-ruleset-conditions"] & + components["schemas"]["repository-ruleset-conditions-repository-property-target"]); + /** + * creation + * @description Only allow users with bypass permission to create matching refs. + */ + "repository-rule-creation": { + /** @enum {string} */ + type: "creation"; + }; + /** + * update + * @description Only allow users with bypass permission to update matching refs. + */ + "repository-rule-update": { + /** @enum {string} */ + type: "update"; + parameters?: { + /** @description Branch can pull changes from its upstream repository */ + update_allows_fetch_and_merge: boolean; + }; + }; + /** + * deletion + * @description Only allow users with bypass permissions to delete matching refs. + */ + "repository-rule-deletion": { + /** @enum {string} */ + type: "deletion"; + }; + /** + * required_linear_history + * @description Prevent merge commits from being pushed to matching refs. + */ + "repository-rule-required-linear-history": { + /** @enum {string} */ + type: "required_linear_history"; + }; + /** + * merge_queue + * @description Merges must be performed via a merge queue. + */ + "repository-rule-merge-queue": { + /** @enum {string} */ + type: "merge_queue"; + parameters?: { + /** @description Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed */ + check_response_timeout_minutes: number; + /** + * @description When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. + * @enum {string} + */ + grouping_strategy: "ALLGREEN" | "HEADGREEN"; + /** @description Limit the number of queued pull requests requesting checks and workflow runs at the same time. */ + max_entries_to_build: number; + /** @description The maximum number of PRs that will be merged together in a group. */ + max_entries_to_merge: number; + /** + * @description Method to use when merging changes from queued pull requests. + * @enum {string} + */ + merge_method: "MERGE" | "SQUASH" | "REBASE"; + /** @description The minimum number of PRs that will be merged together in a group. */ + min_entries_to_merge: number; + /** @description The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged. */ + min_entries_to_merge_wait_minutes: number; + }; + }; + /** + * required_deployments + * @description Choose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule. + */ + "repository-rule-required-deployments": { + /** @enum {string} */ + type: "required_deployments"; + parameters?: { + /** @description The environments that must be successfully deployed to before branches can be merged. */ + required_deployment_environments: string[]; + }; + }; + /** + * required_signatures + * @description Commits pushed to matching refs must have verified signatures. + */ + "repository-rule-required-signatures": { + /** @enum {string} */ + type: "required_signatures"; + }; + /** + * Reviewer + * @description A required reviewing team + */ + "repository-rule-params-reviewer": { + /** @description ID of the reviewer which must review changes to matching files. */ + id: number; + /** + * @description The type of the reviewer + * @enum {string} + */ + type: "Team"; + }; + /** + * RequiredReviewerConfiguration + * @description A reviewing team, and file patterns describing which files they must approve changes to. + */ + "repository-rule-params-required-reviewer-configuration": { + /** @description Array of file patterns. Pull requests which change matching files must be approved by the specified team. File patterns use the same syntax as `.gitignore` files. */ + file_patterns: string[]; + /** @description Minimum number of approvals required from the specified team. If set to zero, the team will be added to the pull request but approval is optional. */ + minimum_approvals: number; + reviewer: components["schemas"]["repository-rule-params-reviewer"]; + }; + /** + * pull_request + * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. + */ + "repository-rule-pull-request": { + /** @enum {string} */ + type: "pull_request"; + parameters?: { + /** @description Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled. */ + allowed_merge_methods?: ("merge" | "squash" | "rebase")[]; + /** @description Request Copilot code review for new pull requests automatically if the author has access to Copilot code review. */ + automatic_copilot_code_review_enabled?: boolean; + /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ + dismiss_stale_reviews_on_push: boolean; + /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ + require_code_owner_review: boolean; + /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ + require_last_push_approval: boolean; + /** @description The number of approving reviews that are required before a pull request can be merged. */ + required_approving_review_count: number; + /** @description All conversations on code must be resolved before a pull request can be merged. */ + required_review_thread_resolution: boolean; + }; + }; + /** + * StatusCheckConfiguration + * @description Required status check + */ + "repository-rule-params-status-check-configuration": { + /** @description The status check context name that must be present on the commit. */ + context: string; + /** @description The optional integration ID that this status check must originate from. */ + integration_id?: number; + }; + /** + * required_status_checks + * @description Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. + */ + "repository-rule-required-status-checks": { + /** @enum {string} */ + type: "required_status_checks"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @description Status checks that are required. */ + required_status_checks: components["schemas"]["repository-rule-params-status-check-configuration"][]; + /** @description Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. */ + strict_required_status_checks_policy: boolean; + }; + }; + /** + * non_fast_forward + * @description Prevent users with push access from force pushing to refs. + */ + "repository-rule-non-fast-forward": { + /** @enum {string} */ + type: "non_fast_forward"; + }; + /** + * commit_message_pattern + * @description Parameters to be used for the commit_message_pattern rule + */ + "repository-rule-commit-message-pattern": { + /** @enum {string} */ + type: "commit_message_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * commit_author_email_pattern + * @description Parameters to be used for the commit_author_email_pattern rule + */ + "repository-rule-commit-author-email-pattern": { + /** @enum {string} */ + type: "commit_author_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * committer_email_pattern + * @description Parameters to be used for the committer_email_pattern rule + */ + "repository-rule-committer-email-pattern": { + /** @enum {string} */ + type: "committer_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * branch_name_pattern + * @description Parameters to be used for the branch_name_pattern rule + */ + "repository-rule-branch-name-pattern": { + /** @enum {string} */ + type: "branch_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * tag_name_pattern + * @description Parameters to be used for the tag_name_pattern rule + */ + "repository-rule-tag-name-pattern": { + /** @enum {string} */ + type: "tag_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * file_path_restriction + * @description Prevent commits that include changes in specified file and folder paths from being pushed to the commit graph. This includes absolute paths that contain file names. + */ + "repository-rule-file-path-restriction": { + /** @enum {string} */ + type: "file_path_restriction"; + parameters?: { + /** @description The file paths that are restricted from being pushed to the commit graph. */ + restricted_file_paths: string[]; + }; + }; + /** + * max_file_path_length + * @description Prevent commits that include file paths that exceed the specified character limit from being pushed to the commit graph. + */ + "repository-rule-max-file-path-length": { + /** @enum {string} */ + type: "max_file_path_length"; + parameters?: { + /** @description The maximum amount of characters allowed in file paths. */ + max_file_path_length: number; + }; + }; + /** + * file_extension_restriction + * @description Prevent commits that include files with specified file extensions from being pushed to the commit graph. + */ + "repository-rule-file-extension-restriction": { + /** @enum {string} */ + type: "file_extension_restriction"; + parameters?: { + /** @description The file extensions that are restricted from being pushed to the commit graph. */ + restricted_file_extensions: string[]; + }; + }; + /** + * max_file_size + * @description Prevent commits with individual files that exceed the specified limit from being pushed to the commit graph. + */ + "repository-rule-max-file-size": { + /** @enum {string} */ + type: "max_file_size"; + parameters?: { + /** @description The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). */ + max_file_size: number; + }; + }; + /** + * RestrictedCommits + * @description Restricted commit + */ + "repository-rule-params-restricted-commits": { + /** @description Full or abbreviated commit hash to reject */ + oid: string; + /** @description Reason for restriction */ + reason?: string; + }; + /** + * WorkflowFileReference + * @description A workflow that must run for this rule to pass + */ + "repository-rule-params-workflow-file-reference": { + /** @description The path to the workflow file */ + path: string; + /** @description The ref (branch or tag) of the workflow file to use */ + ref?: string; + /** @description The ID of the repository where the workflow is defined */ + repository_id: number; + /** @description The commit SHA of the workflow file to use */ + sha?: string; + }; + /** + * workflows + * @description Require all changes made to a targeted branch to pass the specified workflows before they can be merged. + */ + "repository-rule-workflows": { + /** @enum {string} */ + type: "workflows"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @description Workflows that must pass for this rule to pass. */ + workflows: components["schemas"]["repository-rule-params-workflow-file-reference"][]; + }; + }; + /** + * CodeScanningTool + * @description A tool that must provide code scanning results for this rule to pass. + */ + "repository-rule-params-code-scanning-tool": { + /** + * @description The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + alerts_threshold: "none" | "errors" | "errors_and_warnings" | "all"; + /** + * @description The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + security_alerts_threshold: + | "none" + | "critical" + | "high_or_higher" + | "medium_or_higher" + | "all"; + /** @description The name of a code scanning tool */ + tool: string; + }; + /** + * code_scanning + * @description Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated. + */ + "repository-rule-code-scanning": { + /** @enum {string} */ + type: "code_scanning"; + parameters?: { + /** @description Tools that must provide code scanning results for this rule to pass. */ + code_scanning_tools: components["schemas"]["repository-rule-params-code-scanning-tool"][]; + }; + }; + /** + * copilot_code_review + * @description Request Copilot code review for new pull requests automatically if the author has access to Copilot code review. + */ + "repository-rule-copilot-code-review": { + /** @enum {string} */ + type: "copilot_code_review"; + parameters?: { + /** @description Copilot automatically reviews draft pull requests before they are marked as ready for review. */ + review_draft_pull_requests?: boolean; + /** @description Copilot automatically reviews each new push to the pull request. */ + review_on_push?: boolean; + }; + }; + /** + * Repository Rule + * @description A repository rule. + */ + "repository-rule": + | components["schemas"]["repository-rule-creation"] + | components["schemas"]["repository-rule-update"] + | components["schemas"]["repository-rule-deletion"] + | components["schemas"]["repository-rule-required-linear-history"] + | components["schemas"]["repository-rule-merge-queue"] + | components["schemas"]["repository-rule-required-deployments"] + | components["schemas"]["repository-rule-required-signatures"] + | components["schemas"]["repository-rule-pull-request"] + | components["schemas"]["repository-rule-required-status-checks"] + | components["schemas"]["repository-rule-non-fast-forward"] + | components["schemas"]["repository-rule-commit-message-pattern"] + | components["schemas"]["repository-rule-commit-author-email-pattern"] + | components["schemas"]["repository-rule-committer-email-pattern"] + | components["schemas"]["repository-rule-branch-name-pattern"] + | components["schemas"]["repository-rule-tag-name-pattern"] + | components["schemas"]["repository-rule-file-path-restriction"] + | components["schemas"]["repository-rule-max-file-path-length"] + | components["schemas"]["repository-rule-file-extension-restriction"] + | components["schemas"]["repository-rule-max-file-size"] + | components["schemas"]["repository-rule-workflows"] + | components["schemas"]["repository-rule-code-scanning"] + | components["schemas"]["repository-rule-copilot-code-review"]; + /** + * Repository ruleset + * @description A set of rules to apply when specified conditions are met. + */ + "repository-ruleset": { + /** @description The ID of the ruleset */ + id: number; + /** @description The name of the ruleset */ + name: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + /** + * @description The type of the source of the ruleset + * @enum {string} + */ + source_type?: "Repository" | "Organization" | "Enterprise"; + /** @description The name of the source */ + source: string; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + /** + * @description The bypass type of the user making the API request for this ruleset. This field is only returned when + * querying the repository-level endpoint. + * @enum {string} + */ + current_user_can_bypass?: + | "always" + | "pull_requests_only" + | "never" + | "exempt"; + node_id?: string; + _links?: { + self?: { + /** @description The URL of the ruleset */ + href?: string; + }; + html?: { + /** @description The html URL of the ruleset */ + href?: string; + } | null; + }; + conditions?: + | ( + | components["schemas"]["repository-ruleset-conditions"] + | components["schemas"]["org-ruleset-conditions"] + ) + | null; + rules?: components["schemas"]["repository-rule"][]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** + * Repository Rule + * @description A repository rule. + */ + "org-rules": + | components["schemas"]["repository-rule-creation"] + | components["schemas"]["repository-rule-update"] + | components["schemas"]["repository-rule-deletion"] + | components["schemas"]["repository-rule-required-linear-history"] + | components["schemas"]["repository-rule-required-deployments"] + | components["schemas"]["repository-rule-required-signatures"] + | components["schemas"]["repository-rule-pull-request"] + | components["schemas"]["repository-rule-required-status-checks"] + | components["schemas"]["repository-rule-non-fast-forward"] + | components["schemas"]["repository-rule-commit-message-pattern"] + | components["schemas"]["repository-rule-commit-author-email-pattern"] + | components["schemas"]["repository-rule-committer-email-pattern"] + | components["schemas"]["repository-rule-branch-name-pattern"] + | components["schemas"]["repository-rule-tag-name-pattern"] + | components["schemas"]["repository-rule-file-path-restriction"] + | components["schemas"]["repository-rule-max-file-path-length"] + | components["schemas"]["repository-rule-file-extension-restriction"] + | components["schemas"]["repository-rule-max-file-size"] + | components["schemas"]["repository-rule-workflows"] + | components["schemas"]["repository-rule-code-scanning"]; + /** + * Rule Suites + * @description Response + */ + "rule-suites": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number; + /** @description The handle for the GitHub user account. */ + actor_name?: string; + /** @description The first commit sha before the push evaluation. */ + before_sha?: string; + /** @description The last commit sha in the push evaluation. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + * @enum {string} + */ + evaluation_result?: "pass" | "fail" | "bypass"; + }[]; + /** + * Rule Suite + * @description Response + */ + "rule-suite": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number | null; + /** @description The handle for the GitHub user account. */ + actor_name?: string | null; + /** @description The previous commit SHA of the ref. */ + before_sha?: string; + /** @description The new commit SHA of the ref. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run. + * @enum {string|null} + */ + evaluation_result?: "pass" | "fail" | "bypass" | null; + /** @description Details on the evaluated rules. */ + rule_evaluations?: { + rule_source?: { + /** @description The type of rule source. */ + type?: string; + /** @description The ID of the rule source. */ + id?: number | null; + /** @description The name of the rule source. */ + name?: string | null; + }; + /** + * @description The enforcement level of this rule source. + * @enum {string} + */ + enforcement?: "active" | "evaluate" | "deleted ruleset"; + /** + * @description The result of the evaluation of the individual rule. + * @enum {string} + */ + result?: "pass" | "fail"; + /** @description The type of rule. */ + rule_type?: string; + /** @description The detailed failure message for the rule. Null if the rule passed. */ + details?: string | null; + }[]; + }; + /** + * Ruleset version + * @description The historical version of a ruleset + */ + "ruleset-version": { + /** @description The ID of the previous version of the ruleset */ + version_id: number; + /** @description The actor who updated the ruleset */ + actor: { + id?: number; + type?: string; + }; + /** Format: date-time */ + updated_at: string; + }; + "ruleset-version-with-state": components["schemas"]["ruleset-version"] & { + /** @description The state of the ruleset version */ + state: Record; + }; + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "nullable-alert-updated-at": string | null; + /** + * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + * @enum {string} + */ + "secret-scanning-alert-state": "open" | "resolved"; + /** + * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution": + | "false_positive" + | "wont_fix" + | "revoked" + | "used_in_tests" + | null; + /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ + "secret-scanning-location-commit": { + /** + * @description The file path in the repository + * @example /example/secrets.txt + */ + path: string; + /** @description Line number at which the secret starts in the file */ + start_line: number; + /** @description Line number at which the secret ends in the file */ + end_line: number; + /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ + end_column: number; + /** + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + blob_sha: string; + /** @description The API URL to get the associated blob resource */ + blob_url: string; + /** + * @description SHA-1 hash ID of the associated commit + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + commit_sha: string; + /** @description The API URL to get the associated commit resource */ + commit_url: string; + }; + /** @description Represents a 'wiki_commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository wiki. */ + "secret-scanning-location-wiki-commit": { + /** + * @description The file path of the wiki page + * @example /example/Home.md + */ + path: string; + /** @description Line number at which the secret starts in the file */ + start_line: number; + /** @description Line number at which the secret ends in the file */ + end_line: number; + /** @description The column at which the secret starts within the start line when the file is interpreted as 8-bit ASCII. */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8-bit ASCII. */ + end_column: number; + /** + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + blob_sha: string; + /** + * @description The GitHub URL to get the associated wiki page + * @example https://github.com/octocat/Hello-World/wiki/Home/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + page_url: string; + /** + * @description SHA-1 hash ID of the associated commit + * @example 302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + commit_sha: string; + /** + * @description The GitHub URL to get the associated wiki commit + * @example https://github.com/octocat/Hello-World/wiki/_compare/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + commit_url: string; + }; + /** @description Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. */ + "secret-scanning-location-issue-title": { + /** + * Format: uri + * @description The API URL to get the issue where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_title_url: string; + }; + /** @description Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. */ + "secret-scanning-location-issue-body": { + /** + * Format: uri + * @description The API URL to get the issue where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_body_url: string; + }; + /** @description Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. */ + "secret-scanning-location-issue-comment": { + /** + * Format: uri + * @description The API URL to get the issue comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 + */ + issue_comment_url: string; + }; + /** @description Represents a 'discussion_title' secret scanning location type. This location type shows that a secret was detected in the title of a discussion. */ + "secret-scanning-location-discussion-title": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082 + */ + discussion_title_url: string; + }; + /** @description Represents a 'discussion_body' secret scanning location type. This location type shows that a secret was detected in the body of a discussion. */ + "secret-scanning-location-discussion-body": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussion-4566270 + */ + discussion_body_url: string; + }; + /** @description Represents a 'discussion_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a discussion. */ + "secret-scanning-location-discussion-comment": { + /** + * Format: uri + * @description The API URL to get the discussion comment where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussioncomment-4158232 + */ + discussion_comment_url: string; + }; + /** @description Represents a 'pull_request_title' secret scanning location type. This location type shows that a secret was detected in the title of a pull request. */ + "secret-scanning-location-pull-request-title": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846 + */ + pull_request_title_url: string; + }; + /** @description Represents a 'pull_request_body' secret scanning location type. This location type shows that a secret was detected in the body of a pull request. */ + "secret-scanning-location-pull-request-body": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846 + */ + pull_request_body_url: string; + }; + /** @description Represents a 'pull_request_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a pull request. */ + "secret-scanning-location-pull-request-comment": { + /** + * Format: uri + * @description The API URL to get the pull request comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 + */ + pull_request_comment_url: string; + }; + /** @description Represents a 'pull_request_review' secret scanning location type. This location type shows that a secret was detected in a review on a pull request. */ + "secret-scanning-location-pull-request-review": { + /** + * Format: uri + * @description The API URL to get the pull request review where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846/reviews/80 + */ + pull_request_review_url: string; + }; + /** @description Represents a 'pull_request_review_comment' secret scanning location type. This location type shows that a secret was detected in a review comment on a pull request. */ + "secret-scanning-location-pull-request-review-comment": { + /** + * Format: uri + * @description The API URL to get the pull request review comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/12 + */ + pull_request_review_comment_url: string; + }; + /** @description Details on the location where the token was initially detected. This can be a commit, wiki commit, issue, discussion, pull request. */ + "nullable-secret-scanning-first-detected-location": + | components["schemas"]["secret-scanning-location-commit"] + | components["schemas"]["secret-scanning-location-wiki-commit"] + | components["schemas"]["secret-scanning-location-issue-title"] + | components["schemas"]["secret-scanning-location-issue-body"] + | components["schemas"]["secret-scanning-location-issue-comment"] + | components["schemas"]["secret-scanning-location-discussion-title"] + | components["schemas"]["secret-scanning-location-discussion-body"] + | components["schemas"]["secret-scanning-location-discussion-comment"] + | components["schemas"]["secret-scanning-location-pull-request-title"] + | components["schemas"]["secret-scanning-location-pull-request-body"] + | components["schemas"]["secret-scanning-location-pull-request-comment"] + | components["schemas"]["secret-scanning-location-pull-request-review"] + | components["schemas"]["secret-scanning-location-pull-request-review-comment"] + | null; + "organization-secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + repository?: components["schemas"]["simple-repository"]; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** @description The comment that was optionally added when this alert was closed */ + resolution_comment?: string | null; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @description Whether the secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories in the same organization or enterprise. */ + multi_repo?: boolean | null; + /** @description A boolean value representing whether or not alert is base64 encoded */ + is_base64_encoded?: boolean | null; + first_location_detected?: components["schemas"]["nullable-secret-scanning-first-detected-location"]; + /** @description A boolean value representing whether or not the token in the alert was detected in more than one location. */ + has_more_locations?: boolean; + assigned_to?: components["schemas"]["nullable-simple-user"]; + }; + /** @description The version of the entity. This is used to confirm you're updating the current version of the entity and mitigate unintentionally overriding someone else's update. */ + "secret-scanning-row-version": string | null; + "secret-scanning-pattern-override": { + /** @description The ID of the pattern. */ + token_type?: string; + /** @description The version of this pattern if it's a custom pattern. */ + custom_pattern_version?: string | null; + /** @description The slug of the pattern. */ + slug?: string; + /** @description The user-friendly name for the pattern. */ + display_name?: string; + /** @description The total number of alerts generated by this pattern. */ + alert_total?: number; + /** @description The percentage of all alerts that this pattern represents, rounded to the nearest integer. */ + alert_total_percentage?: number; + /** @description The number of false positive alerts generated by this pattern. */ + false_positives?: number; + /** @description The percentage of alerts from this pattern that are false positives, rounded to the nearest integer. */ + false_positive_rate?: number; + /** @description The percentage of blocks for this pattern that were bypassed, rounded to the nearest integer. */ + bypass_rate?: number; + /** + * @description The default push protection setting for this pattern. + * @enum {string} + */ + default_setting?: "disabled" | "enabled"; + /** + * @description The push protection setting for this pattern set at the enterprise level. Only present for partner patterns when the organization has a parent enterprise. + * @enum {string|null} + */ + enterprise_setting?: "not-set" | "disabled" | "enabled" | null; + /** + * @description The current push protection setting for this pattern. If this is `not-set`, then it inherits either the enterprise setting if it exists or the default setting. + * @enum {string} + */ + setting?: "not-set" | "disabled" | "enabled"; + }; + /** + * Secret scanning pattern configuration + * @description A collection of secret scanning patterns and their settings related to push protection. + */ + "secret-scanning-pattern-configuration": { + pattern_config_version?: components["schemas"]["secret-scanning-row-version"]; + /** @description Overrides for partner patterns. */ + provider_pattern_overrides?: components["schemas"]["secret-scanning-pattern-override"][]; + /** @description Overrides for custom patterns defined by the organization. */ + custom_pattern_overrides?: components["schemas"]["secret-scanning-pattern-override"][]; + }; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + "repository-advisory-vulnerability": { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions: string[] | null; + }; + /** @description A credit given to a user for a repository security advisory. */ + "repository-advisory-credit": { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + /** + * @description The state of the user's acceptance of the credit. + * @enum {string} + */ + state: "accepted" | "declined" | "pending"; + }; + /** @description A repository security advisory. */ + "repository-advisory": { + /** @description The GitHub Security Advisory ID. */ + ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id: string | null; + /** + * Format: uri + * @description The API URL for the advisory. + */ + url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + html_url: string; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; + /** + * @description The severity of the advisory. + * @enum {string|null} + */ + severity: "critical" | "high" | "medium" | "low" | null; + /** @description The author of the advisory. */ + author: components["schemas"]["simple-user"] | null; + /** @description The publisher of the advisory. */ + publisher: components["schemas"]["simple-user"] | null; + identifiers: readonly { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[]; + /** + * @description The state of the advisory. + * @enum {string} + */ + state: "published" | "closed" | "withdrawn" | "draft" | "triage"; + /** + * Format: date-time + * @description The date and time of when the advisory was created, in ISO 8601 format. + */ + created_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + updated_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was closed, in ISO 8601 format. + */ + closed_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + withdrawn_at: string | null; + submission: { + /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ + readonly accepted: boolean; + } | null; + vulnerabilities: + | components["schemas"]["repository-advisory-vulnerability"][] + | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + score: number | null; + } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; + cwes: + | readonly { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + name: string; + }[] + | null; + /** @description A list of only the CWE IDs. */ + cwe_ids: string[] | null; + credits: + | { + /** @description The username of the user credited. */ + login?: string; + type?: components["schemas"]["security-advisory-credit-types"]; + }[] + | null; + credits_detailed: + | readonly components["schemas"]["repository-advisory-credit"][] + | null; + /** @description A list of users that collaborate on the advisory. */ + collaborating_users: components["schemas"]["simple-user"][] | null; + /** @description A list of teams that collaborate on the advisory. */ + collaborating_teams: components["schemas"]["team"][] | null; + /** @description A temporary private fork of the advisory's repository for collaborating on a fix. */ + private_fork: components["schemas"]["simple-repository"] | null; + }; + "actions-billing-usage": { + /** @description The sum of the free and paid GitHub Actions minutes used. */ + total_minutes_used: number; + /** @description The total paid GitHub Actions minutes used. */ + total_paid_minutes_used: number; + /** @description The amount of free GitHub Actions minutes available. */ + included_minutes: number; + minutes_used_breakdown: { + /** @description Total minutes used on Ubuntu runner machines. */ + UBUNTU?: number; + /** @description Total minutes used on macOS runner machines. */ + MACOS?: number; + /** @description Total minutes used on Windows runner machines. */ + WINDOWS?: number; + /** @description Total minutes used on Ubuntu 4 core runner machines. */ + ubuntu_4_core?: number; + /** @description Total minutes used on Ubuntu 8 core runner machines. */ + ubuntu_8_core?: number; + /** @description Total minutes used on Ubuntu 16 core runner machines. */ + ubuntu_16_core?: number; + /** @description Total minutes used on Ubuntu 32 core runner machines. */ + ubuntu_32_core?: number; + /** @description Total minutes used on Ubuntu 64 core runner machines. */ + ubuntu_64_core?: number; + /** @description Total minutes used on Windows 4 core runner machines. */ + windows_4_core?: number; + /** @description Total minutes used on Windows 8 core runner machines. */ + windows_8_core?: number; + /** @description Total minutes used on Windows 16 core runner machines. */ + windows_16_core?: number; + /** @description Total minutes used on Windows 32 core runner machines. */ + windows_32_core?: number; + /** @description Total minutes used on Windows 64 core runner machines. */ + windows_64_core?: number; + /** @description Total minutes used on macOS 12 core runner machines. */ + macos_12_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; + }; + }; + "packages-billing-usage": { + /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ + total_gigabytes_bandwidth_used: number; + /** @description Total paid storage space (GB) for GitHuub Packages. */ + total_paid_gigabytes_bandwidth_used: number; + /** @description Free storage space (GB) for GitHub Packages. */ + included_gigabytes_bandwidth: number; + }; + "combined-billing-usage": { + /** @description Numbers of days left in billing cycle. */ + days_left_in_billing_cycle: number; + /** @description Estimated storage space (GB) used in billing cycle. */ + estimated_paid_storage_for_month: number; + /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ + estimated_storage_for_month: number; + }; + /** + * Check immutable releases organization settings + * @description Check immutable releases settings for an organization. + */ + "immutable-releases-organization-settings": { + /** + * @description The policy that controls how immutable releases are enforced in the organization. + * @example all + * @enum {string} + */ + enforced_repositories: "all" | "none" | "selected"; + /** @description The API URL to use to get or set the selected repositories for immutable releases enforcement, when `enforced_repositories` is set to `selected`. */ + selected_repositories_url?: string; + }; + /** + * Hosted compute network configuration + * @description A hosted compute network configuration. + */ + "network-configuration": { + /** + * @description The unique identifier of the network configuration. + * @example 123ABC456DEF789 + */ + id: string; + /** + * @description The name of the network configuration. + * @example my-network-configuration + */ + name: string; + /** + * @description The hosted compute service the network configuration supports. + * @enum {string} + */ + compute_service?: "none" | "actions" | "codespaces"; + /** + * @description The unique identifier of each network settings in the configuration. + * @example 123ABC456DEF789 + */ + network_settings_ids?: string[]; + /** + * Format: date-time + * @description The time at which the network configuration was created, in ISO 8601 format. + * @example 2024-04-26T11:31:07Z + */ + created_on: string | null; + }; + /** + * Hosted compute network settings resource + * @description A hosted compute network settings resource. + */ + "network-settings": { + /** + * @description The unique identifier of the network settings resource. + * @example 220F78DACB92BBFBC5E6F22DE1CCF52309D + */ + id: string; + /** + * @description The identifier of the network configuration that is using this settings resource. + * @example 934E208B3EE0BD60CF5F752C426BFB53562 + */ + network_configuration_id?: string; + /** + * @description The name of the network settings resource. + * @example my-network-settings + */ + name: string; + /** + * @description The subnet this network settings resource is configured for. + * @example /subscriptions/14839728-3ad9-43ab-bd2b-fa6ad0f75e2a/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/my-subnet + */ + subnet_id: string; + /** + * @description The location of the subnet this network settings resource is configured for. + * @example eastus + */ + region: string; + }; + /** + * Team Organization + * @description Team Organization + */ + "team-organization": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** + * Format: uri + * @example https://github.com/blog + */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** + * Format: email + * @example octocat@github.com + */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** + * Format: email + * @example org@example.com + */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; + }; + /** + * @description The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. + * @example cn=Enterprise Ops,ou=teams,dc=github,dc=com + */ + "ldap-dn": string; + /** + * Full Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-full": { + /** + * @description Unique identifier of the team + * @example 42 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * @description Name of the team + * @example Developers + */ + name: string; + /** @example justice-league */ + slug: string; + /** @example A great team. */ + description: string | null; + /** + * @description The level of privacy this team should have + * @example closed + * @enum {string} + */ + privacy?: "closed" | "secret"; + /** + * @description The notification setting the team has set + * @example notifications_enabled + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description Permission that the team will have for its repositories + * @example push + */ + permission: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + parent?: components["schemas"]["nullable-team-simple"]; + /** @example 3 */ + members_count: number; + /** @example 10 */ + repos_count: number; + /** + * Format: date-time + * @example 2017-07-14T16:53:42Z + */ + created_at: string; + /** + * Format: date-time + * @example 2017-08-17T12:37:15Z + */ + updated_at: string; + organization: components["schemas"]["team-organization"]; + ldap_dn?: components["schemas"]["ldap-dn"]; + /** + * @description The ownership type of the team + * @enum {string} + */ + type: "enterprise" | "organization"; + /** + * @description Unique identifier of the organization to which this team belongs + * @example 37 + */ + organization_id?: number; + /** + * @description Unique identifier of the enterprise to which this team belongs + * @example 42 + */ + enterprise_id?: number; + }; + /** + * Team Discussion + * @description A team discussion is a persistent record of a free-form conversation within a team. + */ + "team-discussion": { + author: components["schemas"]["nullable-simple-user"]; + /** + * @description The main text of the discussion. + * @example Please suggest improvements to our workflow in comments. + */ + body: string; + /** @example

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

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

Do you like apples?

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

comment body

" */ + body_html?: string; + /** @example "comment body" */ + body_text?: string; + }; + /** + * Timeline Line Commented Event + * @description Timeline Line Commented Event + */ + "timeline-line-commented-event": { + event?: string; + node_id?: string; + comments?: components["schemas"]["pull-request-review-comment"][]; + }; + /** + * Timeline Commit Commented Event + * @description Timeline Commit Commented Event + */ + "timeline-commit-commented-event": { + event?: string; + node_id?: string; + commit_id?: string; + comments?: components["schemas"]["commit-comment"][]; + }; + /** + * Timeline Assigned Issue Event + * @description Timeline Assigned Issue Event + */ + "timeline-assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * Timeline Unassigned Issue Event + * @description Timeline Unassigned Issue Event + */ + "timeline-unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * State Change Issue Event + * @description State Change Issue Event + */ + "state-change-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + state_reason?: string | null; + }; + /** + * Timeline Event + * @description Timeline Event + */ + "timeline-issue-events": + | components["schemas"]["labeled-issue-event"] + | components["schemas"]["unlabeled-issue-event"] + | components["schemas"]["milestoned-issue-event"] + | components["schemas"]["demilestoned-issue-event"] + | components["schemas"]["renamed-issue-event"] + | components["schemas"]["review-requested-issue-event"] + | components["schemas"]["review-request-removed-issue-event"] + | components["schemas"]["review-dismissed-issue-event"] + | components["schemas"]["locked-issue-event"] + | components["schemas"]["added-to-project-issue-event"] + | components["schemas"]["moved-column-in-project-issue-event"] + | components["schemas"]["removed-from-project-issue-event"] + | components["schemas"]["converted-note-to-issue-issue-event"] + | components["schemas"]["timeline-comment-event"] + | components["schemas"]["timeline-cross-referenced-event"] + | components["schemas"]["timeline-committed-event"] + | components["schemas"]["timeline-reviewed-event"] + | components["schemas"]["timeline-line-commented-event"] + | components["schemas"]["timeline-commit-commented-event"] + | components["schemas"]["timeline-assigned-issue-event"] + | components["schemas"]["timeline-unassigned-issue-event"] + | components["schemas"]["state-change-issue-event"]; + /** + * Deploy Key + * @description An SSH key granting access to a single repository. + */ + "deploy-key": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + added_by?: string | null; + /** Format: date-time */ + last_used?: string | null; + enabled?: boolean; + }; + /** + * Language + * @description Language + */ + language: { + [key: string]: number; + }; + /** + * License Content + * @description License Content + */ + "license-content": { + name: string; + path: string; + sha: string; + size: number; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + download_url: string | null; + type: string; + content: string; + encoding: string; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + license: components["schemas"]["nullable-license-simple"]; + }; + /** + * Merged upstream + * @description Results of a successful merge upstream request + */ + "merged-upstream": { + message?: string; + /** @enum {string} */ + merge_type?: "merge" | "fast-forward" | "none"; + base_branch?: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + */ + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; + /** + * @description The number of the milestone. + * @example 42 + */ + number: number; + /** + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** + * @description The title of the milestone. + * @example v1.0 + */ + title: string; + /** @example Tracking milestone for version 1.0 */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2013-02-12T13:22:01Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2012-10-09T23:39:01Z + */ + due_on: string | null; + }; + /** Pages Source Hash */ + "pages-source-hash": { + branch: string; + path: string; + }; + /** Pages Https Certificate */ + "pages-https-certificate": { + /** + * @example approved + * @enum {string} + */ + state: + | "new" + | "authorization_created" + | "authorization_pending" + | "authorized" + | "authorization_revoked" + | "issued" + | "uploaded" + | "approved" + | "errored" + | "bad_authz" + | "destroy_pending" + | "dns_changed"; + /** @example Certificate is approved */ + description: string; + /** + * @description Array of the domain set and its alternate name (if it is configured) + * @example [ + * "example.com", + * "www.example.com" + * ] + */ + domains: string[]; + /** Format: date */ + expires_at?: string; + }; + /** + * GitHub Pages + * @description The configuration for GitHub Pages for a repository. + */ + page: { + /** + * Format: uri + * @description The API address for accessing this Page resource. + * @example https://api.github.com/repos/github/hello-world/pages + */ + url: string; + /** + * @description The status of the most recent build of the Page. + * @example built + * @enum {string|null} + */ + status: "built" | "building" | "errored" | null; + /** + * @description The Pages site's custom domain + * @example example.com + */ + cname: string | null; + /** + * @description The state if the domain is verified + * @example pending + * @enum {string|null} + */ + protected_domain_state?: "pending" | "verified" | "unverified" | null; + /** + * Format: date-time + * @description The timestamp when a pending domain becomes unverified. + */ + pending_domain_unverified_at?: string | null; + /** + * @description Whether the Page has a custom 404 page. + * @default false + * @example false + */ + custom_404: boolean; + /** + * Format: uri + * @description The web address the Page can be accessed from. + * @example https://example.com + */ + html_url?: string; + /** + * @description The process in which the Page will be built. + * @example legacy + * @enum {string|null} + */ + build_type?: "legacy" | "workflow" | null; + source?: components["schemas"]["pages-source-hash"]; + /** + * @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. + * @example true + */ + public: boolean; + https_certificate?: components["schemas"]["pages-https-certificate"]; + /** + * @description Whether https is enabled on the domain + * @example true + */ + https_enforced?: boolean; + }; + /** + * Page Build + * @description Page Build + */ + "page-build": { + /** Format: uri */ + url: string; + status: string; + error: { + message: string | null; + }; + pusher: components["schemas"]["nullable-simple-user"]; + commit: string; + duration: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Page Build Status + * @description Page Build Status + */ + "page-build-status": { + /** + * Format: uri + * @example https://api.github.com/repos/github/hello-world/pages/builds/latest + */ + url: string; + /** @example queued */ + status: string; + }; + /** + * GitHub Pages + * @description The GitHub Pages deployment status. + */ + "page-deployment": { + /** @description The ID of the GitHub Pages deployment. This is the Git SHA of the deployed commit. */ + id: number | string; + /** + * Format: uri + * @description The URI to monitor GitHub Pages deployment status. + * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251 + */ + status_url: string; + /** + * Format: uri + * @description The URI to the deployed GitHub Pages. + * @example hello-world.github.io + */ + page_url: string; + /** + * Format: uri + * @description The URI to the deployed GitHub Pages preview. + * @example monalisa-1231a2312sa32-23sda74.drafts.github.io + */ + preview_url?: string; + }; + /** GitHub Pages deployment status */ + "pages-deployment-status": { + /** + * @description The current status of the deployment. + * @enum {string} + */ + status?: + | "deployment_in_progress" + | "syncing_files" + | "finished_file_sync" + | "updating_pages" + | "purging_cdn" + | "deployment_cancelled" + | "deployment_failed" + | "deployment_content_failed" + | "deployment_attempt_error" + | "deployment_lost" + | "succeed"; + }; + /** + * Pages Health Check Status + * @description Pages Health Check Status + */ + "pages-health-check": { + domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + }; + alt_domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + } | null; + }; + /** + * Pull Request + * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. + */ + "pull-request": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 + */ + url: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347 + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.patch + */ + patch_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + */ + commits_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + */ + review_comments_url: string; + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ + review_comment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + */ + comments_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + statuses_url: string; + /** + * @description Number uniquely identifying the pull request within its repository. + * @example 42 + */ + number: number; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** @example true */ + locked: boolean; + /** + * @description The title of the pull request. + * @example Amazing new feature + */ + title: string; + user: components["schemas"]["simple-user"]; + /** @example Please pull these awesome changes */ + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string | null; + color: string; + default: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + /** @example too heated */ + active_lock_reason?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + merged_at: string | null; + /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team-simple"][] | null; + head: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["simple-user"]; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** + * @description Indicates whether or not the pull request is a draft. + * @example false + */ + draft?: boolean; + merged: boolean; + /** @example true */ + mergeable: boolean | null; + /** @example true */ + rebaseable?: boolean | null; + /** @example clean */ + mergeable_state: string; + merged_by: components["schemas"]["nullable-simple-user"]; + /** @example 10 */ + comments: number; + /** @example 0 */ + review_comments: number; + /** + * @description Indicates whether maintainers can modify the pull request. + * @example true + */ + maintainer_can_modify: boolean; + /** @example 3 */ + commits: number; + /** @example 100 */ + additions: number; + /** @example 3 */ + deletions: number; + /** @example 5 */ + changed_files: number; + }; + /** + * Pull Request Merge Result + * @description Pull Request Merge Result + */ + "pull-request-merge-result": { + sha: string; + merged: boolean; + message: string; + }; + /** + * Pull Request Review Request + * @description Pull Request Review Request + */ + "pull-request-review-request": { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + }; + /** + * Pull Request Review + * @description Pull Request Reviews are reviews on pull requests. + */ + "pull-request-review": { + /** + * Format: int64 + * @description Unique identifier of the review + * @example 42 + */ + id: number; + /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description The text of the review. + * @example This looks great. + */ + body: string; + /** @example CHANGES_REQUESTED */ + state: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 + */ + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** Format: date-time */ + submitted_at?: string; + /** + * @description A commit SHA for the review. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 + */ + commit_id: string | null; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Legacy Review Comment + * @description Legacy Review Comment + */ + "review-comment": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + url: string; + /** + * Format: int64 + * @example 42 + */ + pull_request_review_id: number | null; + /** + * Format: int64 + * @example 10 + */ + id: number; + /** @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw */ + node_id: string; + /** @example @@ -16,33 +16,40 @@ public class Connection : IConnection... */ + diff_hunk: string; + /** @example file1.txt */ + path: string; + /** @example 1 */ + position: number | null; + /** @example 4 */ + original_position: number; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_id: string; + /** @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 */ + original_commit_id: string; + /** @example 8 */ + in_reply_to_id?: number; + user: components["schemas"]["nullable-simple-user"]; + /** @example Great stuff */ + body: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: components["schemas"]["link"]; + html: components["schemas"]["link"]; + pull_request: components["schemas"]["link"]; + }; + body_text?: string; + body_html?: string; + reactions?: components["schemas"]["reaction-rollup"]; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side?: "LEFT" | "RIGHT" | null; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + line?: number; + /** + * @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + original_line?: number; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + start_line?: number | null; + /** + * @description The original first line of the range for a multi-line comment. + * @example 2 + */ + original_start_line?: number | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + }; + /** + * Release Asset + * @description Data related to a release. + */ + "release-asset": { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** + * @description The file name of the asset. + * @example Team Environment + */ + name: string; + label: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded" | "open"; + content_type: string; + size: number; + digest: string | null; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + uploader: components["schemas"]["nullable-simple-user"]; + }; + /** + * Release + * @description A release. + */ + release: { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** + * @description The name of the tag. + * @example v1.0.0 + */ + tag_name: string; + /** + * @description Specifies the commitish value that determines where the Git tag is created from. + * @example master + */ + target_commitish: string; + name: string | null; + body?: string | null; + /** + * @description true to create a draft (unpublished) release, false to create a published one. + * @example false + */ + draft: boolean; + /** + * @description Whether to identify the release as a prerelease or a full release. + * @example false + */ + prerelease: boolean; + /** + * @description Whether or not the release is immutable. + * @example false + */ + immutable?: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + /** Format: date-time */ + updated_at?: string | null; + author: components["schemas"]["simple-user"]; + assets: components["schemas"]["release-asset"][]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** + * Format: uri + * @description The URL of the release discussion. + */ + discussion_url?: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Generated Release Notes Content + * @description Generated name and body describing a release + */ + "release-notes-content": { + /** + * @description The generated name of the release + * @example Release v1.0.0 is now available! + */ + name: string; + /** @description The generated body describing the contents of the release supporting markdown formatting */ + body: string; + }; + /** + * repository ruleset data for rule + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + "repository-rule-ruleset-info": { + /** + * @description The type of source for the ruleset that includes this rule. + * @enum {string} + */ + ruleset_source_type?: "Repository" | "Organization"; + /** @description The name of the source of the ruleset that includes this rule. */ + ruleset_source?: string; + /** @description The ID of the ruleset that includes this rule. */ + ruleset_id?: number; + }; + /** + * Repository Rule + * @description A repository rule with ruleset details. + */ + "repository-rule-detailed": + | (components["schemas"]["repository-rule-creation"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-update"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-deletion"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-linear-history"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-merge-queue"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-deployments"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-signatures"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-pull-request"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-status-checks"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-non-fast-forward"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-commit-message-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-commit-author-email-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-committer-email-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-branch-name-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-tag-name-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-file-path-restriction"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-max-file-path-length"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-file-extension-restriction"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-max-file-size"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-workflows"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-code-scanning"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-copilot-code-review"] & + components["schemas"]["repository-rule-ruleset-info"]); + "secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @description Whether the detected secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories under the same organization or enterprise. */ + multi_repo?: boolean | null; + /** @description A boolean value representing whether or not alert is base64 encoded */ + is_base64_encoded?: boolean | null; + first_location_detected?: components["schemas"]["nullable-secret-scanning-first-detected-location"]; + /** @description A boolean value representing whether or not the token in the alert was detected in more than one location. */ + has_more_locations?: boolean; + assigned_to?: components["schemas"]["nullable-simple-user"]; + }; + /** @description An optional comment when closing or reopening an alert. Cannot be updated or deleted. */ + "secret-scanning-alert-resolution-comment": string | null; + "secret-scanning-location": { + /** + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues, pull requests, discussions), this field identifies the type of resource where the secret was found. + * @example commit + * @enum {string} + */ + type?: + | "commit" + | "wiki_commit" + | "issue_title" + | "issue_body" + | "issue_comment" + | "discussion_title" + | "discussion_body" + | "discussion_comment" + | "pull_request_title" + | "pull_request_body" + | "pull_request_comment" + | "pull_request_review" + | "pull_request_review_comment"; + details?: + | components["schemas"]["secret-scanning-location-commit"] + | components["schemas"]["secret-scanning-location-wiki-commit"] + | components["schemas"]["secret-scanning-location-issue-title"] + | components["schemas"]["secret-scanning-location-issue-body"] + | components["schemas"]["secret-scanning-location-issue-comment"] + | components["schemas"]["secret-scanning-location-discussion-title"] + | components["schemas"]["secret-scanning-location-discussion-body"] + | components["schemas"]["secret-scanning-location-discussion-comment"] + | components["schemas"]["secret-scanning-location-pull-request-title"] + | components["schemas"]["secret-scanning-location-pull-request-body"] + | components["schemas"]["secret-scanning-location-pull-request-comment"] + | components["schemas"]["secret-scanning-location-pull-request-review"] + | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; + }; + /** + * @description The reason for bypassing push protection. + * @enum {string} + */ + "secret-scanning-push-protection-bypass-reason": + | "false_positive" + | "used_in_tests" + | "will_fix_later"; + "secret-scanning-push-protection-bypass": { + reason?: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + /** + * Format: date-time + * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + expire_at?: string | null; + /** @description The token type this bypass is for. */ + token_type?: string; + }; + /** @description Information on a single scan performed by secret scanning on the repository */ + "secret-scanning-scan": { + /** @description The type of scan */ + type?: string; + /** @description The state of the scan. Either "completed", "running", or "pending" */ + status?: string; + /** + * Format: date-time + * @description The time that the scan was completed. Empty if the scan is running + */ + completed_at?: string | null; + /** + * Format: date-time + * @description The time that the scan was started. Empty if the scan is pending + */ + started_at?: string | null; + }; + "secret-scanning-scan-history": { + incremental_scans?: components["schemas"]["secret-scanning-scan"][]; + pattern_update_scans?: components["schemas"]["secret-scanning-scan"][]; + backfill_scans?: components["schemas"]["secret-scanning-scan"][]; + custom_pattern_backfill_scans?: (components["schemas"]["secret-scanning-scan"] & { + /** @description Name of the custom pattern for custom pattern scans */ + pattern_name?: string; + /** @description Level at which the custom pattern is defined, one of "repository", "organization", or "enterprise" */ + pattern_scope?: string; + })[]; + }; + "repository-advisory-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: + | { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] + | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork?: boolean; + }; + "private-vulnerability-report-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description An array of products affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: + | { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[] + | null; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork?: boolean; + }; + "repository-advisory-update": { + /** @description A short summary of the advisory. */ + summary?: string; + /** @description A detailed description of what the advisory impacts. */ + description?: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: + | { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] + | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description The state of the advisory. + * @enum {string} + */ + state?: "published" | "closed" | "draft"; + /** @description A list of usernames who have been granted write access to the advisory. */ + collaborating_users?: string[] | null; + /** @description A list of team slugs which have been granted write access to the advisory. */ + collaborating_teams?: string[] | null; + }; + /** + * Stargazer + * @description Stargazer + */ + stargazer: { + /** Format: date-time */ + starred_at: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** + * Code Frequency Stat + * @description Code Frequency Stat + */ + "code-frequency-stat": number[]; + /** + * Commit Activity + * @description Commit Activity + */ + "commit-activity": { + /** + * @example [ + * 0, + * 3, + * 26, + * 20, + * 39, + * 1, + * 0 + * ] + */ + days: number[]; + /** @example 89 */ + total: number; + /** @example 1336280400 */ + week: number; + }; + /** + * Contributor Activity + * @description Contributor Activity + */ + "contributor-activity": { + author: components["schemas"]["nullable-simple-user"]; + /** @example 135 */ + total: number; + /** + * @example [ + * { + * "w": "1367712000", + * "a": 6898, + * "d": 77, + * "c": 10 + * } + * ] + */ + weeks: { + w?: number; + a?: number; + d?: number; + c?: number; + }[]; + }; + /** Participation Stats */ + "participation-stats": { + all: number[]; + owner: number[]; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-subscription": { + /** + * @description Determines if notifications should be received from this repository. + * @example true + */ + subscribed: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/subscription + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + }; + /** + * Tag + * @description Tag + */ + tag: { + /** @example v0.1 */ + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/zipball/v0.1 + */ + zipball_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/tarball/v0.1 + */ + tarball_url: string; + node_id: string; + }; + /** + * Tag protection + * @description Tag protection + */ + "tag-protection": { + /** @example 2 */ + id?: number; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + /** @example 2011-01-26T19:01:12Z */ + updated_at?: string; + /** @example true */ + enabled?: boolean; + /** @example v1.* */ + pattern: string; + }; + /** + * Topic + * @description A topic aggregates entities that are related to a subject. + */ + topic: { + names: string[]; + }; + /** Traffic */ + traffic: { + /** Format: date-time */ + timestamp: string; + uniques: number; + count: number; + }; + /** + * Clone Traffic + * @description Clone Traffic + */ + "clone-traffic": { + /** @example 173 */ + count: number; + /** @example 128 */ + uniques: number; + clones: components["schemas"]["traffic"][]; + }; + /** + * Content Traffic + * @description Content Traffic + */ + "content-traffic": { + /** @example /github/hubot */ + path: string; + /** @example github/hubot: A customizable life embetterment robot. */ + title: string; + /** @example 3542 */ + count: number; + /** @example 2225 */ + uniques: number; + }; + /** + * Referrer Traffic + * @description Referrer Traffic + */ + "referrer-traffic": { + /** @example Google */ + referrer: string; + /** @example 4 */ + count: number; + /** @example 3 */ + uniques: number; + }; + /** + * View Traffic + * @description View Traffic + */ + "view-traffic": { + /** @example 14850 */ + count: number; + /** @example 3782 */ + uniques: number; + views: components["schemas"]["traffic"][]; + }; + /** Search Result Text Matches */ + "search-result-text-matches": { + object_url?: string; + object_type?: string | null; + property?: string; + fragment?: string; + matches?: { + text?: string; + indices?: number[]; + }[]; + }[]; + /** + * Code Search Result Item + * @description Code Search Result Item + */ + "code-search-result-item": { + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string; + /** Format: uri */ + html_url: string; + repository: components["schemas"]["minimal-repository"]; + score: number; + file_size?: number; + language?: string | null; + /** Format: date-time */ + last_modified_at?: string; + /** + * @example [ + * "73..77", + * "77..78" + * ] + */ + line_numbers?: string[]; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Commit Search Result Item + * @description Commit Search Result Item + */ + "commit-search-result-item": { + /** Format: uri */ + url: string; + sha: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + comments_url: string; + commit: { + author: { + name: string; + email: string; + /** Format: date-time */ + date: string; + }; + committer: components["schemas"]["nullable-git-user"]; + comment_count: number; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["nullable-simple-user"]; + committer: components["schemas"]["nullable-git-user"]; + parents: { + url?: string; + html_url?: string; + sha?: string; + }[]; + repository: components["schemas"]["minimal-repository"]; + score: number; + node_id: string; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Issue Search Result Item + * @description Issue Search Result Item + */ + "issue-search-result-item": { + /** Format: uri */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + node_id: string; + number: number; + title: string; + locked: boolean; + active_lock_reason?: string | null; + assignees?: components["schemas"]["simple-user"][] | null; + user: components["schemas"]["nullable-simple-user"]; + labels: { + /** Format: int64 */ + id?: number; + node_id?: string; + url?: string; + name?: string; + color?: string; + default?: boolean; + description?: string | null; + }[]; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + state: string; + state_reason?: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + milestone: components["schemas"]["nullable-milestone"]; + comments: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + body?: string; + score: number; + author_association: components["schemas"]["author-association"]; + draft?: boolean; + repository?: components["schemas"]["repository"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Label Search Result Item + * @description Label Search Result Item + */ + "label-search-result-item": { + id: number; + node_id: string; + /** Format: uri */ + url: string; + name: string; + color: string; + default: boolean; + description: string | null; + score: number; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Repo Search Result Item + * @description Repo Search Result Item + */ + "repo-search-result-item": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["nullable-simple-user"]; + private: boolean; + /** Format: uri */ + html_url: string; + description: string | null; + fork: boolean; + /** Format: uri */ + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + pushed_at: string; + /** Format: uri */ + homepage: string | null; + size: number; + stargazers_count: number; + watchers_count: number; + language: string | null; + forks_count: number; + open_issues_count: number; + master_branch?: string; + default_branch: string; + score: number; + /** Format: uri */ + forks_url: string; + keys_url: string; + collaborators_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri */ + hooks_url: string; + issue_events_url: string; + /** Format: uri */ + events_url: string; + assignees_url: string; + branches_url: string; + /** Format: uri */ + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + /** Format: uri */ + merges_url: string; + archive_url: string; + /** Format: uri */ + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + /** Format: uri */ + deployments_url: string; + git_url: string; + ssh_url: string; + clone_url: string; + /** Format: uri */ + svn_url: string; + forks: number; + open_issues: number; + watchers: number; + topics?: string[]; + /** Format: uri */ + mirror_url: string | null; + has_issues: boolean; + has_projects: boolean; + has_pages: boolean; + has_wiki: boolean; + has_downloads: boolean; + has_discussions?: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + license: components["schemas"]["nullable-license-simple"]; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + text_matches?: components["schemas"]["search-result-text-matches"]; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_forking?: boolean; + is_template?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** + * Topic Search Result Item + * @description Topic Search Result Item + */ + "topic-search-result-item": { + name: string; + display_name: string | null; + short_description: string | null; + description: string | null; + created_by: string | null; + released: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + featured: boolean; + curated: boolean; + score: number; + repository_count?: number | null; + /** Format: uri */ + logo_url?: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + related?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + aliases?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + }; + /** + * User Search Result Item + * @description User Search Result Item + */ + "user-search-result-item": { + login: string; + /** Format: int64 */ + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + score: number; + following_url: string; + gists_url: string; + starred_url: string; + events_url: string; + public_repos?: number; + public_gists?: number; + followers?: number; + following?: number; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + name?: string | null; + bio?: string | null; + /** Format: email */ + email?: string | null; + location?: string | null; + site_admin: boolean; + hireable?: boolean | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + blog?: string | null; + company?: string | null; + /** Format: date-time */ + suspended_at?: string | null; + user_view_type?: string; + }; + /** + * Private User + * @description Private User + */ + "private-user": { + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + user_view_type?: string; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example monalisa octocat */ + name: string | null; + /** @example GitHub */ + company: string | null; + /** @example https://github.com/blog */ + blog: string | null; + /** @example San Francisco */ + location: string | null; + /** + * Format: email + * @example octocat@github.com + */ + email: string | null; + /** + * Format: email + * @example octocat@github.com + */ + notification_email?: string | null; + hireable: boolean | null; + /** @example There once was... */ + bio: string | null; + /** @example monalisa */ + twitter_username?: string | null; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + updated_at: string; + /** @example 81 */ + private_gists: number; + /** @example 100 */ + total_private_repos: number; + /** @example 100 */ + owned_private_repos: number; + /** @example 10000 */ + disk_usage: number; + /** @example 8 */ + collaborators: number; + /** @example true */ + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + business_plus?: boolean; + ldap_dn?: string; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME + */ + name: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + * @example https://api.github.com/user/secrets/SECRET_NAME/repositories + */ + selected_repositories_url: string; + }; + /** + * CodespacesUserPublicKey + * @description The public key used for setting user Codespaces' Secrets. + */ + "codespaces-user-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + }; + /** + * Fetches information about an export of a codespace. + * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest + */ + "codespace-export-details": { + /** + * @description State of the latest export + * @example succeeded | failed | in_progress + */ + state?: string | null; + /** + * Format: date-time + * @description Completion time of the last export operation + * @example 2021-01-01T19:01:12Z + */ + completed_at?: string | null; + /** + * @description Name of the exported branch + * @example codespace-monalisa-octocat-hello-world-g4wpq6h95q + */ + branch?: string | null; + /** + * @description Git commit SHA of the exported branch + * @example fd95a81ca01e48ede9f39c799ecbcef817b8a3b2 + */ + sha?: string | null; + /** + * @description Id for the export details + * @example latest + */ + id?: string; + /** + * @description Url for fetching export details + * @example https://api.github.com/user/codespaces/:name/exports/latest + */ + export_url?: string; + /** + * @description Web url for the exported branch + * @example https://github.com/octocat/hello-world/tree/:branch + */ + html_url?: string | null; + }; + /** + * Codespace + * @description A codespace. + */ + "codespace-with-full-repository": { + /** + * Format: int64 + * @example 1 + */ + id: number; + /** + * @description Automatically generated name of this codespace. + * @example monalisa-octocat-hello-world-g4wpq6h95q + */ + name: string; + /** + * @description Display name for this codespace. + * @example bookish space pancake + */ + display_name?: string | null; + /** + * @description UUID identifying this codespace's environment. + * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 + */ + environment_id: string | null; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["full-repository"]; + machine: components["schemas"]["nullable-codespace-machine"]; + /** + * @description Path to devcontainer.json from repo root used to create Codespace. + * @example .devcontainer/example/devcontainer.json + */ + devcontainer_path?: string | null; + /** + * @description Whether the codespace was created from a prebuild. + * @example false + */ + prebuild: boolean | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @description Last known time this codespace was started. + * @example 2011-01-26T19:01:12Z + */ + last_used_at: string; + /** + * @description State of this codespace. + * @example Available + * @enum {string} + */ + state: + | "Unknown" + | "Created" + | "Queued" + | "Provisioning" + | "Available" + | "Awaiting" + | "Unavailable" + | "Deleted" + | "Moved" + | "Shutdown" + | "Archived" + | "Starting" + | "ShuttingDown" + | "Failed" + | "Exporting" + | "Updating" + | "Rebuilding"; + /** + * Format: uri + * @description API URL for this codespace. + */ + url: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** + * @description The number of commits the local repository is ahead of the remote. + * @example 0 + */ + ahead?: number; + /** + * @description The number of commits the local repository is behind the remote. + * @example 0 + */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** + * @description The current branch (or SHA if in detached HEAD state) of the local repository. + * @example main + */ + ref?: string; + }; + /** + * @description The initally assigned location of a new codespace. + * @example WestUs2 + * @enum {string} + */ + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; + /** + * @description The number of minutes of inactivity after which this codespace will be automatically stopped. + * @example 60 + */ + idle_timeout_minutes: number | null; + /** + * Format: uri + * @description URL to access this codespace on the web. + */ + web_url: string; + /** + * Format: uri + * @description API URL to access available alternate machine types for this codespace. + */ + machines_url: string; + /** + * Format: uri + * @description API URL to start this codespace. + */ + start_url: string; + /** + * Format: uri + * @description API URL to stop this codespace. + */ + stop_url: string; + /** + * Format: uri + * @description API URL to publish this codespace to a new repository. + */ + publish_url?: string | null; + /** + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. + */ + pulls_url: string | null; + recent_folders: string[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: string[] | null; + }; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: boolean | null; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: string | null; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: string | null; + /** + * @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). + * @example 60 + */ + retention_period_minutes?: number | null; + /** + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + * @example 2011-01-26T20:01:12Z + */ + retention_expires_at?: string | null; + }; + /** + * Email + * @description Email + */ + email: { + /** + * Format: email + * @example octocat@github.com + */ + email: string; + /** @example true */ + primary: boolean; + /** @example true */ + verified: boolean; + /** @example public */ + visibility: string | null; + }; + /** + * GPG Key + * @description A unique encryption key + */ + "gpg-key": { + /** + * Format: int64 + * @example 3 + */ + id: number; + /** @example Octocat's GPG Key */ + name?: string | null; + primary_key_id: number | null; + /** @example 3262EFF25BA0D270 */ + key_id: string; + /** @example xsBNBFayYZ... */ + public_key: string; + /** + * @example [ + * { + * "email": "octocat@users.noreply.github.com", + * "verified": true + * } + * ] + */ + emails: { + email?: string; + verified?: boolean; + }[]; + /** + * @example [ + * { + * "id": 4, + * "primary_key_id": 3, + * "key_id": "4A595D4C72EE49C7", + * "public_key": "zsBNBFayYZ...", + * "emails": [], + * "can_sign": false, + * "can_encrypt_comms": true, + * "can_encrypt_storage": true, + * "can_certify": false, + * "created_at": "2016-03-24T11:31:04-06:00", + * "expires_at": null, + * "revoked": false + * } + * ] + */ + subkeys: { + /** Format: int64 */ + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: { + email?: string; + verified?: boolean; + }[]; + subkeys?: unknown[]; + can_sign?: boolean; + can_encrypt_comms?: boolean; + can_encrypt_storage?: boolean; + can_certify?: boolean; + created_at?: string; + expires_at?: string | null; + raw_key?: string | null; + revoked?: boolean; + }[]; + /** @example true */ + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + /** @example true */ + can_certify: boolean; + /** + * Format: date-time + * @example 2016-03-24T11:31:04-06:00 + */ + created_at: string; + /** Format: date-time */ + expires_at: string | null; + /** @example true */ + revoked: boolean; + raw_key: string | null; + }; + /** + * Key + * @description Key + */ + key: { + key: string; + /** Format: int64 */ + id: number; + url: string; + title: string; + /** Format: date-time */ + created_at: string; + verified: boolean; + read_only: boolean; + /** Format: date-time */ + last_used?: string | null; + }; + /** Marketplace Account */ + "marketplace-account": { + /** Format: uri */ + url: string; + id: number; + type: string; + node_id?: string; + login: string; + /** Format: email */ + email?: string | null; + /** Format: email */ + organization_billing_email?: string | null; + }; + /** + * User Marketplace Purchase + * @description User Marketplace Purchase + */ + "user-marketplace-purchase": { + /** @example monthly */ + billing_cycle: string; + /** + * Format: date-time + * @example 2017-11-11T00:00:00Z + */ + next_billing_date: string | null; + unit_count: number | null; + /** @example true */ + on_free_trial: boolean; + /** + * Format: date-time + * @example 2017-11-11T00:00:00Z + */ + free_trial_ends_on: string | null; + /** + * Format: date-time + * @example 2017-11-02T01:12:12Z + */ + updated_at: string | null; + account: components["schemas"]["marketplace-account"]; + plan: components["schemas"]["marketplace-listing-plan"]; + }; + /** + * Social account + * @description Social media account + */ + "social-account": { + /** @example linkedin */ + provider: string; + /** @example https://www.linkedin.com/company/github/ */ + url: string; + }; + /** + * SSH Signing Key + * @description A public SSH key used to sign Git commits + */ + "ssh-signing-key": { + key: string; + id: number; + title: string; + /** Format: date-time */ + created_at: string; + }; + /** + * Starred Repository + * @description Starred Repository + */ + "starred-repository": { + /** Format: date-time */ + starred_at: string; + repo: components["schemas"]["repository"]; + }; + /** + * Hovercard + * @description Hovercard + */ + hovercard: { + contexts: { + message: string; + octicon: string; + }[]; + }; + /** + * Key Simple + * @description Key Simple + */ + "key-simple": { + id: number; + key: string; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + last_used?: string | null; + }; + "billing-premium-request-usage-report-user": { + timePeriod: { + /** @description The year for the usage report. */ + year: number; + /** @description The month for the usage report. */ + month?: number; + /** @description The day for the usage report. */ + day?: number; + }; + /** @description The unique identifier of the user. */ + user: string; + /** @description The product for the usage report. */ + product?: string; + /** @description The model for the usage report. */ + model?: string; + usageItems: { + /** @description Product name. */ + product: string; + /** @description SKU name. */ + sku: string; + /** @description Model name. */ + model: string; + /** @description Unit type of the usage line item. */ + unitType: string; + /** @description Price per unit of the usage line item. */ + pricePerUnit: number; + /** @description Gross quantity of the usage line item. */ + grossQuantity: number; + /** @description Gross amount of the usage line item. */ + grossAmount: number; + /** @description Discount quantity of the usage line item. */ + discountQuantity: number; + /** @description Discount amount of the usage line item. */ + discountAmount: number; + /** @description Net quantity of the usage line item. */ + netQuantity: number; + /** @description Net amount of the usage line item. */ + netAmount: number; + }[]; + }; + "billing-usage-report-user": { + usageItems?: { + /** @description Date of the usage line item. */ + date: string; + /** @description Product name. */ + product: string; + /** @description SKU name. */ + sku: string; + /** @description Quantity of the usage line item. */ + quantity: number; + /** @description Unit type of the usage line item. */ + unitType: string; + /** @description Price per unit of the usage line item. */ + pricePerUnit: number; + /** @description Gross amount of the usage line item. */ + grossAmount: number; + /** @description Discount amount of the usage line item. */ + discountAmount: number; + /** @description Net amount of the usage line item. */ + netAmount: number; + /** @description Name of the repository. */ + repositoryName?: string; + }[]; + }; + /** + * Enterprise + * @description An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + * on an enterprise account or an organization that's part of an enterprise account. For more information, + * see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + */ + "enterprise-webhooks": { + /** @description A short description of the enterprise. */ + description?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** + * @description Unique identifier of the enterprise + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the enterprise. + * @example Octo Business + */ + name: string; + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ + slug: string; + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }; + /** + * Simple Installation + * @description The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + * for and sent to a GitHub App. For more information, + * see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + */ + "simple-installation": { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + /** + * @description The global node ID of the installation. + * @example MDQ6VXNlcjU4MzIzMQ== + */ + node_id: string; + }; + /** + * Organization Simple + * @description A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + * organization, or when the event occurs from activity in a repository owned by an organization. + */ + "organization-simple-webhooks": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + }; + /** + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. + */ + "repository-webhooks": { + /** + * Format: int64 + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + webhooks_rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + /** + * @description The enforcement level of the branch lock setting. `off` means the branch is not locked, `non_admins` means the branch is read-only for non_admins, and `everyone` means the branch is read-only for everyone. + * @enum {string} + */ + lock_branch_enforcement_level: "off" | "non_admins" | "everyone"; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow users to pull changes from upstream when the branch is locked. This setting is only applicable for forks. */ + lock_allows_fork_sync?: boolean; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + /** @description A suite of checks performed on the code of a given code change */ + "simple-check-suite": { + /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ + after?: string | null; + app?: components["schemas"]["integration"]; + /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ + before?: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion?: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + | "stale" + | "startup_failure" + | null; + /** Format: date-time */ + created_at?: string; + /** @example master */ + head_branch?: string | null; + /** + * @description The SHA of the head commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha?: string; + /** @example 5 */ + id?: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id?: string; + pull_requests?: components["schemas"]["pull-request-minimal"][]; + repository?: components["schemas"]["minimal-repository"]; + /** + * @example completed + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; + /** Format: date-time */ + updated_at?: string; + /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ + url?: string; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run-with-simple-check-suite": { + app: components["schemas"]["integration"]; + check_suite: components["schemas"]["simple-check-suite"]; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + completed_at: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: + | "waiting" + | "pending" + | "startup_failure" + | "stale" + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + | null; + deployment?: components["schemas"]["deployment-simple"]; + /** @example https://example.com */ + details_url: string; + /** @example 42 */ + external_id: string; + /** + * @description The SHA of the commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string; + /** + * @description The id of the check. + * @example 21 + */ + id: number; + /** + * @description The name of the check. + * @example test-coverage + */ + name: string; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + output: { + annotations_count: number; + /** Format: uri */ + annotations_url: string; + summary: string | null; + text: string | null; + title: string | null; + }; + pull_requests: components["schemas"]["pull-request-minimal"][]; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + started_at: string; + /** + * @description The phase of the lifecycle that the check is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "pending"; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + webhooks_code_scanning_commit_oid: string; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + webhooks_code_scanning_ref: string; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + webhooks_deploy_pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + webhooks_ref_0: string; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + webhooks_deploy_key: { + added_by?: string | null; + created_at: string; + id: number; + key: string; + last_used?: string | null; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + enabled?: boolean; + }; + /** Workflow */ + webhooks_workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + webhooks_approver: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + webhooks_reviewers: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User"; + }[]; + webhooks_workflow_job_run: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: unknown; + status: string; + updated_at: string; + }; + /** User */ + webhooks_user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + webhooks_answer: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + body: string; + child_comment_count: number; + /** Format: date-time */ + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: unknown; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Discussion + * @description A Discussion in a repository. + */ + discussion: { + active_lock_reason: string | null; + answer_chosen_at: string | null; + /** User */ + answer_chosen_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + answer_html_url: string | null; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** + * @description The current state of the discussion. + * `converting` means that the discussion is being converted from an issue. + * `transferring` means that the discussion is being transferred from another repository. + * @enum {string} + */ + state: "open" | "closed" | "locked" | "converting" | "transferring"; + /** + * @description The reason for the current state + * @example resolved + * @enum {string|null} + */ + state_reason: "resolved" | "outdated" | "duplicate" | "reopened" | null; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + labels?: components["schemas"]["label"][]; + }; + webhooks_comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: number | null; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Label */ + webhooks_label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + /** @description An array of repository objects that the installation can access. */ + webhooks_repositories: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** @description An array of repository objects, which were added to the installation. */ + webhooks_repositories_added: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + webhooks_repository_selection: "all" | "selected"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. + */ + webhooks_issue_comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: components["schemas"]["integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @description The changes to the comment. */ + webhooks_changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + | "pull_request_review_thread" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + webhooks_milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_issue_2: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** User */ + webhooks_user_mannequin: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Marketplace Purchase */ + webhooks_marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date: string | null; + on_free_trial: boolean; + plan: { + bullets: (string | null)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + /** Marketplace Purchase */ + webhooks_previous_marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: + | "notifications_enabled" + | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + /** + * @description The ownership type of the team + * @enum {string} + */ + type: "enterprise" | "organization"; + /** + * @description Unique identifier of the organization to which this team belongs + * @example 37 + */ + organization_id?: number; + /** + * @description Unique identifier of the enterprise to which this team belongs + * @example 42 + */ + enterprise_id?: number; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** @enum {string} */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + /** + * @description The ownership type of the team + * @enum {string} + */ + type?: "enterprise" | "organization"; + /** + * @description Unique identifier of the organization to which this team belongs + * @example 37 + */ + organization_id?: number; + /** + * @description Unique identifier of the enterprise to which this team belongs + * @example 42 + */ + enterprise_id?: number; + }; + /** + * Merge Group + * @description A group of pull requests that the merge queue has grouped together to be merged. + */ + "merge-group": { + /** @description The SHA of the merge group. */ + head_sha: string; + /** @description The full ref of the merge group. */ + head_ref: string; + /** @description The SHA of the merge group's parent commit. */ + base_sha: string; + /** @description The full ref of the branch the merge group will be merged into. */ + base_ref: string; + head_commit: components["schemas"]["simple-commit"]; + }; + /** + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. + */ + "nullable-repository-webhooks": { + /** + * Format: int64 + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + webhooks_milestone_3: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + webhooks_membership: { + /** Format: uri */ + organization_url: string; + role: string; + /** + * @description Whether the user has direct membership in the organization. + * @example true + */ + direct_membership?: boolean; + /** + * @description The slugs of the enterprise teams providing the user with indirect membership in the organization. + * A limit of 100 enterprise team slugs is returned. + * @example [ + * "ent:team-one", + * "ent:team-two" + * ] + */ + enterprise_teams_providing_indirect_membership?: string[]; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Personal Access Token Request + * @description Details of a Personal Access Token Request. + */ + "personal-access-token-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** @description New requested permissions, categorized by type of permission. */ + permissions_added: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ + permissions_upgraded: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ + permissions_result: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repository_count: number | null; + /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repositories: + | { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[] + | null; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** Project Card */ + webhooks_project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** Project */ + webhooks_project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** Project Column */ + webhooks_project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + webhooks_project_changes: { + archived_at?: { + /** Format: date-time */ + from?: string | null; + /** Format: date-time */ + to?: string | null; + }; + }; + /** + * Projects v2 Item + * @description An item belonging to a project + */ + "projects-v2-item": { + /** @description The unique identifier of the project item. */ + id: number; + /** @description The node ID of the project item. */ + node_id?: string; + /** @description The node ID of the project that contains this item. */ + project_node_id?: string; + /** @description The node ID of the content represented by this item. */ + content_node_id: string; + content_type: components["schemas"]["projects-v2-item-content-type"]; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The time when the item was created. + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @description The time when the item was last updated. + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** + * Format: date-time + * @description The time when the item was archived. + * @example 2022-04-28T12:00:00Z + */ + archived_at: string | null; + }; + /** + * Projects v2 Single Select Option + * @description An option for a single select field + */ + "projects-v2-single-select-option": { + /** @description The unique identifier of the option. */ + id: string; + /** @description The display name of the option. */ + name: string; + /** @description The color associated with the option. */ + color?: string | null; + /** @description A short description of the option. */ + description?: string | null; + }; + /** + * Projects v2 Iteration Setting + * @description An iteration setting for an iteration field + */ + "projects-v2-iteration-setting": { + /** @description The unique identifier of the iteration setting. */ + id: string; + /** @description The iteration title. */ + title: string; + /** @description The iteration title, rendered as HTML. */ + title_html?: string; + /** @description The duration of the iteration in days. */ + duration?: number | null; + /** @description The start date of the iteration. */ + start_date?: string | null; + /** @description Whether the iteration has been completed. */ + completed?: boolean; + }; + /** + * Projects v2 Status Update + * @description An status update belonging to a project + */ + "projects-v2-status-update": { + /** @description The unique identifier of the status update. */ + id: number; + /** @description The node ID of the status update. */ + node_id: string; + /** @description The node ID of the project that this status update belongs to. */ + project_node_id?: string; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The time when the status update was created. + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @description The time when the status update was last updated. + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** + * @description The current status. + * @enum {string|null} + */ + status?: + | "INACTIVE" + | "ON_TRACK" + | "AT_RISK" + | "OFF_TRACK" + | "COMPLETE" + | null; + /** + * Format: date + * @description The start date of the period covered by the update. + * @example 2022-04-28 + */ + start_date?: string; + /** + * Format: date + * @description The target date associated with the update. + * @example 2022-04-28 + */ + target_date?: string; + /** + * @description Body of the status update + * @example The project is off to a great start! + */ + body?: string | null; + }; + /** @description The pull request number. */ + webhooks_number: number; + "pull-request-webhook": components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default?: boolean; + }; + /** Pull Request */ + webhooks_pull_request_5: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + webhooks_review_comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @description The review that was affected. */ + webhooks_review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + state: string; + /** Format: date-time */ + submitted_at: string | null; + /** Format: date-time */ + updated_at?: string | null; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + webhooks_nullable_string: string | null; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + webhooks_release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + digest: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + updated_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + /** @description Whether or not the release is immutable. */ + immutable: boolean; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + webhooks_release_1: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + digest: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + } | null)[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + /** @description Whether or not the release is immutable. */ + immutable: boolean; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: date-time */ + updated_at: string | null; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + webhooks_alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open"; + }; + /** + * @description The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution-webhook": + | "false_positive" + | "wont_fix" + | "revoked" + | "used_in_tests" + | "pattern_deleted" + | "pattern_edited" + | null; + "secret-scanning-alert-webhook": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + resolution?: components["schemas"]["secret-scanning-alert-resolution-webhook"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." + */ + secret_type_display_name?: string; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** @description Whether the detected secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories in the same organization or business. */ + multi_repo?: boolean | null; + assigned_to?: components["schemas"]["nullable-simple-user"]; + }; + /** @description The details of the security advisory, including summary, description, and severity. */ + webhooks_security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cvss_severities?: components["schemas"]["cvss-severities"]; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string | null; + }; + webhooks_sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + webhooks_effective_date: string; + webhooks_changes_8: { + tier: { + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + from: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_team_1: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: + | "notifications_enabled" + | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + /** + * @description The ownership type of the team + * @enum {string} + */ + type: "enterprise" | "organization"; + /** + * @description Unique identifier of the organization to which this team belongs + * @example 37 + */ + organization_id?: number; + /** + * @description Unique identifier of the enterprise to which this team belongs + * @example 42 + */ + enterprise_id?: number; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + /** + * @description The ownership type of the team + * @enum {string} + */ + type?: "enterprise" | "organization"; + /** + * @description Unique identifier of the organization to which this team belongs + * @example 37 + */ + organization_id?: number; + /** + * @description Unique identifier of the enterprise to which this team belongs + * @example 42 + */ + enterprise_id?: number; + }; + /** branch protection configuration disabled event */ + "webhook-branch-protection-configuration-disabled": { + /** @enum {string} */ + action: "disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection configuration enabled event */ + "webhook-branch-protection-configuration-enabled": { + /** @enum {string} */ + action: "enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule created event */ + "webhook-branch-protection-rule-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule deleted event */ + "webhook-branch-protection-rule-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule edited event */ + "webhook-branch-protection-rule-edited": { + /** @enum {string} */ + action: "edited"; + /** @description If the action was `edited`, the changes to the rule. */ + changes?: { + admin_enforced?: { + from: boolean | null; + }; + authorized_actor_names?: { + from: string[]; + }; + authorized_actors_only?: { + from: boolean | null; + }; + authorized_dismissal_actors_only?: { + from: boolean | null; + }; + linear_history_requirement_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + lock_branch_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + lock_allows_fork_sync?: { + from: boolean | null; + }; + pull_request_reviews_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + require_last_push_approval?: { + from: boolean | null; + }; + required_status_checks?: { + from: string[]; + }; + required_status_checks_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** Check Run Completed Event */ + "webhook-check-run-completed": { + /** @enum {string} */ + action?: "completed"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Completed Event + * @description The check_run.completed webhook encoded with URL encoding + */ + "webhook-check-run-completed-form-encoded": { + /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Created Event */ + "webhook-check-run-created": { + /** @enum {string} */ + action?: "created"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Created Event + * @description The check_run.created webhook encoded with URL encoding + */ + "webhook-check-run-created-form-encoded": { + /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Requested Action Event */ + "webhook-check-run-requested-action": { + /** @enum {string} */ + action: "requested_action"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** @description The action requested by the user. */ + requested_action?: { + /** @description The integrator reference of the action requested by the user. */ + identifier?: string; + }; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Requested Action Event + * @description The check_run.requested_action webhook encoded with URL encoding + */ + "webhook-check-run-requested-action-form-encoded": { + /** @description A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Re-Requested Event */ + "webhook-check-run-rerequested": { + /** @enum {string} */ + action?: "rerequested"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Re-Requested Event + * @description The check_run.rerequested webhook encoded with URL encoding + */ + "webhook-check-run-rerequested-form-encoded": { + /** @description A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** check_suite completed event */ + "webhook-check-suite-completed": { + /** @enum {string} */ + action: "completed"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "merge_group" + | "pull_request_review_thread" + | "workflow_job" + | "merge_queue_entry" + | "security_and_analysis" + | "projects_v2_item" + | "secret_scanning_alert_location" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The client ID of the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has `completed`. + * @enum {string|null} + */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null + | "skipped" + | "startup_failure"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | null + | "pending"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** check_suite requested event */ + "webhook-check-suite-requested": { + /** @enum {string} */ + action: "requested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "pull_request_review_thread" + | "workflow_job" + | "merge_queue_entry" + | "security_and_analysis" + | "secret_scanning_alert_location" + | "projects_v2_item" + | "merge_group" + | "repository_import" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description Client ID of the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null + | "skipped"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** check_suite rerequested event */ + "webhook-check-suite-rerequested": { + /** @enum {string} */ + action: "rerequested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "pull_request_review_thread" + | "merge_queue_entry" + | "workflow_job" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The Client ID for the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert appeared_in_branch event */ + "webhook-code-scanning-alert-appeared-in-branch": { + /** @enum {string} */ + action: "appeared_in_branch"; + /** @description The code scanning alert involved in the event. */ + alert: { + assignees?: components["schemas"]["simple-user"][]; + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: + | "false positive" + | "won't fix" + | "used in tests" + | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | "fixed" | null; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert closed_by_user event */ + "webhook-code-scanning-alert-closed-by-user": { + /** @enum {string} */ + action: "closed_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + assignees?: components["schemas"]["simple-user"][]; + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: + | "false positive" + | "won't fix" + | "used in tests" + | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "dismissed" | "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + /** User */ + dismissal_approved_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert created event */ + "webhook-code-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string | null; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: unknown; + dismissed_by: unknown; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: unknown; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + } | null; + updated_at?: string | null; + /** Format: uri */ + url: string; + dismissal_approved_by?: unknown; + assignees?: components["schemas"]["simple-user"][]; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert fixed event */ + "webhook-code-scanning-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + /** @description The code scanning alert involved in the event. */ + alert: { + assignees?: components["schemas"]["simple-user"][]; + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: + | "false positive" + | "won't fix" + | "used in tests" + | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Format: uri */ + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "fixed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert reopened event */ + "webhook-code-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + /** @description The code scanning alert involved in the event. */ + alert: { + assignees?: components["schemas"]["simple-user"][]; + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: string | null; + dismissed_by: Record | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: string | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | "fixed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + } | null; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string | null; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert reopened_by_user event */ + "webhook-code-scanning-alert-reopened-by-user": { + /** @enum {string} */ + action: "reopened_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + assignees?: components["schemas"]["simple-user"][]; + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: unknown; + dismissed_by: unknown; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: unknown; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "fixed" | null; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** commit_comment created event */ + "webhook-commit-comment-created": { + /** + * @description The action performed. Can be `created`. + * @enum {string} + */ + action: "created"; + /** @description The [commit comment](${externalDocsUpapp/api/description/components/schemas/webhooks/issue-comment-created.yamlrl}/rest/commits/comments#get-a-commit-comment) resource. */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + created_at: string; + /** Format: uri */ + html_url: string; + /** @description The ID of the commit comment. */ + id: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the commit comment. */ + node_id: string; + /** @description The relative path of the file to which the comment applies. */ + path: string | null; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** create event */ + "webhook-create": { + /** @description The repository's current description. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The name of the repository's default branch (usually `main`). */ + master_branch: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @description The type of Git ref object created in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** custom property created event */ + "webhook-custom-property-created": { + /** @enum {string} */ + action: "created"; + definition: components["schemas"]["custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** custom property deleted event */ + "webhook-custom-property-deleted": { + /** @enum {string} */ + action: "deleted"; + definition: { + /** @description The name of the property that was deleted. */ + property_name: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** custom property promoted to business event */ + "webhook-custom-property-promoted-to-enterprise": { + /** @enum {string} */ + action: "promote_to_enterprise"; + definition: components["schemas"]["custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** custom property updated event */ + "webhook-custom-property-updated": { + /** @enum {string} */ + action: "updated"; + definition: components["schemas"]["custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Custom property values updated event */ + "webhook-custom-property-values-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + repository: components["schemas"]["repository-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + /** @description The new custom property values for the repository. */ + new_property_values: components["schemas"]["custom-property-value"][]; + /** @description The old custom property values for the repository. */ + old_property_values: components["schemas"]["custom-property-value"][]; + }; + /** delete event */ + "webhook-delete": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @description The type of Git ref object deleted in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert auto-dismissed event */ + "webhook-dependabot-alert-auto-dismissed": { + /** @enum {string} */ + action: "auto_dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert auto-reopened event */ + "webhook-dependabot-alert-auto-reopened": { + /** @enum {string} */ + action: "auto_reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert created event */ + "webhook-dependabot-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert dismissed event */ + "webhook-dependabot-alert-dismissed": { + /** @enum {string} */ + action: "dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert fixed event */ + "webhook-dependabot-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert reintroduced event */ + "webhook-dependabot-alert-reintroduced": { + /** @enum {string} */ + action: "reintroduced"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert reopened event */ + "webhook-dependabot-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deploy_key created event */ + "webhook-deploy-key-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + key: components["schemas"]["webhooks_deploy_key"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deploy_key deleted event */ + "webhook-deploy-key-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + key: components["schemas"]["webhooks_deploy_key"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deployment created event */ + "webhook-deployment-created": { + /** @enum {string} */ + action: "created"; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: Record | string; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "workflow_job" + | "pull_request_review_thread" + | "merge_queue_entry" + | "secret_scanning_alert_location" + | "merge_group" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: unknown; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: unknown; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting" + | "pending"; + /** User */ + triggering_actor?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** deployment protection rule requested event */ + "webhook-deployment-protection-rule-requested": { + /** @enum {string} */ + action?: "requested"; + /** @description The name of the environment that has the deployment protection rule. */ + environment?: string; + /** @description The event that triggered the deployment protection rule. */ + event?: string; + /** + * Format: uri + * @description The URL to review the deployment protection rule. + */ + deployment_callback_url?: string; + deployment?: components["schemas"]["deployment"]; + pull_requests?: components["schemas"]["pull-request"][]; + repository?: components["schemas"]["repository-webhooks"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-deployment-review-approved": { + /** @enum {string} */ + action: "approved"; + approver?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + workflow_job_runs?: { + conclusion?: unknown; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting" + | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + "webhook-deployment-review-rejected": { + /** @enum {string} */ + action: "rejected"; + approver?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + workflow_job_runs?: { + conclusion?: string | null; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + "webhook-deployment-review-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + environment: string; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + requestor: components["schemas"]["webhooks_user"]; + reviewers: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @enum {string} */ + type?: "User" | "Team"; + }[]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: string | null; + status: string; + updated_at: string; + }; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting" + | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + /** deployment_status created event */ + "webhook-deployment-status-created": { + /** @enum {string} */ + action: "created"; + check_run?: { + /** Format: date-time */ + completed_at: string | null; + /** + * @description The result of the completed check run. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | "skipped" + | null; + /** Format: uri */ + details_url: string; + external_id: string; + /** @description The SHA of the commit that is being checked. */ + head_sha: string; + /** Format: uri */ + html_url: string; + /** @description The id of the check. */ + id: number; + /** @description The name of the check run. */ + name: string; + node_id: string; + /** Format: date-time */ + started_at: string; + /** + * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; + /** Format: uri */ + url: string; + } | null; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: string | Record | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "merge_queue_entry" + | "workflow_job" + | "pull_request_review_thread" + | "secret_scanning_alert_location" + | "merge_group" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + /** @description The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses). */ + deployment_status: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + deployment_url: string; + /** @description The optional human-readable description added to the status. */ + description: string; + environment: string; + /** Format: uri */ + environment_url?: string; + id: number; + /** Format: uri */ + log_url?: string; + node_id: string; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "pull_request_review_thread" + | "merge_queue_entry" + | "workflow_job" + | "merge_group" + | "secret_scanning_alert_location" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + /** Format: uri */ + repository_url: string; + /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ + state: string; + /** @description The optional link added to the status. */ + target_url: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow?: components["schemas"]["webhooks_workflow"]; + /** Deployment Workflow Run */ + workflow_run?: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null + | "startup_failure"; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: unknown; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: unknown; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting" + | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** discussion answered event */ + "webhook-discussion-answered": { + /** @enum {string} */ + action: "answered"; + answer: components["schemas"]["webhooks_answer"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion category changed event */ + "webhook-discussion-category-changed": { + /** @enum {string} */ + action: "category_changed"; + changes: { + category: { + from: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion closed event */ + "webhook-discussion-closed": { + /** @enum {string} */ + action: "closed"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment created event */ + "webhook-discussion-comment-created": { + /** @enum {string} */ + action: "created"; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment deleted event */ + "webhook-discussion-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment edited event */ + "webhook-discussion-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body: { + from: string; + }; + }; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion created event */ + "webhook-discussion-created": { + /** @enum {string} */ + action: "created"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion deleted event */ + "webhook-discussion-deleted": { + /** @enum {string} */ + action: "deleted"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion edited event */ + "webhook-discussion-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from: string; + }; + title?: { + from: string; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion labeled event */ + "webhook-discussion-labeled": { + /** @enum {string} */ + action: "labeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion locked event */ + "webhook-discussion-locked": { + /** @enum {string} */ + action: "locked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion pinned event */ + "webhook-discussion-pinned": { + /** @enum {string} */ + action: "pinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion reopened event */ + "webhook-discussion-reopened": { + /** @enum {string} */ + action: "reopened"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion transferred event */ + "webhook-discussion-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + new_discussion: components["schemas"]["discussion"]; + new_repository: components["schemas"]["repository-webhooks"]; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unanswered event */ + "webhook-discussion-unanswered": { + /** @enum {string} */ + action: "unanswered"; + discussion: components["schemas"]["discussion"]; + old_answer: components["schemas"]["webhooks_answer"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** discussion unlabeled event */ + "webhook-discussion-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unlocked event */ + "webhook-discussion-unlocked": { + /** @enum {string} */ + action: "unlocked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unpinned event */ + "webhook-discussion-unpinned": { + /** @enum {string} */ + action: "unpinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * fork event + * @description A user forks a repository. + */ + "webhook-fork": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. */ + forkee: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } & { + allow_forking?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + deployments_url?: string; + description?: string | null; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + /** @enum {boolean} */ + fork?: true; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: string | null; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: unknown; + languages_url?: string; + license?: Record | null; + merges_url?: string; + milestones_url?: string; + mirror_url?: unknown; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + public?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: unknown[]; + trees_url?: string; + updated_at?: string; + url?: string; + visibility?: string; + watchers?: number; + watchers_count?: number; + }; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** github_app_authorization revoked event */ + "webhook-github-app-authorization-revoked": { + /** @enum {string} */ + action: "revoked"; + sender: components["schemas"]["simple-user"]; + }; + /** gollum event */ + "webhook-gollum": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The pages that were updated. */ + pages: { + /** + * @description The action that was performed on the page. Can be `created` or `edited`. + * @enum {string} + */ + action: "created" | "edited"; + /** + * Format: uri + * @description Points to the HTML wiki page. + */ + html_url: string; + /** @description The name of the page. */ + page_name: string; + /** @description The latest commit SHA of the page. */ + sha: string; + summary: string | null; + /** @description The current page title. */ + title: string; + }[]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation created event */ + "webhook-installation-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation deleted event */ + "webhook-installation-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** installation new_permissions_accepted event */ + "webhook-installation-new-permissions-accepted": { + /** @enum {string} */ + action: "new_permissions_accepted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** installation_repositories added event */ + "webhook-installation-repositories-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name?: string; + /** @description Unique identifier of the repository */ + id?: number; + /** @description The name of the repository. */ + name?: string; + node_id?: string; + /** @description Whether the repository is private or public. */ + private?: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation_repositories removed event */ + "webhook-installation-repositories-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation suspend event */ + "webhook-installation-suspend": { + /** @enum {string} */ + action: "suspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + "webhook-installation-target-renamed": { + account: { + archived_at?: string | null; + avatar_url: string; + created_at?: string; + description?: unknown; + events_url?: string; + followers?: number; + followers_url?: string; + following?: number; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + has_organization_projects?: boolean; + has_repository_projects?: boolean; + hooks_url?: string; + html_url: string; + id: number; + is_verified?: boolean; + issues_url?: string; + login?: string; + members_url?: string; + name?: string; + node_id: string; + organizations_url?: string; + public_gists?: number; + public_members_url?: string; + public_repos?: number; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + slug?: string; + starred_url?: string; + subscriptions_url?: string; + type?: string; + updated_at?: string; + url?: string; + website_url?: unknown; + user_view_type?: string; + }; + /** @enum {string} */ + action: "renamed"; + changes: { + login?: { + from: string; + }; + slug?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + target_type: string; + }; + /** installation unsuspend event */ + "webhook-installation-unsuspend": { + /** @enum {string} */ + action: "unsuspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment created event */ + "webhook-issue-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. + */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + | "pull_request_review_thread" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment deleted event */ + "webhook-issue-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_issue_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment edited event */ + "webhook-issue-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_issue_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + | "pull_request_review_thread" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** blocked by issue added event */ + "webhook-issue-dependencies-blocked-by-added": { + /** @enum {string} */ + action: "blocked_by_added"; + /** @description The ID of the blocked issue. */ + blocked_issue_id: number; + blocked_issue: components["schemas"]["issue"]; + /** @description The ID of the blocking issue. */ + blocking_issue_id: number; + blocking_issue: components["schemas"]["issue"]; + blocking_issue_repo: components["schemas"]["repository"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** blocked by issue removed event */ + "webhook-issue-dependencies-blocked-by-removed": { + /** @enum {string} */ + action: "blocked_by_removed"; + /** @description The ID of the blocked issue. */ + blocked_issue_id: number; + blocked_issue: components["schemas"]["issue"]; + /** @description The ID of the blocking issue. */ + blocking_issue_id: number; + blocking_issue: components["schemas"]["issue"]; + blocking_issue_repo: components["schemas"]["repository"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** blocking issue added event */ + "webhook-issue-dependencies-blocking-added": { + /** @enum {string} */ + action: "blocking_added"; + /** @description The ID of the blocked issue. */ + blocked_issue_id: number; + blocked_issue: components["schemas"]["issue"]; + blocked_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the blocking issue. */ + blocking_issue_id: number; + blocking_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** blocking issue removed event */ + "webhook-issue-dependencies-blocking-removed": { + /** @enum {string} */ + action: "blocking_removed"; + /** @description The ID of the blocked issue. */ + blocked_issue_id: number; + blocked_issue: components["schemas"]["issue"]; + blocked_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the blocking issue. */ + blocking_issue_id: number; + blocking_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues assigned event */ + "webhook-issues-assigned": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "assigned"; + assignee?: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues closed event */ + "webhook-issues-closed": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "security_and_analysis" + | "reminder" + | "pull_request_review_thread" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (Record | null)[]; + labels_url?: string; + locked?: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "closed" | "open"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues deleted event */ + "webhook-issues-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues demilestoned event */ + "webhook-issues-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + milestone?: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues edited event */ + "webhook-issues-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the issue. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + title?: { + /** @description The previous version of the title. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "security_and_analysis" + | "pull_request_review_thread" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues labeled event */ + "webhook-issues-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "pull_request_review_thread" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues locked event */ + "webhook-issues-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: true; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + | "security_and_analysis" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues milestoned event */ + "webhook-issues-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues opened event */ + "webhook-issues-opened": { + /** @enum {string} */ + action: "opened"; + changes?: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + old_issue: { + /** @enum {string|null} */ + active_lock_reason?: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association?: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body?: string | null; + /** Format: date-time */ + closed_at?: string | null; + comments?: number; + /** Format: uri */ + comments_url?: string; + /** Format: date-time */ + created_at?: string; + draft?: boolean; + /** Format: uri */ + events_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url?: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone?: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id?: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url?: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title?: string; + /** Format: date-time */ + updated_at?: string; + /** + * Format: uri + * @description URL for the issue + */ + url?: string; + /** User */ + user?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + type?: components["schemas"]["issue-type"]; + } | null; + /** + * Repository + * @description A git repository + */ + old_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** @description Whether the repository has discussions enabled. */ + has_discussions?: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require commit signoff. */ + web_commit_signoff_required?: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "security_and_analysis" + | "pull_request_review_thread" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues pinned event */ + "webhook-issues-pinned": { + /** @enum {string} */ + action: "pinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues reopened event */ + "webhook-issues-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "pull_request_review_thread" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + type?: components["schemas"]["issue-type"]; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues transferred event */ + "webhook-issues-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + new_issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Repository + * @description A git repository + */ + new_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues typed event */ + "webhook-issues-typed": { + /** @enum {string} */ + action: "typed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + type: components["schemas"]["issue-type"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unassigned event */ + "webhook-issues-unassigned": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "unassigned"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unlabeled event */ + "webhook-issues-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unlocked event */ + "webhook-issues-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: false; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + issue_dependencies_summary?: components["schemas"]["issue-dependencies-summary"]; + issue_field_values?: components["schemas"]["issue-field-value"][]; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unpinned event */ + "webhook-issues-unpinned": { + /** @enum {string} */ + action: "unpinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues untyped event */ + "webhook-issues-untyped": { + /** @enum {string} */ + action: "untyped"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + type: components["schemas"]["issue-type"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** label created event */ + "webhook-label-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** label deleted event */ + "webhook-label-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** label edited event */ + "webhook-label-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the label if the action was `edited`. */ + changes?: { + color?: { + /** @description The previous version of the color if the action was `edited`. */ + from: string; + }; + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase cancelled event */ + "webhook-marketplace-purchase-cancelled": { + /** @enum {string} */ + action: "cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase changed event */ + "webhook-marketplace-purchase-changed": { + /** @enum {string} */ + action: "changed"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean | null; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase pending_change event */ + "webhook-marketplace-purchase-pending-change": { + /** @enum {string} */ + action: "pending_change"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase pending_change_cancelled event */ + "webhook-marketplace-purchase-pending-change-cancelled": { + /** @enum {string} */ + action: "pending_change_cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Marketplace Purchase */ + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase purchased event */ + "webhook-marketplace-purchase-purchased": { + /** @enum {string} */ + action: "purchased"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member added event */ + "webhook-member-added": { + /** @enum {string} */ + action: "added"; + changes?: { + /** + * @description This field is included for legacy purposes; use the `role_name` field instead. The `maintain` + * role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role + * assigned to the collaborator, use the `role_name` field instead, which will provide the full + * role name, including custom roles. + */ + permission?: { + /** @enum {string} */ + to: "write" | "admin" | "read"; + }; + /** @description The role assigned to the collaborator. */ + role_name?: { + to: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member edited event */ + "webhook-member-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the collaborator permissions */ + changes: { + old_permission?: { + /** @description The previous permissions of the collaborator if the action was edited. */ + from: string; + }; + permission?: { + from?: string | null; + to?: string | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member removed event */ + "webhook-member-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** membership added event */ + "webhook-membership-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + team: components["schemas"]["webhooks_team"]; + }; + /** membership removed event */ + "webhook-membership-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team" | "organization"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + team: components["schemas"]["webhooks_team"]; + }; + "webhook-merge-group-checks-requested": { + /** @enum {string} */ + action: "checks_requested"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-merge-group-destroyed": { + /** @enum {string} */ + action: "destroyed"; + /** + * @description Explains why the merge group is being destroyed. The group could have been merged, removed from the queue (dequeued), or invalidated by an earlier queue entry being dequeued (invalidated). + * @enum {string} + */ + reason?: "merged" | "invalidated" | "dequeued"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** meta deleted event */ + "webhook-meta-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The deleted webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ + hook: { + active: boolean; + config: { + /** @enum {string} */ + content_type: "json" | "form"; + insecure_ssl: string; + secret?: string; + /** Format: uri */ + url: string; + }; + created_at: string; + events: ( + | "*" + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "create" + | "delete" + | "deployment" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "meta" + | "milestone" + | "organization" + | "org_block" + | "package" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "pull_request_review_thread" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_import" + | "repository_vulnerability_alert" + | "secret_scanning_alert" + | "secret_scanning_alert_location" + | "security_and_analysis" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_job" + | "workflow_run" + | "repository_dispatch" + | "projects_v2_item" + )[]; + id: number; + name: string; + type: string; + updated_at: string; + }; + /** @description The id of the modified webhook. */ + hook_id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** milestone closed event */ + "webhook-milestone-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone created event */ + "webhook-milestone-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone_3"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone deleted event */ + "webhook-milestone-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone edited event */ + "webhook-milestone-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the milestone if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + due_on?: { + /** @description The previous version of the due date if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone opened event */ + "webhook-milestone-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone_3"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** org_block blocked event */ + "webhook-org-block-blocked": { + /** @enum {string} */ + action: "blocked"; + blocked_user: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** org_block unblocked event */ + "webhook-org-block-unblocked": { + /** @enum {string} */ + action: "unblocked"; + blocked_user: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization deleted event */ + "webhook-organization-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership?: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization member_added event */ + "webhook-organization-member-added": { + /** @enum {string} */ + action: "member_added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization member_invited event */ + "webhook-organization-member-invited": { + /** @enum {string} */ + action: "member_invited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The invitation for the user or email if the action is `member_invited`. */ + invitation: { + /** Format: date-time */ + created_at: string; + email: string | null; + /** Format: date-time */ + failed_at: string | null; + failed_reason: string | null; + id: number; + /** Format: uri */ + invitation_teams_url: string; + /** User */ + inviter: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + login: string | null; + node_id: string; + role: string; + team_count: number; + invitation_source?: string; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + user?: components["schemas"]["webhooks_user"]; + }; + /** organization member_removed event */ + "webhook-organization-member-removed": { + /** @enum {string} */ + action: "member_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization renamed event */ + "webhook-organization-renamed": { + /** @enum {string} */ + action: "renamed"; + changes?: { + login?: { + from?: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership?: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Ruby Gems metadata */ + "webhook-rubygems-metadata": { + name?: string; + description?: string; + readme?: string; + homepage?: string; + version_info?: { + version?: string; + }; + platform?: string; + metadata?: { + [key: string]: string; + }; + repo?: string; + dependencies?: { + [key: string]: string; + }[]; + commit_oid?: string; + }; + /** package published event */ + "webhook-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string | null; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record | null; + manifest?: Record | null; + tag?: { + digest?: string; + name?: string; + }; + } | null; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: Record | null; + bugs?: Record | null; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: Record | null; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: Record | null; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: Record[]; + contributors?: Record[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: Record | null; + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: + | { + id?: number | string; + name?: string; + value?: OneOf< + [ + boolean, + string, + number, + { + url?: string; + branch?: string; + commit?: string; + type?: string; + }, + ] + >; + }[] + | null; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + source_url?: string; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** package updated event */ + "webhook-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string; + size: number; + state: string; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + /** Format: uri */ + source_url?: string; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** page_build event */ + "webhook-page-build": { + /** @description The [List GitHub Pages builds](https://docs.github.com/rest/pages/pages#list-github-pages-builds) itself. */ + build: { + commit: string | null; + created_at: string; + duration: number; + error: { + message: string | null; + }; + /** User */ + pusher: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + status: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** personal_access_token_request approved event */ + "webhook-personal-access-token-request-approved": { + /** @enum {string} */ + action: "approved"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request cancelled event */ + "webhook-personal-access-token-request-cancelled": { + /** @enum {string} */ + action: "cancelled"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request created event */ + "webhook-personal-access-token-request-created": { + /** @enum {string} */ + action: "created"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation?: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request denied event */ + "webhook-personal-access-token-request-denied": { + /** @enum {string} */ + action: "denied"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + "webhook-ping": { + /** + * Webhook + * @description The webhook that is being pinged + */ + hook?: { + /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ + active: boolean; + /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ + app_id?: number; + config: { + content_type?: components["schemas"]["webhook-config-content-type"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + secret?: components["schemas"]["webhook-config-secret"]; + url?: components["schemas"]["webhook-config-url"]; + }; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + deliveries_url?: string; + /** @description Determines what events the hook is triggered for. Default: ['push']. */ + events: string[]; + /** @description Unique identifier of the webhook. */ + id: number; + last_response?: components["schemas"]["hook-response"]; + /** + * @description The type of webhook. The only valid value is 'web'. + * @enum {string} + */ + name: "web"; + /** Format: uri */ + ping_url?: string; + /** Format: uri */ + test_url?: string; + type: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url?: string; + }; + /** @description The ID of the webhook that triggered the ping. */ + hook_id?: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + /** @description Random string of GitHub zen. */ + zen?: string; + }; + /** @description The webhooks ping payload encoded with URL encoding. */ + "webhook-ping-form-encoded": { + /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** project_card converted event */ + "webhook-project-card-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + note: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card created event */ + "webhook-project-card-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card deleted event */ + "webhook-project-card-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number | null; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card edited event */ + "webhook-project-card-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + note: { + from: string | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card moved event */ + "webhook-project-card-moved": { + /** @enum {string} */ + action: "moved"; + changes?: { + column_id: { + from: number; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } & { + after_id: number | null; + archived?: boolean; + column_id?: number; + column_url?: string; + created_at?: string; + creator?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + } | null; + id?: number; + node_id?: string; + note?: string | null; + project_url?: string; + updated_at?: string; + url?: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project closed event */ + "webhook-project-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_column created event */ + "webhook-project-column-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column deleted event */ + "webhook-project-column-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column edited event */ + "webhook-project-column-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + name?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column moved event */ + "webhook-project-column-moved": { + /** @enum {string} */ + action: "moved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project created event */ + "webhook-project-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project deleted event */ + "webhook-project-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project edited event */ + "webhook-project-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the project if the action was `edited`. */ + changes?: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The changes to the project if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project reopened event */ + "webhook-project-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Closed Event */ + "webhook-projects-v2-project-closed": { + /** @enum {string} */ + action: "closed"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** @description A project was created */ + "webhook-projects-v2-project-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Deleted Event */ + "webhook-projects-v2-project-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Edited Event */ + "webhook-projects-v2-project-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + description?: { + from?: string | null; + to?: string | null; + }; + public?: { + from?: boolean; + to?: boolean; + }; + short_description?: { + from?: string | null; + to?: string | null; + }; + title?: { + from?: string; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Archived Event */ + "webhook-projects-v2-item-archived": { + /** @enum {string} */ + action: "archived"; + changes: components["schemas"]["webhooks_project_changes"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Converted Event */ + "webhook-projects-v2-item-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + content_type?: { + from?: string | null; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Created Event */ + "webhook-projects-v2-item-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Deleted Event */ + "webhook-projects-v2-item-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Edited Event */ + "webhook-projects-v2-item-edited": { + /** @enum {string} */ + action: "edited"; + /** + * @description The changes made to the item may involve modifications in the item's fields and draft issue body. + * It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. + */ + changes?: OneOf< + [ + { + field_value: { + field_node_id?: string; + field_type?: string; + field_name?: string; + project_number?: number; + from?: + | string + | number + | components["schemas"]["projects-v2-single-select-option"] + | components["schemas"]["projects-v2-iteration-setting"] + | null; + to?: + | string + | number + | components["schemas"]["projects-v2-single-select-option"] + | components["schemas"]["projects-v2-iteration-setting"] + | null; + }; + }, + { + body: { + from?: string | null; + to?: string | null; + }; + }, + ] + >; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Reordered Event */ + "webhook-projects-v2-item-reordered": { + /** @enum {string} */ + action: "reordered"; + changes: { + previous_projects_v2_item_node_id?: { + from?: string | null; + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Restored Event */ + "webhook-projects-v2-item-restored": { + /** @enum {string} */ + action: "restored"; + changes: components["schemas"]["webhooks_project_changes"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Reopened Event */ + "webhook-projects-v2-project-reopened": { + /** @enum {string} */ + action: "reopened"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Created Event */ + "webhook-projects-v2-status-update-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Deleted Event */ + "webhook-projects-v2-status-update-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Edited Event */ + "webhook-projects-v2-status-update-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from?: string | null; + to?: string | null; + }; + status?: { + /** @enum {string|null} */ + from?: + | "INACTIVE" + | "ON_TRACK" + | "AT_RISK" + | "OFF_TRACK" + | "COMPLETE" + | null; + /** @enum {string|null} */ + to?: + | "INACTIVE" + | "ON_TRACK" + | "AT_RISK" + | "OFF_TRACK" + | "COMPLETE" + | null; + }; + start_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + target_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** public event */ + "webhook-public": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request assigned event */ + "webhook-pull-request-assigned": { + /** @enum {string} */ + action: "assigned"; + assignee: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request auto_merge_disabled event */ + "webhook-pull-request-auto-merge-disabled": { + /** @enum {string} */ + action: "auto_merge_disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + reason: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request auto_merge_enabled event */ + "webhook-pull-request-auto-merge-enabled": { + /** @enum {string} */ + action: "auto_merge_enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + reason?: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request closed event */ + "webhook-pull-request-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request converted_to_draft event */ + "webhook-pull-request-converted-to-draft": { + /** @enum {string} */ + action: "converted_to_draft"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request demilestoned event */ + "webhook-pull-request-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request dequeued event */ + "webhook-pull-request-dequeued": { + /** @enum {string} */ + action: "dequeued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @enum {string} */ + reason: + | "UNKNOWN_REMOVAL_REASON" + | "MANUAL" + | "MERGE" + | "MERGE_CONFLICT" + | "CI_FAILURE" + | "CI_TIMEOUT" + | "ALREADY_MERGED" + | "QUEUE_CLEARED" + | "ROLL_BACK" + | "BRANCH_PROTECTIONS" + | "GIT_TREE_INVALID" + | "INVALID_MERGE_COMMIT"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request edited event */ + "webhook-pull-request-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the comment if the action was `edited`. */ + changes: { + base?: { + ref: { + from: string; + }; + sha: { + from: string; + }; + }; + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request enqueued event */ + "webhook-pull-request-enqueued": { + /** @enum {string} */ + action: "enqueued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request labeled event */ + "webhook-pull-request-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request locked event */ + "webhook-pull-request-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request milestoned event */ + "webhook-pull-request-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request opened event */ + "webhook-pull-request-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request ready_for_review event */ + "webhook-pull-request-ready-for-review": { + /** @enum {string} */ + action: "ready_for_review"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request reopened event */ + "webhook-pull-request-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment created event */ + "webhook-pull-request-review-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions?: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment deleted event */ + "webhook-pull-request-review-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_review_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment edited event */ + "webhook-pull-request-review-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_review_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + user_view_type?: string; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review dismissed event */ + "webhook-pull-request-review-dismissed": { + /** @enum {string} */ + action: "dismissed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + /** @enum {string} */ + state: "dismissed" | "approved" | "changes_requested"; + /** Format: date-time */ + submitted_at: string; + /** Format: date-time */ + updated_at?: string | null; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review edited event */ + "webhook-pull-request-review-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + review: components["schemas"]["webhooks_review"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request review_request_removed event */ + "webhook-pull-request-review-request-removed": OneOf< + [ + { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title. + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + sender: components["schemas"]["simple-user"]; + }, + { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }; + sender: components["schemas"]["simple-user"]; + }, + ] + >; + /** pull_request review_requested event */ + "webhook-pull-request-review-requested": OneOf< + [ + { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + sender: components["schemas"]["simple-user"]; + }, + { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + sender: components["schemas"]["simple-user"]; + }, + ] + >; + /** pull_request_review submitted event */ + "webhook-pull-request-review-submitted": { + /** @enum {string} */ + action: "submitted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + review: components["schemas"]["webhooks_review"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_thread resolved event */ + "webhook-pull-request-review-thread-resolved": { + /** @enum {string} */ + action: "resolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }[]; + node_id: string; + }; + /** Format: date-time */ + updated_at?: string | null; + }; + /** pull_request_review_thread unresolved event */ + "webhook-pull-request-review-thread-unresolved": { + /** @enum {string} */ + action: "unresolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }[]; + node_id: string; + }; + /** Format: date-time */ + updated_at?: string | null; + }; + /** pull_request synchronize event */ + "webhook-pull-request-synchronize": { + /** @enum {string} */ + action: "synchronize"; + after: string; + before: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request unassigned event */ + "webhook-pull-request-unassigned": { + /** @enum {string} */ + action: "unassigned"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request unlabeled event */ + "webhook-pull-request-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request unlocked event */ + "webhook-pull-request-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** push event */ + "webhook-push": { + /** @description The SHA of the most recent commit on `ref` after the push. */ + after: string; + base_ref: components["schemas"]["webhooks_nullable_string"]; + /** @description The SHA of the most recent commit on `ref` before the push. */ + before: string; + /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 2048 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. */ + commits: { + /** @description An array of files added in the commit. A maximum of 3000 changed files will be reported per commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. A maximum of 3000 changed files will be reported per commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. A maximum of 3000 changed files will be reported per commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + }[]; + /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ + compare: string; + /** @description Whether this push created the `ref`. */ + created: boolean; + /** @description Whether this push deleted the `ref`. */ + deleted: boolean; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description Whether this push was a force push of the `ref`. */ + forced: boolean; + /** Commit */ + head_commit: { + /** @description An array of files added in the commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + pusher: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email?: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ + ref: string; + /** + * Repository + * @description A git repository + */ + repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-registry-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string | null; + description: string | null; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + package_type: string; + package_version: { + author?: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record | null; + manifest?: Record | null; + tag?: { + digest?: string; + name?: string; + }; + }; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: string | Record | null; + bugs?: string | Record | null; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: string | Record | null; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: string | Record | null; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: string[]; + contributors?: string[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: string | Record | null; + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: + | { + id?: string | Record | number | null; + name?: string; + value?: OneOf< + [ + boolean, + string, + number, + { + url?: string; + branch?: string; + commit?: string; + type?: string; + }, + ] + >; + }[] + | null; + package_files: { + content_type: string; + created_at: string; + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + prerelease?: boolean; + published_at?: string; + tag_name?: string; + target_commitish?: string; + url?: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + about_url?: string; + name?: string; + type?: string; + url?: string; + vendor?: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + "webhook-registry-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string; + description: unknown; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + package_type: string; + package_version: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: ({ + tags?: string[]; + } | null)[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type?: string; + created_at?: string; + download_url?: string; + id?: number; + md5?: string | null; + name?: string; + sha1?: string | null; + sha256?: string; + size?: number; + state?: string; + updated_at?: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: Record | null; + updated_at: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release created event */ + "webhook-release-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release deleted event */ + "webhook-release-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release edited event */ + "webhook-release-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + tag_name?: { + /** @description The previous version of the tag_name if the action was `edited`. */ + from: string; + }; + make_latest?: { + /** @description Whether this release was explicitly `edited` to be the latest. */ + to: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release prereleased event */ + "webhook-release-prereleased": { + /** @enum {string} */ + action: "prereleased"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + digest: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + } | null)[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + /** @description Whether or not the release is immutable. */ + immutable: boolean; + name: string | null; + node_id: string; + /** + * @description Whether the release is identified as a prerelease or a full release. + * @enum {boolean} + */ + prerelease: true; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: date-time */ + updated_at: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release published event */ + "webhook-release-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release_1"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release released event */ + "webhook-release-released": { + /** @enum {string} */ + action: "released"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release unpublished event */ + "webhook-release-unpublished": { + /** @enum {string} */ + action: "unpublished"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release_1"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Repository advisory published event */ + "webhook-repository-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Repository advisory reported event */ + "webhook-repository-advisory-reported": { + /** @enum {string} */ + action: "reported"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** repository archived event */ + "webhook-repository-archived": { + /** @enum {string} */ + action: "archived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository created event */ + "webhook-repository-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository deleted event */ + "webhook-repository-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_dispatch event */ + "webhook-repository-dispatch-sample": { + /** @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + action: string; + branch: string; + /** @description The `client_payload` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + client_payload: { + [key: string]: unknown; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository edited event */ + "webhook-repository-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + default_branch?: { + from: string; + }; + description?: { + from: string | null; + }; + homepage?: { + from: string | null; + }; + topics?: { + from?: string[] | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_import event */ + "webhook-repository-import": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @enum {string} */ + status: "success" | "cancelled" | "failure"; + }; + /** repository privatized event */ + "webhook-repository-privatized": { + /** @enum {string} */ + action: "privatized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository publicized event */ + "webhook-repository-publicized": { + /** @enum {string} */ + action: "publicized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository renamed event */ + "webhook-repository-renamed": { + /** @enum {string} */ + action: "renamed"; + changes: { + repository: { + name: { + from: string; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset created event */ + "webhook-repository-ruleset-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset deleted event */ + "webhook-repository-ruleset-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset edited event */ + "webhook-repository-ruleset-edited": { + /** @enum {string} */ + action: "edited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + changes?: { + name?: { + from?: string; + }; + enforcement?: { + from?: string; + }; + conditions?: { + added?: components["schemas"]["repository-ruleset-conditions"][]; + deleted?: components["schemas"]["repository-ruleset-conditions"][]; + updated?: { + condition?: components["schemas"]["repository-ruleset-conditions"]; + changes?: { + condition_type?: { + from?: string; + }; + target?: { + from?: string; + }; + include?: { + from?: string[]; + }; + exclude?: { + from?: string[]; + }; + }; + }[]; + }; + rules?: { + added?: components["schemas"]["repository-rule"][]; + deleted?: components["schemas"]["repository-rule"][]; + updated?: { + rule?: components["schemas"]["repository-rule"]; + changes?: { + configuration?: { + from?: string; + }; + rule_type?: { + from?: string; + }; + pattern?: { + from?: string; + }; + }; + }[]; + }; + }; + sender: components["schemas"]["simple-user"]; + }; + /** repository transferred event */ + "webhook-repository-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + owner: { + from: { + /** Organization */ + organization?: { + /** Format: uri */ + avatar_url: string; + description: string | null; + /** Format: uri */ + events_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url?: string; + id: number; + /** Format: uri */ + issues_url: string; + login: string; + /** Format: uri-template */ + members_url: string; + node_id: string; + /** Format: uri-template */ + public_members_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + url: string; + }; + /** User */ + user?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository unarchived event */ + "webhook-repository-unarchived": { + /** @enum {string} */ + action: "unarchived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert create event */ + "webhook-repository-vulnerability-alert-create": { + /** @enum {string} */ + action: "create"; + alert: components["schemas"]["webhooks_alert"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert dismiss event */ + "webhook-repository-vulnerability-alert-dismiss": { + /** @enum {string} */ + action: "dismiss"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_comment?: string | null; + dismiss_reason: string; + dismissed_at: string; + /** User */ + dismisser: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "dismissed"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert reopen event */ + "webhook-repository-vulnerability-alert-reopen": { + /** @enum {string} */ + action: "reopen"; + alert: components["schemas"]["webhooks_alert"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert resolve event */ + "webhook-repository-vulnerability-alert-resolve": { + /** @enum {string} */ + action: "resolve"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "fixed" | "open"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert created event */ + "webhook-secret-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created": { + /** @enum {string} */ + action?: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + installation?: components["schemas"]["simple-installation"]; + location: components["schemas"]["secret-scanning-location"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created-form-encoded": { + /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** secret_scanning_alert publicly leaked event */ + "webhook-secret-scanning-alert-publicly-leaked": { + /** @enum {string} */ + action: "publicly_leaked"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert reopened event */ + "webhook-secret-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert resolved event */ + "webhook-secret-scanning-alert-resolved": { + /** @enum {string} */ + action: "resolved"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert validated event */ + "webhook-secret-scanning-alert-validated": { + /** @enum {string} */ + action: "validated"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_scan completed event */ + "webhook-secret-scanning-scan-completed": { + /** @enum {string} */ + action: "completed"; + /** + * @description What type of scan was completed + * @enum {string} + */ + type: "backfill" | "custom-pattern-backfill" | "pattern-version-backfill"; + /** + * @description What type of content was scanned + * @enum {string} + */ + source: "git" | "issues" | "pull-requests" | "discussions" | "wiki"; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at: string; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at: string; + /** @description List of patterns that were updated. This will be empty for normal backfill scans or custom pattern updates */ + secret_types?: string[] | null; + /** @description If the scan was triggered by a custom pattern update, this will be the name of the pattern that was updated */ + custom_pattern_name?: string | null; + /** + * @description If the scan was triggered by a custom pattern update, this will be the scope of the pattern that was updated + * @enum {string|null} + */ + custom_pattern_scope?: + | "repository" + | "organization" + | "enterprise" + | null; + repository?: components["schemas"]["repository-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory published event */ + "webhook-security-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory updated event */ + "webhook-security-advisory-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory withdrawn event */ + "webhook-security-advisory-withdrawn": { + /** @enum {string} */ + action: "withdrawn"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cvss_severities?: components["schemas"]["cvss-severities"]; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string; + }; + sender?: components["schemas"]["simple-user"]; + }; + /** security_and_analysis event */ + "webhook-security-and-analysis": { + changes: { + from?: { + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["full-repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sponsorship cancelled event */ + "webhook-sponsorship-cancelled": { + /** @enum {string} */ + action: "cancelled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship created event */ + "webhook-sponsorship-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship edited event */ + "webhook-sponsorship-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + privacy_level?: { + /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_cancellation event */ + "webhook-sponsorship-pending-cancellation": { + /** @enum {string} */ + action: "pending_cancellation"; + effective_date?: components["schemas"]["webhooks_effective_date"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_tier_change event */ + "webhook-sponsorship-pending-tier-change": { + /** @enum {string} */ + action: "pending_tier_change"; + changes: components["schemas"]["webhooks_changes_8"]; + effective_date?: components["schemas"]["webhooks_effective_date"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship tier_changed event */ + "webhook-sponsorship-tier-changed": { + /** @enum {string} */ + action: "tier_changed"; + changes: components["schemas"]["webhooks_changes_8"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** star created event */ + "webhook-star-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: string | null; + }; + /** star deleted event */ + "webhook-star-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: unknown; + }; + /** status event */ + "webhook-status": { + /** Format: uri */ + avatar_url?: string | null; + /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ + branches: { + commit: { + sha: string | null; + /** Format: uri */ + url: string | null; + }; + name: string; + protected: boolean; + }[]; + commit: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + comments_url: string; + commit: { + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + comment_count: number; + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification: { + payload: string | null; + /** @enum {string} */ + reason: + | "expired_key" + | "not_signing_key" + | "gpgverify_error" + | "gpgverify_unavailable" + | "unsigned" + | "unknown_signature_type" + | "no_user" + | "unverified_email" + | "bad_email" + | "unknown_key" + | "malformed_signature" + | "invalid" + | "valid" + | "bad_cert" + | "ocsp_pending"; + signature: string | null; + verified: boolean; + verified_at: string | null; + }; + }; + /** User */ + committer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + node_id: string; + parents: { + /** Format: uri */ + html_url: string; + sha: string; + /** Format: uri */ + url: string; + }[]; + sha: string; + /** Format: uri */ + url: string; + }; + context: string; + created_at: string; + /** @description The optional human-readable description added to the status. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The unique identifier of the status. */ + id: number; + installation?: components["schemas"]["simple-installation"]; + name: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The Commit SHA. */ + sha: string; + /** + * @description The new state. Can be `pending`, `success`, `failure`, or `error`. + * @enum {string} + */ + state: "pending" | "success" | "failure" | "error"; + /** @description The optional link added to the status. */ + target_url: string | null; + updated_at: string; + }; + /** parent issue added event */ + "webhook-sub-issues-parent-issue-added": { + /** @enum {string} */ + action: "parent_issue_added"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** parent issue removed event */ + "webhook-sub-issues-parent-issue-removed": { + /** @enum {string} */ + action: "parent_issue_removed"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sub-issue added event */ + "webhook-sub-issues-sub-issue-added": { + /** @enum {string} */ + action: "sub_issue_added"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sub-issue removed event */ + "webhook-sub-issues-sub-issue-removed": { + /** @enum {string} */ + action: "sub_issue_removed"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** team_add event */ + "webhook-team-add": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team added_to_repository event */ + "webhook-team-added-to-repository": { + /** @enum {string} */ + action: "added_to_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team created event */ + "webhook-team-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team deleted event */ + "webhook-team-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team edited event */ + "webhook-team-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the team if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + privacy?: { + /** @description The previous version of the team's privacy if the action was `edited`. */ + from: string; + }; + notification_setting?: { + /** @description The previous version of the team's notification setting if the action was `edited`. */ + from: string; + }; + repository?: { + permissions: { + from: { + /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ + admin?: boolean; + /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ + pull?: boolean; + /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ + push?: boolean; + }; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team removed_from_repository event */ + "webhook-team-removed-from-repository": { + /** @enum {string} */ + action: "removed_from_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** watch started event */ + "webhook-watch-started": { + /** @enum {string} */ + action: "started"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** workflow_dispatch event */ + "webhook-workflow-dispatch": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + inputs: { + [key: string]: unknown; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: string; + }; + /** workflow_job completed event */ + "webhook-workflow-job-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | null + | "skipped" + | "cancelled" + | "action_required" + | "neutral" + | "timed_out"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, `waiting`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string; + /** @enum {string} */ + conclusion: + | "success" + | "failure" + | "skipped" + | "cancelled" + | "action_required" + | "neutral" + | "timed_out"; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: (string | null)[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + status?: string; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps?: (Record | null)[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job in_progress event */ + "webhook-workflow-job-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | null | "cancelled" | "neutral"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | null | "cancelled"; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string | null; + conclusion?: string | null; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: string[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps: { + completed_at: string | null; + conclusion: string | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "pending" | "queued"; + }[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job queued event */ + "webhook-workflow-job-queued": { + /** @enum {string} */ + action: "queued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "completed" | "in_progress" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job waiting event */ + "webhook-workflow-job-waiting": { + /** @enum {string} */ + action: "waiting"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: + | "completed" + | "in_progress" + | "queued" + | "pending" + | "waiting"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_run completed event */ + "webhook-workflow-run-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "skipped" + | "stale" + | "success" + | "timed_out" + | "startup_failure" + | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + } | null)[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "pending" + | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + /** + * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. + * @example Simple Workflow + */ + display_title?: string; + }; + }; + /** workflow_run in_progress event */ + "webhook-workflow-run-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "skipped" + | "stale" + | "success" + | "timed_out" + | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string | null; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + } | null)[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + }; + }; + /** workflow_run requested event */ + "webhook-workflow-run-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null + | "skipped" + | "startup_failure"; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "pending" + | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + display_title: string; + }; + }; + }; + responses: { + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed_simple: { + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Resource not found */ + not_found: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Bad Request */ + bad_request: { + content: { + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed: { + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + /** @description Accepted */ + accepted: { + content: { + "application/json": Record; + }; + }; + /** @description Not modified */ + not_modified: { + content: never; + }; + /** @description Requires authentication */ + requires_authentication: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Forbidden */ + forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Internal Error */ + internal_error: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Conflict */ + conflict: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description A header with no content is returned. */ + no_content: { + content: never; + }; + /** @description Service unavailable */ + service_unavailable: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Forbidden Gist */ + forbidden_gist: { + content: { + "application/json": { + block?: { + reason?: string; + created_at?: string; + html_url?: string | null; + }; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Moved permanently */ + moved_permanently: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response when getting a billing premium request usage report */ + billing_premium_request_usage_report_org: { + content: { + "application/json": components["schemas"]["billing-premium-request-usage-report-org"]; + }; + }; + /** @description Billing usage report response for an organization */ + billing_usage_report_org: { + content: { + "application/json": components["schemas"]["billing-usage-report"]; + }; + }; + /** @description Response */ + actions_runner_jitconfig: { + content: { + "application/json": { + runner: components["schemas"]["runner"]; + /** @description The base64 encoded runner configuration. */ + encoded_jit_config: string; + }; + }; + }; + /** @description Response */ + actions_runner_labels: { + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** @description Response */ + actions_runner_labels_readonly: { + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** @description Copilot Usage Merics API setting is disabled at the organization or enterprise level. */ + usage_metrics_api_disabled: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description The value of `per_page` multiplied by `page` cannot be greater than 10000. */ + package_es_list_error: { + content: never; + }; + /** @description Gone */ + gone: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Temporary Redirect */ + temporary_redirect: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_write: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Bad Request */ + code_scanning_bad_request: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the repository is archived, if GitHub Advanced Security is not enabled for this repository or if rate limit is exceeded */ + code_scanning_autofix_create_forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if analysis could not be processed */ + unprocessable_analysis: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Found */ + found: { + content: never; + }; + /** @description Response if there is already a validation run in progress with a different default setup configuration */ + code_scanning_conflict: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the configuration change cannot be made because the repository is not in the required state */ + code_scanning_invalid_state: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response for a private repository when GitHub Advanced Security is not enabled, or if used against a fork */ + dependency_review_forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Unavailable due to service under maintenance. */ + porter_maintenance: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Unacceptable */ + unacceptable: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response when getting a billing premium request usage report */ + billing_premium_request_usage_report_user: { + content: { + "application/json": components["schemas"]["billing-premium-request-usage-report-user"]; + }; + }; + /** @description Response when getting a billing usage report */ + billing_usage_report_user: { + content: { + "application/json": components["schemas"]["billing-usage-report-user"]; + }; + }; + }; + parameters: { + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "pagination-before"?: string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "pagination-after"?: string; + /** @description The direction to sort the results by. */ + direction?: "asc" | "desc"; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "per-page"?: number; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: string; + "delivery-id": number; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: number; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: string; + /** @description The unique identifier of the installation. */ + "installation-id": number; + /** @description The client ID of the GitHub app. */ + "client-id": string; + "app-slug": string; + /** @description The unique identifier of the classroom assignment. */ + "assignment-id": number; + /** @description The unique identifier of the classroom. */ + "classroom-id": number; + /** @description The slug version of the enterprise name. */ + enterprise: string; + /** @description The unique identifier of the code security configuration. */ + "configuration-id": number; + /** + * @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` + */ + "dependabot-alert-comma-separated-states"?: string; + /** + * @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` + */ + "dependabot-alert-comma-separated-severities"?: string; + /** + * @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` + */ + "dependabot-alert-comma-separated-ecosystems"?: string; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + "dependabot-alert-comma-separated-packages"?: string; + /** + * @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: + * - An exact number (`n`) + * - Comparators such as `>n`, `=n`, `<=n` + * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 + * + * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. + */ + "dependabot-alert-comma-separated-epss"?: string; + /** + * @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. + * Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported. + */ + "dependabot-alert-comma-separated-has"?: string | "patch"[]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + "dependabot-alert-scope"?: "development" | "runtime"; + /** + * @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. + */ + "dependabot-alert-sort"?: "created" | "updated" | "epss_percentage"; + /** @description The slug version of the enterprise team name. You can also substitute this value with the enterprise team id. */ + "enterprise-team": string; + /** @description The handle for the GitHub user account. */ + username: string; + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The slug of the team name. */ + "team-slug": string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "public-events-per-page"?: number; + /** @description The unique identifier of the gist. */ + "gist-id": string; + /** @description The unique identifier of the comment. */ + "comment-id": number; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: string; + /** @description account_id parameter */ + "account-id": number; + /** @description The unique identifier of the plan. */ + "plan-id": number; + /** @description The property to sort the results by. */ + sort?: "created" | "updated"; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: string; + /** @description If `true`, show notifications marked as read. */ + all?: boolean; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: boolean; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: string; + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + "thread-id": number; + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + "since-org"?: number; + /** @description If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year. */ + "billing-usage-report-year"?: number; + /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. Default value is the current month. If no year is specified the default `year` is used. */ + "billing-usage-report-month-default"?: number; + /** @description If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used. */ + "billing-usage-report-day"?: number; + /** @description The user name to query usage for. The name is not case sensitive. */ + "billing-usage-report-user"?: string; + /** @description The model name to query usage for. The name is not case sensitive. */ + "billing-usage-report-model"?: string; + /** @description The product name to query usage for. The name is not case sensitive. */ + "billing-usage-report-product"?: string; + /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the default `year` is used. */ + "billing-usage-report-month"?: number; + /** @description Image definition ID of custom image */ + "actions-custom-image-definition-id": number; + /** @description Version of a custom image */ + "actions-custom-image-version": string; + /** @description Unique identifier of the GitHub-hosted runner. */ + "hosted-runner-id": number; + /** @description The unique identifier of the repository. */ + "repository-id": number; + /** @description Only return runner groups that are allowed to be used by this repository. */ + "visible-to-repository"?: string; + /** @description Unique identifier of the self-hosted runner group. */ + "runner-group-id": number; + /** @description Unique identifier of the self-hosted runner. */ + "runner-id": number; + /** @description The name of a self-hosted runner's custom label. */ + "runner-label-name": string; + /** @description The name of the secret. */ + "secret-name": string; + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "variables-per-page"?: number; + /** @description The name of the variable. */ + "variable-name": string; + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + "tool-name"?: components["schemas"]["code-scanning-analysis-tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + "tool-guid"?: components["schemas"]["code-scanning-analysis-tool-guid"]; + /** @description A comma-separated list of artifact registry URLs. If specified, only alerts for repositories with storage records matching these URLs will be returned. */ + "dependabot-alert-comma-separated-artifact-registry-urls"?: string; + /** + * @description A comma-separated list of Artifact Registry name strings. If specified, only alerts for repositories with storage records matching these registries will be returned. + * + * Can be: `jfrog-artifactory` + */ + "dependabot-alert-comma-separated-artifact-registry"?: string; + /** + * @description Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. + * Multiple `has` filters can be passed to filter for alerts that have all of the values. + */ + "dependabot-alert-org-scope-comma-separated-has"?: + | string + | ("patch" | "deployment")[]; + /** + * @description A comma-separated list of runtime risk strings. If specified, only alerts for repositories with deployment records matching these risks will be returned. + * + * Can be: `critical-resource`, `internet-exposed`, `sensitive-data`, `lateral-movement` + */ + "dependabot-alert-comma-separated-runtime-risk"?: string; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + "hook-id": number; + /** @description The type of the actor */ + "api-insights-actor-type": + | "installation" + | "classic_pat" + | "fine_grained_pat" + | "oauth_app" + | "github_app_user_to_server"; + /** @description The ID of the actor */ + "api-insights-actor-id": number; + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "api-insights-min-timestamp": string; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "api-insights-max-timestamp"?: string; + /** @description The property to sort the results by. */ + "api-insights-route-stats-sort"?: ( + | "last_rate_limited_timestamp" + | "last_request_timestamp" + | "rate_limited_request_count" + | "http_method" + | "api_route" + | "total_request_count" + )[]; + /** @description Providing a substring will filter results where the API route contains the substring. This is a case-insensitive search. */ + "api-insights-api-route-substring"?: string; + /** @description The property to sort the results by. */ + "api-insights-sort"?: ( + | "last_rate_limited_timestamp" + | "last_request_timestamp" + | "rate_limited_request_count" + | "subject_name" + | "total_request_count" + )[]; + /** @description Providing a substring will filter results where the subject name contains the substring. This is a case-insensitive search. */ + "api-insights-subject-name-substring"?: string; + /** @description The ID of the user to query for stats */ + "api-insights-user-id": string; + /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ + "api-insights-timestamp-increment": string; + /** @description Providing a substring will filter results where the actor name contains the substring. This is a case-insensitive search. */ + "api-insights-actor-name-substring"?: string; + /** @description The unique identifier of the invitation. */ + "invitation-id": number; + /** @description The unique identifier of the issue type. */ + "issue-type-id": number; + /** @description The name of the codespace. */ + "codespace-name": string; + /** @description The unique identifier of the migration. */ + "migration-id": number; + /** @description repo_name parameter */ + "repo-name": string; + /** @description The unique identifier of the role. */ + "role-id": number; + /** + * @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + "package-visibility"?: "public" | "private" | "internal"; + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + "package-type": + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** @description The name of the package. */ + "package-name": string; + /** @description Unique identifier of the package version. */ + "package-version-id": number; + /** @description The property by which to sort the results. */ + "personal-access-token-sort"?: "created_at"; + /** @description A list of owner usernames to use to filter the results. */ + "personal-access-token-owner"?: string[]; + /** @description The name of the repository to use to filter the results. */ + "personal-access-token-repository"?: string; + /** @description The permission to use to filter the results. */ + "personal-access-token-permission"?: string; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-before"?: string; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-after"?: string; + /** @description The ID of the token */ + "personal-access-token-token-id"?: string[]; + /** @description The unique identifier of the fine-grained personal access token. */ + "fine-grained-personal-access-token-id": number; + /** @description The project's number. */ + "project-number": number; + /** @description The unique identifier of the field. */ + "field-id": number; + /** @description The unique identifier of the project item. */ + "item-id": number; + /** @description The custom property name */ + "custom-property-name": string; + /** + * @description A comma-separated list of rule targets to filter by. + * If provided, only rulesets that apply to the specified targets will be returned. + * For example, `branch,tag,push`. + */ + "ruleset-targets"?: string; + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ + "ref-in-query"?: string; + /** @description The name of the repository to filter on. */ + "repository-name-in-query"?: string; + /** + * @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for rule suites that occurred in the past 7 days (168 hours). + */ + "time-period"?: "hour" | "day" | "week" | "month"; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + "actor-name-in-query"?: string; + /** @description The rule suite results to filter on. When specified, only suites with this result will be returned. */ + "rule-suite-result"?: "pass" | "fail" | "bypass" | "all"; + /** + * @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. + */ + "rule-suite-id": number; + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + "secret-scanning-alert-state"?: "open" | "resolved"; + /** @description A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. */ + "secret-scanning-alert-secret-type"?: string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + "secret-scanning-alert-resolution"?: string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + "secret-scanning-alert-sort"?: "created" | "updated"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + "secret-scanning-pagination-before-org-repo"?: string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + "secret-scanning-pagination-after-org-repo"?: string; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + "secret-scanning-alert-validity"?: string; + /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ + "secret-scanning-alert-publicly-leaked"?: boolean; + /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ + "secret-scanning-alert-multi-repo"?: boolean; + /** @description A boolean value representing whether or not to hide literal secrets in the results. */ + "secret-scanning-alert-hide-secret"?: boolean; + /** @description Unique identifier of the hosted compute network configuration. */ + "network-configuration-id": string; + /** @description Unique identifier of the hosted compute network settings. */ + "network-settings-id": string; + /** @description The number that identifies the discussion. */ + "discussion-number": number; + /** @description The number that identifies the comment. */ + "comment-number": number; + /** @description The unique identifier of the reaction. */ + "reaction-id": number; + /** @description The unique identifier of the project. */ + "project-id": number; + /** @description The security feature to enable or disable. */ + "security-product": + | "dependency_graph" + | "dependabot_alerts" + | "dependabot_security_updates" + | "advanced_security" + | "code_scanning_default_setup" + | "secret_scanning" + | "secret_scanning_push_protection"; + /** + * @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. + */ + "org-security-product-enablement": "enable_all" | "disable_all"; + /** @description The unique identifier of the column. */ + "column-id": number; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + "artifact-name"?: string; + /** @description The unique identifier of the artifact. */ + "artifact-id": number; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + "actions-cache-git-ref-full"?: string; + /** @description An explicit key or prefix for identifying the cache */ + "actions-cache-key"?: string; + /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + "actions-cache-list-sort"?: + | "created_at" + | "last_accessed_at" + | "size_in_bytes"; + /** @description A key for identifying the cache. */ + "actions-cache-key-required": string; + /** @description The unique identifier of the GitHub Actions cache. */ + "cache-id": number; + /** @description The unique identifier of the job. */ + "job-id": number; + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: string; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + "workflow-run-branch"?: string; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: string; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. */ + "workflow-run-status"?: + | "completed" + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "skipped" + | "stale" + | "success" + | "timed_out" + | "in_progress" + | "queued" + | "requested" + | "waiting" + | "pending"; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: string; + /** @description If `true` pull requests are omitted from the response (empty array). */ + "exclude-pull-requests"?: boolean; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + "workflow-run-check-suite-id"?: number; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + "workflow-run-head-sha"?: string; + /** @description The unique identifier of the workflow run. */ + "run-id": number; + /** @description The attempt number of the workflow run. */ + "attempt-number": number; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + "workflow-id": number | string; + /** @description The unique identifier of the autolink. */ + "autolink-id": number; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: string; + /** @description The unique identifier of the check run. */ + "check-run-id": number; + /** @description The unique identifier of the check suite. */ + "check-suite-id": number; + /** @description Returns check runs with the specified `name`. */ + "check-name"?: string; + /** @description Returns check runs with the specified `status`. */ + status?: "queued" | "in_progress" | "completed"; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + "git-ref"?: components["schemas"]["code-scanning-ref"]; + /** @description The number of the pull request for the results you want to list. */ + "pr-alias"?: number; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + "alert-number": components["schemas"]["alert-number"]; + /** @description The SHA of the commit. */ + "commit-sha": string; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + "commit-ref": string; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + "dependabot-alert-comma-separated-manifests"?: string; + /** + * @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. + */ + "dependabot-alert-number": components["schemas"]["alert-number"]; + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + "manifest-path"?: string; + /** @description deployment_id parameter */ + "deployment-id": number; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + "environment-name": string; + /** @description The unique identifier of the branch policy. */ + "branch-policy-id": number; + /** @description The unique identifier of the protection rule. */ + "protection-rule-id": number; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + "git-ref-only": string; + /** @description A user ID. Only return users with an ID greater than this ID. */ + "since-user"?: number; + /** @description The number that identifies the issue. */ + "issue-number": number; + /** @description The unique identifier of the key. */ + "key-id": number; + /** @description The number that identifies the milestone. */ + "milestone-number": number; + /** @description The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + "pages-deployment-id": number | string; + /** @description The number that identifies the pull request. */ + "pull-number": number; + /** @description The unique identifier of the review. */ + "review-id": number; + /** @description The unique identifier of the asset. */ + "asset-id": number; + /** @description The unique identifier of the release. */ + "release-id": number; + /** @description The unique identifier of the tag protection. */ + "tag-protection-id": number; + /** @description The time frame to display results for. */ + per?: "day" | "week"; + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + "since-repo"?: number; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: "desc" | "asc"; + /** + * @description Set to `true` to use advanced search. + * Example: `http://api.github.com/search/issues?q={query}&advanced_search=true` + */ + "issues-advanced-search"?: string; + /** @description The unique identifier of the team. */ + "team-id": number; + /** @description ID of the Repository to filter on */ + "repository-id-in-query"?: number; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + "export-id": string; + /** @description The unique identifier of the GPG key. */ + "gpg-key-id": number; + /** @description Only show repositories updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "since-repo-date"?: string; + /** @description Only show repositories updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "before-repo-date"?: string; + /** @description The unique identifier of the SSH signing key. */ + "ssh-signing-key-id": number; + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + "sort-starred"?: "created" | "updated"; + }; + requestBodies: never; + headers: { + /** @example ; rel="next", ; rel="last" */ + link: string; + /** @example text/html */ + "content-type": string; + /** @example 0.17.4 */ + "x-common-marker-version": string; + /** @example 5000 */ + "x-rate-limit-limit": number; + /** @example 4999 */ + "x-rate-limit-remaining": number; + /** @example 1590701888 */ + "x-rate-limit-reset": number; + /** @example https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D */ + location: string; + }; + pathItems: never; +} + +export type $defs = Record; + +export type external = Record; + +export interface operations { + /** + * GitHub API Root + * @description Get Hypermedia links to resources accessible in GitHub's REST API + */ + "meta/root": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["root"]; + }; + }; + }; + }; + /** + * List global security advisories + * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. + * + * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." + */ + "security-advisories/list-global-advisories": { + parameters: { + query?: { + /** @description If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. */ + ghsa_id?: string; + /** @description If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. */ + type?: "reviewed" | "malware" | "unreviewed"; + /** @description If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. */ + cve_id?: string; + /** @description If specified, only advisories for these ecosystems will be returned. */ + ecosystem?: components["schemas"]["security-advisory-ecosystems"]; + /** @description If specified, only advisories with these severities will be returned. */ + severity?: "unknown" | "low" | "medium" | "high" | "critical"; + /** + * @description If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. + * + * Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` + */ + cwes?: string | string[]; + /** @description Whether to only return advisories that have been withdrawn. */ + is_withdrawn?: boolean; + /** + * @description If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. + * If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. + * + * Example: `affects=package1,package2@1.0.0,package3@2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` + */ + affects?: string | string[]; + /** + * @description If specified, only return advisories that were published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." + */ + published?: string; + /** + * @description If specified, only return advisories that were updated on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." + */ + updated?: string; + /** + * @description If specified, only show advisories that were updated or published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." + */ + modified?: string; + /** + * @description If specified, only return advisories that have an EPSS percentage score that matches the provided value. + * The EPSS percentage represents the likelihood of a CVE being exploited. + */ + epss_percentage?: string; + /** + * @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. + * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. + */ + epss_percentile?: string; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description The property to sort the results by. */ + sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["global-advisory"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + /** @description Too many requests */ + 429: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Get a global security advisory + * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. + */ + "security-advisories/get-global-advisory": { + parameters: { + path: { + ghsa_id: components["parameters"]["ghsa_id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["global-advisory"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get the authenticated app + * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-authenticated": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + }; + }; + /** + * Create a GitHub App from a manifest + * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + "apps/create-from-manifest": { + parameters: { + path: { + code: string; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["integration"] & { + client_id: string; + client_secret: string; + webhook_secret: string | null; + pem: string; + [key: string]: unknown; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get a webhook configuration for an app + * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-config-for-app": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Update a webhook configuration for an app + * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/update-webhook-config-for-app": { + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * List deliveries for an app webhook + * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/list-webhook-deliveries": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + cursor?: components["parameters"]["cursor"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a delivery for an app webhook + * @description Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Redeliver a delivery for an app webhook + * @description Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/redeliver-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List installation requests for the authenticated app + * @description Lists all the pending installation requests for the authenticated GitHub App. + */ + "apps/list-installation-requests-for-authenticated-app": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description List of integration installation requests */ + 200: { + content: { + "application/json": components["schemas"]["integration-installation-request"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * List installations for the authenticated app + * @description You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + "apps/list-installations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + since?: components["parameters"]["since"]; + outdated?: string; + }; + }; + responses: { + /** @description The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + account: + | ({ + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } & { + /** @description A short description of the enterprise. */ + description?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** + * @description Unique identifier of the enterprise + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the enterprise. + * @example Octo Business + */ + name: string; + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ + slug: string; + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }) + | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** + * Format: uri + * @example https://api.github.com/installations/1/access_tokens + */ + access_tokens_url: string; + /** + * Format: uri + * @example https://api.github.com/installation/repositories + */ + repositories_url: string; + /** + * Format: uri + * @example https://github.com/organizations/github/settings/installations/1 + */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + /** + * App Permissions + * @description The permissions granted to the user access token. + * @example { + * "contents": "read", + * "issues": "read", + * "deployments": "write", + * "single_file": "read" + * } + */ + permissions: { + /** + * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + * @enum {string} + */ + actions?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + * @enum {string} + */ + administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for checks on code. + * @enum {string} + */ + checks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + * @enum {string} + */ + contents?: "read" | "write"; + /** + * @description The level of permission to grant the access token for deployments and deployment statuses. + * @enum {string} + */ + deployments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for managing repository environments. + * @enum {string} + */ + environments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + * @enum {string} + */ + issues?: "read" | "write"; + /** + * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + * @enum {string} + */ + metadata?: "read" | "write"; + /** + * @description The level of permission to grant the access token for packages published to GitHub Packages. + * @enum {string} + */ + packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + * @enum {string} + */ + pages?: "read" | "write"; + /** + * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + * @enum {string} + */ + pull_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + * @enum {string} + */ + repository_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository projects, columns, and cards. + * @enum {string} + */ + repository_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token to view and manage secret scanning alerts. + * @enum {string} + */ + secret_scanning_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository secrets. + * @enum {string} + */ + secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + * @enum {string} + */ + security_events?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage just a single file. + * @enum {string} + */ + single_file?: "read" | "write"; + /** + * @description The level of permission to grant the access token for commit statuses. + * @enum {string} + */ + statuses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot alerts. + * @enum {string} + */ + vulnerability_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to update GitHub Actions workflow files. + * @enum {string} + */ + workflows?: "write"; + /** + * @description The level of permission to grant the access token for organization teams and members. + * @enum {string} + */ + members?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage access to an organization. + * @enum {string} + */ + organization_administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom repository roles management. This property is in beta and is subject to change. + * @enum {string} + */ + organization_custom_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage announcement banners for an organization. + * @enum {string} + */ + organization_announcement_banners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + * @enum {string} + */ + organization_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization. + * @enum {string} + */ + organization_personal_access_tokens?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. + * @enum {string} + */ + organization_personal_access_token_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing an organization's plan. + * @enum {string} + */ + organization_plan?: "read"; + /** + * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + * @enum {string} + */ + organization_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for organization packages published to GitHub Packages. + * @enum {string} + */ + organization_packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage organization secrets. + * @enum {string} + */ + organization_secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + * @enum {string} + */ + organization_self_hosted_runners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage users blocked by the organization. + * @enum {string} + */ + organization_user_blocking?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage team discussions and related comments. + * @enum {string} + */ + team_discussions?: "read" | "write"; + }; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + /** + * Simple User + * @description A GitHub user. + */ + suspended_by: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }[]; + }; + }; + }; + }; + /** + * Get an installation for the authenticated app + * @description Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an installation for the authenticated app + * @description Uninstalls a GitHub App on a user, organization, or enterprise account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/delete-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create an installation access token for an app + * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. + * + * Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner. + * + * Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/create-installation-access-token": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description List of repository names that the token should have access to */ + repositories?: string[]; + /** + * @description List of repository IDs that the token should have access to + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["installation-token"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Suspend an app installation + * @description Suspends a GitHub App on a user, organization, or enterprise account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/suspend-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Unsuspend an app installation + * @description Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/unsuspend-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an app authorization + * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + "apps/delete-authorization": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Check a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. Invalid tokens will return `404 NOT FOUND`. + */ + "apps/check-token": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete an app token + * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. + */ + "apps/delete-token": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Reset a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. Invalid tokens will return `404 NOT FOUND`. + */ + "apps/reset-token": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a scoped access token + * @description Use a non-scoped user access token to create a repository-scoped and/or permission-scoped user access token. You can specify + * which repositories the token can access and which permissions are granted to the + * token. + * + * Invalid tokens will return `404 NOT FOUND`. + */ + "apps/scope-token": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The access token used to authenticate to the GitHub API. + * @example e72e16c7e42f292c6912e7710c838347ae178b4a + */ + access_token: string; + /** + * @description The name of the user or organization to scope the user access token to. **Required** unless `target_id` is specified. + * @example octocat + */ + target?: string; + /** + * @description The ID of the user or organization to scope the user access token to. **Required** unless `target` is specified. + * @example 1 + */ + target_id?: number; + /** @description The list of repository names to scope the user access token to. `repositories` may not be specified if `repository_ids` is specified. */ + repositories?: string[]; + /** + * @description The list of repository IDs to scope the user access token to. `repository_ids` may not be specified if `repositories` is specified. + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an app + * @description > [!NOTE] + * > The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + */ + "apps/get-by-slug": { + parameters: { + path: { + app_slug: components["parameters"]["app-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get an assignment + * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + "classroom/get-an-assignment": { + parameters: { + path: { + assignment_id: components["parameters"]["assignment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom-assignment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List accepted assignments for an assignment + * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + "classroom/list-accepted-assignments-for-an-assignment": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + assignment_id: components["parameters"]["assignment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom-accepted-assignment"][]; + }; + }; + }; + }; + /** + * Get assignment grades + * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + "classroom/get-assignment-grades": { + parameters: { + path: { + assignment_id: components["parameters"]["assignment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom-assignment-grade"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List classrooms + * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. + */ + "classroom/list-classrooms": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-classroom"][]; + }; + }; + }; + }; + /** + * Get a classroom + * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. + */ + "classroom/get-a-classroom": { + parameters: { + path: { + classroom_id: components["parameters"]["classroom-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List assignments for a classroom + * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. + */ + "classroom/list-assignments-for-a-classroom": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + classroom_id: components["parameters"]["classroom-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-classroom-assignment"][]; + }; + }; + }; + }; + /** + * Get all codes of conduct + * @description Returns array of all GitHub's codes of conduct. + */ + "codes-of-conduct/get-all-codes-of-conduct": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get a code of conduct + * @description Returns information about the specified GitHub code of conduct. + */ + "codes-of-conduct/get-conduct-code": { + parameters: { + path: { + key: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Revoke a list of credentials + * @description Submit a list of credentials to be revoked. This endpoint is intended to revoke credentials the caller does not own and may have found exposed on GitHub.com or elsewhere. It can also be used for credentials associated with an old user account that you no longer have access to. Credential owners will be notified of the revocation. + * + * This endpoint currently accepts the following credential types: + * - Personal access tokens (classic) + * - Fine-grained personal access tokens + * + * Revoked credentials may impact users on GitHub Free, Pro, & Team and GitHub Enterprise Cloud, and GitHub Enterprise Cloud with Enterprise Managed Users. + * GitHub cannot reactivate any credentials that have been revoked; new credentials will need to be generated. + * + * To prevent abuse, this API is limited to only 60 unauthenticated requests per hour and a max of 1000 tokens per API request. + * + * > [!NOTE] + * > Any authenticated requests will return a 403. + */ + "credentials/revoke": { + requestBody: { + content: { + "application/json": { + /** @description A list of credentials to be revoked, up to 1000 per request. */ + credentials: string[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 422: components["responses"]["validation_failed_simple"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get emojis + * @description Lists all the emojis available to use on GitHub. + */ + "emojis/get": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + [key: string]: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get code security configurations for an enterprise + * @description Lists all code security configurations available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + "code-security/get-configurations-for-enterprise": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + }; + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a code security configuration for an enterprise + * @description Creates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + "code-security/create-configuration-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the enterprise. */ + name: string; + /** @description A description of the code security configuration */ + description: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @default disabled + * @enum {string} + */ + advanced_security?: + | "enabled" + | "disabled" + | "code_security" + | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @default enabled + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: + | "enabled" + | "disabled" + | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @default disabled + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @default disabled + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + code_scanning_options?: components["schemas"]["code-scanning-options"]; + /** + * @description The enablement status of code scanning default setup + * @default disabled + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @default disabled + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @default disabled + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @default disabled + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @default enforced + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Successfully created code security configuration */ + 201: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get default code security configurations for an enterprise + * @description Lists the default code security configurations for an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + "code-security/get-default-configurations-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-default-configurations"]; + }; + }; + }; + }; + /** + * Retrieve a code security configuration of an enterprise + * @description Gets a code security configuration available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + "code-security/get-single-configuration-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a code security configuration for an enterprise + * @description Deletes a code security configuration from an enterprise. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + "code-security/delete-configuration-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Update a custom code security configuration for an enterprise + * @description Updates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + "code-security/update-enterprise-configuration": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique across the enterprise. */ + name?: string; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @enum {string} + */ + advanced_security?: + | "enabled" + | "disabled" + | "code_security" + | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: + | "enabled" + | "disabled" + | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Attach an enterprise configuration to repositories + * @description Attaches an enterprise code security configuration to repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + "code-security/attach-enterprise-configuration": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of repositories to attach the configuration to. + * @enum {string} + */ + scope: "all" | "all_without_configurations"; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Set a code security configuration as a default for an enterprise + * @description Sets a code security configuration as a default to be applied to new repositories in your enterprise. + * + * This configuration will be applied by default to the matching repository type when created, but only for organizations within the enterprise that do not already have a default code security configuration set. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + "code-security/set-configuration-as-default-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Specify which types of repository this security configuration should be applied to by default. + * @enum {string} + */ + default_for_new_repos?: + | "all" + | "none" + | "private_and_internal" + | "public"; + }; + }; + }; + responses: { + /** @description Default successfully changed. */ + 200: { + content: { + "application/json": { + /** + * @description Specifies which types of repository this security configuration is applied to by default. + * @enum {string} + */ + default_for_new_repos?: + | "all" + | "none" + | "private_and_internal" + | "public"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get repositories associated with an enterprise code security configuration + * @description Lists the repositories associated with an enterprise code security configuration in an organization. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + "code-security/get-repositories-for-enterprise-configuration": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. + * + * Can be: `all`, `attached`, `attaching`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` + */ + status?: string; + }; + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration-repositories"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List Dependabot alerts for an enterprise + * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. + * + * The authenticated user must be a member of the enterprise to use this endpoint. + * + * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. + */ + "dependabot/list-alerts-for-enterprise": { + parameters: { + query?: { + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + has?: components["parameters"]["dependabot-alert-comma-separated-has"]; + scope?: components["parameters"]["dependabot-alert-scope"]; + sort?: components["parameters"]["dependabot-alert-sort"]; + direction?: components["parameters"]["direction"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List enterprise teams + * @description List all teams in the enterprise for the authenticated user + */ + "enterprise-teams/list": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["enterprise-team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Create an enterprise team + * @description To create an enterprise team, the authenticated user must be an owner of the enterprise. + */ + "enterprise-teams/create": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description A description of the team. */ + description?: string | null; + /** + * @description Retired: this field is no longer supported. + * Whether the enterprise team should be reflected in each organization. + * This value cannot be set. + * + * @default disabled + * @enum {string} + */ + sync_to_organizations?: "all" | "disabled"; + /** + * @description Specifies which organizations in the enterprise should have access to this team. Can be one of `disabled`, `selected`, or `all`. + * `disabled`: The team is not assigned to any organizations. This is the default when you create a new team. + * `selected`: The team is assigned to specific organizations. You can then use the [add organization assignments API](https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#add-organization-assignments) endpoint. + * `all`: The team is assigned to all current and future organizations in the enterprise. + * + * @default disabled + * @enum {string} + */ + organization_selection_type?: "disabled" | "selected" | "all"; + /** @description The ID of the IdP group to assign team membership with. You can get this value from the [REST API endpoints for SCIM](https://docs.github.com/rest/scim#list-provisioned-scim-groups-for-an-enterprise). */ + group_id?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["enterprise-team"]; + }; + }; + }; + }; + /** + * List members in an enterprise team + * @description Lists all team members in an enterprise team. + */ + "enterprise-team-memberships/list": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Bulk add team members + * @description Add multiple team members to an enterprise team. + */ + "enterprise-team-memberships/bulk-add": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub user handles to add to the team. */ + usernames: string[]; + }; + }; + }; + responses: { + /** @description Successfully added team members. */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Bulk remove team members + * @description Remove multiple team members from an enterprise team. + */ + "enterprise-team-memberships/bulk-remove": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub user handles to be removed from the team. */ + usernames: string[]; + }; + }; + }; + responses: { + /** @description Successfully removed team members. */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Get enterprise team membership + * @description Returns whether the user is a member of the enterprise team. + */ + "enterprise-team-memberships/get": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description User is a member of the enterprise team. */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"]; + }; + }; + }; + }; + /** + * Add team member + * @description Add a team member to an enterprise team. + */ + "enterprise-team-memberships/add": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Successfully added team member */ + 201: { + content: { + "application/json": components["schemas"]["simple-user"]; + }; + }; + }; + }; + /** + * Remove team membership + * @description Remove membership of a specific user from a particular team in an enterprise. + */ + "enterprise-team-memberships/remove": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get organization assignments + * @description Get all organizations assigned to an enterprise team + */ + "enterprise-team-organizations/get-assignments": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + }; + }; + responses: { + /** @description An array of organizations the team is assigned to */ + 200: { + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + /** + * Add organization assignments + * @description Assign an enterprise team to multiple organizations. + */ + "enterprise-team-organizations/bulk-add": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Organization slug to assign the team to. */ + organization_slugs: string[]; + }; + }; + }; + responses: { + /** @description Successfully assigned the enterprise team to organizations. */ + 200: { + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + /** + * Remove organization assignments + * @description Unassign an enterprise team from multiple organizations. + */ + "enterprise-team-organizations/bulk-remove": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Organization slug to unassign the team from. */ + organization_slugs: string[]; + }; + }; + }; + responses: { + /** @description Successfully unassigned the enterprise team from organizations. */ + 204: { + content: never; + }; + }; + }; + /** + * Get organization assignment + * @description Check if an enterprise team is assigned to an organization + */ + "enterprise-team-organizations/get-assignment": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description The team is assigned to the organization */ + 200: { + content: { + "application/json": components["schemas"]["organization-simple"]; + }; + }; + /** @description The team is not assigned to the organization */ + 404: { + content: never; + }; + }; + }; + /** + * Add an organization assignment + * @description Assign an enterprise team to an organization. + */ + "enterprise-team-organizations/add": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Successfully assigned the enterprise team to the organization. */ + 201: { + content: { + "application/json": components["schemas"]["organization-simple"]; + }; + }; + }; + }; + /** + * Delete an organization assignment + * @description Unassign an enterprise team from an organization. + */ + "enterprise-team-organizations/delete": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + "enterprise-team": components["parameters"]["enterprise-team"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Successfully unassigned the enterprise team from the organization. */ + 204: { + content: never; + }; + }; + }; + /** + * Get an enterprise team + * @description Gets a team using the team's slug. To create the slug, GitHub replaces special characters in the name string, changes all words to lowercase, and replaces spaces with a `-` separator and adds the "ent:" prefix. For example, "My TEam Näme" would become `ent:my-team-name`. + */ + "enterprise-teams/get": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["enterprise-team"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Delete an enterprise team + * @description To delete an enterprise team, the authenticated user must be an enterprise owner. + * + * If you are an enterprise owner, deleting an enterprise team will delete all of its IdP mappings as well. + */ + "enterprise-teams/delete": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Update an enterprise team + * @description To edit a team, the authenticated user must be an enterprise owner. + */ + "enterprise-teams/update": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A new name for the team. */ + name?: string | null; + /** @description A new description for the team. */ + description?: string | null; + /** + * @description Retired: this field is no longer supported. + * Whether the enterprise team should be reflected in each organization. + * This value cannot be changed. + * + * @default disabled + * @enum {string} + */ + sync_to_organizations?: "all" | "disabled"; + /** + * @description Specifies which organizations in the enterprise should have access to this team. Can be one of `disabled`, `selected`, or `all`. + * `disabled`: The team is not assigned to any organizations. This is the default when you create a new team. + * `selected`: The team is assigned to specific organizations. You can then use the [add organization assignments API](https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#add-organization-assignments). + * `all`: The team is assigned to all current and future organizations in the enterprise. + * + * @default disabled + * @enum {string} + */ + organization_selection_type?: "disabled" | "selected" | "all"; + /** @description The ID of the IdP group to assign team membership with. The new IdP group will replace the existing one, or replace existing direct members if the team isn't currently linked to an IdP group. */ + group_id?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["enterprise-team"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List public events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-public-events": { + parameters: { + query?: { + per_page?: components["parameters"]["public-events-per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get feeds + * @description Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * > [!NOTE] + * > Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + "activity/get-feeds": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["feed"]; + }; + }; + }; + }; + /** + * List gists for the authenticated user + * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + "gists/list": { + parameters: { + query?: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Create a gist + * @description Allows you to add a new gist with one or more files. + * + * > [!NOTE] + * > Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + "gists/create": { + requestBody: { + content: { + "application/json": { + /** + * @description Description of the gist + * @example Example Ruby script + */ + description?: string; + /** + * @description Names and content for the files that make up the gist + * @example { + * "hello.rb": { + * "content": "puts \"Hello, World!\"" + * } + * } + */ + files: { + [key: string]: { + /** @description Content of the file */ + content: string; + }; + }; + public?: boolean | ("true" | "false"); + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List public gists + * @description List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + "gists/list-public": { + parameters: { + query?: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List starred gists + * @description List the authenticated user's starred gists: + */ + "gists/list-starred": { + parameters: { + query?: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get a gist + * @description Gets a specified gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/get": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Delete a gist */ + "gists/delete": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a gist + * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + "gists/update": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The description of the gist. + * @example Example Ruby script + */ + description?: string; + /** + * @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename + * (including extension) of the targeted gist file. For example: `hello.py`. + * + * To delete a file, set the whole file to null. For example: `hello.py : null`. + * @example { + * "hello.rb": { + * "content": "blah", + * "filename": "goodbye.rb" + * } + * } + */ + files?: { + [key: string]: { + /** @description The new content of the file. */ + content?: string; + /** @description The new filename for the file. */ + filename?: string | null; + }; + }; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List gist comments + * @description Lists the comments on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/list-comments": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["gist-comment"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a gist comment + * @description Creates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/create-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a gist comment + * @description Gets a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/get-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Delete a gist comment */ + "gists/delete-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a gist comment + * @description Updates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/update-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** List gist commits */ + "gists/list-commits": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + }; + content: { + "application/json": components["schemas"]["gist-commit"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** List gist forks */ + "gists/list-forks": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["gist-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Fork a gist */ + "gists/fork": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["base-gist"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Check if a gist is starred */ + "gists/check-is-starred": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response if gist is starred */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if gist is not starred */ + 404: { + content: { + "application/json": Record; + }; + }; + }; + }; + /** + * Star a gist + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "gists/star": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Unstar a gist */ + "gists/unstar": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a gist revision + * @description Gets a specified gist revision. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/get-revision": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + sha: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all gitignore templates + * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). + */ + "gitignore/get-all-templates": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get a gitignore template + * @description Get the content of a gitignore template. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw .gitignore contents. + */ + "gitignore/get-template": { + parameters: { + path: { + name: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gitignore-template"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * List repositories accessible to the app installation + * @description List repositories that an app installation can access. + */ + "apps/list-repos-accessible-to-installation": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + /** @example selected */ + repository_selection?: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Revoke an installation access token + * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. + */ + "apps/revoke-installation-access-token": { + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List issues assigned to the authenticated user + * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + collab?: boolean; + orgs?: boolean; + owned?: boolean; + pulls?: boolean; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all commonly used licenses + * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + "licenses/get-all-commonly-used": { + parameters: { + query?: { + featured?: boolean; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["license-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get a license + * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + "licenses/get": { + parameters: { + path: { + license: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["license"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Render a Markdown document + * @description Depending on what is rendered in the Markdown, you may need to provide additional token scopes for labels, such as `issues:read` or `pull_requests:read`. + */ + "markdown/render": { + requestBody: { + content: { + "application/json": { + /** @description The Markdown text to render in HTML. */ + text: string; + /** + * @description The rendering mode. + * @default markdown + * @example markdown + * @enum {string} + */ + mode?: "markdown" | "gfm"; + /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ + context?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "Content-Type": components["headers"]["content-type"]; + /** @example 279 */ + "Content-Length"?: string; + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Render a Markdown document in raw mode + * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + "markdown/render-raw": { + requestBody?: { + content: { + "text/plain": string; + "text/x-markdown": string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get a subscription plan for an account + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account": { + parameters: { + path: { + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * List plans + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List accounts for a plan + * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan": { + parameters: { + query?: { + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + plan_id: components["parameters"]["plan-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a subscription plan for an account (stubbed) + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account-stubbed": { + parameters: { + path: { + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + content: never; + }; + }; + }; + /** + * List plans (stubbed) + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans-stubbed": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * List accounts for a plan (stubbed) + * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan-stubbed": { + parameters: { + query?: { + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + plan_id: components["parameters"]["plan-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * Get GitHub meta information + * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * The API's response also includes a list of GitHub's domain names. + * + * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. + * + * > [!NOTE] + * > This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. + */ + "meta/get": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * List public events for a network of repositories + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-public-events-for-repo-network": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List notifications for the authenticated user + * @description List all notifications for the current user, sorted by most recently updated. + */ + "activity/list-notifications-for-authenticated-user": { + parameters: { + query?: { + all?: components["parameters"]["all"]; + participating?: components["parameters"]["participating"]; + since?: components["parameters"]["since"]; + before?: components["parameters"]["before"]; + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 50). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Mark notifications as read + * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + "activity/mark-notifications-as-read": { + requestBody?: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + /** @description Whether the notification has been read. */ + read?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get a thread + * @description Gets information about a notification thread. + */ + "activity/get-thread": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["thread"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Mark a thread as done + * @description Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications. + */ + "activity/mark-thread-as-done": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** @description No content */ + 204: { + content: never; + }; + }; + }; + /** + * Mark a thread as read + * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. + */ + "activity/mark-thread-as-read": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** @description Reset Content */ + 205: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get a thread subscription for the authenticated user + * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + "activity/get-thread-subscription-for-authenticated-user": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Set a thread subscription + * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. + */ + "activity/set-thread-subscription": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to block all notifications from a thread. + * @default false + */ + ignored?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Delete a thread subscription + * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + "activity/delete-thread-subscription": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get Octocat + * @description Get the octocat as ASCII art + */ + "meta/get-octocat": { + parameters: { + query?: { + /** @description The words to show in Octocat's speech bubble */ + s?: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/octocat-stream": string; + }; + }; + }; + }; + /** + * List organizations + * @description Lists all organizations, in the order that they were created. + * + * > [!NOTE] + * > Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. + */ + "orgs/list": { + parameters: { + query?: { + since?: components["parameters"]["since-org"]; + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Lists the repositories Dependabot can access in an organization + * @description Lists repositories that organization admins have allowed Dependabot to access when updating dependencies. + * > [!NOTE] + * > This operation supports both server-to-server and user-to-server access. + * Unauthorized users will not see the existence of this endpoint. + */ + "dependabot/repository-access-for-org": { + parameters: { + query?: { + /** @description The page number of results to fetch. */ + page?: number; + /** @description Number of results per page. */ + per_page?: number; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-repository-access-details"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Updates Dependabot's repository access list for an organization + * @description Updates repositories according to the list of repositories that organization admins have given Dependabot access to when they've updated dependencies. + * + * > [!NOTE] + * > This operation supports both server-to-server and user-to-server access. + * Unauthorized users will not see the existence of this endpoint. + * + * **Example request body:** + * ```json + * { + * "repository_ids_to_add": [123, 456], + * "repository_ids_to_remove": [789] + * } + * ``` + */ + "dependabot/update-repository-access-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to add. */ + repository_ids_to_add?: number[]; + /** @description List of repository IDs to remove. */ + repository_ids_to_remove?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set the default repository access level for Dependabot + * @description Sets the default level of repository access Dependabot will have while performing an update. Available values are: + * - 'public' - Dependabot will only have access to public repositories, unless access is explicitly granted to non-public repositories. + * - 'internal' - Dependabot will only have access to public and internal repositories, unless access is explicitly granted to private repositories. + * + * Unauthorized users will not see the existence of this endpoint. + * + * This operation supports both server-to-server and user-to-server access. + */ + "dependabot/set-repository-access-default-level": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The default repository access level for Dependabot updates. + * @example internal + * @enum {string} + */ + default_level: "public" | "internal"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get all custom property values for an organization + * @description Gets all custom property values that are set for an organization. + * + * The organization must belong to an enterprise. + * + * Access requirements: + * - Organization admins + * - OAuth tokens and personal access tokens (classic) with the `read:org` scope + * - Actors with the organization-level "read custom properties for an organization" fine-grained permission or above + */ + "orgs/custom-properties-for-orgs-get-organization-values": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["custom-property-value"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create or update custom property values for an organization + * @description Create new or update existing custom property values for an organization. + * To remove a custom property value from an organization, set the property value to `null`. + * + * The organization must belong to an enterprise. + * + * Access requirements: + * - Organization admins + * - OAuth tokens and personal access tokens (classic) with the `admin:org` scope + * - Actors with the organization-level "edit custom properties for an organization" fine-grained permission + */ + "orgs/custom-properties-for-orgs-create-or-update-organization-values": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of custom property names and associated values to apply to the organization. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get billing premium request usage report for an organization + * @description Gets a report of premium request usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. + * + * **Note:** Only data from the past 24 months is accessible via this endpoint. + */ + "billing/get-github-billing-premium-request-usage-report-org": { + parameters: { + query?: { + year?: components["parameters"]["billing-usage-report-year"]; + month?: components["parameters"]["billing-usage-report-month-default"]; + day?: components["parameters"]["billing-usage-report-day"]; + user?: components["parameters"]["billing-usage-report-user"]; + model?: components["parameters"]["billing-usage-report-model"]; + product?: components["parameters"]["billing-usage-report-product"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + 200: components["responses"]["billing_premium_request_usage_report_org"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get billing usage report for an organization + * @description Gets a report of the total usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. + * + * **Note:** This endpoint is only available to organizations with access to the enhanced billing platform. For more information, see "[About the enhanced billing platform](https://docs.github.com/billing/using-the-new-billing-platform)." + */ + "billing/get-github-billing-usage-report-org": { + parameters: { + query?: { + year?: components["parameters"]["billing-usage-report-year"]; + month?: components["parameters"]["billing-usage-report-month"]; + day?: components["parameters"]["billing-usage-report-day"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + 200: components["responses"]["billing_usage_report_org"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get an organization + * @description Gets information about an organization. + * + * When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, outside collaborators, guest collaborators, repository collaborators, or everyone with access to any repository within the organization to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * To see the full details about an organization, the authenticated user must be an organization owner. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. + * + * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. + */ + "orgs/get": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an organization + * @description Deletes an organization and all its repositories. + * + * The organization login will be unavailable for 90 days after deletion. + * + * Please review the Terms of Service regarding account deletion before using this endpoint: + * + * https://docs.github.com/site-policy/github-terms/github-terms-of-service + */ + "orgs/delete": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update an organization + * @description > [!WARNING] + * > **Closing down notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * > [!WARNING] + * > **Closing down notice:** Code security product enablement for new repositories through the organization API is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) to set defaults instead. For more information on setting a default security configuration, see the [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). + * + * Updates the organization's profile and member privileges. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint. + */ + "orgs/update": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Billing email address. This address is not publicized. */ + billing_email?: string; + /** @description The company name. */ + company?: string; + /** @description The publicly visible email address. */ + email?: string; + /** @description The Twitter username of the company. */ + twitter_username?: string; + /** @description The location. */ + location?: string; + /** @description The shorthand name of the company. */ + name?: string; + /** @description The description of the company. The maximum size is 160 characters. */ + description?: string; + /** @description Whether an organization can use organization projects. */ + has_organization_projects?: boolean; + /** @description Whether repositories that belong to the organization can use repository projects. */ + has_repository_projects?: boolean; + /** + * @description Default permission level members have for organization repositories. + * @default read + * @enum {string} + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + * @default true + */ + members_can_create_repositories?: boolean; + /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_internal_repositories?: boolean; + /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_private_repositories?: boolean; + /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_public_repositories?: boolean; + /** + * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * **Note:** This parameter is closing down and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + * @enum {string} + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** + * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_pages?: boolean; + /** + * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_public_pages?: boolean; + /** + * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_private_pages?: boolean; + /** + * @description Whether organization members can fork private organization repositories. + * @default false + */ + members_can_fork_private_repositories?: boolean; + /** + * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. + * @default false + */ + web_commit_signoff_required?: boolean; + /** @example "http://github.blog" */ + blog?: string; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ + secret_scanning_push_protection_custom_link?: string; + /** @description Controls whether or not deploy keys may be added and used for repositories in the organization. */ + deploy_keys_enabled_for_repositories?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 409: components["responses"]["conflict"]; + /** @description Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; + }; + }; + }; + /** + * Get GitHub Actions cache usage for an organization + * @description Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + "actions/get-actions-cache-usage-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; + }; + /** + * List repositories with GitHub Actions cache usage for an organization + * @description Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + "actions/get-actions-cache-usage-by-repo-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; + }; + }; + }; + }; + }; + /** + * List GitHub-hosted runners for an organization + * @description Lists all GitHub-hosted runners configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runner:org` scope to use this endpoint. + */ + "actions/list-hosted-runners-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["actions-hosted-runner"][]; + }; + }; + }; + }; + }; + /** + * Create a GitHub-hosted runner for an organization + * @description Creates a GitHub-hosted runner for an organization. + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/create-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name: string; + /** @description The image of runner. To list all available images, use `GET /actions/hosted-runners/images/github-owned` or `GET /actions/hosted-runners/images/partner`. */ + image: { + /** @description The unique identifier of the runner image. */ + id?: string; + /** + * @description The source of the runner image. + * @enum {string} + */ + source?: "github" | "partner" | "custom"; + /** @description The version of the runner image to deploy. This is relevant only for runners using custom images. */ + version?: string | null; + }; + /** @description The machine size of the runner. To list available sizes, use `GET actions/hosted-runners/machine-sizes` */ + size: string; + /** @description The existing runner group to add this runner to. */ + runner_group_id: number; + /** @description The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. */ + maximum_runners?: number; + /** @description Whether this runner should be created with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits` */ + enable_static_ip?: boolean; + /** + * @description Whether this runner should be used to generate custom images. + * @default false + */ + image_gen?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + /** + * List custom images for an organization + * @description List custom images for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/list-custom-images-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + images: components["schemas"]["actions-hosted-runner-custom-image"][]; + }; + }; + }; + }; + }; + /** + * Get a custom image definition for GitHub Actions Hosted Runners + * @description Get a custom image definition for GitHub Actions Hosted Runners. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/get-custom-image-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + image_definition_id: components["parameters"]["actions-custom-image-definition-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-hosted-runner-custom-image"]; + }; + }; + }; + }; + /** + * Delete a custom image from the organization + * @description Delete a custom image from the organization. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/delete-custom-image-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + image_definition_id: components["parameters"]["actions-custom-image-definition-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List image versions of a custom image for an organization + * @description List image versions of a custom image for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/list-custom-image-versions-for-org": { + parameters: { + path: { + image_definition_id: components["parameters"]["actions-custom-image-definition-id"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + image_versions: components["schemas"]["actions-hosted-runner-custom-image-version"][]; + }; + }; + }; + }; + }; + /** + * Get an image version of a custom image for GitHub Actions Hosted Runners + * @description Get an image version of a custom image for GitHub Actions Hosted Runners. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/get-custom-image-version-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + image_definition_id: components["parameters"]["actions-custom-image-definition-id"]; + version: components["parameters"]["actions-custom-image-version"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-hosted-runner-custom-image-version"]; + }; + }; + }; + }; + /** + * Delete an image version of custom image from the organization + * @description Delete an image version of custom image from the organization. + * + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/delete-custom-image-version-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + image_definition_id: components["parameters"]["actions-custom-image-definition-id"]; + version: components["parameters"]["actions-custom-image-version"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get GitHub-owned images for GitHub-hosted runners in an organization + * @description Get the list of GitHub-owned images available for GitHub-hosted runners for an organization. + */ + "actions/get-hosted-runners-github-owned-images-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + images: components["schemas"]["actions-hosted-runner-curated-image"][]; + }; + }; + }; + }; + }; + /** + * Get partner images for GitHub-hosted runners in an organization + * @description Get the list of partner images available for GitHub-hosted runners for an organization. + */ + "actions/get-hosted-runners-partner-images-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + images: components["schemas"]["actions-hosted-runner-curated-image"][]; + }; + }; + }; + }; + }; + /** + * Get limits on GitHub-hosted runners for an organization + * @description Get the GitHub-hosted runners limits for an organization. + */ + "actions/get-hosted-runners-limits-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-hosted-runner-limits"]; + }; + }; + }; + }; + /** + * Get GitHub-hosted runners machine specs for an organization + * @description Get the list of machine specs available for GitHub-hosted runners for an organization. + */ + "actions/get-hosted-runners-machine-specs-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + machine_specs: components["schemas"]["actions-hosted-runner-machine-spec"][]; + }; + }; + }; + }; + }; + /** + * Get platforms for GitHub-hosted runners in an organization + * @description Get the list of platforms available for GitHub-hosted runners for an organization. + */ + "actions/get-hosted-runners-platforms-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + platforms: string[]; + }; + }; + }; + }; + }; + /** + * Get a GitHub-hosted runner for an organization + * @description Gets a GitHub-hosted runner configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/get-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + /** + * Delete a GitHub-hosted runner for an organization + * @description Deletes a GitHub-hosted runner for an organization. + */ + "actions/delete-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + /** + * Update a GitHub-hosted runner for an organization + * @description Updates a GitHub-hosted runner for an organization. + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/update-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name?: string; + /** @description The existing runner group to add this runner to. */ + runner_group_id?: number; + /** @description The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. */ + maximum_runners?: number; + /** @description Whether this runner should be updated with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits` */ + enable_static_ip?: boolean; + /** @description The version of the runner image to deploy. This is relevant only for runners using custom images. */ + image_version?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + /** + * Get the customization template for an OIDC subject claim for an organization + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + "oidc/get-oidc-custom-sub-template-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description A JSON serialized template for OIDC subject claim customization */ + 200: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + }; + }; + /** + * Set the customization template for an OIDC subject claim for an organization + * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "oidc/update-oidc-custom-sub-template-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + responses: { + /** @description Empty response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get GitHub Actions permissions for an organization + * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/get-github-actions-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-organization-permissions"]; + }; + }; + }; + }; + /** + * Set GitHub Actions permissions for an organization + * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-github-actions-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + sha_pinning_required?: components["schemas"]["sha-pinning-required"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get artifact and log retention settings for an organization + * @description Gets artifact and log retention settings for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + "actions/get-artifact-and-log-retention-settings-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-artifact-and-log-retention-response"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set artifact and log retention settings for an organization + * @description Sets artifact and log retention settings for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + "actions/set-artifact-and-log-retention-settings-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-artifact-and-log-retention"]; + }; + }; + responses: { + /** @description No content */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get fork PR contributor approval permissions for an organization + * @description Gets the fork PR contributor approval policy for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + "actions/get-fork-pr-contributor-approval-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-fork-pr-contributor-approval"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set fork PR contributor approval permissions for an organization + * @description Sets the fork PR contributor approval policy for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-fork-pr-contributor-approval-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-fork-pr-contributor-approval"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get private repo fork PR workflow settings for an organization + * @description Gets the settings for whether workflows from fork pull requests can run on private repositories in an organization. + */ + "actions/get-private-repo-fork-pr-workflows-settings-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-fork-pr-workflows-private-repos"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set private repo fork PR workflow settings for an organization + * @description Sets the settings for whether workflows from fork pull requests can run on private repositories in an organization. + */ + "actions/set-private-repo-fork-pr-workflows-settings-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-fork-pr-workflows-private-repos-request"]; + }; + }; + responses: { + /** @description Empty response for successful settings update */ + 204: { + content: never; + }; + /** @description Forbidden - Fork PR workflow settings for private repositories are managed by the enterprise owner */ + 403: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List selected repositories enabled for GitHub Actions in an organization + * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + }; + }; + /** + * Set selected repositories enabled for GitHub Actions in an organization + * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-selected-repositories-enabled-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to enable for GitHub Actions. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Enable a selected repository for GitHub Actions in an organization + * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/enable-selected-repository-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Disable a selected repository for GitHub Actions in an organization + * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/disable-selected-repository-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get allowed actions and reusable workflows for an organization + * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/get-allowed-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Set allowed actions and reusable workflows for an organization + * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-allowed-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get self-hosted runners settings for an organization + * @description Gets the settings for self-hosted runners for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + "actions/get-self-hosted-runners-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["self-hosted-runners-settings"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set self-hosted runners settings for an organization + * @description Sets the settings for self-hosted runners for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + "actions/set-self-hosted-runners-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The policy that controls whether self-hosted runners can be used in the organization + * @enum {string} + */ + enabled_repositories: "all" | "selected" | "none"; + }; + }; + }; + responses: { + /** @description No content */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List repositories allowed to use self-hosted runners in an organization + * @description Lists repositories that are allowed to use self-hosted runners in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + "actions/list-selected-repositories-self-hosted-runners-organization": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count?: number; + repositories?: components["schemas"]["repository"][]; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set repositories allowed to use self-hosted runners in an organization + * @description Sets repositories that are allowed to use self-hosted runners in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + "actions/set-selected-repositories-self-hosted-runners-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description IDs of repositories that can use repository-level self-hosted runners */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description No content */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add a repository to the list of repositories allowed to use self-hosted runners in an organization + * @description Adds a repository to the list of repositories that are allowed to use self-hosted runners in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + "actions/enable-selected-repository-self-hosted-runners-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description No content */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove a repository from the list of repositories allowed to use self-hosted runners in an organization + * @description Removes a repository from the list of repositories that are allowed to use self-hosted runners in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope or the "Actions policies" fine-grained permission to use this endpoint. + */ + "actions/disable-selected-repository-self-hosted-runners-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description No content */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get default workflow permissions for an organization + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/get-github-actions-default-workflow-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + /** + * Set default workflow permissions for an organization + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-github-actions-default-workflow-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + content: never; + }; + }; + }; + /** + * List self-hosted runner groups for an organization + * @description Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runner-groups-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + visible_to_repository?: components["parameters"]["visible-to-repository"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-org"][]; + }; + }; + }; + }; + }; + /** + * Create a self-hosted runner group for an organization + * @description Creates a new self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/create-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. + * @default all + * @enum {string} + */ + visibility?: "selected" | "all" | "private"; + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids?: number[]; + /** @description List of runner IDs to add to the runner group. */ + runners?: number[]; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + /** + * Get a self-hosted runner group for an organization + * @description Gets a specific self-hosted runner group for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + /** + * Delete a self-hosted runner group from an organization + * @description Deletes a self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-group-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a self-hosted runner group for an organization + * @description Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/update-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. + * @enum {string} + */ + visibility?: "selected" | "all" | "private"; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + /** + * List GitHub-hosted runners in a group for an organization + * @description Lists the GitHub-hosted runners in an organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/list-github-hosted-runners-in-group-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["actions-hosted-runner"][]; + }; + }; + }; + }; + }; + /** + * List repository access to a self-hosted runner group in an organization + * @description Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/list-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** + * Set repository access for a self-hosted runner group in an organization + * @description Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Add repository access to a self-hosted runner group in an organization + * @description Adds a repository to the list of repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/add-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove repository access to a self-hosted runner group in an organization + * @description Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List self-hosted runners in a group for an organization + * @description Lists self-hosted runners that are in a specific organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-in-group-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Set self-hosted runners in a group for an organization + * @description Replaces the list of self-hosted runners that are part of an organization runner group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-self-hosted-runners-in-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Add a self-hosted runner to a group for an organization + * @description Adds a self-hosted runner to a runner group configured in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/add-self-hosted-runner-to-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove a self-hosted runner from a group for an organization + * @description Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/remove-self-hosted-runner-from-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List self-hosted runners for an organization + * @description Lists all self-hosted runners configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-self-hosted-runners-for-org": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ + name?: string; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * List runner applications for an organization + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-runner-applications-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Create configuration for a just-in-time runner for an organization + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the organization. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/generate-runner-jitconfig-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder?: string; + }; + }; + }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Create a registration token for an organization + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-registration-token-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Create a remove token for an organization + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-remove-token-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Get a self-hosted runner for an organization + * @description Gets a specific self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/get-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Delete a self-hosted runner from an organization + * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List labels for a self-hosted runner for an organization + * @description Lists all labels for a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-labels-for-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set custom labels for a self-hosted runner for an organization + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/set-custom-labels-for-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Add custom labels to a self-hosted runner for an organization + * @description Adds custom labels to a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/add-custom-labels-to-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Remove all custom labels from a self-hosted runner for an organization + * @description Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a custom label from a self-hosted runner for an organization + * @description Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/remove-custom-label-from-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-org-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-actions-secret"][]; + }; + }; + }; + }; + }; + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-org-public-key": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-actions-secret"]; + }; + }; + }; + }; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (number | string)[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-selected-repos-for-org-secret": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/set-selected-repos-for-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. For more information about setting the visibility, see [Create or + * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/add-selected-repo-to-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + content: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + content: never; + }; + }; + }; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/remove-selected-repo-from-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + content: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + content: never; + }; + }; + }; + /** + * List organization variables + * @description Lists all organization variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-org-variables": { + parameters: { + query?: { + per_page?: components["parameters"]["variables-per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["organization-actions-variable"][]; + }; + }; + }; + }; + }; + /** + * Create an organization variable + * @description Creates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a variable */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * Get an organization variable + * @description Gets a specific variable in an organization. + * + * The authenticated user must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-actions-variable"]; + }; + }; + }; + }; + /** + * Delete an organization variable + * @description Deletes an organization variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update an organization variable + * @description Updates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/update-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility?: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List selected repositories for an organization variable + * @description Lists all repositories that can access an organization variable + * that is available to selected repositories. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-selected-repos-for-org-variable": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + content: never; + }; + }; + }; + /** + * Set selected repositories for an organization variable + * @description Replaces all repositories for an organization variable that is available + * to selected repositories. Organization variables that are available to selected + * repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/set-selected-repos-for-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The IDs of the repositories that can access the organization variable. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + content: never; + }; + }; + }; + /** + * Add selected repository to an organization variable + * @description Adds a repository to an organization variable that is available to selected repositories. + * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/add-selected-repo-to-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + content: never; + }; + }; + }; + /** + * Remove selected repository from an organization variable + * @description Removes a repository from an organization variable that is + * available to selected repositories. Organization variables that are available to + * selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/remove-selected-repo-from-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + content: never; + }; + }; + }; + /** + * Create artifact metadata storage record + * @description Create metadata storage records for artifacts associated with an organization. + * This endpoint will create a new artifact storage record on behalf of any artifact matching the provided digest and + * associated with a repository owned by the organization. + */ + "orgs/create-artifact-storage-record": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The name of the artifact. + * @example libfoo-1.2.3 + */ + name: string; + /** + * @description The digest of the artifact (algorithm:hex-encoded-digest). + * @example sha256:0ecbaa601dba202129058746c7d8e3f282d0efb5fff0... + */ + digest: string; + /** + * Format: uri + * @description The URL where the artifact is stored. + * @example https://reg.example.com/artifactory/bar/libfoo-1.2.3 + */ + artifact_url?: string; + /** + * Format: uri + * @description The path of the artifact. + * @example com/github/bar/libfoo-1.2.3 + */ + path?: string; + /** + * Format: uri + * @description The base URL of the artifact registry. + * @example https://reg.example.com/artifactory/ + */ + registry_url: string; + /** + * @description The repository name within the registry. + * @example bar + */ + repository?: string; + /** + * @description The status of the artifact (e.g., active, inactive). + * @default active + * @example active + * @enum {string} + */ + status?: "active" | "eol" | "deleted"; + }; + }; + }; + responses: { + /** @description Artifact metadata storage record stored successfully. */ + 200: { + content: { + "application/json": { + /** @example 1 */ + total_count?: number; + storage_records?: { + id?: number; + name?: string; + digest?: string; + artifact_url?: string | null; + registry_url?: string; + repository?: string | null; + status?: string; + created_at?: string; + updated_at?: string; + }[]; + }; + }; + }; + }; + }; + /** + * List artifact storage records + * @description List a collection of artifact storage records with a given subject digest that are associated with repositories owned by an organization. + * + * The collection of storage records returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `content:read` permission is required. + */ + "orgs/list-artifact-storage-records": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** + * @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. + * @example sha256:1bb1e949e55dcefc6353e7b36c8897d2a107d8e8dca49d4e3c0ea8493fc0bc72 + */ + subject_digest: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + /** + * @description The number of storage records for this digest and organization + * @example 3 + */ + total_count?: number; + storage_records?: { + id?: number; + name?: string; + digest?: string; + artifact_url?: string; + registry_url?: string; + repository?: string; + status?: string; + created_at?: string; + updated_at?: string; + }[]; + }; + }; + }; + }; + }; + /** + * List attestations by bulk subject digests + * @description List a collection of artifact attestations associated with any entry in a list of subject digests owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + "orgs/list-attestations-bulk": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description List of subject digests to fetch attestations for. */ + subject_digests: string[]; + /** + * @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, `release`, or freeform text + * for custom predicate types. + */ + predicate_type?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + /** @description Mapping of subject digest to bundles. */ + attestations_subject_digests?: { + [key: string]: + | { + /** @description The bundle of the attestation. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[] + | null; + }; + /** @description Information about the current page. */ + page_info?: { + /** @description Indicates whether there is a next page. */ + has_next?: boolean; + /** @description Indicates whether there is a previous page. */ + has_previous?: boolean; + /** @description The cursor to the next page. */ + next?: string; + /** @description The cursor to the previous page. */ + previous?: string; + }; + }; + }; + }; + }; + }; + /** + * Delete attestations in bulk + * @description Delete artifact attestations in bulk by either subject digests or unique ID. + */ + "orgs/delete-attestations-bulk": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": OneOf< + [ + { + /** @description List of subject digests associated with the artifact attestations to delete. */ + subject_digests: string[]; + }, + { + /** @description List of unique IDs associated with the artifact attestations to delete. */ + attestation_ids: number[]; + }, + ] + >; + }; + }; + responses: { + /** @description Response */ + 200: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete attestations by subject digest + * @description Delete an artifact attestation by subject digest. + */ + "orgs/delete-attestations-by-subject-digest": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description Subject Digest */ + subject_digest: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: never; + }; + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List attestation repositories + * @description List repositories owned by the provided organization that have created at least one attested artifact + * Results will be sorted in ascending order by repository ID + */ + "orgs/list-attestation-repositories": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, `release`, or freeform text + * for custom predicate types. + */ + predicate_type?: string; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + id?: number; + name?: string; + }[]; + }; + }; + }; + }; + /** + * Delete attestations by ID + * @description Delete an artifact attestation by unique ID that is associated with a repository owned by an org. + */ + "orgs/delete-attestations-by-id": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description Attestation ID */ + attestation_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: never; + }; + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + "orgs/list-attestations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, `release`, or freeform text + * for custom predicate types. + */ + predicate_type?: string; + }; + path: { + org: components["parameters"]["org"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + attestations?: { + /** + * @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. + */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + initiator?: string; + }[]; + }; + }; + }; + }; + }; + /** + * List users blocked by an organization + * @description List the users blocked by an organization. + */ + "orgs/list-blocked-users": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Check if a user is blocked by an organization + * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. + */ + "orgs/check-blocked-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description If the user is blocked */ + 204: { + content: never; + }; + /** @description If the user is not blocked */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Block a user from an organization + * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. + */ + "orgs/block-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Unblock a user from an organization + * @description Unblocks the given user on behalf of the specified organization. + */ + "orgs/unblock-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List campaigns for an organization + * @description Lists campaigns in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + "campaigns/list-org-campaigns": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + direction?: components["parameters"]["direction"]; + /** @description If specified, only campaigns with this state will be returned. */ + state?: components["schemas"]["campaign-state"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated" | "ends_at" | "published"; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["campaign-summary"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Create a campaign for an organization + * @description Create a campaign for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + * + * Fine-grained tokens must have the "Code scanning alerts" repository permissions (read) on all repositories included + * in the campaign. + */ + "campaigns/create-campaign": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the campaign */ + name: string; + /** @description A description for the campaign */ + description: string; + /** @description The logins of the users to set as the campaign managers. At this time, only a single manager can be supplied. */ + managers?: string[]; + /** @description The slugs of the teams to set as the campaign managers. */ + team_managers?: string[]; + /** + * Format: date-time + * @description The end date and time of the campaign. The date must be in the future. + */ + ends_at: string; + /** + * Format: uri + * @description The contact link of the campaign. Must be a URI. + */ + contact_link?: string | null; + /** @description The code scanning alerts to include in this campaign */ + code_scanning_alerts?: + | { + /** @description The repository id */ + repository_id: number; + /** @description The alert numbers */ + alert_numbers: number[]; + }[] + | null; + /** + * @description If true, will automatically generate issues for the campaign. The default is false. + * @default false + */ + generate_issues?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["campaign-summary"]; + }; + }; + /** @description Bad Request */ + 400: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Too Many Requests */ + 429: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a campaign for an organization + * @description Gets a campaign for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + "campaigns/get-campaign-summary": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description The campaign number. */ + campaign_number: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["campaign-summary"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Delete a campaign for an organization + * @description Deletes a campaign in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + "campaigns/delete-campaign": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description The campaign number. */ + campaign_number: number; + }; + }; + responses: { + /** @description Deletion successful */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Update a campaign + * @description Updates a campaign in an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. + */ + "campaigns/update-campaign": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description The campaign number. */ + campaign_number: number; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the campaign */ + name?: string; + /** @description A description for the campaign */ + description?: string; + /** @description The logins of the users to set as the campaign managers. At this time, only a single manager can be supplied. */ + managers?: string[]; + /** @description The slugs of the teams to set as the campaign managers. */ + team_managers?: string[]; + /** + * Format: date-time + * @description The end date and time of the campaign, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + ends_at?: string; + /** + * Format: uri + * @description The contact link of the campaign. Must be a URI. + */ + contact_link?: string | null; + state?: components["schemas"]["campaign-state"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["campaign-summary"]; + }; + }; + /** @description Bad Request */ + 400: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List code scanning alerts for an organization + * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` or `repo`s cope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/list-alerts-for-org": { + parameters: { + query?: { + tool_name?: components["parameters"]["tool-name"]; + tool_guid?: components["parameters"]["tool-guid"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + direction?: components["parameters"]["direction"]; + /** @description If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state-query"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated"; + /** @description If specified, only code scanning alerts with this severity will be returned. */ + severity?: components["schemas"]["code-scanning-alert-severity"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get code security configurations for an organization + * @description Lists all code security configurations available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + "code-security/get-configurations-for-org": { + parameters: { + query?: { + /** @description The target type of the code security configuration */ + target_type?: "global" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a code security configuration + * @description Creates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/create-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the organization. */ + name: string; + /** @description A description of the code security configuration */ + description: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @default disabled + * @enum {string} + */ + advanced_security?: + | "enabled" + | "disabled" + | "code_security" + | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @default enabled + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: + | "enabled" + | "disabled" + | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @default disabled + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @default disabled + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + code_scanning_options?: components["schemas"]["code-scanning-options"]; + /** + * @description The enablement status of code scanning default setup + * @default disabled + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default not_set + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @default disabled + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @default disabled + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @default disabled + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @default enforced + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Successfully created code security configuration */ + 201: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + }; + }; + /** + * Get default code security configurations + * @description Lists the default code security configurations for an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + "code-security/get-default-configurations": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-default-configurations"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Detach configurations from repositories + * @description Detach code security configuration(s) from a set of repositories. + * Repositories will retain their settings but will no longer be associated with the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/detach-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository IDs to detach from configurations. Up to 250 IDs can be provided. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Get a code security configuration + * @description Gets a code security configuration available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/get-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a code security configuration + * @description Deletes the desired code security configuration from an organization. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/delete-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Update a code security configuration + * @description Updates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/update-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security features. `enabled` will enable both Code Security and Secret Protection features. + * + * > [!WARNING] + * > `code_security` and `secret_protection` are deprecated values for this field. Prefer the individual `code_security` and `secret_protection` fields to set the status of these features. + * + * @enum {string} + */ + advanced_security?: + | "enabled" + | "disabled" + | "code_security" + | "secret_protection"; + /** + * @description The enablement status of GitHub Code Security features. + * @enum {string} + */ + code_security?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: + | "enabled" + | "disabled" + | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of GitHub Secret Protection features. + * @enum {string} + */ + secret_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Response when a configuration is updated */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + /** @description Response when no new updates are made */ + 204: { + content: never; + }; + }; + }; + /** + * Attach a configuration to repositories + * @description Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/attach-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of repositories to attach the configuration to. `selected` means the configuration will be attached to only the repositories specified by `selected_repository_ids` + * @enum {string} + */ + scope: + | "all" + | "all_without_configurations" + | "public" + | "private_or_internal" + | "selected"; + /** @description An array of repository IDs to attach the configuration to. You can only provide a list of repository ids when the `scope` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + }; + }; + /** + * Set a code security configuration as a default for an organization + * @description Sets a code security configuration as a default to be applied to new repositories in your organization. + * + * This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/set-configuration-as-default": { + parameters: { + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Specify which types of repository this security configuration should be applied to by default. + * @enum {string} + */ + default_for_new_repos?: + | "all" + | "none" + | "private_and_internal" + | "public"; + }; + }; + }; + responses: { + /** @description Default successfully changed. */ + 200: { + content: { + "application/json": { + /** + * @description Specifies which types of repository this security configuration is applied to by default. + * @enum {string} + */ + default_for_new_repos?: + | "all" + | "none" + | "private_and_internal" + | "public"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get repositories associated with a code security configuration + * @description Lists the repositories associated with a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + "code-security/get-repositories-for-configuration": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. + * + * Can be: `all`, `attached`, `attaching`, `detached`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` + */ + status?: string; + }; + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration-repositories"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List codespaces for the organization + * @description Lists the codespaces associated to a specified organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/list-in-organization": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Manage access control for organization codespaces + * @deprecated + * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/set-codespaces-access": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. + * @enum {string} + */ + visibility: + | "disabled" + | "selected_members" + | "all_members" + | "all_members_and_outside_collaborators"; + /** @description The usernames of the organization members who should have access to codespaces in the organization. Required when `visibility` is `selected_members`. The provided list of usernames will replace any existing value. */ + selected_usernames?: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Add users to Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/set-codespaces-access-users": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Remove users from Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will no longer be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/delete-codespaces-access-users": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces should not be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List organization secrets + * @description Lists all Codespaces development environment secrets available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/list-org-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-org-secret"][]; + }; + }; + }; + }; + }; + /** + * Get an organization public key + * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/get-org-public-key": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; + }; + /** + * Get an organization secret + * @description Gets an organization development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/get-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["codespaces-org-secret"]; + }; + }; + }; + }; + /** + * Create or update an organization secret + * @description Creates or updates an organization development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/create-or-update-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization secret. You can only provide a list of repository IDs when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete an organization secret + * @description Deletes an organization development environment secret using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/delete-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/list-selected-repos-for-org-secret": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization development environment secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/set-selected-repos-for-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + content: never; + }; + }; + }; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization development environment secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/add-selected-repo-to-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type is not set to selected */ + 409: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization development environment secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/remove-selected-repo-from-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get Copilot seat information and settings for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets information about an organization's Copilot subscription, including seat breakdown + * and feature policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-copilot-business-in-your-organization)." + * + * Only organization owners can view details about the organization's Copilot Business or Copilot Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + "copilot/get-copilot-organization-details": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": components["schemas"]["copilot-organization-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description There is a problem with your account's associated payment method. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List all Copilot seat assignments for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Lists all Copilot seats for which an organization with a Copilot Business or Copilot Enterprise subscription is currently being billed. + * Only organization owners can view assigned seats. + * + * Each seat object contains information about the assigned user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see [Metrics data properties for GitHub Copilot](https://docs.github.com/copilot/reference/metrics-data). + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + "copilot/list-copilot-seats": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + /** @description Total number of Copilot seats for the organization currently being billed. */ + total_seats?: number; + seats?: components["schemas"]["copilot-seat-details"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Add teams to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + "copilot/add-copilot-seats-for-teams": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description List of team names within the organization to which to grant access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Remove teams from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all members of each team specified to "pending cancellation". + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through another team. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + "copilot/cancel-copilot-seat-assignment-for-teams": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of teams from which to revoke access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Add users to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + "copilot/add-copilot-seats-for-users": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members to be granted access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Remove users from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all users specified to "pending cancellation". + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through team membership. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + "copilot/cancel-copilot-seat-assignment-for-users": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members for which to revoke access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, the seat management setting is set to enable Copilot for all users or is unconfigured, or a user's seat cannot be cancelled because it was assigned to them via a team. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get Copilot metrics for an organization + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the organization contained **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 100 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization. + * Only organization owners and owners and billing managers of the parent enterprise can view Copilot metrics. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + "copilot/copilot-metrics-for-organization": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 100 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["copilot-usage-metrics-day"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["usage_metrics_api_disabled"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List Dependabot alerts for an organization + * @description Lists Dependabot alerts for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "dependabot/list-alerts-for-org": { + parameters: { + query?: { + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + artifact_registry_url?: components["parameters"]["dependabot-alert-comma-separated-artifact-registry-urls"]; + artifact_registry?: components["parameters"]["dependabot-alert-comma-separated-artifact-registry"]; + has?: components["parameters"]["dependabot-alert-org-scope-comma-separated-has"]; + runtime_risk?: components["parameters"]["dependabot-alert-comma-separated-runtime-risk"]; + scope?: components["parameters"]["dependabot-alert-scope"]; + sort?: components["parameters"]["dependabot-alert-sort"]; + direction?: components["parameters"]["direction"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/list-org-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-dependabot-secret"][]; + }; + }; + }; + }; + }; + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/get-org-public-key": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/get-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-dependabot-secret"]; + }; + }; + }; + }; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "dependabot/create-or-update-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (string | number)[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/delete-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/list-selected-repos-for-org-secret": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/set-selected-repos-for-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. The visibility is set when you [Create or + * update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/add-selected-repo-to-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + content: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + content: never; + }; + }; + }; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/remove-selected-repo-from-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + content: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + content: never; + }; + }; + }; + /** + * Get list of conflicting packages during Docker migration for organization + * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + "packages/list-docker-migration-conflicting-packages-for-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List public organization events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-public-org-events": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List failed organization invitations + * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. + */ + "orgs/list-failed-invitations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organization webhooks + * @description List webhooks for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/list-webhooks": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["org-hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create an organization webhook + * @description Create a hook that posts payloads in JSON format. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or + * edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/create-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Must be passed as "web". */ + name: string; + /** @description Key/value pairs to provide settings for this webhook. */ + config: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "kdaigle" */ + username?: string; + /** @example "password" */ + password?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/orgs/octocat/hooks/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an organization webhook + * @description Returns a webhook configured in an organization. To get only the webhook + * `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization). + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/get-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an organization webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/delete-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update an organization webhook + * @description Updates a webhook configured in an organization. When you update a webhook, + * the `secret` will be overwritten. If you previously had a `secret` set, you must + * provide the same `secret` or set a new `secret` or the secret will be removed. If + * you are only updating individual webhook `config` properties, use "[Update a webhook + * configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)". + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/update-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + /** @example "web" */ + name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a webhook configuration for an organization + * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/get-webhook-config-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Update a webhook configuration for an organization + * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/update-webhook-config-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * List deliveries for an organization webhook + * @description Returns a list of webhook deliveries for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/list-webhook-deliveries": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + cursor?: components["parameters"]["cursor"]; + }; + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a webhook delivery for an organization webhook + * @description Returns a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/get-webhook-delivery": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Redeliver a delivery for an organization webhook + * @description Redeliver a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/redeliver-webhook-delivery": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Ping an organization webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) + * to be sent to the hook. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/ping-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get route stats by actor + * @description Get API request count statistics for an actor broken down by route within a specified time frame. + */ + "api-insights/get-route-stats-by-actor": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + direction?: components["parameters"]["direction"]; + sort?: components["parameters"]["api-insights-route-stats-sort"]; + api_route_substring?: components["parameters"]["api-insights-api-route-substring"]; + }; + path: { + org: components["parameters"]["org"]; + actor_type: components["parameters"]["api-insights-actor-type"]; + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-route-stats"]; + }; + }; + }; + }; + /** + * Get subject stats + * @description Get API request statistics for all subjects within an organization within a specified time frame. Subjects can be users or GitHub Apps. + */ + "api-insights/get-subject-stats": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + direction?: components["parameters"]["direction"]; + sort?: components["parameters"]["api-insights-sort"]; + subject_name_substring?: components["parameters"]["api-insights-subject-name-substring"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-subject-stats"]; + }; + }; + }; + }; + /** + * Get summary stats + * @description Get overall statistics of API requests made within an organization by all users and apps within a specified time frame. + */ + "api-insights/get-summary-stats": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + /** + * Get summary stats by user + * @description Get overall statistics of API requests within the organization for a user. + */ + "api-insights/get-summary-stats-by-user": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + path: { + org: components["parameters"]["org"]; + user_id: components["parameters"]["api-insights-user-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + /** + * Get summary stats by actor + * @description Get overall statistics of API requests within the organization made by a specific actor. Actors can be GitHub App installations, OAuth apps or other tokens on behalf of a user. + */ + "api-insights/get-summary-stats-by-actor": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + path: { + org: components["parameters"]["org"]; + actor_type: components["parameters"]["api-insights-actor-type"]; + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + /** + * Get time stats + * @description Get the number of API requests and rate-limited requests made within an organization over a specified time period. + */ + "api-insights/get-time-stats": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + /** + * Get time stats by user + * @description Get the number of API requests and rate-limited requests made within an organization by a specific user over a specified time period. + */ + "api-insights/get-time-stats-by-user": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + path: { + org: components["parameters"]["org"]; + user_id: components["parameters"]["api-insights-user-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + /** + * Get time stats by actor + * @description Get the number of API requests and rate-limited requests made within an organization by a specific actor within a specified time period. + */ + "api-insights/get-time-stats-by-actor": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + path: { + org: components["parameters"]["org"]; + actor_type: components["parameters"]["api-insights-actor-type"]; + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + /** + * Get user stats + * @description Get API usage statistics within an organization for a user broken down by the type of access. + */ + "api-insights/get-user-stats": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + direction?: components["parameters"]["direction"]; + sort?: components["parameters"]["api-insights-sort"]; + actor_name_substring?: components["parameters"]["api-insights-actor-name-substring"]; + }; + path: { + org: components["parameters"]["org"]; + user_id: components["parameters"]["api-insights-user-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-user-stats"]; + }; + }; + }; + }; + /** + * Get an organization installation for the authenticated app + * @description Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-org-installation": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + /** + * List app installations for an organization + * @description Lists all GitHub Apps in an organization. The installation count includes + * all GitHub Apps installed on repositories in the organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:read` scope to use this endpoint. + */ + "orgs/list-app-installations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + }; + }; + /** + * Get interaction restrictions for an organization + * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + */ + "interactions/get-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": + | components["schemas"]["interaction-limit-response"] + | Record; + }; + }; + }; + }; + /** + * Set interaction restrictions for an organization + * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + */ + "interactions/set-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove interaction restrictions for an organization + * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + "interactions/remove-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List pending organization invitations + * @description The return hash contains a `role` field which refers to the Organization + * Invitation role and will be one of the following values: `direct_member`, `admin`, + * `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub + * member, the `login` field in the return hash will be `null`. + */ + "orgs/list-pending-invitations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + /** @description Filter invitations by their member role. */ + role?: + | "all" + | "admin" + | "direct_member" + | "billing_manager" + | "hiring_manager"; + /** @description Filter invitations by their invitation source. */ + invitation_source?: "all" | "member" | "scim"; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create an organization invitation + * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + "orgs/create-invitation": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ + invitee_id?: number; + /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ + email?: string; + /** + * @description The role for the new member. + * * `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * * `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * * `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + * * `reinstate` - The previous role assigned to the invitee before they were removed from your organization. Can be one of the roles listed above. Only works if the invitee was previously part of your organization. + * @default direct_member + * @enum {string} + */ + role?: "admin" | "direct_member" | "billing_manager" | "reinstate"; + /** @description Specify IDs for the teams you want to invite new members to. */ + team_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["organization-invitation"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Cancel an organization invitation + * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + "orgs/cancel-invitation": { + parameters: { + path: { + org: components["parameters"]["org"]; + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List organization invitation teams + * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + "orgs/list-invitation-teams": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List issue types for an organization + * @description Lists all issue types for an organization. OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint. + */ + "orgs/list-issue-types": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-type"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create issue type for an organization + * @description Create a new issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/create-issue-type": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["organization-create-issue-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-type"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Update issue type for an organization + * @description Updates an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/update-issue-type": { + parameters: { + path: { + org: components["parameters"]["org"]; + issue_type_id: components["parameters"]["issue-type-id"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["organization-update-issue-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-type"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Delete issue type for an organization + * @description Deletes an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + * + * To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and + * personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/delete-issue-type": { + parameters: { + path: { + org: components["parameters"]["org"]; + issue_type_id: components["parameters"]["issue-type-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List organization issues assigned to the authenticated user + * @description List issues in an organization assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-for-org": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + labels?: components["parameters"]["labels"]; + /** @description Can be the name of an issue type. */ + type?: string; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organization members + * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + "orgs/list-members": { + parameters: { + query?: { + /** @description Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. `2fa_insecure` means that only members with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. These options are only available for organization owners. */ + filter?: "2fa_disabled" | "2fa_insecure" | "all"; + /** @description Filter members returned by their role. */ + role?: "all" | "admin" | "member"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Check organization membership for a user + * @description Check if a user is, publicly or privately, a member of the organization. + */ + "orgs/check-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response if requester is an organization member and user is a member */ + 204: { + content: never; + }; + /** @description Response if requester is not an organization member */ + 302: { + headers: { + /** @example https://api.github.com/orgs/github/public_members/pezra */ + Location?: string; + }; + content: never; + }; + /** @description Not Found if requester is an organization member and user is not a member */ + 404: { + content: never; + }; + }; + }; + /** + * Remove an organization member + * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + * + * > [!NOTE] + * > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. + */ + "orgs/remove-member": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List codespaces for a user in organization + * @description Lists the codespaces that a member of an organization has for repositories in that organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/get-codespaces-for-user-in-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Delete a codespace from the organization + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/delete-from-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Stop a codespace for an organization user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/stop-in-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get Copilot seat assignment details for a user + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets the GitHub Copilot seat details for a member of an organization who currently has access to GitHub Copilot. + * + * The seat object contains information about the user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see [Metrics data properties for GitHub Copilot](https://docs.github.com/copilot/reference/metrics-data). + * + * Only organization owners can view Copilot seat assignment details for members of their organization. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + "copilot/get-copilot-seat-details-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description The user's GitHub Copilot seat details, including usage. */ + 200: { + content: { + "application/json": components["schemas"]["copilot-seat-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization or the user has a pending organization invitation. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get organization membership for a user + * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. + */ + "orgs/get-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set organization membership for a user + * @description Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, organization owners are limited to creating 50 organization invitations for an organization within a 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + "orgs/set-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role to give the user in the organization. Can be one of: + * * `admin` - The user will become an owner of the organization. + * * `member` - The user will become a non-owner member of the organization. + * @default member + * @enum {string} + */ + role?: "admin" | "member"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove organization membership for a user + * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + * + * > [!NOTE] + * > If a user has both direct membership in the organization as well as indirect membership via an enterprise team, only their direct membership will be removed. Their indirect membership via an enterprise team remains until the user is removed from the enterprise team. + */ + "orgs/remove-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organization migrations + * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). + * + * A list of `repositories` is only returned for export migrations. + */ + "migrations/list-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + }; + }; + /** + * Start an organization migration + * @description Initiates the generation of a migration archive. + */ + "migrations/start-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of arrays indicating which repositories should be migrated. */ + repositories: string[]; + /** + * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + * @default false + * @example true + */ + lock_repositories?: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @default false + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @default false + */ + exclude_git_data?: boolean; + /** + * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_attachments?: boolean; + /** + * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. + * @default false + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only?: boolean; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. */ + exclude?: "repositories"[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an organization migration status + * @description Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + "migrations/get-status-for-org": { + parameters: { + query?: { + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** + * @description * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + 200: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Download an organization migration archive + * @description Fetches the URL to a migration archive. + */ + "migrations/download-archive-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 302: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an organization migration archive + * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + "migrations/delete-archive-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Unlock an organization repository + * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + "migrations/unlock-repo-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + repo_name: components["parameters"]["repo-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List repositories in an organization migration + * @description List all the repositories for this organization migration. + */ + "migrations/list-repos-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get all organization roles for an organization + * @description Lists the organization roles available in this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/list-org-roles": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response - list of organization roles */ + 200: { + content: { + "application/json": { + /** @description The total number of organization roles available to the organization. */ + total_count?: number; + /** @description The list of organization roles available to the organization. */ + roles?: components["schemas"]["organization-role"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove all organization roles for a team + * @description Removes all assigned organization roles from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/revoke-all-org-roles-team": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Assign an organization role to a team + * @description Assigns an organization role to a team in an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/assign-team-to-org-role": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response if the organization, team or role does not exist. */ + 404: { + content: never; + }; + /** @description Response if the organization roles feature is not enabled for the organization, or validation failed. */ + 422: { + content: never; + }; + }; + }; + /** + * Remove an organization role from a team + * @description Removes an organization role from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/revoke-org-role-team": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove all organization roles for a user + * @description Revokes all assigned organization roles from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/revoke-all-org-roles-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Assign an organization role to a user + * @description Assigns an organization role to a member of an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/assign-user-to-org-role": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response if the organization, user or role does not exist. */ + 404: { + content: never; + }; + /** @description Response if the organization roles feature is not enabled enabled for the organization, the validation failed, or the user is not an organization member. */ + 422: { + content: never; + }; + }; + }; + /** + * Remove an organization role from a user + * @description Remove an organization role from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/revoke-org-role-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get an organization role + * @description Gets an organization role that is available to this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/get-org-role": { + parameters: { + path: { + org: components["parameters"]["org"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-role"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List teams that are assigned to an organization role + * @description Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/list-org-role-teams": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response - List of assigned teams */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + content: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + content: never; + }; + }; + }; + /** + * List users that are assigned to an organization role + * @description Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/list-org-role-users": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response - List of assigned users */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["user-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + content: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + content: never; + }; + }; + }; + /** + * List outside collaborators for an organization + * @description List all users who are outside collaborators of an organization. + */ + "orgs/list-outside-collaborators": { + parameters: { + query?: { + /** @description Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. `2fa_insecure` means that only outside collaborators with [insecure 2FA methods](https://docs.github.com/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization#requiring-secure-methods-of-two-factor-authentication-in-your-organization) will be returned. */ + filter?: "2fa_disabled" | "2fa_insecure" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Convert an organization member to outside collaborator + * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + */ + "orgs/convert-member-to-outside-collaborator": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. + * @default false + */ + async?: boolean; + }; + }; + }; + responses: { + /** @description User is getting converted asynchronously */ + 202: { + content: { + "application/json": Record; + }; + }; + /** @description User was converted */ + 204: { + content: never; + }; + /** @description Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + 403: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove outside collaborator from an organization + * @description Removing a user from this list will remove them from all the organization's repositories. + */ + "orgs/remove-outside-collaborator": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Unprocessable Entity if user is a member of the organization */ + 422: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + }; + /** + * List packages for an organization + * @description Lists packages in an organization readable by the user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/list-packages-for-organization": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + visibility?: components["parameters"]["package-visibility"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: number; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get a package for an organization + * @description Gets a specific package in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-for-organization": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Delete a package for an organization + * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-for-org": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore a package for an organization + * @description Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-for-org": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List package versions for a package owned by an organization + * @description Lists package versions for a package owned by an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-all-package-versions-for-package-owned-by-org": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a package version for an organization + * @description Gets a specific package version in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-version-for-organization": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Delete package version for an organization + * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-version-for-org": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore package version for an organization + * @description Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-version-for-org": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List requests to access organization resources with fine-grained personal access tokens + * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/list-pat-grant-requests": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + sort?: components["parameters"]["personal-access-token-sort"]; + direction?: components["parameters"]["direction"]; + owner?: components["parameters"]["personal-access-token-owner"]; + repository?: components["parameters"]["personal-access-token-repository"]; + permission?: components["parameters"]["personal-access-token-permission"]; + last_used_before?: components["parameters"]["personal-access-token-before"]; + last_used_after?: components["parameters"]["personal-access-token-after"]; + token_id?: components["parameters"]["personal-access-token-token-id"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant-request"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Review requests to access organization resources with fine-grained personal access tokens + * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/review-pat-grant-requests-in-bulk": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. */ + pat_request_ids?: number[]; + /** + * @description Action to apply to the requests. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the requests. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Review a request to access organization resources with a fine-grained personal access token + * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/review-pat-grant-request": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the request. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the request. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List repositories requested to be accessed by a fine-grained personal access token + * @description Lists the repositories a fine-grained personal access token request is requesting access to. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/list-pat-grant-request-repositories": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List fine-grained personal access tokens with access to organization resources + * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/list-pat-grants": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + sort?: components["parameters"]["personal-access-token-sort"]; + direction?: components["parameters"]["direction"]; + owner?: components["parameters"]["personal-access-token-owner"]; + repository?: components["parameters"]["personal-access-token-repository"]; + permission?: components["parameters"]["personal-access-token-permission"]; + last_used_before?: components["parameters"]["personal-access-token-before"]; + last_used_after?: components["parameters"]["personal-access-token-after"]; + token_id?: components["parameters"]["personal-access-token-token-id"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Update the access to organization resources via fine-grained personal access tokens + * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/update-pat-accesses": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + /** @description The IDs of the fine-grained personal access tokens. */ + pat_ids: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Update the access a fine-grained personal access token has to organization resources + * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/update-pat-access": { + parameters: { + path: { + org: components["parameters"]["org"]; + pat_id: components["parameters"]["fine-grained-personal-access-token-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List repositories a fine-grained personal access token has access to + * @description Lists the repositories a fine-grained personal access token has access to. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/list-pat-grant-repositories": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + /** @description Unique identifier of the fine-grained personal access token. */ + pat_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List private registries for an organization + * @description + * Lists all private registry configurations available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/list-org-private-registries": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + configurations: components["schemas"]["org-private-registry-configuration"][]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a private registry for an organization + * @description + * Creates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/create-org-private-registry": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The registry type. + * @enum {string} + */ + registry_type: + | "maven_repository" + | "nuget_feed" + | "goproxy_server" + | "npm_registry" + | "rubygems_server" + | "cargo_registry" + | "composer_repository" + | "docker_registry" + | "git_source" + | "helm_registry" + | "hex_organization" + | "hex_repository" + | "pub_repository" + | "python_index" + | "terraform_registry"; + /** + * Format: uri + * @description The URL of the private registry. + */ + url: string; + /** @description The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication. */ + username?: string | null; + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint. */ + encrypted_value: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. You can manage the list of selected repositories using the [Update a private registry for an organization](https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization) endpoint. This field should be omitted if `visibility` is set to `all` or `private`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description The organization private registry configuration */ + 201: { + content: { + "application/json": components["schemas"]["org-private-registry-configuration-with-selected-repositories"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get private registries public key for an organization + * @description + * Gets the org public key, which is needed to encrypt private registry secrets. You need to encrypt a secret before you can create or update secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/get-org-public-key": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + /** + * @description The identifier for the key. + * @example 012345678912345678 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + */ + key: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a private registry for an organization + * @description + * Get the configuration of a single private registry defined for an organization, omitting its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/get-org-private-registry": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description The specified private registry configuration for the organization */ + 200: { + content: { + "application/json": components["schemas"]["org-private-registry-configuration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a private registry for an organization + * @description + * Delete a private registry configuration at the organization-level. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/delete-org-private-registry": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a private registry for an organization + * @description + * Updates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/update-org-private-registry": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The registry type. + * @enum {string} + */ + registry_type?: + | "maven_repository" + | "nuget_feed" + | "goproxy_server" + | "npm_registry" + | "rubygems_server" + | "cargo_registry" + | "composer_repository" + | "docker_registry" + | "git_source" + | "helm_registry" + | "hex_organization" + | "hex_repository" + | "pub_repository" + | "python_index" + | "terraform_registry"; + /** + * Format: uri + * @description The URL of the private registry. + */ + url?: string; + /** @description The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication. */ + username?: string | null; + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint. */ + encrypted_value?: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility?: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. This field should be omitted if `visibility` is set to `all` or `private`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List organization projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/list-for-org": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Create an organization project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/create-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List projects for organization + * @description List all projects owned by a specific organization accessible by the authenticated user. + */ + "projects/list-for-org": { + parameters: { + query?: { + /** @description Limit results to projects of the specified type. */ + q?: string; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get project for organization + * @description Get a specific organization-owned project. + */ + "projects/get-for-org": { + parameters: { + path: { + project_number: components["parameters"]["project-number"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List project fields for organization + * @description List all fields for a specific organization-owned project. + */ + "projects/list-fields-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + }; + path: { + project_number: components["parameters"]["project-number"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2-field"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get project field for organization + * @description Get a specific field for an organization-owned project. + */ + "projects/get-field-for-org": { + parameters: { + path: { + project_number: components["parameters"]["project-number"]; + field_id: components["parameters"]["field-id"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2-field"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List items for an organization owned project + * @description List all items for a specific organization-owned project accessible by the authenticated user. + */ + "projects/list-items-for-org": { + parameters: { + query?: { + /** @description Search query to filter items, see [Filtering projects](https://docs.github.com/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects) for more information. */ + q?: string; + /** + * @description Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + * + * Example: `fields[]=123&fields[]=456&fields[]=789` or `fields=123,456,789` + */ + fields?: string | string[]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + project_number: components["parameters"]["project-number"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2-item-with-content"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Add item to organization owned project + * @description Add an issue or pull request item to the specified organization owned project. + */ + "projects/add-item-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + project_number: components["parameters"]["project-number"]; + }; + }; + /** @description Details of the item to add to the project. */ + requestBody: { + content: { + "application/json": { + /** + * @description The type of item to add to the project. Must be either Issue or PullRequest. + * @enum {string} + */ + type: "Issue" | "PullRequest"; + /** @description The numeric ID of the issue or pull request to add to the project. */ + id: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["projects-v2-item-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get an item for an organization owned project + * @description Get a specific item from an organization-owned project. + */ + "projects/get-org-item": { + parameters: { + query?: { + /** + * @description Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + * + * Example: fields[]=123&fields[]=456&fields[]=789 or fields=123,456,789 + */ + fields?: string | string[]; + }; + path: { + project_number: components["parameters"]["project-number"]; + org: components["parameters"]["org"]; + item_id: components["parameters"]["item-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2-item-with-content"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Delete project item for organization + * @description Delete a specific item from an organization-owned project. + */ + "projects/delete-item-for-org": { + parameters: { + path: { + project_number: components["parameters"]["project-number"]; + org: components["parameters"]["org"]; + item_id: components["parameters"]["item-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Update project item for organization + * @description Update a specific item in an organization-owned project. + */ + "projects/update-item-for-org": { + parameters: { + path: { + project_number: components["parameters"]["project-number"]; + org: components["parameters"]["org"]; + item_id: components["parameters"]["item-id"]; + }; + }; + /** @description Field updates to apply to the project item. Only text, number, date, single select, and iteration fields are supported. */ + requestBody: { + content: { + "application/json": { + /** @description A list of field updates to apply. */ + fields: { + /** @description The ID of the project field to update. */ + id: number; + /** + * @description The new value for the field: + * - For text, number, and date fields, provide the new value directly. + * - For single select and iteration fields, provide the ID of the option or iteration. + * - To clear the field, set this to null. + */ + value: string | number | null; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["projects-v2-item-with-content"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all custom properties for an organization + * @description Gets all custom properties defined for an organization. + * Organization members can read these properties. + */ + "orgs/custom-properties-for-repos-get-organization-definitions": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create or update custom properties for an organization + * @description Creates new or updates existing custom properties defined for an organization in a batch. + * + * If the property already exists, the existing property will be replaced with the new values. + * Missing optional values will fall back to default values, previous values will be overwritten. + * E.g. if a property exists with `values_editable_by: org_and_repo_actors` and it's updated without specifying `values_editable_by`, it will be updated to default value `org_actors`. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + "orgs/custom-properties-for-repos-create-or-update-organization-definitions": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The array of custom properties to create or update. */ + properties: components["schemas"]["custom-property"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a custom property for an organization + * @description Gets a custom property that is defined for an organization. + * Organization members can read these properties. + */ + "orgs/custom-properties-for-repos-get-organization-definition": { + parameters: { + path: { + org: components["parameters"]["org"]; + custom_property_name: components["parameters"]["custom-property-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create or update a custom property for an organization + * @description Creates a new or updates an existing custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + "orgs/custom-properties-for-repos-create-or-update-organization-definition": { + parameters: { + path: { + org: components["parameters"]["org"]; + custom_property_name: components["parameters"]["custom-property-name"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["custom-property-set-payload"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a custom property for an organization + * @description Removes a custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + "orgs/custom-properties-for-repos-delete-organization-definition": { + parameters: { + path: { + org: components["parameters"]["org"]; + custom_property_name: components["parameters"]["custom-property-name"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List custom property values for organization repositories + * @description Lists organization repositories with all of their custom property values. + * Organization members can read these properties. + */ + "orgs/custom-properties-for-repos-get-organization-values": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + /** @description Finds repositories in the organization with a query containing one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + repository_query?: string; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["org-repo-custom-property-values"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create or update custom property values for organization repositories + * @description Create new or update existing custom property values for repositories in a batch that belong to an organization. + * Each target repository will have its custom property values updated to match the values provided in the request. + * + * A maximum of 30 repositories can be updated in a single request. + * + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_values_editor` in the organization. + */ + "orgs/custom-properties-for-repos-create-or-update-organization-values": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of repositories that the custom property values will be applied to. */ + repository_names: string[]; + /** @description List of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List public organization members + * @description Members of an organization can choose to have their membership publicized or not. + */ + "orgs/list-public-members": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Check public organization membership for a user + * @description Check if the provided user is a public member of the organization. + */ + "orgs/check-public-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response if user is a public member */ + 204: { + content: never; + }; + /** @description Not Found if user is not a public member */ + 404: { + content: never; + }; + }; + }; + /** + * Set public organization membership for the authenticated user + * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "orgs/set-public-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Remove public organization membership for the authenticated user + * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. + */ + "orgs/remove-public-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List organization repositories + * @description Lists repositories for the specified organization. + * + * > [!NOTE] + * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + "repos/list-for-org": { + parameters: { + query?: { + /** @description Specifies the types of repositories you want returned. */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Create an organization repository + * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + "repos/create-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the repository. */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template?: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Pass `true` to create an initial commit with empty README. + * @default false + */ + auto_init?: boolean; + /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ + gitignore_template?: string; + /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ + license_template?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.** + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description The custom properties for the new repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all organization repository rulesets + * @description Get all the repository rulesets for an organization. + */ + "repos/get-org-rulesets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + targets?: components["parameters"]["ruleset-targets"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Create an organization repository ruleset + * @description Create a repository ruleset for an organization. + */ + "repos/create-org-ruleset": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset + * @default branch + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["org-rules"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List organization rule suites + * @description Lists suites of rule evaluations at the organization level. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + "repos/get-org-rule-suites": { + parameters: { + query?: { + ref?: components["parameters"]["ref-in-query"]; + repository_name?: components["parameters"]["repository-name-in-query"]; + time_period?: components["parameters"]["time-period"]; + actor_name?: components["parameters"]["actor-name-in-query"]; + rule_suite_result?: components["parameters"]["rule-suite-result"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get an organization rule suite + * @description Gets information about a suite of rule evaluations from within an organization. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + "repos/get-org-rule-suite": { + parameters: { + path: { + org: components["parameters"]["org"]; + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get an organization repository ruleset + * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + "repos/get-org-ruleset": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Update an organization repository ruleset + * @description Update a ruleset for an organization. + */ + "repos/update-org-ruleset": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["org-rules"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Delete an organization repository ruleset + * @description Delete a ruleset for an organization. + */ + "repos/delete-org-ruleset": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get organization ruleset history + * @description Get the history of an organization ruleset. + */ + "orgs/get-org-ruleset-history": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["ruleset-version"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get organization ruleset version + * @description Get a version of an organization ruleset. + */ + "orgs/get-org-ruleset-version": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + /** @description The ID of the version */ + version_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["ruleset-version-with-state"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List secret scanning alerts for an organization + * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/list-alerts-for-org": { + parameters: { + query?: { + state?: components["parameters"]["secret-scanning-alert-state"]; + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + sort?: components["parameters"]["secret-scanning-alert-sort"]; + direction?: components["parameters"]["direction"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + validity?: components["parameters"]["secret-scanning-alert-validity"]; + is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; + is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; + hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List organization pattern configurations + * @description Lists the secret scanning pattern configurations for an organization. + * + * Personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + "secret-scanning/list-org-pattern-configs": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-pattern-configuration"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update organization pattern configurations + * @description Updates the secret scanning pattern configurations for an organization. + * + * Personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "secret-scanning/update-org-pattern-configs": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + pattern_config_version?: components["schemas"]["secret-scanning-row-version"]; + /** @description Pattern settings for provider patterns. */ + provider_pattern_settings?: { + /** @description The ID of the pattern to configure. */ + token_type?: string; + /** + * @description Push protection setting to set for the pattern. + * @enum {string} + */ + push_protection_setting?: "not-set" | "disabled" | "enabled"; + }[]; + /** @description Pattern settings for custom patterns. */ + custom_pattern_settings?: { + /** @description The ID of the pattern to configure. */ + token_type?: string; + custom_pattern_version?: components["schemas"]["secret-scanning-row-version"]; + /** + * @description Push protection setting to set for the pattern. + * @enum {string} + */ + push_protection_setting?: "disabled" | "enabled"; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + /** @description The updated pattern configuration version. */ + pattern_config_version?: string; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List repository security advisories for an organization + * @description Lists repository security advisories for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + "security-advisories/list-org-repository-advisories": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description Filter by the state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List security manager teams + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + "orgs/list-security-manager-teams": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-simple"][]; + }; + }; + }; + }; + /** + * Add a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + "orgs/add-security-manager-team": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + "orgs/remove-security-manager-team": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get GitHub Actions billing for an organization + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + "billing/get-github-actions-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Get GitHub Packages billing for an organization + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + "billing/get-github-packages-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Get shared storage billing for an organization + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + "billing/get-shared-storage-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** + * Get immutable releases settings for an organization + * @description Gets the immutable releases policy for repositories in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/get-immutable-releases-settings": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Immutable releases settings response */ + 200: { + content: { + "application/json": components["schemas"]["immutable-releases-organization-settings"]; + }; + }; + }; + }; + /** + * Set immutable releases settings for an organization + * @description Sets the immutable releases policy for repositories in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/set-immutable-releases-settings": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The policy that controls how immutable releases are enforced in the organization. + * @example all + * @enum {string} + */ + enforced_repositories: "all" | "none" | "selected"; + /** @description An array of repository ids for which immutable releases enforcement should be applied. You can only provide a list of repository ids when the `enforced_repositories` is set to `selected`. You can add and remove individual repositories using the [Enable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#enable-a-selected-repository-for-immutable-releases-in-an-organization) and [Disable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#disable-a-selected-repository-for-immutable-releases-in-an-organization) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List selected repositories for immutable releases enforcement + * @description List all of the repositories that have been selected for immutable releases enforcement in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/get-immutable-releases-settings-repositories": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** + * Set selected repositories for immutable releases enforcement + * @description Replaces all repositories that have been selected for immutable releases enforcement in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/set-immutable-releases-settings-repositories": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids for which immutable releases enforcement should be applied. You can only provide a list of repository ids when the `enforced_repositories` is set to `selected`. You can add and remove individual repositories using the [Enable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#enable-a-selected-repository-for-immutable-releases-in-an-organization) and [Disable a selected repository for immutable releases in an organization](https://docs.github.com/rest/orgs/orgs#disable-a-selected-repository-for-immutable-releases-in-an-organization) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Enable a selected repository for immutable releases in an organization + * @description Adds a repository to the list of selected repositories that are enforced for immutable releases in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/enable-selected-repository-immutable-releases-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Disable a selected repository for immutable releases in an organization + * @description Removes a repository from the list of selected repositories that are enforced for immutable releases in an organization. To use this endpoint, the organization immutable releases policy for `enforced_repositories` must be configured to `selected`. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/disable-selected-repository-immutable-releases-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List hosted compute network configurations for an organization + * @description Lists all hosted compute network configurations configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + "hosted-compute/list-network-configurations-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + network_configurations: components["schemas"]["network-configuration"][]; + }; + }; + }; + }; + }; + /** + * Create a hosted compute network configuration for an organization + * @description Creates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + "hosted-compute/create-network-configuration-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name: string; + /** + * @description The hosted compute service to use for the network configuration. + * @enum {string} + */ + compute_service?: "none" | "actions"; + /** @description The identifier of the network settings to use for the network configuration. Exactly one network settings must be specified. */ + network_settings_ids: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + /** + * Get a hosted compute network configuration for an organization + * @description Gets a hosted compute network configuration configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + "hosted-compute/get-network-configuration-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + /** + * Delete a hosted compute network configuration from an organization + * @description Deletes a hosted compute network configuration from an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + "hosted-compute/delete-network-configuration-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a hosted compute network configuration for an organization + * @description Updates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + "hosted-compute/update-network-configuration-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name?: string; + /** + * @description The hosted compute service to use for the network configuration. + * @enum {string} + */ + compute_service?: "none" | "actions"; + /** @description The identifier of the network settings to use for the network configuration. Exactly one network settings must be specified. */ + network_settings_ids?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + /** + * Get a hosted compute network settings resource for an organization + * @description Gets a hosted compute network settings resource configured for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + "hosted-compute/get-network-settings-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + network_settings_id: components["parameters"]["network-settings-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["network-settings"]; + }; + }; + }; + }; + /** + * Get Copilot metrics for a team + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 100 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization containing the team within GitHub settings. + * Only organization owners for the organization that contains this team and owners and billing managers of the parent enterprise can view Copilot metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + "copilot/copilot-metrics-for-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 100 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["copilot-usage-metrics-day"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["usage_metrics_api_disabled"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List teams + * @description Lists all teams in an organization that are visible to the authenticated user. + */ + "teams/list": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Create a team + * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + "teams/create": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** @description List GitHub usernames for organization members who will become team maintainers. */ + maintainers?: string[]; + /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ + repo_names?: string[]; + /** + * @description The level of privacy this team should have. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * Default for child team: `closed` + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * Default: `notifications_enabled` + * @enum {string} + */ + notification_setting?: + | "notifications_enabled" + | "notifications_disabled"; + /** + * @description **Closing down notice**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a team by name + * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + "teams/get-by-name": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a team + * @description To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + "teams/delete-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a team + * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + "teams/update-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the team. */ + name?: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: + | "notifications_enabled" + | "notifications_disabled"; + /** + * @description **Closing down notice**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + responses: { + /** @description Response when the updated information already exists */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List discussions + * @description List all discussions on a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/list-discussions-in-org": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + /** @description Pinned discussions only filter */ + pinned?: string; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + /** + * Create a discussion + * @description Creates a new discussion post on a team's page. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/create-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * Get a discussion + * @description Get a specific discussion on a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/get-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * Delete a discussion + * @description Delete a discussion from a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/delete-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a discussion + * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/update-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * List discussion comments + * @description List all comments on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/list-discussion-comments-in-org": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + /** + * Create a discussion comment + * @description Creates a new comment on a team discussion. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/create-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * Get a discussion comment + * @description Get a specific comment on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/get-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * Delete a discussion comment + * @description Deletes a comment on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/delete-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a discussion comment + * @description Edits the body text of a discussion comment. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/update-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * List reactions for a team discussion comment + * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "reactions/list-for-team-discussion-comment-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create reaction for a team discussion comment + * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/create-for-team-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Response when the reaction type has already been added to this team discussion comment */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + /** + * Delete team discussion comment reaction + * @description > [!NOTE] + * > You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/delete-for-team-discussion-comment": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List reactions for a team discussion + * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "reactions/list-for-team-discussion-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create reaction for a team discussion + * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/create-for-team-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + /** + * Delete team discussion reaction + * @description > [!NOTE] + * > You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/delete-for-team-discussion": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List pending team invitations + * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + "teams/list-pending-invitations-in-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + /** + * List team members + * @description Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/list-members-in-org": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Get team membership for a user + * @description Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * > [!NOTE] + * > The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + "teams/get-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description if user has no team membership */ + 404: { + content: never; + }; + }; + }; + /** + * Add or update team membership for a user + * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/add-or-update-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + content: never; + }; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + content: never; + }; + }; + }; + /** + * Remove team membership for a user + * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/remove-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + content: never; + }; + }; + }; + /** + * List team projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/list-projects-in-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + }; + }; + /** + * Check team permissions for a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/check-permissions-for-project-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + content: never; + }; + }; + }; + /** + * Add or update team project permissions + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/add-or-update-project-permissions-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + }; + /** + * Remove a project from a team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/remove-project-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List team repositories + * @description Lists a team's repositories visible to the authenticated user. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + "teams/list-repos-in-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Check team permissions for a repository + * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * If the repository is private, you must have at least `read` permission for that repository, and your token must have the `repo` or `admin:org` scope. Otherwise, you will receive a `404 Not Found` response status. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/check-permissions-for-repo-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Alternative response with repository permissions */ + 200: { + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ + 204: { + content: never; + }; + /** @description Not Found if team does not have permission for the repository */ + 404: { + content: never; + }; + }; + }; + /** + * Add or update team repository permissions + * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + "teams/add-or-update-repo-permissions-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. */ + permission?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove a repository from a team + * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/remove-repo-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List child teams + * @description Lists the child teams of the team specified by `{team_slug}`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + "teams/list-child-in-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + }; + /** + * Enable or disable a security feature for an organization + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** The ability to enable or disable a security feature for all eligible repositories in an organization is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. For more information, see the [changelog](https://github.blog/changelog/2024-07-22-deprecation-of-api-endpoint-to-enable-or-disable-a-security-feature-for-an-organization/). + * + * Enables or disables the specified security feature for all eligible repositories in an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. + */ + "orgs/enable-or-disable-security-product-on-all-org-repos": { + parameters: { + path: { + org: components["parameters"]["org"]; + security_product: components["parameters"]["security-product"]; + enablement: components["parameters"]["org-security-product-enablement"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description CodeQL query suite to be used. If you specify the `query_suite` parameter, the default setup will be configured with this query suite only on all repositories that didn't have default setup already configured. It will not change the query suite on repositories that already have default setup configured. + * If you don't specify any `query_suite` in your request, the preferred query suite of the organization will be applied. + * @enum {string} + */ + query_suite?: "default" | "extended"; + }; + }; + }; + responses: { + /** @description Action started */ + 204: { + content: never; + }; + /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ + 422: { + content: never; + }; + }; + }; + /** + * Get a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/get-column": { + parameters: { + path: { + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/delete-column": { + parameters: { + path: { + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Update an existing project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/update-column": { + parameters: { + path: { + column_id: components["parameters"]["column-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Move a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/move-column": { + parameters: { + path: { + column_id: components["parameters"]["column-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. + * @example last + */ + position: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": Record; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/get": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Delete a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/delete": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Delete Success */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Update a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/update": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Name of the project + * @example Week One Sprint + */ + name?: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body?: string | null; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state?: string; + /** + * @description The baseline permission that all organization members have on this project + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + /** @description Not Found if the authenticated user does not have access to the project */ + 404: { + content: never; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List project collaborators + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/list-collaborators": { + parameters: { + query?: { + /** @description Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add project collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/add-collaborator": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. + * @default write + * @example write + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove user as a collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/remove-collaborator": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get project permission for a user + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/get-permission-for-user": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project-collaborator-permission"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get rate limit status for the authenticated user + * @description > [!NOTE] + * > Accessing this endpoint does not count against your REST API rate limit. + * + * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search/search)." + * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." + * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." + * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." + * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `dependency_sbom` object provides your rate limit status for requesting SBOMs from the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/about-the-rest-api/api-versions)." + * + * > [!NOTE] + * > The `rate` object is closing down. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + "rate-limit/get": { + responses: { + /** @description Response */ + 200: { + headers: { + "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; + "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; + "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; + }; + content: { + "application/json": components["schemas"]["rate-limit-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a repository + * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + * + * > [!NOTE] + * > - In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * > - To view merge-related settings, you must have the `contents:read` and `contents:write` permissions. + */ + "repos/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a repository + * @description Deleting a repository requires admin access. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + * + * OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint. + */ + "repos/delete": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 307: components["responses"]["temporary_redirect"]; + /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Update a repository + * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. + */ + "repos/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the repository. */ + name?: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + * @default false + */ + private?: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** + * @description Specify which security and analysis features to enable or disable for the repository. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: + * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. + * + * You can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. + */ + security_and_analysis?: { + /** + * @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. + * For more information, see "[About GitHub Advanced + * Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." + * + * For standalone Code Scanning or Secret Protection products, this parameter cannot be used. + */ + advanced_security?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable GitHub Code Security for this repository. */ + code_security?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ + secret_scanning?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ + secret_scanning_push_protection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning AI detection for this repository. For more information, see "[Responsible detection of generic secrets with AI](https://docs.github.com/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets)." */ + secret_scanning_ai_detection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ + secret_scanning_non_provider_patterns?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + } | null; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template?: boolean; + /** @description Updates the default branch for this repository. */ + default_branch?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. + * @default false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to archive this repository. `false` will unarchive a previously archived repository. + * @default false + */ + archived?: boolean; + /** + * @description Either `true` to allow private forks, or `false` to prevent private forks. + * @default false + */ + allow_forking?: boolean; + /** + * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. + * @default false + */ + web_commit_signoff_required?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 307: components["responses"]["temporary_redirect"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List artifacts for a repository + * @description Lists all artifacts for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/list-artifacts-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + name?: components["parameters"]["artifact-name"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + /** + * Get an artifact + * @description Gets a specific artifact for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + artifact_id: components["parameters"]["artifact-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["artifact"]; + }; + }; + }; + }; + /** + * Delete an artifact + * @description Deletes an artifact for a workflow run. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + artifact_id: components["parameters"]["artifact-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Download an artifact + * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/download-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + artifact_id: components["parameters"]["artifact-id"]; + archive_format: string; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + Location: components["headers"]["location"]; + }; + content: never; + }; + 410: components["responses"]["gone"]; + }; + }; + /** + * Get GitHub Actions cache usage for a repository + * @description Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-actions-cache-usage": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-cache-usage-by-repository"]; + }; + }; + }; + }; + /** + * List GitHub Actions caches for a repository + * @description Lists the GitHub Actions caches for a repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-actions-cache-list": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + ref?: components["parameters"]["actions-cache-git-ref-full"]; + key?: components["parameters"]["actions-cache-key"]; + sort?: components["parameters"]["actions-cache-list-sort"]; + direction?: components["parameters"]["direction"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + /** + * Delete GitHub Actions caches for a repository (using a cache key) + * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-actions-cache-by-key": { + parameters: { + query: { + key: components["parameters"]["actions-cache-key-required"]; + ref?: components["parameters"]["actions-cache-git-ref-full"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + /** + * Delete a GitHub Actions cache for a repository (using a cache ID) + * @description Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-actions-cache-by-id": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + cache_id: components["parameters"]["cache-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get a job for a workflow run + * @description Gets a specific job in a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-job-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["job"]; + }; + }; + }; + }; + /** + * Download job logs for a workflow run + * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/download-job-logs-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/jobs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + }; + content: never; + }; + }; + }; + /** + * Re-run a job from a workflow run + * @description Re-run a job and its dependent jobs in a workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/re-run-job-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + job_id: components["parameters"]["job-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get the customization template for an OIDC subject claim for a repository + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-custom-oidc-sub-claim-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Status response */ + 200: { + content: { + "application/json": components["schemas"]["oidc-custom-sub-repo"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set the customization template for an OIDC subject claim for a repository + * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-custom-oidc-sub-claim-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ + use_default: boolean; + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys?: string[]; + }; + }; + }; + responses: { + /** @description Empty response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List repository organization secrets + * @description Lists all organization secrets shared with a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-repo-organization-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** + * List repository organization variables + * @description Lists all organization variables shared with a repository. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-repo-organization-variables": { + parameters: { + query?: { + per_page?: components["parameters"]["variables-per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + /** + * Get GitHub Actions permissions for a repository + * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-github-actions-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-repository-permissions"]; + }; + }; + }; + }; + /** + * Set GitHub Actions permissions for a repository + * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-github-actions-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + sha_pinning_required?: components["schemas"]["sha-pinning-required"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get the level of access for workflows outside of the repository + * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-workflow-access-to-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + }; + }; + /** + * Set the level of access for workflows outside of the repository + * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-workflow-access-to-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get artifact and log retention settings for a repository + * @description Gets artifact and log retention settings for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-artifact-and-log-retention-settings-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-artifact-and-log-retention-response"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set artifact and log retention settings for a repository + * @description Sets artifact and log retention settings for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-artifact-and-log-retention-settings-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-artifact-and-log-retention"]; + }; + }; + responses: { + /** @description Empty response for successful settings update */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get fork PR contributor approval permissions for a repository + * @description Gets the fork PR contributor approval policy for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-fork-pr-contributor-approval-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-fork-pr-contributor-approval"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set fork PR contributor approval permissions for a repository + * @description Sets the fork PR contributor approval policy for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-fork-pr-contributor-approval-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-fork-pr-contributor-approval"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get private repo fork PR workflow settings for a repository + * @description Gets the settings for whether workflows from fork pull requests can run on a private repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-private-repo-fork-pr-workflows-settings-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-fork-pr-workflows-private-repos"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set private repo fork PR workflow settings for a repository + * @description Sets the settings for whether workflows from fork pull requests can run on a private repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-private-repo-fork-pr-workflows-settings-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-fork-pr-workflows-private-repos-request"]; + }; + }; + responses: { + /** @description Empty response for successful settings update */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get allowed actions and reusable workflows for a repository + * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-allowed-actions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Set allowed actions and reusable workflows for a repository + * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-allowed-actions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get default workflow permissions for a repository + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-github-actions-default-workflow-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + /** + * Set default workflow permissions for a repository + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-github-actions-default-workflow-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + content: never; + }; + /** @description Conflict response when changing a setting is prevented by the owning organization */ + 409: { + content: never; + }; + }; + }; + /** + * List self-hosted runners for a repository + * @description Lists all self-hosted runners configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-for-repo": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ + name?: string; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * List runner applications for a repository + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-runner-applications-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Create configuration for a just-in-time runner for a repository + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the repository. + * + * OAuth tokens and personal access tokens (classic) need the`repo` scope to use this endpoint. + */ + "actions/generate-runner-jitconfig-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder?: string; + }; + }; + }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Create a registration token for a repository + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-registration-token-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Create a remove token for a repository + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an repository. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-remove-token-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Get a self-hosted runner for a repository + * @description Gets a specific self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Delete a self-hosted runner from a repository + * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List labels for a self-hosted runner for a repository + * @description Lists all labels for a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-labels-for-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set custom labels for a self-hosted runner for a repository + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-custom-labels-for-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Add custom labels to a self-hosted runner for a repository + * @description Adds custom labels to a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/add-custom-labels-to-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Remove all custom labels from a self-hosted runner for a repository + * @description Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a custom label from a self-hosted runner for a repository + * @description Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/remove-custom-label-from-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List workflow runs for a repository + * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + "actions/list-workflow-runs-for-repo": { + parameters: { + query?: { + actor?: components["parameters"]["actor"]; + branch?: components["parameters"]["workflow-run-branch"]; + event?: components["parameters"]["event"]; + status?: components["parameters"]["workflow-run-status"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + created?: components["parameters"]["created"]; + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + /** + * Get a workflow run + * @description Gets a specific workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-workflow-run": { + parameters: { + query?: { + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + /** + * Delete a workflow run + * @description Deletes a specific workflow run. + * + * Anyone with write access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get the review history for a workflow run + * @description Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-reviews-for-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["environment-approvals"][]; + }; + }; + }; + }; + /** + * Approve a workflow run for a fork pull request + * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/approve-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List workflow run artifacts + * @description Lists artifacts for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/list-workflow-run-artifacts": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + name?: components["parameters"]["artifact-name"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + /** + * Get a workflow run attempt + * @description Gets a specific workflow run attempt. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-workflow-run-attempt": { + parameters: { + query?: { + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + attempt_number: components["parameters"]["attempt-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + /** + * List jobs for a workflow run attempt + * @description Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/list-jobs-for-workflow-run-attempt": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + attempt_number: components["parameters"]["attempt-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Download workflow run attempt logs + * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/download-workflow-run-attempt-logs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + attempt_number: components["parameters"]["attempt-number"]; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + }; + content: never; + }; + }; + }; + /** + * Cancel a workflow run + * @description Cancels a workflow run using its `id`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/cancel-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Review custom deployment protection rules for a workflow run + * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * > [!NOTE] + * > GitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/review-custom-gates-for-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + requestBody: { + content: { + "application/json": + | components["schemas"]["review-custom-gates-comment-required"] + | components["schemas"]["review-custom-gates-state-required"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Force cancel a workflow run + * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. + * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/force-cancel-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + /** + * List jobs for a workflow run + * @description Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/list-jobs-for-workflow-run": { + parameters: { + query?: { + /** @description Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ + filter?: "latest" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + }; + }; + /** + * Download workflow run logs + * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/download-workflow-run-logs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + }; + content: never; + }; + }; + }; + /** + * Delete workflow run logs + * @description Deletes all logs for a workflow run. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-workflow-run-logs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get pending deployments for a workflow run + * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-pending-deployments-for-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pending-deployment"][]; + }; + }; + }; + }; + /** + * Review pending deployments for a workflow run + * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/review-pending-deployments-for-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The list of environment ids to approve or reject + * @example [ + * 161171787, + * 161171795 + * ] + */ + environment_ids: number[]; + /** + * @description Whether to approve or reject deployment to the specified environments. + * @example approved + * @enum {string} + */ + state: "approved" | "rejected"; + /** + * @description A comment to accompany the deployment review + * @example Ship it! + */ + comment: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + }; + /** + * Re-run a workflow + * @description Re-runs your workflow run using its `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/re-run-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * Re-run failed jobs from a workflow run + * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/re-run-workflow-failed-jobs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * Get workflow run usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-workflow-run-usage": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run-usage"]; + }; + }; + }; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-repo-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-repo-public-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-or-update-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/actions/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List repository variables + * @description Lists all repository variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-repo-variables": { + parameters: { + query?: { + per_page?: components["parameters"]["variables-per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + /** + * Create a repository variable + * @description Creates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-repo-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * Get a repository variable + * @description Gets a specific variable in a repository. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-repo-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; + }; + /** + * Delete a repository variable + * @description Deletes a repository variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-repo-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a repository variable + * @description Updates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/update-repo-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: components["parameters"]["variable-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List repository workflows + * @description Lists the workflows in a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/list-repo-workflows": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + workflows: components["schemas"]["workflow"][]; + }; + }; + }; + }; + }; + /** + * Get a workflow + * @description Gets a specific workflow. You can replace `workflow_id` with the workflow + * file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow"]; + }; + }; + }; + }; + /** + * Disable a workflow + * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/disable-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Create a workflow dispatch event + * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-workflow-dispatch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The git reference for the workflow. The reference can be a branch or tag name. */ + ref: string; + /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ + inputs?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Enable a workflow + * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/enable-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List workflow runs for a workflow + * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + "actions/list-workflow-runs": { + parameters: { + query?: { + actor?: components["parameters"]["actor"]; + branch?: components["parameters"]["workflow-run-branch"]; + event?: components["parameters"]["event"]; + status?: components["parameters"]["workflow-run-status"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + created?: components["parameters"]["created"]; + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + /** + * Get workflow usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-workflow-usage": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-usage"]; + }; + }; + }; + }; + /** + * List repository activities + * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. + * + * For more information about viewing repository activity, + * see "[Viewing activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)." + */ + "repos/list-activities": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description The Git reference for the activities you want to list. + * + * The `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch. + */ + ref?: string; + /** @description The GitHub username to use to filter by the actor who performed the activity. */ + actor?: string; + /** + * @description The time period to filter by. + * + * For example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours). + */ + time_period?: "day" | "week" | "month" | "quarter" | "year"; + /** + * @description The activity type to filter by. + * + * For example, you can choose to filter by "force_push", to see all force pushes to the repository. + */ + activity_type?: + | "push" + | "force_push" + | "branch_creation" + | "branch_deletion" + | "pr_merge" + | "merge_queue_merge"; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["activity"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List assignees + * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + "issues/list-assignees": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check if a user can be assigned + * @description Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + "issues/check-user-can-be-assigned": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + assignee: string; + }; + }; + responses: { + /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ + 204: { + content: never; + }; + /** @description Otherwise a `404` status code is returned. */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Create an attestation + * @description Store an artifact attestation and associate it with a repository. + * + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. + * + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + "repos/create-attestation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. + */ + bundle: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + }; + }; + }; + responses: { + /** @description response */ + 201: { + content: { + "application/json": { + /** @description The ID of the attestation. */ + id?: number; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with a repository. + * + * The authenticated user making the request must have read access to the repository. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + "repos/list-attestations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, `release`, or freeform text + * for custom predicate types. + */ + predicate_type?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + attestations?: { + /** + * @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. + */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + initiator?: string; + }[]; + }; + }; + }; + }; + }; + /** + * Get all autolinks of a repository + * @description Gets all autolinks that are configured for a repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/list-autolinks": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["autolink"][]; + }; + }; + }; + }; + /** + * Create an autolink reference for a repository + * @description Users with admin access to the repository can create an autolink. + */ + "repos/create-autolink": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit. */ + key_prefix: string; + /** @description The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`. */ + url_template: string; + /** + * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. + * @default true + */ + is_alphanumeric?: boolean; + }; + }; + }; + responses: { + /** @description response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an autolink reference of a repository + * @description This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/get-autolink": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + autolink_id: components["parameters"]["autolink-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an autolink reference from a repository + * @description This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/delete-autolink": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + autolink_id: components["parameters"]["autolink-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check if Dependabot security updates are enabled for a repository + * @description Shows whether Dependabot security updates are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + "repos/check-automated-security-fixes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response if Dependabot is enabled */ + 200: { + content: { + "application/json": components["schemas"]["check-automated-security-fixes"]; + }; + }; + /** @description Not Found if Dependabot is not enabled for the repository */ + 404: { + content: never; + }; + }; + }; + /** + * Enable Dependabot security updates + * @description Enables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + "repos/enable-automated-security-fixes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Disable Dependabot security updates + * @description Disables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + "repos/disable-automated-security-fixes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** List branches */ + "repos/list-branches": { + parameters: { + query?: { + /** @description Setting to `true` returns only branches protected by branch protections or rulesets. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ + protected?: boolean; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["short-branch"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Get a branch */ + "repos/get-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-protection"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * > [!NOTE] + * > Passing new arrays of `users` and `teams` replaces their previous values. + * + * > [!NOTE] + * > The list of users, apps, and teams in total is limited to 100 items. + */ + "repos/update-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Require status checks to pass before merging. Set to `null` to disable. */ + required_status_checks: { + /** @description Require branches to be up to date before merging. */ + strict: boolean; + /** + * @deprecated + * @description **Closing down notice**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + } | null; + /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ + enforce_admins: boolean | null; + /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ + required_pull_request_reviews: { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ + require_code_owner_reviews?: boolean; + /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. + * @default false + */ + require_last_push_approval?: boolean; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + } | null; + /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ + restrictions: { + /** @description The list of user `login`s with push access */ + users: string[]; + /** @description The list of team `slug`s with push access */ + teams: string[]; + /** @description The list of app `slug`s with push access */ + apps?: string[]; + } | null; + /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ + required_linear_history?: boolean; + /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ + allow_force_pushes?: boolean | null; + /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ + allow_deletions?: boolean; + /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ + block_creations?: boolean; + /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ + required_conversation_resolution?: boolean; + /** + * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. + * @default false + */ + lock_branch?: boolean; + /** + * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. + * @default false + */ + allow_fork_syncing?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Delete branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/delete-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + /** + * Set admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/set-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + /** + * Delete admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/delete-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + }; + }; + /** + * Delete pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/delete-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * > [!NOTE] + * > Passing new arrays of `users` and `teams` replaces their previous values. + */ + "repos/update-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ + require_code_owner_reviews?: boolean; + /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` + * @default false + */ + require_last_push_approval?: boolean; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * > [!NOTE] + * > You must enable branch protection to require signed commits. + */ + "repos/get-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/create-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/delete-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get status checks protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-status-checks-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/remove-status-check-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/update-status-check-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Require branches to be up to date before merging. */ + strict?: boolean; + /** + * @deprecated + * @description **Closing down notice**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts?: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-all-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/set-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/add-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/remove-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * > [!NOTE] + * > Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + "repos/get-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-restriction-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + "repos/delete-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get apps with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + "repos/get-apps-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + "repos/set-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + "repos/add-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + "repos/remove-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get teams with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + "repos/get-teams-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + */ + "repos/set-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + */ + "repos/add-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + */ + "repos/remove-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get users with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + "repos/get-users-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Rename a branch + * @description Renames a branch in a repository. + * + * > [!NOTE] + * > Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The authenticated user must have push access to the branch. If the branch is the default branch, the authenticated user must also have admin or owner permissions. + * + * In order to rename the default branch, fine-grained access tokens also need the `administration:write` repository permission. + */ + "repos/rename-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The new name of the branch. */ + new_name: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a check run + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + "checks/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the check. For example, "code-coverage". */ + name: string; + /** @description The SHA of the commit. */ + head_sha: string; + /** @description The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * @description The current status. + * @default queued + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Format: date-time + * @description The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ + output?: { + /** @description The title of the check run. */ + title: string; + /** @description The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + summary: string; + /** @description The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. Line numbers start at 1. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + /** + * Get a check run + * @description Gets a single check run using its `id`. + * + * > [!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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + /** + * Update a check run + * @description Updates a check run for a specific commit in a repository. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + "checks/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the check. For example, "code-coverage". */ + name?: string; + /** @description The URL of the integrator's site that has the full details of the check. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * Format: date-time + * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description The current status of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. + * @enum {string} + */ + status?: + | "queued" + | "in_progress" + | "completed" + | "waiting" + | "requested" + | "pending"; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ + output?: { + /** @description **Required**. */ + title?: string; + /** @description Can contain Markdown. */ + summary: string; + /** @description Can contain Markdown. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. Line numbers start at 1. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + } & ( + | { + /** @enum {unknown} */ + status?: "completed"; + [key: string]: unknown; + } + | { + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + [key: string]: unknown; + } + ); + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + /** + * List check run annotations + * @description Lists annotations for a check run using the annotation `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/list-annotations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["check-annotation"][]; + }; + }; + }; + }; + /** + * Rerequest a check run + * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, the `status` of the check suite it belongs to is reset to `queued` and the `conclusion` is cleared. The check run itself is not updated. GitHub apps recieving the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) with the `rerequested` action should then decide if the check run should be reset or updated and call the [update `check_run` endpoint](https://docs.github.com/rest/checks/runs#update-a-check-run) to update the check_run if desired. + * + * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". + */ + "checks/rerequest-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ + 403: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Validation error if the check run is not rerequestable */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Create a check suite + * @description Creates a check suite manually. By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". + * + * > [!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`. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + "checks/create-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The sha of the head commit. */ + head_sha: string; + }; + }; + }; + responses: { + /** @description Response when the suite already exists */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + /** @description Response when the suite was created */ + 201: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + }; + /** + * Update repository preferences for check suites + * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). + * You must have admin permissions in the repository to set preferences for check suites. + */ + "checks/set-suites-preferences": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ + auto_trigger_checks?: { + /** @description The `id` of the GitHub App. */ + app_id: number; + /** + * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. + * @default true + */ + setting: boolean; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite-preference"]; + }; + }; + }; + }; + /** + * Get a check suite + * @description Gets a single check suite using its `id`. + * + * > [!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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/get-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + }; + /** + * List check runs in a check suite + * @description Lists check runs for a check suite using its `id`. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/list-for-suite": { + parameters: { + query?: { + check_name?: components["parameters"]["check-name"]; + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + /** + * Rerequest a check suite + * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + */ + "checks/rerequest-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * List code scanning alerts for a repository + * @description Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + "code-scanning/list-alerts-for-repo": { + parameters: { + query?: { + tool_name?: components["parameters"]["tool-name"]; + tool_guid?: components["parameters"]["tool-guid"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + ref?: components["parameters"]["git-ref"]; + direction?: components["parameters"]["direction"]; + /** @description The property by which to sort the results. . `number` is deprecated - we recommend that you use `created` instead. */ + sort?: "created" | "number" | "updated"; + /** @description Set to `open`, `closed, `fixed`, or `dismissed` to list code scanning alerts in a specific state. */ + state?: components["schemas"]["code-scanning-alert-state"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert-items"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a code scanning alert + * @description Gets a single code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Update a code scanning alert + * @description Updates the status of a single code scanning alert. + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/update-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["code-scanning-alert-set-state"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + create_request?: components["schemas"]["code-scanning-alert-create-request"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get the status of an autofix for a code scanning alert + * @description Gets the status and description of an autofix for a code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-autofix": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Create an autofix for a code scanning alert + * @description Creates an autofix for a code scanning alert. + * + * If a new autofix is to be created as a result of this request or is currently being generated, then this endpoint will return a 202 Accepted response. + * + * If an autofix already exists for a given alert, then this endpoint will return a 200 OK response. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/create-autofix": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + /** @description Accepted */ + 202: { + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_autofix_create_forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Commit an autofix for a code scanning alert + * @description Commits an autofix for a code scanning alert. + * + * If an autofix is committed as a result of this request, then this endpoint will return a 201 Created response. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/commit-autofix": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["code-scanning-autofix-commits"]; + }; + }; + responses: { + /** @description Created */ + 201: { + content: { + "application/json": components["schemas"]["code-scanning-autofix-commits-response"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List instances of a code scanning alert + * @description Lists all instances of the specified code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/list-alert-instances": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + ref?: components["parameters"]["git-ref"]; + pr?: components["parameters"]["pr-alias"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert-instance"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List code scanning analyses for a repository + * @description Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * > [!WARNING] + * > **Closing down notice:** The `tool_name` field is closing down and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/list-recent-analyses": { + parameters: { + query?: { + tool_name?: components["parameters"]["tool-name"]; + tool_guid?: components["parameters"]["tool-guid"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + pr?: components["parameters"]["pr-alias"]; + /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["schemas"]["code-scanning-ref"]; + /** @description Filter analyses belonging to the same SARIF upload. */ + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + direction?: components["parameters"]["direction"]; + /** @description The property by which to sort the results. */ + sort?: "created"; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a code scanning analysis for a repository + * @description Gets a specified code scanning analysis for a repository. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/sarif+json`**: Instead of returning a summary of the analysis, this endpoint returns a subset of the analysis data that was uploaded. The data is formatted as [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). It also returns additional data such as the `github/alertNumber` and `github/alertUrl` properties. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-analysis": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis"]; + "application/json+sarif": { + [key: string]: unknown; + }; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["unprocessable_analysis"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Delete a code scanning analysis from a repository + * @description Deletes a specified code scanning analysis from a repository. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `category` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/delete-analysis": { + parameters: { + query?: { + /** @description Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ + confirm_delete?: string | null; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis-deletion"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List CodeQL databases for a repository + * @description Lists the CodeQL databases that are available in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/list-codeql-databases": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a CodeQL database for a repository + * @description Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-codeql-database": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The language of the CodeQL database. */ + language: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Delete a CodeQL database + * @description Deletes a CodeQL database for a language in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/delete-codeql-database": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The language of the CodeQL database. */ + language: string; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Create a CodeQL variant analysis + * @description Creates a new CodeQL variant analysis, which will run a CodeQL query against one or more repositories. + * + * Get started by learning more about [running CodeQL queries at scale with Multi-Repository Variant Analysis](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis). + * + * Use the `owner` and `repo` parameters in the URL to specify the controller repository that + * will be used for running GitHub Actions workflows and storing the results of the CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "code-scanning/create-variant-analysis": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + language: components["schemas"]["code-scanning-variant-analysis-language"]; + /** @description A Base64-encoded tarball containing a CodeQL query and all its dependencies */ + query_pack: string; + /** @description List of repository names (in the form `owner/repo-name`) to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repositories?: string[]; + /** @description List of repository lists to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_lists?: string[]; + /** @description List of organization or user names whose repositories the query should be run against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_owners?: string[]; + }; + }; + }; + responses: { + /** @description Variant analysis submitted for processing */ + 201: { + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unable to process variant analysis submission */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get the summary of a CodeQL variant analysis + * @description Gets the summary of a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-variant-analysis": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the variant analysis. */ + codeql_variant_analysis_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get the analysis status of a repository in a CodeQL variant analysis + * @description Gets the analysis status of a repository in a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-variant-analysis-repo-task": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + /** @description The name of the controller repository. */ + repo: string; + /** @description The ID of the variant analysis. */ + codeql_variant_analysis_id: number; + /** @description The account owner of the variant analysis repository. The name is not case sensitive. */ + repo_owner: string; + /** @description The name of the variant analysis repository. */ + repo_name: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis-repo-task"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a code scanning default setup configuration + * @description Gets a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-default-setup": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-default-setup"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Update a code scanning default setup configuration + * @description Updates a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/update-default-setup": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update-response"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["code_scanning_conflict"]; + 422: components["responses"]["code_scanning_invalid_state"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Upload an analysis as SARIF data + * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. + * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." + * + * + * | **SARIF data** | **Maximum values** | **Additional limits** | + * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| + * | Runs per file | 20 | | + * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | + * | Rules per run | 25,000 | | + * | Tool extensions per run | 100 | | + * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | + * | Location per result | 1,000 | Only 100 locations will be included. | + * | Tags per rule | 20 | Only 10 tags will be included. | + * + * + * The `202 Accepted` response includes an `id` value. + * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + * + * This endpoint is limited to 1,000 requests per hour for each user or app installation calling it. + */ + "code-scanning/upload-sarif": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-ref-full"]; + sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; + /** + * Format: uri + * @description The base directory used in the analysis, as it appears in the SARIF file. + * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. + * @example file:///github/workspace/ + */ + checkout_uri?: string; + /** + * Format: date-time + * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ + tool_name?: string; + /** + * @description Whether the SARIF file will be validated according to the code scanning specifications. + * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. + */ + validate?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; + }; + }; + /** @description Bad Request if the sarif field is invalid */ + 400: { + content: never; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** @description Payload Too Large if the sarif field is too large */ + 413: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get information about a SARIF upload + * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-sarif": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The SARIF ID obtained after uploading. */ + sarif_id: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-sarifs-status"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + /** @description Not Found if the sarif id does not match any upload */ + 404: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "code-security/get-configuration-for-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration-for-repository"]; + }; + }; + 204: components["responses"]["no_content"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List CODEOWNERS errors + * @description List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + "repos/codeowners-errors": { + parameters: { + query?: { + /** @description A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ + ref?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codeowners-errors"]; + }; + }; + /** @description Resource not found */ + 404: { + content: never; + }; + }; + }; + /** + * List codespaces in a repository for the authenticated user + * @description Lists the codespaces associated to a specified repository and the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/list-in-repository-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Create a codespace in a repository + * @description Creates a codespace owned by the authenticated user in the specified repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/create-with-repo-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List devcontainer configurations in a repository for the authenticated user + * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/list-devcontainers-in-repository-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + devcontainers: { + path: string; + name?: string; + display_name?: string; + }[]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List available machine types for a repository + * @description List the machine types available for a given repository based on its configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/repo-machines-for-authenticated-user": { + parameters: { + query?: { + /** @description The location to check for available machines. Assigned by IP if not provided. */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description The branch or commit to check for prebuild availability and devcontainer restrictions. */ + ref?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get default attributes for a codespace + * @description Gets the default attributes for codespaces created by the user with the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/pre-flight-with-repo-for-authenticated-user": { + parameters: { + query?: { + /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ + ref?: string; + /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ + client_ip?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response when a user is able to create codespaces from the repository. */ + 200: { + content: { + "application/json": { + billable_owner?: components["schemas"]["simple-user"]; + defaults?: { + location: string; + devcontainer_path: string | null; + }; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check if permissions defined by a devcontainer have been accepted by the authenticated user + * @description Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/check-permissions-for-devcontainer": { + parameters: { + query: { + /** @description The git reference that points to the location of the devcontainer configuration to use for the permission check. The value of `ref` will typically be a branch name (`heads/BRANCH_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: string; + /** @description Path to the devcontainer.json configuration to use for the permission check. */ + devcontainer_path: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response when the permission check is successful */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-permissions-check-for-devcontainer"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List repository secrets + * @description Lists all development environment secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "codespaces/list-repo-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["repo-codespaces-secret"][]; + }; + }; + }; + }; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * If the repository is private, OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "codespaces/get-repo-public-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; + }; + /** + * Get a repository secret + * @description Gets a single repository development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "codespaces/get-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repo-codespaces-secret"]; + }; + }; + }; + }; + /** + * Create or update a repository secret + * @description Creates or updates a repository development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + "codespaces/create-or-update-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete a repository secret + * @description Deletes a development environment secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + "codespaces/delete-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List repository collaborators + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * The `permissions` hash returned in the response contains the base role permissions of the collaborator. The `role_name` is the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. + * There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response. + * + * Team members will include the members of child teams. + * + * The authenticated user must have write, maintain, or admin privileges on the repository to use this endpoint. For organization-owned repositories, the authenticated user needs to be a member of the organization. + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + "repos/list-collaborators": { + parameters: { + query?: { + /** @description Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ + permission?: "pull" | "triage" | "push" | "maintain" | "admin"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["collaborator"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check if a user is a repository collaborator + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + "repos/check-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response if user is a collaborator */ + 204: { + content: never; + }; + /** @description Not Found if user is not a collaborator */ + 404: { + content: never; + }; + }; + }; + /** + * Add a repository collaborator + * @description Add a user to a repository with a specified level of access. If the repository is owned by an organization, this API does not add the user to the organization - a user that has repository access without being an organization member is called an "outside collaborator" (if they are not an Enterprise Managed User) or a "repository collaborator" if they are an Enterprise Managed User. These users are exempt from some organization policies - see "[Adding outside collaborators to repositories](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization)" to learn more about these collaborator types. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * + * Adding an outside collaborator may be restricted by enterprise and organization administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)" and "[Setting permissions for adding outside collaborators](https://docs.github.com/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators)" for organization settings. + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the role being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). + * + * For Enterprise Managed Users, this endpoint does not send invitations - these users are automatically added to organizations and repositories. Enterprise Managed Users can only be added to organizations and repositories within their enterprise. + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + "repos/add-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. + * @default push + */ + permission?: string; + }; + }; + }; + responses: { + /** @description Response when a new invitation is created */ + 201: { + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + /** + * @description Response when: + * - an existing collaborator is added as a collaborator + * - an organization member is added as an individual collaborator + * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator + */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + /** + * @description Response when: + * - validation failed, or the endpoint has been spammed + * - an Enterprise Managed User (EMU) account was invited to a repository in an enterprise with personal user accounts + */ + 422: { + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + }; + }; + /** + * Remove a repository collaborator + * @description Removes a collaborator from a repository. + * + * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. + * + * This endpoint also: + * - Cancels any outstanding invitations sent by the collaborator + * - Unassigns the user from any issues + * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. + * - Unstars the repository + * - Updates access permissions to packages + * + * Removing a user as a collaborator has the following effects on forks: + * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. + * - If the user had their own fork of the repository, the fork will be deleted. + * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. + * + * > [!NOTE] + * > A user can still have access to the repository through organization permissions like base repository permissions. + * + * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. + * + * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". + */ + "repos/remove-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description No Content when collaborator was removed from the repository. */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get repository permissions for a user + * @description Checks the repository permission and role of a collaborator. + * + * The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. + * The `role_name` attribute provides the name of the assigned role, including custom roles. The + * `permission` can also be used to determine which base level of access the collaborator has to the repository. + * + * The calculated permissions are the highest role assigned to the collaborator after considering all sources of grants, including: repo, teams, organization, and enterprise. + * There is presently not a way to differentiate between an organization level grant and a repository level grant from this endpoint response. + */ + "repos/get-collaborator-permission-level": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description if user has admin permissions */ + 200: { + content: { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List commit comments for a repository + * @description Lists the commit comments for a specified repository. Comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "repos/list-commit-comments-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + /** + * Get a commit comment + * @description Gets a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "repos/get-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Delete a commit comment */ + "repos/delete-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a commit comment + * @description Updates the contents of a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "repos/update-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List reactions for a commit comment + * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + "reactions/list-for-commit-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a commit comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create reaction for a commit comment + * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. + */ + "reactions/create-for-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a commit comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + "reactions/delete-for-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List commits + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/list-commits": { + parameters: { + query?: { + /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`). */ + sha?: string; + /** @description Only commits containing this file path will be returned. */ + path?: string; + /** @description GitHub username or email address to use to filter by commit author. */ + author?: string; + /** @description GitHub username or email address to use to filter by commit committer. */ + committer?: string; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + since?: string; + /** @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`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + until?: string; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List branches for HEAD commit + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + "repos/list-branches-for-head-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-short"][]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List commit comments + * @description Lists the comments for a specified commit. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "repos/list-comments-for-commit": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + /** + * Create a commit comment + * @description Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "repos/create-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + /** @description Relative path of the file to comment on. */ + path?: string; + /** @description Line index in the diff to comment on. */ + position?: number; + /** @description **Closing down notice**. Use **position** parameter instead. Line number in the file to comment on. */ + line?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List pull requests associated with a commit + * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, it will return merged and open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. + */ + "repos/list-pull-requests-associated-with-commit": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Get a commit + * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * > [!NOTE] + * > If there are more than 300 files in the commit diff and the default JSON media type is requested, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." Pagination query parameters are not supported for these media types. + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.sha`**: Returns the commit's SHA-1 hash. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/get-commit": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["commit-ref"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List check runs for a Git reference + * @description Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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. + * + * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/list-for-ref": { + parameters: { + query?: { + check_name?: components["parameters"]["check-name"]; + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + app_id?: number; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["commit-ref"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + /** + * List check suites for a Git reference + * @description Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look 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`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/list-suites-for-ref": { + parameters: { + query?: { + /** + * @description Filters check suites by GitHub App `id`. + * @example 1 + */ + app_id?: number; + check_name?: components["parameters"]["check-name"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["commit-ref"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + check_suites: components["schemas"]["check-suite"][]; + }; + }; + }; + }; + }; + /** + * Get the combined status for a specific reference + * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + "repos/get-combined-status-for-ref": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["commit-ref"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-commit-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List commit statuses for a reference + * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + "repos/list-commit-statuses-for-ref": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["commit-ref"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["status"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + }; + }; + /** + * Get community profile metrics + * @description Returns all community profile metrics for a repository. The repository cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * the recommended community health files are present. For more information, see + * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + "repos/get-community-profile-metrics": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["community-profile"]; + }; + }; + }; + }; + /** + * Compare two commits + * @description Compares two commits against one another. You can compare refs (branches or tags) and commit SHAs in the same repository, or you can compare refs and commit SHAs that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." + * + * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. + * + * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: + * + * - The list of changed files is only shown on the first page of results, and it includes up to 300 changed files for the entire comparison. + * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. + * + * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits-with-basehead": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`. */ + basehead: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get repository content + * @description Gets the contents of a file or directory in a repository. Specify the file path or directory with the `path` parameter. If you omit the `path` parameter, you will receive the contents of the repository's root directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents for files and symlinks. + * - **`application/vnd.github.html+json`**: Returns the file contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + * - **`application/vnd.github.object+json`**: Returns the contents in a consistent object format regardless of the content type. For example, instead of an array of objects for a directory, the response will be an object with an `entries` attribute containing the array of objects. + * + * If the content is a directory, the response will be an array of objects, one object for each item in the directory. When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value _should_ be "submodule". This behavior exists [for backwards compatibility purposes](https://git.io/v1YCW). In the next major version of the API, the type will be returned as "submodule". + * + * If the content is a symlink and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself. + * + * If the content is a submodule, the `submodule_git_url` field 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. + * + * **Notes**: + * + * - To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). + * - This API has an upper limit of 1,000 files for a directory. If you need to retrieve + * more files, use the [Git Trees API](https://docs.github.com/rest/git/trees#get-a-tree). + * - Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. + * - If the requested file's size is: + * - 1 MB or smaller: All features of this endpoint are supported. + * - Between 1-100 MB: Only the `raw` or `object` custom media types are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty + * string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * - Greater than 100 MB: This endpoint is not supported. + */ + "repos/get-content": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/vnd.github.object": components["schemas"]["content-tree"]; + "application/json": + | components["schemas"]["content-directory"] + | components["schemas"]["content-file"] + | components["schemas"]["content-symlink"] + | components["schemas"]["content-submodule"]; + }; + }; + 302: components["responses"]["found"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create or update file contents + * @description Creates a new file or replaces an existing file in a repository. + * + * > [!NOTE] + * > If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The `workflow` scope is also required in order to modify files in the `.github/workflows` directory. + */ + "repos/create-or-update-file-contents": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The new file content, using Base64 encoding. */ + content: string; + /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ + sha?: string; + /** @description The branch name. Default: the repository’s default branch. */ + branch?: string; + /** @description The person that committed the file. Default: the authenticated user. */ + committer?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-05T13:13:22+05:00" */ + date?: string; + }; + /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ + author?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-15T17:13:22+05:00" */ + date?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict */ + 409: { + content: { + "application/json": + | components["schemas"]["basic-error"] + | components["schemas"]["repository-rule-violation-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a file + * @description Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * + * > [!NOTE] + * > If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + "repos/delete-file": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The blob SHA of the file being deleted. */ + sha: string; + /** @description The branch name. Default: the repository’s default branch */ + branch?: string; + /** @description object containing information about the committer. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + /** @description object containing information about the author. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List repository contributors + * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + "repos/list-contributors": { + parameters: { + query?: { + /** @description Set to `1` or `true` to include anonymous contributors in results. */ + anon?: string; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description If repository contains content */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["contributor"][]; + }; + }; + /** @description Response if repository is empty */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List Dependabot alerts for a repository + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "dependabot/list-alerts-for-repo": { + parameters: { + query?: { + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + manifest?: components["parameters"]["dependabot-alert-comma-separated-manifests"]; + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + has?: components["parameters"]["dependabot-alert-comma-separated-has"]; + scope?: components["parameters"]["dependabot-alert-scope"]; + sort?: components["parameters"]["dependabot-alert-sort"]; + direction?: components["parameters"]["direction"]; + /** + * @deprecated + * @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + */ + per_page?: number; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get a Dependabot alert + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "dependabot/get-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a Dependabot alert + * @description The authenticated user must have access to security alerts for the repository to use this endpoint. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "dependabot/update-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the Dependabot alert. + * A `dismissed_reason` must be provided when setting the state to `dismissed`. + * @enum {string} + */ + state: "dismissed" | "open"; + /** + * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. + * @enum {string} + */ + dismissed_reason?: + | "fix_started" + | "inaccurate" + | "no_bandwidth" + | "not_used" + | "tolerable_risk"; + /** @description An optional comment associated with dismissing the alert. */ + dismissed_comment?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "dependabot/list-repo-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["dependabot-secret"][]; + }; + }; + }; + }; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. Anyone with read access + * to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private. + */ + "dependabot/get-repo-public-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "dependabot/get-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-secret"]; + }; + }; + }; + }; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "dependabot/create-or-update-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "dependabot/delete-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get a diff of the dependencies between commits + * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. + */ + "dependency-graph/diff-range": { + parameters: { + query?: { + name?: components["parameters"]["manifest-path"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ + basehead: string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["dependency-graph-diff"]; + }; + }; + 403: components["responses"]["dependency_review_forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Export a software bill of materials (SBOM) for a repository. + * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. + */ + "dependency-graph/export-sbom": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["dependency-graph-spdx-sbom"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a snapshot of dependencies for a repository + * @description Create a new snapshot of a repository's dependencies. + * + * The authenticated user must have access to the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "dependency-graph/create-repository-snapshot": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["snapshot"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": { + /** @description ID of the created snapshot. */ + id: number; + /** @description The time at which the snapshot was created. */ + created_at: string; + /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ + result: string; + /** @description A message providing further details about the result, such as why the dependencies were not updated. */ + message: string; + }; + }; + }; + }; + }; + /** + * List deployments + * @description Simple filtering of deployments is available via query parameters: + */ + "repos/list-deployments": { + parameters: { + query?: { + /** @description The SHA recorded at creation time. */ + sha?: string; + /** @description The name of the ref. This can be a branch, tag, or SHA. */ + ref?: string; + /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ + task?: string; + /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ + environment?: string | null; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + }; + /** + * Create a deployment + * @description Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Merged branch response: + * + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * Merge conflict response: + * + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * Failed commit status checks: + * + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + "repos/create-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The ref to deploy. This can be a branch, tag, or SHA. */ + ref: string; + /** + * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + * @default deploy + */ + task?: string; + /** + * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + * @default true + */ + auto_merge?: boolean; + /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ + required_contexts?: string[]; + payload?: OneOf< + [ + { + [key: string]: unknown; + }, + string, + ] + >; + /** + * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + * @default production + */ + environment?: string; + /** + * @description Short description of the deployment. + * @default + */ + description?: string | null; + /** + * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * @default false + */ + transient_environment?: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ + production_environment?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + /** @description Merged branch response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Conflict when there is a merge conflict or the commit's status checks failed */ + 409: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Get a deployment */ + "repos/get-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a deployment + * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + "repos/delete-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List deployment statuses + * @description Users with pull access can view deployment statuses for a deployment: + */ + "repos/list-deployment-statuses": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["deployment-status"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a deployment status + * @description Users with `push` access can create deployment statuses for a given deployment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. + */ + "repos/create-deployment-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. + * @enum {string} + */ + state: + | "error" + | "failure" + | "inactive" + | "in_progress" + | "queued" + | "pending" + | "success"; + /** + * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. + * + * > [!NOTE] + * > It's recommended to use the `log_url` parameter, which replaces `target_url`. + * @default + */ + target_url?: string; + /** + * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * @default + */ + log_url?: string; + /** + * @description A short description of the status. The maximum description length is 140 characters. + * @default + */ + description?: string; + /** @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used. */ + environment?: string; + /** + * @description Sets the URL for accessing your environment. Default: `""` + * @default + */ + environment_url?: string; + /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ + auto_inactive?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a deployment status + * @description Users with pull access can view a deployment status for a deployment: + */ + "repos/get-deployment-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment-id"]; + status_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a repository dispatch event + * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/create-dispatch-event": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A custom webhook event name. Must be 100 characters or fewer. */ + event_type: string; + /** @description JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10. The total size of the JSON payload must be less than 64KB. */ + client_payload?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List environments + * @description Lists the environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/get-all-environments": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + /** + * @description The number of environments in this repository + * @example 5 + */ + total_count?: number; + environments?: components["schemas"]["environment"][]; + }; + }; + }; + }; + }; + /** + * Get an environment + * @description > [!NOTE] + * > To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/get-environment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; + }; + /** + * Create or update an environment + * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * > [!NOTE] + * > To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." + * + * > [!NOTE] + * > To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/create-or-update-environment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + requestBody?: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + prevent_self_review?: components["schemas"]["prevent-self-review"]; + /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: + | { + type?: components["schemas"]["deployment-reviewer-type"]; + /** + * @description The id of the user or team who can review the deployment + * @example 4532992 + */ + id?: number; + }[] + | null; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + /** @description Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Delete an environment + * @description OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/delete-an-environment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Default response */ + 204: { + content: never; + }; + }; + }; + /** + * List deployment branch policies + * @description Lists the deployment branch policies for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/list-deployment-branch-policies": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + /** + * @description The number of deployment branch policies for the environment. + * @example 2 + */ + total_count: number; + branch_policies: components["schemas"]["deployment-branch-policy"][]; + }; + }; + }; + }; + }; + /** + * Create a deployment branch policy + * @description Creates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/create-deployment-branch-policy": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern-with-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + /** @description Response if the same branch name pattern already exists */ + 303: { + content: never; + }; + /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ + 404: { + content: never; + }; + }; + }; + /** + * Get a deployment branch policy + * @description Gets a deployment branch or tag policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/get-deployment-branch-policy": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + }; + }; + /** + * Update a deployment branch policy + * @description Updates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/update-deployment-branch-policy": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + }; + }; + /** + * Delete a deployment branch policy + * @description Deletes a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/delete-deployment-branch-policy": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get all deployment protection rules for an environment + * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/get-all-deployment-protection-rules": { + parameters: { + path: { + environment_name: components["parameters"]["environment-name"]; + repo: components["parameters"]["repo"]; + owner: components["parameters"]["owner"]; + }; + }; + responses: { + /** @description List of deployment protection rules */ + 200: { + content: { + "application/json": { + /** + * @description The number of enabled custom deployment protection rules for this environment + * @example 10 + */ + total_count?: number; + custom_deployment_protection_rules?: components["schemas"]["deployment-protection-rule"][]; + }; + }; + }; + }; + }; + /** + * Create a custom deployment protection rule on an environment + * @description Enable a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app), as well as the [guide to creating custom deployment protection rules](https://docs.github.com/actions/managing-workflow-runs-and-deployments/managing-deployments/creating-custom-deployment-protection-rules). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/create-deployment-protection-rule": { + parameters: { + path: { + environment_name: components["parameters"]["environment-name"]; + repo: components["parameters"]["repo"]; + owner: components["parameters"]["owner"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The ID of the custom app that will be enabled on the environment. */ + integration_id?: number; + }; + }; + }; + responses: { + /** @description The enabled custom deployment protection rule */ + 201: { + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; + }; + /** + * List custom deployment rule integrations available for an environment + * @description Gets all custom deployment protection rule integrations that are available for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/list-custom-deployment-rule-integrations": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + environment_name: components["parameters"]["environment-name"]; + repo: components["parameters"]["repo"]; + owner: components["parameters"]["owner"]; + }; + }; + responses: { + /** @description A list of custom deployment rule integrations available for this environment. */ + 200: { + content: { + "application/json": { + /** + * @description The total number of custom deployment protection rule integrations available for this environment. + * @example 35 + */ + total_count?: number; + available_custom_deployment_protection_rule_integrations?: components["schemas"]["custom-deployment-rule-app"][]; + }; + }; + }; + }; + }; + /** + * Get a custom deployment protection rule + * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/get-custom-deployment-protection-rule": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; + }; + /** + * Disable a custom protection rule for an environment + * @description Disables a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/disable-deployment-protection-rule": { + parameters: { + path: { + environment_name: components["parameters"]["environment-name"]; + repo: components["parameters"]["repo"]; + owner: components["parameters"]["owner"]; + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List environment secrets + * @description Lists all secrets available in an environment without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-environment-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** + * Get an environment public key + * @description Get the public key for an environment, which you need to encrypt environment + * secrets. You need to encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-environment-public-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** + * Get an environment secret + * @description Gets a single environment secret without revealing its encrypted value. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-environment-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + /** + * Create or update an environment secret + * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-or-update-environment-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete an environment secret + * @description Deletes a secret in an environment using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-environment-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Default response */ + 204: { + content: never; + }; + }; + }; + /** + * List environment variables + * @description Lists all environment variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-environment-variables": { + parameters: { + query?: { + per_page?: components["parameters"]["variables-per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + /** + * Create an environment variable + * @description Create an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-environment-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * Get an environment variable + * @description Gets a specific variable in an environment. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-environment-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; + }; + /** + * Delete an environment variable + * @description Deletes an environment variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-environment-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: components["parameters"]["variable-name"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update an environment variable + * @description Updates an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/update-environment-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: components["parameters"]["variable-name"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List repository events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-repo-events": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** List forks */ + "repos/list-forks": { + parameters: { + query?: { + /** @description The sort order. `stargazers` will sort by star count. */ + sort?: "newest" | "oldest" | "stargazers" | "watchers"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 400: components["responses"]["bad_request"]; + }; + }; + /** + * Create a fork + * @description Create a fork for the authenticated user. + * + * > [!NOTE] + * > Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * + * > [!NOTE] + * > Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. + */ + "repos/create-fork": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Optional parameter to specify the organization name if forking into an organization. */ + organization?: string; + /** @description When forking from an existing repository, a new name for the fork. */ + name?: string; + /** @description When forking from an existing repository, fork with only the default branch. */ + default_branch_only?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Create a blob */ + "git/create-blob": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The new blob's content. */ + content: string; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["short-blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + /** @description Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["repository-rule-violation-error"]; + }; + }; + }; + }; + /** + * Get a blob + * @description The `content` in the response will always be Base64 encoded. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw blob data. + * - **`application/vnd.github+json`**: Returns a JSON representation of the blob with `content` as a base64 encoded string. This is the default if no media type is specified. + * + * **Note** This endpoint supports blobs up to 100 megabytes in size. + */ + "git/get-blob": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + file_sha: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a commit + * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/create-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message */ + message: string; + /** @description The SHA of the tree object this commit points to */ + tree: string; + /** @description The full SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ + parents?: string[]; + /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name: string; + /** @description The email of the author (or committer) of the commit */ + email: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ + signature?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a commit object + * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/get-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * List matching references + * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * > [!NOTE] + * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + "git/list-matching-refs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["git-ref-only"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Get a reference + * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * > [!NOTE] + * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + "git/get-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["git-ref-only"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Create a reference + * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + "git/create-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ + ref: string; + /** @description The SHA1 value for this reference. */ + sha: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a reference + * @description Deletes the provided reference. + */ + "git/delete-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["git-ref-only"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 409: components["responses"]["conflict"]; + /** @description Validation failed, an attempt was made to delete the default branch, or the endpoint has been spammed. */ + 422: { + content: never; + }; + }; + }; + /** + * Update a reference + * @description Updates the provided reference to point to a new SHA. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + */ + "git/update-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["git-ref-only"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SHA1 value to set this reference to */ + sha: string; + /** + * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + * @default false + */ + force?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a tag object + * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/create-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ + tag: string; + /** @description The tag message. */ + message: string; + /** @description The SHA of the git object this is tagging. */ + object: string; + /** + * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + * @enum {string} + */ + type: "commit" | "tree" | "blob"; + /** @description An object with information about the individual creating the tag. */ + tagger?: { + /** @description The name of the author of the tag */ + name: string; + /** @description The email of the author of the tag */ + email: string; + /** + * Format: date-time + * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a tag + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/get-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + tag_sha: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Create a tree + * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." + * + * Returns an error if you try to delete a file that does not exist. + */ + "git/create-tree": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ + tree: { + /** @description The file referenced in the tree. */ + path?: string; + /** + * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. + * @enum {string} + */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** + * @description Either `blob`, `tree`, or `commit`. + * @enum {string} + */ + type?: "blob" | "tree" | "commit"; + /** + * @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + sha?: string | null; + /** + * @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + content?: string; + }[]; + /** + * @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. + * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. + */ + base_tree?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a tree + * @description Returns a single tree using the SHA1 value or ref name for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + * + * > [!NOTE] + * > The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. + */ + "git/get-tree": { + parameters: { + query?: { + /** @description Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ + recursive?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The SHA1 value or ref (branch or tag) name of the tree. */ + tree_sha: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List repository webhooks + * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. + */ + "repos/list-webhooks": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a repository webhook + * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + "repos/create-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ + name?: string; + /** @description Key/value pairs to provide settings for this webhook. */ + config?: { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a repository webhook + * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." + */ + "repos/get-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a repository webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be a repository owner, or have admin access in the repository, to delete the webhook. + */ + "repos/delete-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a repository webhook + * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." + */ + "repos/update-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + config?: components["schemas"]["webhook-config"]; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ + add_events?: string[]; + /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ + remove_events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a webhook configuration for a repository + * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint. + */ + "repos/get-webhook-config-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Update a webhook configuration for a repository + * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint. + */ + "repos/update-webhook-config-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * List deliveries for a repository webhook + * @description Returns a list of webhook deliveries for a webhook configured in a repository. + */ + "repos/list-webhook-deliveries": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + cursor?: components["parameters"]["cursor"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a delivery for a repository webhook + * @description Returns a delivery for a webhook configured in a repository. + */ + "repos/get-webhook-delivery": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Redeliver a delivery for a repository webhook + * @description Redeliver a webhook delivery for a webhook configured in a repository. + */ + "repos/redeliver-webhook-delivery": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Ping a repository webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + "repos/ping-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Test the push repository webhook + * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * > [!NOTE] + * > Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + "repos/test-push-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check if immutable releases are enabled for a repository + * @description Shows whether immutable releases are enabled or disabled. Also identifies whether immutability is being + * enforced by the repository owner. The authenticated user must have admin read access to the repository. + */ + "repos/check-immutable-releases": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response if immutable releases are enabled */ + 200: { + content: { + "application/json": components["schemas"]["check-immutable-releases"]; + }; + }; + /** @description Not Found if immutable releases are not enabled for the repository */ + 404: { + content: never; + }; + }; + }; + /** + * Enable immutable releases + * @description Enables immutable releases for a repository. The authenticated user must have admin access to the repository. + */ + "repos/enable-immutable-releases": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Disable immutable releases + * @description Disables immutable releases for a repository. The authenticated user must have admin access to the repository. + */ + "repos/disable-immutable-releases": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Get an import status + * @deprecated + * @description View the progress of an import. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + "migrations/get-import-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Start an import + * @deprecated + * @description Start a source import to a GitHub repository using GitHub Importer. + * Importing into a GitHub repository with GitHub Actions enabled is not supported and will + * return a status `422 Unprocessable Entity` response. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/start-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The URL of the originating repository. */ + vcs_url: string; + /** + * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + * @enum {string} + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** @description If authentication is required, the username to provide to `vcs_url`. */ + vcs_username?: string; + /** @description If authentication is required, the password to provide to `vcs_url`. */ + vcs_password?: string; + /** @description For a tfvc import, the name of the project that is being imported. */ + tfvc_project?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/spraints/socm/import */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Cancel an import + * @deprecated + * @description Stop an import for a repository. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/cancel-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Update an import + * @deprecated + * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/update-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The username to provide to the originating repository. */ + vcs_username?: string; + /** @description The password to provide to the originating repository. */ + vcs_password?: string; + /** + * @description The type of version control system you are migrating from. + * @example "git" + * @enum {string} + */ + vcs?: "subversion" | "tfvc" | "git" | "mercurial"; + /** + * @description For a tfvc import, the name of the project that is being imported. + * @example "project1" + */ + tfvc_project?: string; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Get commit authors + * @deprecated + * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/get-commit-authors": { + parameters: { + query?: { + since?: components["parameters"]["since-user"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-author"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Map a commit author + * @deprecated + * @description Update an author's identity for the import. Your application can continue updating authors any time before you push + * new commits to the repository. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/map-commit-author": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + author_id: number; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new Git author email. */ + email?: string; + /** @description The new Git author name. */ + name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-author"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Get large files + * @deprecated + * @description List files larger than 100MB found during the import + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/get-large-files": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-large-file"][]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Update Git LFS preference + * @deprecated + * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability + * is powered by [Git LFS](https://git-lfs.com). + * + * You can learn more about our LFS feature and working with large files [on our help + * site](https://docs.github.com/repositories/working-with-files/managing-large-files). + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/set-lfs-preference": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. + * @enum {string} + */ + use_lfs: "opt_in" | "opt_out"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Get a repository installation for the authenticated app + * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-repo-installation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get interaction restrictions for a repository + * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + "interactions/get-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": + | components["schemas"]["interaction-limit-response"] + | Record; + }; + }; + }; + }; + /** + * Set interaction restrictions for a repository + * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + "interactions/set-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + /** @description Response */ + 409: { + content: never; + }; + }; + }; + /** + * Remove interaction restrictions for a repository + * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + "interactions/remove-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response */ + 409: { + content: never; + }; + }; + }; + /** + * List repository invitations + * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + "repos/list-invitations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + }; + }; + /** Delete a repository invitation */ + "repos/delete-invitation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** Update a repository invitation */ + "repos/update-invitation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + * @enum {string} + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + }; + }; + /** + * List repository issues + * @description List issues in a repository. Only open issues will be listed. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-for-repo": { + parameters: { + query?: { + /** @description If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ + milestone?: string; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ + assignee?: string; + /** @description Can be the name of an issue type. If the string `*` is passed, issues with any type are accepted. If the string `none` is passed, issues without type are returned. */ + type?: string; + /** @description The user that created the issue. */ + creator?: string; + /** @description A user that's mentioned in the issue. */ + mentioned?: string; + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create an issue + * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the issue. */ + title: string | number; + /** @description The contents of the issue. */ + body?: string; + /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is closing down.**_ */ + assignee?: string | null; + milestone?: string | number | null; + /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ + labels?: OneOf< + [ + string, + { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + }, + ] + >[]; + /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: string[]; + /** + * @description The name of the issue type to associate with this issue. _NOTE: Only users with push access can set the type for new issues. The type is silently dropped otherwise._ + * @example Epic + */ + type?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List issue comments for a repository + * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. + * + * By default, issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-comments-for-repo": { + parameters: { + query?: { + sort?: components["parameters"]["sort"]; + /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an issue comment + * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/get-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an issue comment + * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + "issues/delete-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update an issue comment + * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/update-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List reactions for an issue comment + * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + "reactions/list-for-issue-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create reaction for an issue comment + * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. + */ + "reactions/create-for-issue-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete an issue comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + "reactions/delete-for-issue-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List issue events for a repository + * @description Lists events for a repository. + */ + "issues/list-events-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue-event"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an issue event + * @description Gets a single event by the event id. + */ + "issues/get-event": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + event_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-event"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Get an issue + * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api#follow-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Update an issue + * @description Issue owners and users with push access or Triage role can edit an issue. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the issue. */ + title?: string | number | null; + /** @description The contents of the issue. */ + body?: string | null; + /** @description Username to assign to this issue. **This field is closing down.** */ + assignee?: string | null; + /** + * @description The open or closed state of the issue. + * @enum {string} + */ + state?: "open" | "closed"; + /** + * @description The reason for the state change. Ignored unless `state` is changed. + * @example not_planned + * @enum {string|null} + */ + state_reason?: + | "completed" + | "not_planned" + | "duplicate" + | "reopened" + | null; + milestone?: string | number | null; + /** @description Labels to associate with this issue. Pass one or more labels to _replace_ the set of labels on this issue. Send an empty array (`[]`) to clear all labels from the issue. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped. */ + labels?: OneOf< + [ + string, + { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + }, + ] + >[]; + /** @description Usernames to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this issue. Send an empty array (`[]`) to clear all assignees from the issue. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped. */ + assignees?: string[]; + /** + * @description The name of the issue type to associate with this issue or use `null` to remove the current issue type. Only users with push access can set the type for issues. Without push access to the repository, type changes are silently dropped. + * @example Epic + */ + type?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Add assignees to an issue + * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + "issues/add-assignees": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ + assignees?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + }; + /** + * Remove assignees from an issue + * @description Removes one or more assignees from an issue. + */ + "issues/remove-assignees": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ + assignees: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + }; + /** + * Check if a user can be assigned to a issue + * @description Checks if a user has permission to be assigned to a specific issue. + * + * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + "issues/check-user-can-be-assigned-to-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + assignee: string; + }; + }; + responses: { + /** @description Response if `assignee` can be assigned to `issue_number` */ + 204: { + content: never; + }; + /** @description Response if `assignee` can not be assigned to `issue_number` */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * List issue comments + * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * Issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-comments": { + parameters: { + query?: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Create an issue comment + * @description You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/create-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List dependencies an issue is blocked by + * @description You can use the REST API to list the dependencies an issue is blocked by. + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * + * - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-dependencies-blocked-by": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Add a dependency an issue is blocked by + * @description You can use the REST API to add a 'blocked by' relationship to an issue. + * + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see [Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits) + * and [Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api). + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * + * - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/add-blocked-by-dependency": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the issue that blocks the current issue */ + issue_id: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1/dependencies/blocked_by */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove dependency an issue is blocked by + * @description You can use the REST API to remove a dependency that an issue is blocked by. + * + * Removing content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see [Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits) + * and [Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api). + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass a specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/remove-dependency-blocked-by": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + /** @description The id of the blocking issue to remove as a dependency */ + issue_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * List dependencies an issue is blocking + * @description You can use the REST API to list the dependencies an issue is blocking. + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * + * - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-dependencies-blocking": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * List issue events + * @description Lists all events for an issue. + */ + "issues/list-events": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue-event-for-issue"][]; + }; + }; + 410: components["responses"]["gone"]; + }; + }; + /** + * List labels for an issue + * @description Lists all labels for an issue. + */ + "issues/list-labels-on-issue": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Set labels for an issue + * @description Removes any previous labels and sets the new labels for an issue. + */ + "issues/set-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody?: { + content: { + "application/json": OneOf< + [ + { + /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/issues/labels#add-labels-to-an-issue)." */ + labels?: string[]; + }, + { + labels?: { + name: string; + }[]; + }, + ] + >; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add labels to an issue + * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. + */ + "issues/add-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody?: { + content: { + "application/json": OneOf< + [ + { + /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/issues/labels#set-labels-for-an-issue)." */ + labels?: string[]; + }, + { + labels?: { + name: string; + }[]; + }, + ] + >; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove all labels from an issue + * @description Removes all labels from an issue. + */ + "issues/remove-all-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Remove a label from an issue + * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + "issues/remove-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + name: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Lock an issue + * @description Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "issues/lock": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * * `off-topic` + * * `too heated` + * * `resolved` + * * `spam` + * @enum {string} + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Unlock an issue + * @description Users with push access can unlock an issue's conversation. + */ + "issues/unlock": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get parent issue + * @description You can use the REST API to get the parent issue of a sub-issue. + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/get-parent": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * List reactions for an issue + * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + "reactions/list-for-issue": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Create reaction for an issue + * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. + */ + "reactions/create-for-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete an issue reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + "reactions/delete-for-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove sub-issue + * @description You can use the REST API to remove a sub-issue from an issue. + * Removing content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass a specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/remove-sub-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to remove */ + sub_issue_id: number; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1/sub-issue */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List sub-issues + * @description You can use the REST API to list the sub-issues on an issue. + * + * This endpoint supports the following custom media types. For more information, see [Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * + * - **`application/vnd.github.raw+json`**: Returns the raw Markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the Markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's Markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-sub-issues": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Add sub-issue + * @description You can use the REST API to add sub-issues to issues. + * + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/add-sub-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to add. The sub-issue must belong to the same repository owner as the parent issue */ + sub_issue_id: number; + /** @description Option that, when true, instructs the operation to replace the sub-issues current parent issue */ + replace_parent?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/sub-issues/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Reprioritize sub-issue + * @description You can use the REST API to reprioritize a sub-issue to a different position in the parent list. + */ + "issues/reprioritize-sub-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to reprioritize */ + sub_issue_id: number; + /** @description The id of the sub-issue to be prioritized after (either positional argument after OR before should be specified). */ + after_id?: number; + /** @description The id of the sub-issue to be prioritized before (either positional argument after OR before should be specified). */ + before_id?: number; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List timeline events for an issue + * @description List all timeline events for an issue. + */ + "issues/list-events-for-timeline": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["timeline-issue-events"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** List deploy keys */ + "repos/list-deploy-keys": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["deploy-key"][]; + }; + }; + }; + }; + /** + * Create a deploy key + * @description You can create a read-only deploy key. + */ + "repos/create-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the key. */ + title?: string; + /** @description The contents of the key. */ + key: string; + /** + * @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Get a deploy key */ + "repos/get-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a deploy key + * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + */ + "repos/delete-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List labels for a repository + * @description Lists all labels for a repository. + */ + "issues/list-labels-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a label + * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). + */ + "issues/create-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + name: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a label + * @description Gets a label using the given name. + */ + "issues/get-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a label + * @description Deletes a label using the given label name. + */ + "issues/delete-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a label + * @description Updates a label using the given label name. + */ + "issues/update-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + new_name?: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["label"]; + }; + }; + }; + }; + /** + * List repository languages + * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + "repos/list-languages": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["language"]; + }; + }; + }; + }; + /** + * Get the license for a repository + * @description This method returns the contents of the repository's license file, if one is detected. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw contents of the license. + * - **`application/vnd.github.html+json`**: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + "licenses/get-for-repo": { + parameters: { + query?: { + ref?: components["parameters"]["git-ref"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["license-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Sync a fork branch with the upstream repository + * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + "repos/merge-upstream": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the branch which should be updated to match upstream. */ + branch: string; + }; + }; + }; + responses: { + /** @description The branch has been successfully synced with the upstream repository */ + 200: { + content: { + "application/json": components["schemas"]["merged-upstream"]; + }; + }; + /** @description The branch could not be synced because of a merge conflict */ + 409: { + content: never; + }; + /** @description The branch could not be synced for some other reason */ + 422: { + content: never; + }; + }; + }; + /** Merge a branch */ + "repos/merge": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the base branch that the head will be merged into. */ + base: string; + /** @description The head to merge. This can be a branch name or a commit SHA1. */ + head: string; + /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ + commit_message?: string; + }; + }; + }; + responses: { + /** @description Successful Response (The resulting merge commit) */ + 201: { + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + /** @description Response when already merged */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found when the base or head does not exist */ + 404: { + content: never; + }; + /** @description Conflict when there is a merge conflict */ + 409: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List milestones + * @description Lists milestones for a repository. + */ + "issues/list-milestones": { + parameters: { + query?: { + /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** @description What to sort results by. Either `due_on` or `completeness`. */ + sort?: "due_on" | "completeness"; + /** @description The direction of the sort. Either `asc` or `desc`. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["milestone"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a milestone + * @description Creates a milestone. + */ + "issues/create-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a milestone + * @description Gets a milestone using the given milestone number. + */ + "issues/get-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a milestone + * @description Deletes a milestone using the given milestone number. + */ + "issues/delete-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Update a milestone */ + "issues/update-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title?: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + }; + }; + /** + * List labels for issues in a milestone + * @description Lists labels for issues in a milestone. + */ + "issues/list-labels-for-milestone": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + }; + }; + /** + * List repository notifications for the authenticated user + * @description Lists all notifications for the current user in the specified repository. + */ + "activity/list-repo-notifications-for-authenticated-user": { + parameters: { + query?: { + all?: components["parameters"]["all"]; + participating?: components["parameters"]["participating"]; + since?: components["parameters"]["since"]; + before?: components["parameters"]["before"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + }; + }; + /** + * Mark repository notifications as read + * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + "activity/mark-repo-notifications-as-read": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + content: never; + }; + }; + }; + /** + * Get a GitHub Pages site + * @description Gets information about a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/get-pages": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update information about a GitHub Pages site + * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/update-information-about-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/pages/configuring-a-custom-domain-for-your-github-pages-site)." */ + cname?: string | null; + /** @description Specify whether HTTPS should be enforced for the repository. */ + https_enforced?: boolean; + /** + * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + source?: + | ("gh-pages" | "master" | "master /docs") + | { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. + * @enum {string} + */ + path: "/" | "/docs"; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 400: components["responses"]["bad_request"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a GitHub Pages site + * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/create-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + /** @description The source branch and directory used to publish your Pages site. */ + source?: { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` + * @default / + * @enum {string} + */ + path?: "/" | "/docs"; + }; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a GitHub Pages site + * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/delete-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List GitHub Pages builds + * @description Lists builts of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/list-pages-builds": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["page-build"][]; + }; + }; + }; + }; + /** + * Request a GitHub Pages build + * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + "repos/request-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["page-build-status"]; + }; + }; + }; + }; + /** + * Get latest Pages build + * @description Gets information about the single most recent build of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/get-latest-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + /** + * Get GitHub Pages build + * @description Gets information about a GitHub Pages build. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/get-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + build_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + /** + * Create a GitHub Pages deployment + * @description Create a GitHub Pages deployment for a repository. + * + * The authenticated user must have write permission to the repository. + */ + "repos/create-pages-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The ID of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + artifact_id?: number; + /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + artifact_url?: string; + /** + * @description The target environment for this GitHub Pages deployment. + * @default github-pages + */ + environment?: string; + /** + * @description A unique string that represents the version of the build for this deployment. + * @default GITHUB_SHA + */ + pages_build_version: string; + /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ + oidc_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["page-deployment"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get the status of a GitHub Pages deployment + * @description Gets the current status of a GitHub Pages deployment. + * + * The authenticated user must have read permission for the GitHub Pages site. + */ + "repos/get-pages-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pages-deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Cancel a GitHub Pages deployment + * @description Cancels a GitHub Pages deployment. + * + * The authenticated user must have write permissions for the GitHub Pages site. + */ + "repos/cancel-pages-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a DNS health check for GitHub Pages + * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/get-pages-health-check": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pages-health-check"]; + }; + }; + /** @description Empty response */ + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Custom domains are not available for GitHub Pages */ + 400: { + content: never; + }; + 404: components["responses"]["not_found"]; + /** @description There isn't a CNAME for this page */ + 422: { + content: never; + }; + }; + }; + /** + * Check if private vulnerability reporting is enabled for a repository + * @description Returns a boolean indicating whether or not private vulnerability reporting is enabled for the repository. For more information, see "[Evaluating the security settings of a repository](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository)". + */ + "repos/check-private-vulnerability-reporting": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Private vulnerability reporting status */ + 200: { + content: { + "application/json": { + /** @description Whether or not private vulnerability reporting is enabled for the repository. */ + enabled: boolean; + }; + }; + }; + 422: components["responses"]["bad_request"]; + }; + }; + /** + * Enable private vulnerability reporting for a repository + * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." + */ + "repos/enable-private-vulnerability-reporting": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + /** + * Disable private vulnerability reporting for a repository + * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + */ + "repos/disable-private-vulnerability-reporting": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + /** + * List repository projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/list-for-repo": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Create a repository project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/create-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get all custom property values for a repository + * @description Gets all custom property values that are set for a repository. + * Users with read access to the repository can use this endpoint. + */ + "repos/custom-properties-for-repos-get-repository-values": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["custom-property-value"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create or update custom property values for a repository + * @description Create new or update existing custom property values for a repository. + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint. + */ + "repos/custom-properties-for-repos-create-or-update-repository-values": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List pull requests + * @description Lists pull requests in a specified repository. + * + * Draft pull requests are available in public repositories with GitHub + * Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing + * plans, and in public and private repositories with GitHub Team and GitHub Enterprise + * Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) + * in the GitHub Help documentation. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list": { + parameters: { + query?: { + /** @description Either `open`, `closed`, or `all` to filter by state. */ + state?: "open" | "closed" | "all"; + /** @description Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ + head?: string; + /** @description Filter pulls by base branch name. Example: `gh-pages`. */ + base?: string; + /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the new pull request. Required unless `issue` is specified. */ + title?: string; + /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ + head: string; + /** + * Format: repo.nwo + * @description The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. + * @example octo-org/octo-repo + */ + head_repo?: string; + /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ + base: string; + /** @description The contents of the pull request. */ + body?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ + draft?: boolean; + /** + * Format: int64 + * @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. + * @example 1 + */ + issue?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List review comments in a repository + * @description Lists review comments for all pull requests in a repository. By default, + * review comments are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-review-comments-for-repo": { + parameters: { + query?: { + sort?: "created" | "updated" | "created_at"; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + /** + * Get a review comment for a pull request + * @description Provides details for a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/get-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a review comment for a pull request + * @description Deletes a review comment. + */ + "pulls/delete-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a review comment for a pull request + * @description Edits the content of a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/update-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the reply to the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + }; + }; + /** + * List reactions for a pull request review comment + * @description List the reactions to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + "reactions/list-for-pull-request-review-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a pull request review comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create reaction for a pull request review comment + * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. + */ + "reactions/create-for-pull-request-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a pull request comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + "reactions/delete-for-pull-request-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + * - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message. + */ + "pulls/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. */ + 200: { + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 406: components["responses"]["unacceptable"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Update a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the pull request. */ + title?: string; + /** @description The contents of the pull request. */ + body?: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ + base?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a codespace from a pull request + * @description Creates a codespace owned by the authenticated user for the specified pull request. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/create-with-pr-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List review comments on a pull request + * @description Lists all review comments for a specified pull request. By default, review comments + * are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-review-comments": { + parameters: { + query?: { + sort?: components["parameters"]["sort"]; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + /** + * Create a review comment for a pull request + * @description Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." + * + * If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. + * + * The `position` parameter is closing down. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/create-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ + commit_id: string; + /** @description The relative path to the file that necessitates a comment. */ + path: string; + /** + * @deprecated + * @description **This parameter is closing down. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. 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. + */ + position?: number; + /** + * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** @description **Required unless using `subject_type:file`**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ + line?: number; + /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ + start_line?: number; + /** + * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + * @enum {string} + */ + start_side?: "LEFT" | "RIGHT" | "side"; + /** + * @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. + * @example 2 + */ + in_reply_to?: number; + /** + * @description The level at which the comment is targeted. + * @enum {string} + */ + subject_type?: "line" | "file"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a reply for a review comment + * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/create-reply-for-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List commits on a pull request + * @description Lists a maximum of 250 commits for a pull request. To receive a complete + * commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) + * endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-commits": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + }; + }; + /** + * List pull requests files + * @description Lists the files in a specified pull request. + * + * > [!NOTE] + * > Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-files": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["diff-entry"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Check if a pull request has been merged + * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. + */ + "pulls/check-if-merged": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Response if pull request has been merged */ + 204: { + content: never; + }; + /** @description Not Found if pull request has not been merged */ + 404: { + content: never; + }; + }; + }; + /** + * Merge a pull request + * @description Merges a pull request into the base branch. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + "pulls/merge": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Title for the automatic commit message. */ + commit_title?: string; + /** @description Extra detail to append to automatic commit message. */ + commit_message?: string; + /** @description SHA that pull request head must match to allow merge. */ + sha?: string; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method?: "merge" | "squash" | "rebase"; + } | null; + }; + }; + responses: { + /** @description if merge was successful */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-merge-result"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Method Not Allowed if merge cannot be performed */ + 405: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Conflict if sha was provided and pull request head did not match */ + 409: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all requested reviewers for a pull request + * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. + */ + "pulls/list-requested-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-review-request"]; + }; + }; + }; + }; + /** + * Request reviewers for a pull request + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "pulls/request-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description An array of user `login`s that will be requested. */ + reviewers?: string[]; + /** @description An array of team `slug`s that will be requested. */ + team_reviewers?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Unprocessable Entity if user is not a collaborator */ + 422: { + content: never; + }; + }; + }; + /** + * Remove requested reviewers from a pull request + * @description Removes review requests from a pull request for a given set of users and/or teams. + */ + "pulls/remove-requested-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of user `login`s that will be removed. */ + reviewers: string[]; + /** @description An array of team `slug`s that will be removed. */ + team_reviewers?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List reviews for a pull request + * @description Lists all reviews for a specified pull request. The list of reviews returns in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-reviews": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description The list of reviews returns in chronological order. */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-review"][]; + }; + }; + }; + }; + /** + * Create a review for a pull request + * @description Creates a review on a specified pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." + * + * > [!NOTE] + * > To comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/create-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ + commit_id?: string; + /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request) when you are ready. + * @enum {string} + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ + comments?: { + /** @description The relative path to the file that necessitates a review comment. */ + path: string; + /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. 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. */ + position?: number; + /** @description Text of the review comment. */ + body: string; + /** @example 28 */ + line?: number; + /** @example RIGHT */ + side?: string; + /** @example 26 */ + start_line?: number; + /** @example LEFT */ + start_side?: string; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get a review for a pull request + * @description Retrieves a pull request review by its ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/get-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a review for a pull request + * @description Updates the contents of a specified review summary comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/update-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Delete a pending review for a pull request + * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/delete-pending-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List comments for a pull request review + * @description Lists comments for a specific pull request review. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-comments-for-review": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["review-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Dismiss a review for a pull request + * @description Dismisses a specified review on a pull request. + * + * > [!NOTE] + * > To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/dismiss-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The message for the pull request review dismissal */ + message: string; + /** + * @example "DISMISS" + * @enum {string} + */ + event?: "DISMISS"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Submit a review for a pull request + * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/submit-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + * @enum {string} + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Update a pull request branch + * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + * Note: If making a request on behalf of a GitHub App you must also have permissions to write the contents of the head repository. + */ + "pulls/update-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/commits/commits#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ + expected_head_sha?: string; + } | null; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a repository README + * @description Gets the preferred README for a repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + "repos/get-readme": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a repository README for a directory + * @description Gets the README from a repository directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + "repos/get-readme-in-directory": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The alternate path to look for a README file */ + dir: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List releases + * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + "repos/list-releases": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["release"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a release + * @description Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + "repos/create-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** + * @description `true` to create a draft (unpublished) release, `false` to create a published one. + * @default false + */ + draft?: boolean; + /** + * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. + * @default false + */ + prerelease?: boolean; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + /** + * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. + * @default false + */ + generate_release_notes?: boolean; + /** + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest?: "true" | "false" | "legacy"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a release asset + * @description To download the asset's binary content: + * + * - If within a browser, fetch the location specified in the `browser_download_url` key provided in the response. + * - Alternatively, set the `Accept` header of the request to + * [`application/octet-stream`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * The API will either redirect the client to the location, or stream it directly if possible. + * API clients should handle both a `200` or `302` response. + */ + "repos/get-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + 302: components["responses"]["found"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Delete a release asset */ + "repos/delete-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a release asset + * @description Users with push access to the repository can edit a release asset. + */ + "repos/update-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + asset_id: components["parameters"]["asset-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The file name of the asset. */ + name?: string; + /** @description An alternate short description of the asset. Used in place of the filename. */ + label?: string; + /** @example "uploaded" */ + state?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + }; + }; + /** + * Generate release notes content for a release + * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. + */ + "repos/generate-release-notes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag name for the release. This can be an existing tag or a new one. */ + tag_name: string; + /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ + target_commitish?: string; + /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ + previous_tag_name?: string; + /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ + configuration_file_path?: string; + }; + }; + }; + responses: { + /** @description Name and body of generated release notes */ + 200: { + content: { + "application/json": components["schemas"]["release-notes-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get the latest release + * @description View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + "repos/get-latest-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + }; + }; + /** + * Get a release by tag name + * @description Get a published release with the specified tag. + */ + "repos/get-release-by-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description tag parameter */ + tag: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a release + * @description Gets a public release with the specified release ID. + * + * > [!NOTE] + * > This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + */ + "repos/get-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Unauthorized */ + 401: { + content: never; + }; + }; + }; + /** + * Delete a release + * @description Users with push access to the repository can delete a release. + */ + "repos/delete-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a release + * @description Users with push access to the repository can edit a release. + */ + "repos/update-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name?: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** @description `true` makes the release a draft, and `false` publishes the release. */ + draft?: boolean; + /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ + prerelease?: boolean; + /** + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest?: "true" | "false" | "legacy"; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** List release assets */ + "repos/list-release-assets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["release-asset"][]; + }; + }; + }; + }; + /** + * Upload a release asset + * @description This endpoint makes use of a [Hypermedia relation](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + "repos/upload-release-asset": { + parameters: { + query: { + name: string; + label?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + requestBody?: { + content: { + "application/octet-stream": string; + }; + }; + responses: { + /** @description Response for successful upload */ + 201: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + /** @description Response if you upload an asset with the same filename as another uploaded asset */ + 422: { + content: never; + }; + }; + }; + /** + * List reactions for a release + * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + "reactions/list-for-release": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a release. */ + content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create reaction for a release + * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + */ + "reactions/create-for-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the release. + * @enum {string} + */ + content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a release reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + "reactions/delete-for-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get rules for a branch + * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply + * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level + * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" + * enforcement statuses are not returned. + */ + "repos/get-branch-rules": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-rule-detailed"][]; + }; + }; + }; + }; + /** + * Get all repository rulesets + * @description Get all the rulesets for a repository. + */ + "repos/get-repo-rulesets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + targets?: components["parameters"]["ruleset-targets"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Create a repository ruleset + * @description Create a ruleset for a repository. + */ + "repos/create-repo-ruleset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset + * @default branch + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List repository rule suites + * @description Lists suites of rule evaluations at the repository level. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + "repos/get-repo-rule-suites": { + parameters: { + query?: { + ref?: components["parameters"]["ref-in-query"]; + time_period?: components["parameters"]["time-period"]; + actor_name?: components["parameters"]["actor-name-in-query"]; + rule_suite_result?: components["parameters"]["rule-suite-result"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get a repository rule suite + * @description Gets information about a suite of rule evaluations from within a repository. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + "repos/get-repo-rule-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get a repository ruleset + * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + "repos/get-repo-ruleset": { + parameters: { + query?: { + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Update a repository ruleset + * @description Update a ruleset for a repository. + */ + "repos/update-repo-ruleset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Delete a repository ruleset + * @description Delete a ruleset for a repository. + */ + "repos/delete-repo-ruleset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get repository ruleset history + * @description Get the history of a repository ruleset. + */ + "repos/get-repo-ruleset-history": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["ruleset-version"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get repository ruleset version + * @description Get a version of a repository ruleset. + */ + "repos/get-repo-ruleset-version": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + /** @description The ID of the version */ + version_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["ruleset-version-with-state"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List secret scanning alerts for a repository + * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/list-alerts-for-repo": { + parameters: { + query?: { + state?: components["parameters"]["secret-scanning-alert-state"]; + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + sort?: components["parameters"]["secret-scanning-alert-sort"]; + direction?: components["parameters"]["direction"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + validity?: components["parameters"]["secret-scanning-alert-validity"]; + is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; + is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; + hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"][]; + }; + }; + /** @description Repository is public or secret scanning is disabled for the repository */ + 404: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a secret scanning alert + * @description Gets a single secret scanning alert detected in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/get-alert": { + parameters: { + query?: { + hide_secret?: components["parameters"]["secret-scanning-alert-hide-secret"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Update a secret scanning alert + * @description Updates the status of a secret scanning alert in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/update-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ + 400: { + content: never; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + content: never; + }; + /** @description State does not match the resolution or resolution comment */ + 422: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List locations for a secret scanning alert + * @description Lists all locations for a given secret scanning alert for an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/list-locations-for-alert": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["secret-scanning-location"][]; + }; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "secret-scanning/create-push-protection-bypass": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; + }; + }; + /** @description User does not have enough permissions to perform this action. */ + 403: { + content: never; + }; + /** @description Placeholder ID not found, or push protection is disabled on this repository. */ + 404: { + content: never; + }; + /** @description Bad request, input data missing or incorrect. */ + 422: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get secret scanning scan history for a repository + * @description Lists the latest default incremental and backfill scans by type for a repository. Scans from Copilot Secret Scanning are not included. + * + * > [!NOTE] + * > This endpoint requires [GitHub Advanced Security](https://docs.github.com/get-started/learning-about-github/about-github-advanced-security)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/get-scan-history": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-scan-history"]; + }; + }; + /** @description Repository does not have GitHub Advanced Security or secret scanning enabled */ + 404: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List repository security advisories + * @description Lists security advisories in a repository. + * + * The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + "security-advisories/list-repository-advisories": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description Filter by state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a repository security advisory + * @description Creates a new repository security advisory. + * + * In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + "security-advisories/create-repository-advisory": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Privately report a security vulnerability + * @description Report a security vulnerability to the maintainers of the repository. + * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. + */ + "security-advisories/create-private-vulnerability-report": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["private-vulnerability-report-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a repository security advisory + * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * Anyone can access any published security advisory on a public repository. + * + * The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a + * collaborator on the security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + "security-advisories/get-repository-advisory": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ghsa_id: components["parameters"]["ghsa_id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a repository security advisory + * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository, + * or a collaborator on the repository security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + "security-advisories/update-repository-advisory": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ghsa_id: components["parameters"]["ghsa_id"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + }; + }; + /** + * Request a CVE for a repository security advisory + * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." + * + * You may request a CVE for public repositories, but cannot do so for private repositories. + * + * In order to request a CVE for a repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + "security-advisories/create-repository-advisory-cve-request": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ghsa_id: components["parameters"]["ghsa_id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a temporary private fork + * @description Create a temporary private fork to collaborate on fixing a security vulnerability in your repository. + * + * > [!NOTE] + * > Forking a repository happens asynchronously. You may have to wait up to 5 minutes before you can access the fork. + */ + "security-advisories/create-fork": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ghsa_id: components["parameters"]["ghsa_id"]; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List stargazers + * @description Lists the people that have starred the repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + "activity/list-stargazers-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": + | components["schemas"]["simple-user"][] + | components["schemas"]["stargazer"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get the weekly commit activity + * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + * + * > [!NOTE] + * > This endpoint can only be used for repositories with fewer than 10,000 commits. If the repository contains 10,000 or more commits, a 422 status code will be returned. + */ + "repos/get-code-frequency-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + 200: { + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + /** @description Repository contains more than 10,000 commits */ + 422: { + content: never; + }; + }; + }; + /** + * Get the last year of commit activity + * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + "repos/get-commit-activity-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Get all contributor commit activity + * @description + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](https://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + * + * > [!NOTE] + * > This endpoint will return `0` values for all addition and deletion counts in repositories with 10,000 or more commits. + */ + "repos/get-contributors-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["contributor-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Get the weekly commit count + * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + * + * The most recent week is seven days ago at UTC midnight to today at UTC midnight. + */ + "repos/get-participation-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description The array order is oldest week (index 0) to most recent week. */ + 200: { + content: { + "application/json": components["schemas"]["participation-stats"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get the hourly commit count for each day + * @description Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + "repos/get-punch-card-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ + 200: { + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Create a commit status + * @description Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + "repos/create-commit-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + sha: string; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. + * @enum {string} + */ + state: "error" | "failure" | "pending" | "success"; + /** + * @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string | null; + /** @description A short description of the status. */ + description?: string | null; + /** + * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. + * @default default + */ + context?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["status"]; + }; + }; + }; + }; + /** + * List watchers + * @description Lists the people watching the specified repository. + */ + "activity/list-watchers-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Get a repository subscription + * @description Gets information about whether the authenticated user is subscribed to the repository. + */ + "activity/get-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description if you subscribe to the repository */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if you don't subscribe to the repository */ + 404: { + content: never; + }; + }; + }; + /** + * Set a repository subscription + * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. + */ + "activity/set-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Determines if notifications should be received from this repository. */ + subscribed?: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + }; + }; + /** + * Delete a repository subscription + * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). + */ + "activity/delete-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** List repository tags */ + "repos/list-tags": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["tag"][]; + }; + }; + }; + }; + /** + * Closing down - List tag protection states for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#get-all-repository-rulesets)" endpoint instead. + * + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + "repos/list-tag-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["tag-protection"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Closing down - Create a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#create-a-repository-ruleset)" endpoint instead. + * + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + "repos/create-tag-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An optional glob pattern to match against when enforcing tag protection. */ + pattern: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["tag-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Closing down - Delete a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset)" endpoint instead. + * + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + "repos/delete-tag-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + tag_protection_id: components["parameters"]["tag-protection-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Download a repository archive (tar) + * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * > [!NOTE] + * > For private repositories, these links are temporary and expire after five minutes. + */ + "repos/download-tarball-archive": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + }; + content: never; + }; + }; + }; + /** + * List repository teams + * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. + * + * For a public repository, a team is listed only if that team added the public repository explicitly. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to use this endpoint with a public repository, and `repo` scope to use this endpoint with a private repository. + */ + "repos/list-teams": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Get all repository topics */ + "repos/get-all-topics": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Replace all repository topics */ + "repos/replace-all-topics": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` will be saved as lowercase. */ + names: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get repository clones + * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + "repos/get-clones": { + parameters: { + query?: { + per?: components["parameters"]["per"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["clone-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get top referral paths + * @description Get the top 10 popular contents over the last 14 days. + */ + "repos/get-top-paths": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["content-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get top referral sources + * @description Get the top 10 referrers over the last 14 days. + */ + "repos/get-top-referrers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["referrer-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get page views + * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + "repos/get-views": { + parameters: { + query?: { + per?: components["parameters"]["per"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["view-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Transfer a repository + * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). + */ + "repos/transfer": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username or organization name the repository will be transferred to. */ + new_owner: string; + /** @description The new name to be given to the repository. */ + new_name?: string; + /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ + team_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["minimal-repository"]; + }; + }; + }; + }; + /** + * Check if vulnerability alerts are enabled for a repository + * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + "repos/check-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response if repository is enabled with vulnerability alerts */ + 204: { + content: never; + }; + /** @description Not Found if repository is not enabled with vulnerability alerts */ + 404: { + content: never; + }; + }; + }; + /** + * Enable vulnerability alerts + * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + "repos/enable-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Disable vulnerability alerts + * @description Disables dependency alerts and the dependency graph for a repository. + * The authenticated user must have admin access to the repository. For more information, + * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + "repos/disable-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Download a repository archive (zip) + * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * > [!NOTE] + * > For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + */ + "repos/download-zipball-archive": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + }; + content: never; + }; + }; + }; + /** + * Create a repository using a template + * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + "repos/create-using-template": { + parameters: { + path: { + /** @description The account owner of the template repository. The name is not case sensitive. */ + template_owner: string; + /** @description The name of the template repository without the `.git` extension. The name is not case sensitive. */ + template_repo: string; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ + owner?: string; + /** @description The name of the new repository. */ + name: string; + /** @description A short description of the new repository. */ + description?: string; + /** + * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. + * @default false + */ + include_all_branches?: boolean; + /** + * @description Either `true` to create a new private repository or `false` to create a new public one. + * @default false + */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + }; + }; + /** + * List public repositories + * @description Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. + */ + "repos/list-public": { + parameters: { + query?: { + since?: components["parameters"]["since-repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Search code + * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * Considerations for code search: + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + * + * This endpoint requires you to authenticate and limits you to 10 requests per minute. + */ + "search/code": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ + q: string; + /** + * @deprecated + * @description **This field is closing down.** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) + */ + sort?: "indexed"; + /** + * @deprecated + * @description **This field is closing down.** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["code-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Search commits + * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + "search/commits": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "author-date" | "committer-date"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["commit-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Search issues and pull requests + * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * > [!NOTE] + * > For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + "search/issues-and-pull-requests": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + advanced_search?: components["parameters"]["issues-advanced-search"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["issue-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Search labels + * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + "search/labels": { + parameters: { + query: { + /** @description The id of the repository. */ + repository_id: number; + /** @description The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ + q: string; + /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "created" | "updated"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["label-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Search repositories + * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + */ + "search/repos": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["repo-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Search topics + * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + "search/topics": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ + q: string; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["topic-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Search users + * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + * + * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." + */ + "search/users": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "followers" | "repositories" | "joined"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["user-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. + */ + "teams/get-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + "teams/delete-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Update a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + "teams/update-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: + | "notifications_enabled" + | "notifications_disabled"; + /** + * @description **Closing down notice**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + responses: { + /** @description Response when the updated information already exists */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List discussions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. + * + * List all discussions on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/list-discussions-legacy": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + /** + * Create a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/create-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * Get a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/get-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * Delete a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/delete-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/update-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * List discussion comments (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/list-discussion-comments-legacy": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + /** + * Create a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/create-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * Get a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/get-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * Delete a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/delete-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/update-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * List reactions for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "reactions/list-for-team-discussion-comment-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create reaction for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/create-for-team-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + /** + * List reactions for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "reactions/list-for-team-discussion-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create reaction for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/create-for-team-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + /** + * List pending team invitations (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + "teams/list-pending-invitations-legacy": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + /** + * List team members (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + "teams/list-members-legacy": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get team member (Legacy) + * @deprecated + * @description The "Get team member" endpoint (described below) is closing down. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/get-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description if user is a member */ + 204: { + content: never; + }; + /** @description if user is not a member */ + 404: { + content: never; + }; + }; + }; + /** + * Add team member (Legacy) + * @deprecated + * @description The "Add team member" endpoint (described below) is closing down. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "teams/add-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if team synchronization is set up */ + 404: { + content: never; + }; + /** @description Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ + 422: { + content: never; + }; + }; + }; + /** + * Remove team member (Legacy) + * @deprecated + * @description The "Remove team member" endpoint (described below) is closing down. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Not Found if team synchronization is setup */ + 404: { + content: never; + }; + }; + }; + /** + * Get team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + "teams/get-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Add or update team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + "teams/add-or-update-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + content: never; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + content: never; + }; + }; + }; + /** + * Remove team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description if team synchronization is set up */ + 403: { + content: never; + }; + }; + }; + /** + * List team projects (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/list-projects-legacy": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check team permissions for a project (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/check-permissions-for-project-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + content: never; + }; + }; + }; + /** + * Add or update team project permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/add-or-update-project-permissions-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove a project from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/remove-project-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List team repositories (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. + */ + "teams/list-repos-legacy": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check team permissions for a repository (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. + * + * > [!NOTE] + * > Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `Accept` header: + */ + "teams/check-permissions-for-repo-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Alternative response with extra repository information */ + 200: { + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description Response if repository is managed by this team */ + 204: { + content: never; + }; + /** @description Not Found if repository is not managed by this team */ + 404: { + content: never; + }; + }; + }; + /** + * Add or update team repository permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "teams/add-or-update-repo-permissions-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove a repository from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + "teams/remove-repo-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List child teams (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. + */ + "teams/list-child-legacy": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private profile information. + */ + "users/get-authenticated": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Update the authenticated user + * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + "users/update-authenticated": { + requestBody?: { + content: { + "application/json": { + /** + * @description The new name of the user. + * @example Omar Jahandar + */ + name?: string; + /** + * @description The publicly visible email address of the user. + * @example omar@example.com + */ + email?: string; + /** + * @description The new blog URL of the user. + * @example blog.example.com + */ + blog?: string; + /** + * @description The new Twitter username of the user. + * @example therealomarj + */ + twitter_username?: string | null; + /** + * @description The new company of the user. + * @example Acme corporation + */ + company?: string; + /** + * @description The new location of the user. + * @example Berlin, Germany + */ + location?: string; + /** @description The new hiring availability of the user. */ + hireable?: boolean; + /** @description The new short biography of the user. */ + bio?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["private-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List users blocked by the authenticated user + * @description List the users you've blocked on your personal account. + */ + "users/list-blocked-by-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check if a user is blocked by the authenticated user + * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. + */ + "users/check-blocked": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description If the user is blocked */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description If the user is not blocked */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Block a user + * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. + */ + "users/block": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Unblock a user + * @description Unblocks the given user and returns a 204. + */ + "users/unblock": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List codespaces for the authenticated user + * @description Lists the authenticated user's codespaces. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/list-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + repository_id?: components["parameters"]["repository-id-in-query"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Create a codespace for the authenticated user + * @description Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/create-for-authenticated-user": { + requestBody: { + content: { + "application/json": OneOf< + [ + { + /** @description Repository id for this codespace */ + repository_id: number; + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + }, + { + /** @description Pull request number for this codespace */ + pull_request: { + /** @description Pull request number */ + pull_request_number: number; + /** @description Repository id for this codespace */ + repository_id: number; + }; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + }, + ] + >; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List secrets for the authenticated user + * @description Lists all development environment secrets available for a user's codespaces without revealing their + * encrypted values. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/list-secrets-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-secret"][]; + }; + }; + }; + }; + }; + /** + * Get public key for the authenticated user + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/get-public-key-for-authenticated-user": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-user-public-key"]; + }; + }; + }; + }; + /** + * Get a secret for the authenticated user + * @description Gets a development environment secret available to a user's codespaces without revealing its encrypted value. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/get-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-secret"]; + }; + }; + }; + }; + /** + * Create or update a secret for the authenticated user + * @description Creates or updates a development environment secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/create-or-update-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids?: (number | string)[]; + }; + }; + }; + responses: { + /** @description Response after successfully creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response after successfully updating a secret */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a secret for the authenticated user + * @description Deletes a development environment secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/delete-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List selected repositories for a user secret + * @description List the repositories that have been granted the ability to use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/list-repositories-for-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Set selected repositories for a user secret + * @description Select the repositories that will use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/set-repositories-for-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description No Content when repositories were added to the selected list */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Add a selected repository to a user secret + * @description Adds a repository to the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/add-repository-for-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Remove a selected repository from a user secret + * @description Removes a repository from the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/remove-repository-for-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was removed from the selected list */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get a codespace for the authenticated user + * @description Gets information about a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/get-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Delete a codespace for the authenticated user + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/delete-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Update a codespace for the authenticated user + * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/update-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description A valid machine to transition this codespace to. */ + machine?: string; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ + recent_folders?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Export a codespace for the authenticated user + * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/export-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get details about a codespace export + * @description Gets information about an export of a codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/get-export-details-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + export_id: components["parameters"]["export-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List machine types for a codespace + * @description List the machine types a codespace can transition to use. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/codespace-machines-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Create a repository from an unpublished codespace + * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. + * + * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. + * + * This will fail for a codespace that is already published, meaning it has an associated repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/publish-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the new repository. */ + name?: string; + /** + * @description Whether the new repository should be private. + * @default false + */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["codespace-with-full-repository"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Start a codespace for the authenticated user + * @description Starts a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/start-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + /** @description Payment required */ + 402: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Stop a codespace for the authenticated user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/stop-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get list of conflicting packages during Docker migration for authenticated-user + * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + "packages/list-docker-migration-conflicting-packages-for-authenticated-user": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + }; + }; + /** + * Set primary email visibility for the authenticated user + * @description Sets the visibility for your primary email addresses. + */ + "users/set-primary-email-visibility-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description Denotes whether an email is publicly visible. + * @enum {string} + */ + visibility: "public" | "private"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List email addresses for the authenticated user + * @description Lists all of your email addresses, and specifies which one is visible + * to the public. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + "users/list-emails-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Add an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "users/add-email-for-authenticated-user": { + requestBody?: { + content: { + "application/json": { + /** + * @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + * @example [] + */ + emails: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "users/delete-email-for-authenticated-user": { + requestBody?: { + content: { + "application/json": { + /** @description Email addresses associated with the GitHub user account. */ + emails: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List followers of the authenticated user + * @description Lists the people following the authenticated user. + */ + "users/list-followers-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List the people the authenticated user follows + * @description Lists the people who the authenticated user follows. + */ + "users/list-followed-by-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Check if a person is followed by the authenticated user */ + "users/check-person-is-followed-by-authenticated": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description if the person is followed by the authenticated user */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description if the person is not followed by the authenticated user */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Follow a user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + "users/follow": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Unfollow a user + * @description OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + "users/unfollow": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List GPG keys for the authenticated user + * @description Lists the current user's GPG keys. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + "users/list-gpg-keys-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a GPG key for the authenticated user + * @description Adds a GPG key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + "users/create-gpg-key-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** @description A descriptive name for the new key. */ + name?: string; + /** @description A GPG key in ASCII-armored format. */ + armored_public_key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a GPG key for the authenticated user + * @description View extended details for a single GPG key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + "users/get-gpg-key-for-authenticated-user": { + parameters: { + path: { + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a GPG key for the authenticated user + * @description Removes a GPG key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + */ + "users/delete-gpg-key-for-authenticated-user": { + parameters: { + path: { + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List app installations accessible to the user access token + * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + "apps/list-installations-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description You can find the permissions for the installation under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List repositories accessible to the user access token + * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + "apps/list-installation-repos-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + repository_selection?: string; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Add a repository to an app installation + * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + "apps/add-repo-to-installation-for-authenticated-user": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a repository from an app installation + * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + "apps/remove-repo-from-installation-for-authenticated-user": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Returned when the application is installed on `all` repositories in the organization, or if this request would remove the last repository that the application has access to in the organization. */ + 422: { + content: never; + }; + }; + }; + /** + * Get interaction restrictions for your public repositories + * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + */ + "interactions/get-restrictions-for-authenticated-user": { + responses: { + /** @description Default response */ + 200: { + content: { + "application/json": + | components["schemas"]["interaction-limit-response"] + | Record; + }; + }; + /** @description Response when there are no restrictions */ + 204: { + content: never; + }; + }; + }; + /** + * Set interaction restrictions for your public repositories + * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + */ + "interactions/set-restrictions-for-authenticated-user": { + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove interaction restrictions from your public repositories + * @description Removes any interaction restrictions from your public repositories. + */ + "interactions/remove-restrictions-for-authenticated-user": { + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List user account issues assigned to the authenticated user + * @description List issues across owned and member repositories assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-for-authenticated-user": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List public SSH keys for the authenticated user + * @description Lists the public SSH keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + "users/list-public-ssh-keys-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a public SSH key for the authenticated user + * @description Adds a public SSH key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:public_key` scope to use this endpoint. + */ + "users/create-public-ssh-key-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a public SSH key for the authenticated user + * @description View extended details for a single public SSH key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + "users/get-public-ssh-key-for-authenticated-user": { + parameters: { + path: { + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a public SSH key for the authenticated user + * @description Removes a public SSH key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + */ + "users/delete-public-ssh-key-for-authenticated-user": { + parameters: { + path: { + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List subscriptions for the authenticated user + * @description Lists the active subscriptions for the authenticated user. + */ + "apps/list-subscriptions-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List subscriptions for the authenticated user (stubbed) + * @description Lists the active subscriptions for the authenticated user. + */ + "apps/list-subscriptions-for-authenticated-user-stubbed": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * List organization memberships for the authenticated user + * @description Lists all of the authenticated user's organization memberships. + */ + "orgs/list-memberships-for-authenticated-user": { + parameters: { + query?: { + /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ + state?: "active" | "pending"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["org-membership"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an organization membership for the authenticated user + * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. + */ + "orgs/get-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update an organization membership for the authenticated user + * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. + */ + "orgs/update-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state that the membership should be in. Only `"active"` will be accepted. + * @enum {string} + */ + state: "active"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List user migrations + * @description Lists all migrations a user has started. + */ + "migrations/list-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Start a user migration + * @description Initiates the generation of a user migration archive. + */ + "migrations/start-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description Lock the repositories being migrated at the start of the migration + * @example true + */ + lock_repositories?: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @example true + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @example true + */ + exclude_git_data?: boolean; + /** + * @description Do not include attachments in the migration + * @example true + */ + exclude_attachments?: boolean; + /** + * @description Do not include releases in the migration + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only?: boolean; + /** + * @description Exclude attributes from the API response to improve performance + * @example [ + * "repositories" + * ] + */ + exclude?: "repositories"[]; + repositories: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a user migration status + * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). + */ + "migrations/get-status-for-authenticated-user": { + parameters: { + query?: { + exclude?: string[]; + }; + path: { + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Download a user migration archive + * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + "migrations/get-archive-for-authenticated-user": { + parameters: { + path: { + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 302: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Delete a user migration archive + * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ + "migrations/delete-archive-for-authenticated-user": { + parameters: { + path: { + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Unlock a user repository + * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + "migrations/unlock-repo-for-authenticated-user": { + parameters: { + path: { + migration_id: components["parameters"]["migration-id"]; + repo_name: components["parameters"]["repo-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List repositories for a user migration + * @description Lists all the repositories for this user migration. + */ + "migrations/list-repos-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organizations for the authenticated user + * @description List organizations for the authenticated user. + * + * For OAuth app tokens and personal access tokens (classic), this endpoint 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 for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will receive a `403 Forbidden` response. + * + * > [!NOTE] + * > Requests using a fine-grained access token will receive a `200 Success` response with an empty list. + */ + "orgs/list-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List packages for the authenticated user's namespace + * @description Lists packages owned by the authenticated user within the user's namespace. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/list-packages-for-authenticated-user": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + visibility?: components["parameters"]["package-visibility"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + }; + }; + /** + * Get a package for the authenticated user + * @description Gets a specific package for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-for-authenticated-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Delete a package for the authenticated user + * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-for-authenticated-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore a package for the authenticated user + * @description Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-for-authenticated-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List package versions for a package owned by the authenticated user + * @description Lists package versions for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a package version for the authenticated user + * @description Gets a specific package version for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-version-for-authenticated-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Delete a package version for the authenticated user + * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-version-for-authenticated-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore a package version for the authenticated user + * @description Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-version-for-authenticated-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a user project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/create-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project + * @example Week One Sprint + */ + name: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List public email addresses for the authenticated user + * @description Lists your publicly visible email address, which you can set with the + * [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) + * endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + "users/list-public-emails-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List repositories for the authenticated user + * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + "repos/list-for-authenticated-user": { + parameters: { + query?: { + /** @description Limit results to repositories with the specified visibility. */ + visibility?: "all" | "public" | "private"; + /** + * @description Comma-separated list of values. Can include: + * * `owner`: Repositories that are owned by the authenticated user. + * * `collaborator`: Repositories that the user has been added to as a collaborator. + * * `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. + */ + affiliation?: string; + /** @description Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + since?: components["parameters"]["since-repo-date"]; + before?: components["parameters"]["before-repo-date"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a repository for the authenticated user + * @description Creates a new repository for the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + "repos/create-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues?: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects?: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki?: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Whether the repository is initialized with a minimal README. + * @default false + */ + auto_init?: boolean; + /** + * @description The desired language or platform to apply to the .gitignore. + * @example Haskell + */ + gitignore_template?: string; + /** + * @description The license keyword of the open source license for this repository. + * @example mit + */ + license_template?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads?: boolean; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List repository invitations for the authenticated user + * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + "repos/list-invitations-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Decline a repository invitation */ + "repos/decline-invitation-for-authenticated-user": { + parameters: { + path: { + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** Accept a repository invitation */ + "repos/accept-invitation-for-authenticated-user": { + parameters: { + path: { + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * List social accounts for the authenticated user + * @description Lists all of your social accounts. + */ + "users/list-social-accounts-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Add social accounts for the authenticated user + * @description Add one or more social accounts to the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "users/add-social-account-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description Full URLs for the social media profiles to add. + * @example [] + */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete social accounts for the authenticated user + * @description Deletes one or more social accounts from the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "users/delete-social-account-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description Full URLs for the social media profiles to delete. + * @example [] + */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List SSH signing keys for the authenticated user + * @description Lists the SSH signing keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + "users/list-ssh-signing-keys-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a SSH signing key for the authenticated user + * @description Creates an SSH signing key for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. + */ + "users/create-ssh-signing-key-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an SSH signing key for the authenticated user + * @description Gets extended details for an SSH signing key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + "users/get-ssh-signing-key-for-authenticated-user": { + parameters: { + path: { + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an SSH signing key for the authenticated user + * @description Deletes an SSH signing key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. + */ + "users/delete-ssh-signing-key-for-authenticated-user": { + parameters: { + path: { + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List repositories starred by the authenticated user + * @description Lists repositories the authenticated user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + "activity/list-repos-starred-by-authenticated-user": { + parameters: { + query?: { + sort?: components["parameters"]["sort-starred"]; + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["repository"][]; + "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Check if a repository is starred by the authenticated user + * @description Whether the authenticated user has starred the repository. + */ + "activity/check-repo-is-starred-by-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response if this repository is starred by you */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if this repository is not starred by you */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Star a repository for the authenticated user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "activity/star-repo-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Unstar a repository for the authenticated user + * @description Unstar a repository that the authenticated user has previously starred. + */ + "activity/unstar-repo-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List repositories watched by the authenticated user + * @description Lists repositories the authenticated user is watching. + */ + "activity/list-watched-repos-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List teams for the authenticated user + * @description List all of the teams across all of the organizations to which the authenticated + * user belongs. + * + * OAuth app tokens and personal access tokens (classic) need the `user`, `repo`, or `read:org` scope to use this endpoint. + * + * When using a fine-grained personal access token, the resource owner of the token must be a single organization, and the response will only include the teams from that organization. + */ + "teams/list-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-full"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a user using their ID + * @description Provides publicly available information about someone with a GitHub account. This method takes their durable user `ID` instead of their `login`, which can change over time. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails). + */ + "users/get-by-id": { + parameters: { + path: { + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List users + * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. + */ + "users/list": { + parameters: { + query?: { + since?: components["parameters"]["since-user"]; + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get a user + * @description Provides publicly available information about someone with a GitHub account. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails). + */ + "users/get-by-username": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List attestations by bulk subject digests + * @description List a collection of artifact attestations associated with any entry in a list of subject digests owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + "users/list-attestations-bulk": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description List of subject digests to fetch attestations for. */ + subject_digests: string[]; + /** + * @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, `release`, or freeform text + * for custom predicate types. + */ + predicate_type?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + /** @description Mapping of subject digest to bundles. */ + attestations_subject_digests?: { + [key: string]: + | { + /** @description The bundle of the attestation. */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[] + | null; + }; + /** @description Information about the current page. */ + page_info?: { + /** @description Indicates whether there is a next page. */ + has_next?: boolean; + /** @description Indicates whether there is a previous page. */ + has_previous?: boolean; + /** @description The cursor to the next page. */ + next?: string; + /** @description The cursor to the previous page. */ + previous?: string; + }; + }; + }; + }; + }; + }; + /** + * Delete attestations in bulk + * @description Delete artifact attestations in bulk by either subject digests or unique ID. + */ + "users/delete-attestations-bulk": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + requestBody: { + content: { + "application/json": OneOf< + [ + { + /** @description List of subject digests associated with the artifact attestations to delete. */ + subject_digests: string[]; + }, + { + /** @description List of unique IDs associated with the artifact attestations to delete. */ + attestation_ids: number[]; + }, + ] + >; + }; + }; + responses: { + /** @description Response */ + 200: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete attestations by subject digest + * @description Delete an artifact attestation by subject digest. + */ + "users/delete-attestations-by-subject-digest": { + parameters: { + path: { + username: components["parameters"]["username"]; + /** @description Subject Digest */ + subject_digest: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: never; + }; + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete attestations by ID + * @description Delete an artifact attestation by unique ID that is associated with a repository owned by a user. + */ + "users/delete-attestations-by-id": { + parameters: { + path: { + username: components["parameters"]["username"]; + /** @description Attestation ID */ + attestation_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: never; + }; + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + "users/list-attestations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, `release`, or freeform text + * for custom predicate types. + */ + predicate_type?: string; + }; + path: { + username: components["parameters"]["username"]; + /** @description Subject Digest */ + subject_digest: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + attestations?: { + /** + * @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. + */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + initiator?: string; + }[]; + }; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get list of conflicting packages during Docker migration for user + * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + "packages/list-docker-migration-conflicting-packages-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List events for the authenticated user + * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. _Optional_: use the fine-grained token with following permission set to view private events: "Events" user permissions (read). + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-events-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List organization events for the authenticated user + * @description This is the user's organization dashboard. You must be authenticated as the user to view this. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-org-events-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List public events for a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-public-events-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List followers of a user + * @description Lists the people following the specified user. + */ + "users/list-followers-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * List the people a user follows + * @description Lists the people who the specified user follows. + */ + "users/list-following-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** Check if a user follows another user */ + "users/check-following-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + target_user: string; + }; + }; + responses: { + /** @description if the user follows the target user */ + 204: { + content: never; + }; + /** @description if the user does not follow the target user */ + 404: { + content: never; + }; + }; + }; + /** + * List gists for a user + * @description Lists public gists for the specified user: + */ + "gists/list-for-user": { + parameters: { + query?: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List GPG keys for a user + * @description Lists the GPG keys for a user. This information is accessible by anyone. + */ + "users/list-gpg-keys-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + }; + }; + /** + * Get contextual information for a user + * @description Provides hovercard information. 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, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "users/get-context-for-user": { + parameters: { + query?: { + /** @description Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ + subject_id?: string; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hovercard"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a user installation for the authenticated app + * @description Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-user-installation": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + /** + * List public keys for a user + * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + "users/list-public-keys-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["key-simple"][]; + }; + }; + }; + }; + /** + * List organizations for a user + * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + "orgs/list-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + /** + * List packages for a user + * @description Lists all packages in a user's namespace for which the requesting user has access. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/list-packages-for-user": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + visibility?: components["parameters"]["package-visibility"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get a package for a user + * @description Gets a specific package metadata for a public package owned by a user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-for-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Delete a package for a user + * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-for-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore a package for a user + * @description Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-for-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List package versions for a package owned by a user + * @description Lists package versions for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-all-package-versions-for-package-owned-by-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a package version for a user + * @description Gets a specific package version for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-version-for-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + package_version_id: components["parameters"]["package-version-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Delete package version for a user + * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-version-for-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore package version for a user + * @description Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-version-for-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List user projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects-classic/list-for-user": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List projects for user + * @description List all projects owned by a specific user accessible by the authenticated user. + */ + "projects/list-for-user": { + parameters: { + query?: { + /** @description Limit results to projects of the specified type. */ + q?: string; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get project for user + * @description Get a specific user-owned project. + */ + "projects/get-for-user": { + parameters: { + path: { + project_number: components["parameters"]["project-number"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List project fields for user + * @description List all fields for a specific user-owned project. + */ + "projects/list-fields-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + }; + path: { + project_number: components["parameters"]["project-number"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2-field"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get project field for user + * @description Get a specific field for a user-owned project. + */ + "projects/get-field-for-user": { + parameters: { + path: { + project_number: components["parameters"]["project-number"]; + field_id: components["parameters"]["field-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2-field"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List items for a user owned project + * @description List all items for a specific user-owned project accessible by the authenticated user. + */ + "projects/list-items-for-user": { + parameters: { + query?: { + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + per_page?: components["parameters"]["per-page"]; + /** @description Search query to filter items, see [Filtering projects](https://docs.github.com/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects) for more information. */ + q?: string; + /** + * @description Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + * + * Example: `fields[]=123&fields[]=456&fields[]=789` or `fields=123,456,789` + */ + fields?: string | string[]; + }; + path: { + project_number: components["parameters"]["project-number"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2-item-with-content"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Add item to user owned project + * @description Add an issue or pull request item to the specified user owned project. + */ + "projects/add-item-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + project_number: components["parameters"]["project-number"]; + }; + }; + /** @description Details of the item to add to the project. */ + requestBody: { + content: { + "application/json": { + /** + * @description The type of item to add to the project. Must be either Issue or PullRequest. + * @enum {string} + */ + type: "Issue" | "PullRequest"; + /** @description The numeric ID of the issue or pull request to add to the project. */ + id: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["projects-v2-item-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get an item for a user owned project + * @description Get a specific item from a user-owned project. + */ + "projects/get-user-item": { + parameters: { + query?: { + /** + * @description Limit results to specific fields, by their IDs. If not specified, the title field will be returned. + * + * Example: fields[]=123&fields[]=456&fields[]=789 or fields=123,456,789 + */ + fields?: string | string[]; + }; + path: { + project_number: components["parameters"]["project-number"]; + username: components["parameters"]["username"]; + item_id: components["parameters"]["item-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["projects-v2-item-with-content"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Delete project item for user + * @description Delete a specific item from a user-owned project. + */ + "projects/delete-item-for-user": { + parameters: { + path: { + project_number: components["parameters"]["project-number"]; + username: components["parameters"]["username"]; + item_id: components["parameters"]["item-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Update project item for user + * @description Update a specific item in a user-owned project. + */ + "projects/update-item-for-user": { + parameters: { + path: { + project_number: components["parameters"]["project-number"]; + username: components["parameters"]["username"]; + item_id: components["parameters"]["item-id"]; + }; + }; + /** @description Field updates to apply to the project item. Only text, number, date, single select, and iteration fields are supported. */ + requestBody: { + content: { + "application/json": { + /** @description A list of field updates to apply. */ + fields: { + /** @description The ID of the project field to update. */ + id: number; + /** + * @description The new value for the field: + * - For text, number, and date fields, provide the new value directly. + * - For single select and iteration fields, provide the ID of the option or iteration. + * - To clear the field, set this to null. + */ + value: string | number | null; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["projects-v2-item-with-content"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List events received by the authenticated user + * @description These are events that you've received by watching repositories and following users. If you are authenticated as the + * given user, you will see private events. Otherwise, you'll only see public events. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-received-events-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List public events received by a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-received-public-events-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List repositories for a user + * @description Lists public repositories for the specified user. + */ + "repos/list-for-user": { + parameters: { + query?: { + /** @description Limit results to repositories of the specified type. */ + type?: "all" | "owner" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Get GitHub Actions billing for a user + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "billing/get-github-actions-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Get GitHub Packages billing for a user + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "billing/get-github-packages-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Get billing premium request usage report for a user + * @description Gets a report of premium request usage for a user. + * + * **Note:** Only data from the past 24 months is accessible via this endpoint. + */ + "billing/get-github-billing-premium-request-usage-report-user": { + parameters: { + query?: { + year?: components["parameters"]["billing-usage-report-year"]; + month?: components["parameters"]["billing-usage-report-month-default"]; + day?: components["parameters"]["billing-usage-report-day"]; + model?: components["parameters"]["billing-usage-report-model"]; + product?: components["parameters"]["billing-usage-report-product"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + 200: components["responses"]["billing_premium_request_usage_report_user"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get shared storage billing for a user + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "billing/get-shared-storage-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** + * Get billing usage report for a user + * @description Gets a report of the total usage for a user. + * + * **Note:** This endpoint is only available to users with access to the enhanced billing platform. + */ + "billing/get-github-billing-usage-report-user": { + parameters: { + query?: { + year?: components["parameters"]["billing-usage-report-year"]; + month?: components["parameters"]["billing-usage-report-month"]; + day?: components["parameters"]["billing-usage-report-day"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + 200: components["responses"]["billing_usage_report_user"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List social accounts for a user + * @description Lists social media accounts for a user. This endpoint is accessible by anyone. + */ + "users/list-social-accounts-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + }; + }; + /** + * List SSH signing keys for a user + * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. + */ + "users/list-ssh-signing-keys-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + }; + }; + /** + * List repositories starred by a user + * @description Lists repositories a user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + "activity/list-repos-starred-by-user": { + parameters: { + query?: { + sort?: components["parameters"]["sort-starred"]; + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": + | components["schemas"]["starred-repository"][] + | components["schemas"]["repository"][]; + }; + }; + }; + }; + /** + * List repositories watched by a user + * @description Lists repositories a user is watching. + */ + "activity/list-repos-watched-by-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Get all API versions + * @description Get all supported GitHub API versions. + */ + "meta/get-all-versions": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get the Zen of GitHub + * @description Get a random sentence from the Zen of GitHub + */ + "meta/get-zen": { + responses: { + /** @description Response */ + 200: { + content: { + "text/plain": string; + }; + }; + }; + }; + /** + * Compare two commits + * @description **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + base: string; + head: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List organization fine-grained permissions for an organization + * @description Lists the fine-grained permissions that can be used in custom organization roles for an organization. For more information, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * To list the fine-grained permissions that can be used in custom repository roles for an organization, see "[List repository fine-grained permissions for an organization](https://docs.github.com/rest/orgs/organization-roles#list-repository-fine-grained-permissions-for-an-organization)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/list-organization-fine-grained-permissions": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + name: string; + description: string; + }[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/core/node_modules/@octokit/request-error/LICENSE new file mode 100644 index 0000000..ef2c18e --- /dev/null +++ b/node_modules/@octokit/core/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/core/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/core/node_modules/@octokit/request-error/README.md new file mode 100644 index 0000000..df15c6d --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request-error/README.md @@ -0,0 +1,93 @@ +# request-error.js + +> Error class for Octokit request errors + +[![@latest](https://img.shields.io/npm/v/@octokit/request-error.svg)](https://www.npmjs.com/package/@octokit/request-error) +[![Build Status](https://github.com/octokit/request-error.js/workflows/Test/badge.svg)](https://github.com/octokit/request-error.js/actions?query=workflow%3ATest) + +## Usage + + + + + + +
+Browsers + +Load @octokit/request-error directly from esm.sh + +```html + +``` + +
+Node + + +Install with npm install @octokit/request-error + +```js +import { RequestError } from "@octokit/request-error"; +``` + +
+ +> [!IMPORTANT] +> As we use [conditional exports](https://nodejs.org/api/packages.html#conditional-exports), you will need to adapt your `tsconfig.json` by setting `"moduleResolution": "node16", "module": "node16"`. +> +> See the TypeScript docs on [package.json "exports"](https://www.typescriptlang.org/docs/handbook/modules/reference.html#packagejson-exports).
+> See this [helpful guide on transitioning to ESM](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) from [@sindresorhus](https://github.com/sindresorhus) + +```js +const error = new RequestError("Oops", 500, { + request: { + method: "POST", + url: "https://api.github.com/foo", + body: { + bar: "baz", + }, + headers: { + authorization: "token secret123", + }, + }, + response: { + status: 500, + url: "https://api.github.com/foo", + headers: { + "x-github-request-id": "1:2:3:4", + }, + data: { + foo: "bar", + }, + }, +}); + +error.message; // Oops +error.status; // 500 +error.request; // { method, url, headers, body } +error.response; // { url, status, headers, data } +``` + +### Usage with Octokit + +```js +try { + // your code here that sends at least one Octokit request + await octokit.request("GET /"); +} catch (error) { + // Octokit errors always have a `error.status` property which is the http response code + if (error.status) { + // handle Octokit error + } else { + // handle all other errors + throw error; + } +} +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-src/index.js new file mode 100644 index 0000000..94cd5bd --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-src/index.js @@ -0,0 +1,41 @@ +class RequestError extends Error { + name; + /** + * http status code + */ + status; + /** + * Request options that lead to the error. + */ + request; + /** + * Response object if a response was received + */ + response; + constructor(message, statusCode, options) { + super(message, { cause: options.cause }); + this.name = "HttpError"; + this.status = Number.parseInt(statusCode); + if (Number.isNaN(this.status)) { + this.status = 0; + } + /* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist */ + if ("response" in options) { + this.response = options.response; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(? | undefined; + constructor(message: string, statusCode: number, options: RequestErrorOptions); +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/types.d.ts new file mode 100644 index 0000000..91b9afa --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -0,0 +1,5 @@ +import type { RequestOptions, OctokitResponse } from "@octokit/types"; +export interface RequestErrorOptions extends ErrorOptions { + response?: OctokitResponse | undefined; + request: RequestOptions; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/core/node_modules/@octokit/request-error/package.json new file mode 100644 index 0000000..9b269d2 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request-error/package.json @@ -0,0 +1,50 @@ +{ + "name": "@octokit/request-error", + "version": "7.1.0", + "publishConfig": { + "access": "public", + "provenance": true + }, + "type": "module", + "description": "Error class for Octokit request errors", + "repository": "github:octokit/request-error.js", + "keywords": [ + "octokit", + "github", + "api", + "error" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0" + }, + "devDependencies": { + "@octokit/tsconfig": "^4.0.0", + "@types/node": "^24.0.0", + "@vitest/coverage-v8": "^4.0.0", + "esbuild": "^0.27.0", + "glob": "^11.0.0", + "prettier": "3.6.2", + "tinybench": "^5.0.0", + "typescript": "^5.0.0", + "vitest": "^4.0.0" + }, + "engines": { + "node": ">= 20" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "types": "./dist-types/index.d.ts", + "exports": { + ".": { + "types": "./dist-types/index.d.ts", + "import": "./dist-src/index.js", + "default": "./dist-src/index.js" + } + }, + "sideEffects": false, + "unpkg": "dist-src/index.js" +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/LICENSE b/node_modules/@octokit/core/node_modules/@octokit/request/LICENSE new file mode 100644 index 0000000..af5366d --- /dev/null +++ b/node_modules/@octokit/core/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/core/node_modules/@octokit/request/README.md b/node_modules/@octokit/core/node_modules/@octokit/request/README.md new file mode 100644 index 0000000..75f4320 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/README.md @@ -0,0 +1,577 @@ +# request.js + +> Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node + +[![@latest](https://img.shields.io/npm/v/@octokit/request.svg)](https://www.npmjs.com/package/@octokit/request) +[![Build Status](https://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amain) + +`@octokit/request` is a request library for browsers & node that makes it easier +to interact with [GitHub’s REST API](https://developer.github.com/v3/) and +[GitHub’s GraphQL API](https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint). + +It uses [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) to parse +the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). You can pass a custom `fetch` function using the `options.request.fetch` option, see below. + + + + + +- [request.js](#requestjs) + - [Features](#features) + - [Usage](#usage) + - [REST API example](#rest-api-example) + - [GraphQL example](#graphql-example) + - [Alternative: pass `method` \& `url` as part of options](#alternative-pass-method--url-as-part-of-options) + - [Authentication](#authentication) + - [request()](#request) + - [`request.defaults()`](#requestdefaults) + - [`request.endpoint`](#requestendpoint) + - [Special cases](#special-cases) + - [The `data` parameter – set request body directly](#the-data-parameter--set-request-body-directly) + - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) + - [Set a custom Agent to your requests](#set-a-custom-agent-to-your-requests) + - [LICENSE](#license) + + + +## Features + +🤩 1:1 mapping of REST API endpoint documentation, e.g. [Add labels to an issue](https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue) becomes + +```js +request("POST /repos/{owner}/{repo}/issues/{number}/labels", { + mediaType: { + previews: ["symmetra"], + }, + owner: "octokit", + repo: "request.js", + number: 1, + labels: ["🐛 bug"], +}); +``` + +👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit/request@5.0.3) (\<4kb minified + gzipped) + +😎 [Authenticate](#authentication) with any of [GitHubs Authentication Strategies](https://github.com/octokit/auth.js). + +👍 Sensible defaults + +- `baseUrl`: `https://api.github.com` +- `headers.accept`: `application/vnd.github.v3+json` +- `headers['user-agent']`: `octokit-request.js/ `, e.g. `octokit-request.js/1.2.3 Node.js/10.15.0 (macOS Mojave; x64)` + +👌 Simple to test: mock requests by passing a custom fetch method. + +🧐 Simple to debug: Sets `error.request` to request options causing the error (with redacted credentials). + +## Usage + + + + + + +
+Browsers + +Load @octokit/request directly from esm.sh + +```html + +``` + +
+Node + + +Install with npm install @octokit/request + +```js +import { request } from "@octokit/request"; +``` + +
+ +### REST API example + +```js +// Following GitHub docs formatting: +// https://developer.github.com/v3/repos/#list-organization-repositories +const result = await request("GET /orgs/{org}/repos", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); + +console.log(`${result.data.length} repos found.`); +``` + +### GraphQL example + +For GraphQL request we recommend using [`@octokit/graphql`](https://github.com/octokit/graphql.js#readme) + +```js +const result = await request("POST /graphql", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + query: `query ($login: String!) { + organization(login: $login) { + repositories(privacy: PRIVATE) { + totalCount + } + } + }`, + variables: { + login: "octokit", + }, +}); +``` + +### Alternative: pass `method` & `url` as part of options + +Alternatively, pass in a method and a url + +```js +const result = await request({ + method: "GET", + url: "/orgs/{org}/repos", + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); +``` + +## Authentication + +The simplest way to authenticate a request is to set the `Authorization` header directly, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const requestWithAuth = request.defaults({ + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, +}); +const result = await requestWithAuth("GET /user"); +``` + +For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). + +```js +import { createAppAuth } from "@octokit/auth-app"; +const auth = createAppAuth({ + appId: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, + mediaType: { + previews: ["machine-man"], + }, +}); + +const { data: app } = await requestWithAuth("GET /app"); +const { data: app } = await requestWithAuth( + "POST /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + title: "Hello from the engine room", + }, +); +``` + +## request() + +`request(route, options)` or `request(options)`. + +**Options** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ route + + String + + **Required**. If route is set it has to be a string consisting of the request method and URL, e.g. GET /orgs/{org} +
+ options.baseUrl + + String + + The base URL that route or url will be prefixed with, if they use relative paths. Defaults to https://api.github.com. +
+ options.headers + + Object + + Custom headers. Passed headers are merged with defaults:
+ headers['user-agent'] defaults to octokit-rest.js/1.2.3 (where 1.2.3 is the released version).
+ headers['accept'] defaults to application/vnd.github.v3+json.
Use options.mediaType.{format,previews} to request API previews and custom media types. +
+ options.method + + String + + Any supported http verb, case-insensitive. Defaults to Get. +
+ options.mediaType.format + + String + + Media type param, such as `raw`, `html`, or `full`. See Media Types. +
+ options.mediaType.previews + + Array of strings + + Name of previews, such as `mercy`, `symmetra`, or `scarlet-witch`. See GraphQL Schema Previews. + Note that these only apply to GraphQL requests and have no effect on REST routes. +
+ options.url + + String + + **Required**. A path or full URL which may contain :variable or {variable} placeholders, + e.g. /orgs/{org}/repos. The url is parsed using url-template. +
+ options.data + + Any + + Set request body directly instead of setting it to JSON based on additional parameters. See "The `data` parameter" below. +
+ options.request.fetch + + Function + + Custom replacement for fetch. Useful for testing or request hooks. +
+ options.request.hook + + Function + + Function with the signature hook(request, endpointOptions), where endpointOptions are the parsed options as returned by endpoint.merge(), and request is request(). This option works great in conjunction with before-after-hook. +
+ options.request.signal + + new AbortController().signal + + Use an AbortController instance to cancel a request. In node you can only cancel streamed requests. +
+ options.request.log + + object + + Used for internal logging. Defaults to console. +
+ options.request.parseSuccessResponseBody + + boolean + + If set to false the returned `response` will be passed through from `fetch`. This is useful to stream response.body when downloading files from the GitHub API. +
+ +All other options except `options.request.*` will be passed depending on the `method` and `url` options. + +1. If the option key is a placeholder in the `url`, it will be used as replacement. For example, if the passed options are `{url: '/orgs/{org}/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos` +2. If the `method` is `GET` or `HEAD`, the option is passed as query parameter +3. Otherwise the parameter is passed in the request body as JSON key. + +**Result** + +`request` returns a promise. If the request was successful, the promise resolves with an object containing 4 keys: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ key + + type + + description +
statusIntegerResponse status status
urlStringURL of response. If a request results in redirects, this is the final URL. You can send a HEAD request to retrieve it without loading the full response body.
headersObjectAll response headers
dataAnyThe response body as returned from server. If the response is JSON then it will be parsed into an object
+ +If an error occurs, which includes an unsuccessful status code, the promise is rejected with an `error` object containing 3 keys to help with debugging: + +- `error.status` The http response status code +- `error.request` The request options such as `method`, `url` and `data` +- `error.response` The http response object with `url`, `headers`, and `data` + +If the error is due to an `AbortSignal` being used, the resulting `AbortError` is bubbled up to the caller. + +## `request.defaults()` + +Override or set default options. Example: + +```js +import { request } from "@octokit/request"; +const myrequest = request.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-project", + per_page: 100, +}); + +myrequest(`GET /orgs/{org}/repos`); +``` + +You can call `.defaults()` again on the returned method, the defaults will cascade. + +```js +const myProjectRequest = request.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +const myProjectRequestWithAuth = myProjectRequest.defaults({ + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, +}); +``` + +`myProjectRequest` now defaults the `baseUrl`, `headers['user-agent']`, +`org` and `headers['authorization']` on top of `headers['accept']` that is set +by the global default. + +## `request.endpoint` + +See https://github.com/octokit/endpoint.js. Example + +```js +const options = request.endpoint("GET /orgs/{org}/repos", { + org: "my-project", + type: "private", +}); + +// { +// method: 'GET', +// url: 'https://api.github.com/orgs/my-project/repos?type=private', +// headers: { +// accept: 'application/vnd.github.v3+json', +// authorization: 'token 0000000000000000000000000000000000000001', +// 'user-agent': 'octokit/endpoint.js v1.2.3' +// } +// } +``` + +All of the [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) API can be used: + +- [`octokitRequest.endpoint()`](#endpoint) +- [`octokitRequest.endpoint.defaults()`](#endpointdefaults) +- [`octokitRequest.endpoint.merge()`](#endpointdefaults) +- [`octokitRequest.endpoint.parse()`](#endpointmerge) + +## Special cases + + + +### The `data` parameter – set request body directly + +Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) don’t have parameters that are sent as request body keys, instead the request body needs to be set directly. In these cases, set the `data` parameter. + +```js +const response = await request("POST /markdown/raw", { + data: "Hello world github/linguist#1 **cool**, and #1!", + headers: { + accept: "text/html;charset=utf-8", + "content-type": "text/plain", + }, +}); + +// Request is sent as +// +// { +// method: 'post', +// url: 'https://api.github.com/markdown/raw', +// headers: { +// accept: 'text/html;charset=utf-8', +// 'content-type': 'text/plain', +// 'user-agent': userAgent +// }, +// body: 'Hello world github/linguist#1 **cool**, and #1!' +// } +// +// not as +// +// { +// ... +// body: '{"data": "Hello world github/linguist#1 **cool**, and #1!"}' +// } +``` + +### Set parameters for both the URL/query and the request body + +There are API endpoints that accept both query parameters as well as a body. In that case you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570). + +Example + +```js +request( + "POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", + { + name: "example.zip", + label: "short description", + headers: { + "content-type": "text/plain", + "content-length": 14, + authorization: `token 0000000000000000000000000000000000000001`, + }, + data: "Hello, world!", + }, +); +``` + +### Set a custom Agent to your requests + +The way to pass a custom `Agent` to requests is by creating a custom `fetch` function and pass it as `options.request.fetch`. A good example can be [undici's `fetch` implementation](https://undici.nodejs.org/#/?id=undicifetchinput-init-promise). + +Example ([See example in CodeSandbox](https://codesandbox.io/p/sandbox/nifty-stitch-wdlwlf)) + +```js +import { request } from "@octokit/request"; +import { fetch as undiciFetch, Agent } from "undici"; + +/** @type {typeof import("undici").fetch} */ +const myFetch = (url, options) => { + return undiciFetch(url, { + ...options, + dispatcher: new Agent({ + keepAliveTimeout: 10, + keepAliveMaxTimeout: 10, + }), + }); +}; + +const { data } = await request("GET /users/{username}", { + username: "octocat", + headers: { + "X-GitHub-Api-Version": "2022-11-28", + }, + request: { + fetch: myFetch, + }, +}); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-bundle/index.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-bundle/index.js new file mode 100644 index 0000000..a518421 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-bundle/index.js @@ -0,0 +1,203 @@ +// pkg/dist-src/index.js +import { endpoint } from "@octokit/endpoint"; + +// pkg/dist-src/defaults.js +import { getUserAgent } from "universal-user-agent"; + +// pkg/dist-src/version.js +var VERSION = "10.0.10"; + +// pkg/dist-src/defaults.js +var defaults_default = { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` + } +}; + +// pkg/dist-src/fetch-wrapper.js +import { parse } from "content-type"; +import { JSONParse, JSONStringify } from "json-with-bigint"; + +// pkg/dist-src/is-plain-object.js +function isPlainObject(value) { + if (typeof value !== "object" || value === null) return false; + if (Object.prototype.toString.call(value) !== "[object Object]") return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} + +// pkg/dist-src/fetch-wrapper.js +import { RequestError } from "@octokit/request-error"; +var noop = () => ""; +async function fetchWrapper(requestOptions) { + const fetch = requestOptions.request?.fetch || globalThis.fetch; + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + const log = requestOptions.request?.log || console; + const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; + const body = isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body) ? JSONStringify(requestOptions.body) : requestOptions.body; + const requestHeaders = Object.fromEntries( + Object.entries(requestOptions.headers).map(([name, value]) => [ + name, + String(value) + ]) + ); + let fetchResponse; + try { + fetchResponse = await fetch(requestOptions.url, { + method: requestOptions.method, + body, + redirect: requestOptions.request?.redirect, + headers: requestHeaders, + signal: requestOptions.request?.signal, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }); + } catch (error) { + let message = "Unknown Error"; + if (error instanceof Error) { + if (error.name === "AbortError") { + error.status = 500; + throw error; + } + message = error.message; + if (error.name === "TypeError" && "cause" in error) { + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + } + const requestError = new RequestError(message, 500, { + request: requestOptions + }); + requestError.cause = error; + throw requestError; + } + const status = fetchResponse.status; + const url = fetchResponse.url; + const responseHeaders = {}; + for (const [key, value] of fetchResponse.headers) { + responseHeaders[key] = value; + } + const octokitResponse = { + url, + status, + headers: responseHeaders, + data: "" + }; + if ("deprecation" in responseHeaders) { + const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return octokitResponse; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return octokitResponse; + } + throw new RequestError(fetchResponse.statusText, status, { + response: octokitResponse, + request: requestOptions + }); + } + if (status === 304) { + octokitResponse.data = await getResponseData(fetchResponse); + throw new RequestError("Not modified", status, { + response: octokitResponse, + request: requestOptions + }); + } + if (status >= 400) { + octokitResponse.data = await getResponseData(fetchResponse); + throw new RequestError(toErrorMessage(octokitResponse.data), status, { + response: octokitResponse, + request: requestOptions + }); + } + octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body; + return octokitResponse; +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (!contentType) { + return response.text().catch(noop); + } + const mimetype = parse(contentType); + if (isJSONResponse(mimetype)) { + let text = ""; + try { + text = await response.text(); + return JSONParse(text); + } catch (err) { + return text; + } + } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { + return response.text().catch(noop); + } else { + return response.arrayBuffer().catch( + /* v8 ignore next -- @preserve */ + () => new ArrayBuffer(0) + ); + } +} +function isJSONResponse(mimetype) { + return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; +} +function toErrorMessage(data) { + if (typeof data === "string") { + return data; + } + if (data instanceof ArrayBuffer) { + return "Unknown error"; + } + if ("message" in data) { + const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; + return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldEndpoint, newDefaults) { + const endpoint2 = oldEndpoint.defaults(newDefaults); + const newApi = function(route, parameters) { + const endpointOptions = endpoint2.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint2.parse(endpointOptions)); + } + const request2 = (route2, parameters2) => { + return fetchWrapper( + endpoint2.parse(endpoint2.merge(route2, parameters2)) + ); + }; + Object.assign(request2, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); + return endpointOptions.request.hook(request2, endpointOptions); + }; + return Object.assign(newApi, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); +} + +// pkg/dist-src/index.js +var request = withDefaults(endpoint, defaults_default); +export { + request +}; +/* v8 ignore next -- @preserve */ +/* v8 ignore else -- @preserve */ diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-bundle/index.js.map b/node_modules/@octokit/core/node_modules/@octokit/request/dist-bundle/index.js.map new file mode 100644 index 0000000..d105845 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-bundle/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/fetch-wrapper.js", "../dist-src/is-plain-object.js", "../dist-src/with-defaults.js"], + "sourcesContent": ["import { endpoint } from \"@octokit/endpoint\";\nimport defaults from \"./defaults.js\";\nimport withDefaults from \"./with-defaults.js\";\nconst request = withDefaults(endpoint, defaults);\nexport {\n request\n};\n", "import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version.js\";\nvar defaults_default = {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n};\nexport {\n defaults_default as default\n};\n", "const VERSION = \"10.0.10\";\nexport {\n VERSION\n};\n", "import { parse } from \"content-type\";\nimport { JSONParse, JSONStringify } from \"json-with-bigint\";\nimport { isPlainObject } from \"./is-plain-object.js\";\nimport { RequestError } from \"@octokit/request-error\";\n/* v8 ignore next -- @preserve */\nconst noop = () => \"\";\nasync function fetchWrapper(requestOptions) {\n const fetch = requestOptions.request?.fetch || globalThis.fetch;\n if (!fetch) {\n throw new Error(\n \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n );\n }\n const log = requestOptions.request?.log || console;\n const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n const body = isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body) ? JSONStringify(requestOptions.body) : requestOptions.body;\n const requestHeaders = Object.fromEntries(\n Object.entries(requestOptions.headers).map(([name, value]) => [\n name,\n String(value)\n ])\n );\n let fetchResponse;\n try {\n fetchResponse = await fetch(requestOptions.url, {\n method: requestOptions.method,\n body,\n redirect: requestOptions.request?.redirect,\n headers: requestHeaders,\n signal: requestOptions.request?.signal,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n });\n } catch (error) {\n let message = \"Unknown Error\";\n /* v8 ignore else -- @preserve */\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n error.status = 500;\n throw error;\n }\n message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n /* v8 ignore else -- @preserve */\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n }\n const requestError = new RequestError(message, 500, {\n request: requestOptions\n });\n requestError.cause = error;\n throw requestError;\n }\n const status = fetchResponse.status;\n const url = fetchResponse.url;\n const responseHeaders = {};\n for (const [key, value] of fetchResponse.headers) {\n responseHeaders[key] = value;\n }\n const octokitResponse = {\n url,\n status,\n headers: responseHeaders,\n data: \"\"\n };\n if (\"deprecation\" in responseHeaders) {\n const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return octokitResponse;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return octokitResponse;\n }\n throw new RequestError(fetchResponse.statusText, status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status === 304) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(\"Not modified\", status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n if (status >= 400) {\n octokitResponse.data = await getResponseData(fetchResponse);\n throw new RequestError(toErrorMessage(octokitResponse.data), status, {\n response: octokitResponse,\n request: requestOptions\n });\n }\n octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;\n return octokitResponse;\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (!contentType) {\n return response.text().catch(noop);\n }\n const mimetype = parse(contentType);\n if (isJSONResponse(mimetype)) {\n let text = \"\";\n try {\n text = await response.text();\n return JSONParse(text);\n } catch (err) {\n return text;\n }\n } else if (mimetype.type.startsWith(\"text/\") || mimetype.parameters.charset?.toLowerCase() === \"utf-8\") {\n return response.text().catch(noop);\n } else {\n return response.arrayBuffer().catch(\n /* v8 ignore next -- @preserve */\n () => new ArrayBuffer(0)\n );\n }\n}\nfunction isJSONResponse(mimetype) {\n return mimetype.type === \"application/json\" || mimetype.type === \"application/scim+json\";\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") {\n return data;\n }\n if (data instanceof ArrayBuffer) {\n return \"Unknown error\";\n }\n if (\"message\" in data) {\n const suffix = \"documentation_url\" in data ? ` - ${data.documentation_url}` : \"\";\n return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(\", \")}${suffix}` : `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\nexport {\n fetchWrapper as default\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null) return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\") return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null) return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\nexport {\n isPlainObject\n};\n", "import fetchWrapper from \"./fetch-wrapper.js\";\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function(route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route2, parameters2) => {\n return fetchWrapper(\n endpoint.parse(endpoint.merge(route2, parameters2))\n );\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\nexport {\n withDefaults as default\n};\n"], + "mappings": ";AAAA,SAAS,gBAAgB;;;ACAzB,SAAS,oBAAoB;;;ACA7B,IAAM,UAAU;;;ADEhB,IAAI,mBAAmB;AAAA,EACrB,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,IAAI,aAAa,CAAC;AAAA,EAC/D;AACF;;;AENA,SAAS,aAAa;AACtB,SAAS,WAAW,qBAAqB;;;ACDzC,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU,KAAM,QAAO;AACxD,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM,kBAAmB,QAAO;AACxE,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU,KAAM,QAAO;AAC3B,QAAM,OAAO,OAAO,UAAU,eAAe,KAAK,OAAO,aAAa,KAAK,MAAM;AACjF,SAAO,OAAO,SAAS,cAAc,gBAAgB,QAAQ,SAAS,UAAU,KAAK,IAAI,MAAM,SAAS,UAAU,KAAK,KAAK;AAC9H;;;ADJA,SAAS,oBAAoB;AAE7B,IAAM,OAAO,MAAM;AACnB,eAAe,aAAa,gBAAgB;AAC1C,QAAM,QAAQ,eAAe,SAAS,SAAS,WAAW;AAC1D,MAAI,CAAC,OAAO;AACV,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,QAAM,MAAM,eAAe,SAAS,OAAO;AAC3C,QAAM,2BAA2B,eAAe,SAAS,6BAA6B;AACtF,QAAM,OAAO,cAAc,eAAe,IAAI,KAAK,MAAM,QAAQ,eAAe,IAAI,IAAI,cAAc,eAAe,IAAI,IAAI,eAAe;AAC5I,QAAM,iBAAiB,OAAO;AAAA,IAC5B,OAAO,QAAQ,eAAe,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;AAAA,MAC5D;AAAA,MACA,OAAO,KAAK;AAAA,IACd,CAAC;AAAA,EACH;AACA,MAAI;AACJ,MAAI;AACF,oBAAgB,MAAM,MAAM,eAAe,KAAK;AAAA,MAC9C,QAAQ,eAAe;AAAA,MACvB;AAAA,MACA,UAAU,eAAe,SAAS;AAAA,MAClC,SAAS;AAAA,MACT,QAAQ,eAAe,SAAS;AAAA;AAAA;AAAA,MAGhC,GAAG,eAAe,QAAQ,EAAE,QAAQ,OAAO;AAAA,IAC7C,CAAC;AAAA,EACH,SAAS,OAAO;AACd,QAAI,UAAU;AAEd,QAAI,iBAAiB,OAAO;AAC1B,UAAI,MAAM,SAAS,cAAc;AAC/B,cAAM,SAAS;AACf,cAAM;AAAA,MACR;AACA,gBAAU,MAAM;AAChB,UAAI,MAAM,SAAS,eAAe,WAAW,OAAO;AAElD,YAAI,MAAM,iBAAiB,OAAO;AAChC,oBAAU,MAAM,MAAM;AAAA,QACxB,WAAW,OAAO,MAAM,UAAU,UAAU;AAC1C,oBAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AACA,UAAM,eAAe,IAAI,aAAa,SAAS,KAAK;AAAA,MAClD,SAAS;AAAA,IACX,CAAC;AACD,iBAAa,QAAQ;AACrB,UAAM;AAAA,EACR;AACA,QAAM,SAAS,cAAc;AAC7B,QAAM,MAAM,cAAc;AAC1B,QAAM,kBAAkB,CAAC;AACzB,aAAW,CAAC,KAAK,KAAK,KAAK,cAAc,SAAS;AAChD,oBAAgB,GAAG,IAAI;AAAA,EACzB;AACA,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACA,MAAI,iBAAiB,iBAAiB;AACpC,UAAM,UAAU,gBAAgB,QAAQ,gBAAgB,KAAK,MAAM,+BAA+B;AAClG,UAAM,kBAAkB,WAAW,QAAQ,IAAI;AAC/C,QAAI;AAAA,MACF,uBAAuB,eAAe,MAAM,IAAI,eAAe,GAAG,qDAAqD,gBAAgB,MAAM,GAAG,kBAAkB,SAAS,eAAe,KAAK,EAAE;AAAA,IACnM;AAAA,EACF;AACA,MAAI,WAAW,OAAO,WAAW,KAAK;AACpC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,WAAW,QAAQ;AACpC,QAAI,SAAS,KAAK;AAChB,aAAO;AAAA,IACT;AACA,UAAM,IAAI,aAAa,cAAc,YAAY,QAAQ;AAAA,MACvD,UAAU;AAAA,MACV,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AACA,MAAI,WAAW,KAAK;AAClB,oBAAgB,OAAO,MAAM,gBAAgB,aAAa;AAC1D,UAAM,IAAI,aAAa,gBAAgB,QAAQ;AAAA,MAC7C,UAAU;AAAA,MACV,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AACA,MAAI,UAAU,KAAK;AACjB,oBAAgB,OAAO,MAAM,gBAAgB,aAAa;AAC1D,UAAM,IAAI,aAAa,eAAe,gBAAgB,IAAI,GAAG,QAAQ;AAAA,MACnE,UAAU;AAAA,MACV,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AACA,kBAAgB,OAAO,2BAA2B,MAAM,gBAAgB,aAAa,IAAI,cAAc;AACvG,SAAO;AACT;AACA,eAAe,gBAAgB,UAAU;AACvC,QAAM,cAAc,SAAS,QAAQ,IAAI,cAAc;AACvD,MAAI,CAAC,aAAa;AAChB,WAAO,SAAS,KAAK,EAAE,MAAM,IAAI;AAAA,EACnC;AACA,QAAM,WAAW,MAAM,WAAW;AAClC,MAAI,eAAe,QAAQ,GAAG;AAC5B,QAAI,OAAO;AACX,QAAI;AACF,aAAO,MAAM,SAAS,KAAK;AAC3B,aAAO,UAAU,IAAI;AAAA,IACvB,SAAS,KAAK;AACZ,aAAO;AAAA,IACT;AAAA,EACF,WAAW,SAAS,KAAK,WAAW,OAAO,KAAK,SAAS,WAAW,SAAS,YAAY,MAAM,SAAS;AACtG,WAAO,SAAS,KAAK,EAAE,MAAM,IAAI;AAAA,EACnC,OAAO;AACL,WAAO,SAAS,YAAY,EAAE;AAAA;AAAA,MAE5B,MAAM,IAAI,YAAY,CAAC;AAAA,IACzB;AAAA,EACF;AACF;AACA,SAAS,eAAe,UAAU;AAChC,SAAO,SAAS,SAAS,sBAAsB,SAAS,SAAS;AACnE;AACA,SAAS,eAAe,MAAM;AAC5B,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO;AAAA,EACT;AACA,MAAI,gBAAgB,aAAa;AAC/B,WAAO;AAAA,EACT;AACA,MAAI,aAAa,MAAM;AACrB,UAAM,SAAS,uBAAuB,OAAO,MAAM,KAAK,iBAAiB,KAAK;AAC9E,WAAO,MAAM,QAAQ,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM,KAAK,GAAG,KAAK,OAAO,GAAG,MAAM;AAAA,EACpJ;AACA,SAAO,kBAAkB,KAAK,UAAU,IAAI,CAAC;AAC/C;;;AE/IA,SAAS,aAAa,aAAa,aAAa;AAC9C,QAAMA,YAAW,YAAY,SAAS,WAAW;AACjD,QAAM,SAAS,SAAS,OAAO,YAAY;AACzC,UAAM,kBAAkBA,UAAS,MAAM,OAAO,UAAU;AACxD,QAAI,CAAC,gBAAgB,WAAW,CAAC,gBAAgB,QAAQ,MAAM;AAC7D,aAAO,aAAaA,UAAS,MAAM,eAAe,CAAC;AAAA,IACrD;AACA,UAAMC,WAAU,CAAC,QAAQ,gBAAgB;AACvC,aAAO;AAAA,QACLD,UAAS,MAAMA,UAAS,MAAM,QAAQ,WAAW,CAAC;AAAA,MACpD;AAAA,IACF;AACA,WAAO,OAAOC,UAAS;AAAA,MACrB,UAAAD;AAAA,MACA,UAAU,aAAa,KAAK,MAAMA,SAAQ;AAAA,IAC5C,CAAC;AACD,WAAO,gBAAgB,QAAQ,KAAKC,UAAS,eAAe;AAAA,EAC9D;AACA,SAAO,OAAO,OAAO,QAAQ;AAAA,IAC3B,UAAAD;AAAA,IACA,UAAU,aAAa,KAAK,MAAMA,SAAQ;AAAA,EAC5C,CAAC;AACH;;;ALpBA,IAAM,UAAU,aAAa,UAAU,gBAAQ;", + "names": ["endpoint", "request"] +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/defaults.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/defaults.js new file mode 100644 index 0000000..33b14b0 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/defaults.js @@ -0,0 +1,10 @@ +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version.js"; +var defaults_default = { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` + } +}; +export { + defaults_default as default +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/fetch-wrapper.js new file mode 100644 index 0000000..78210a1 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -0,0 +1,148 @@ +import { parse } from "content-type"; +import { JSONParse, JSONStringify } from "json-with-bigint"; +import { isPlainObject } from "./is-plain-object.js"; +import { RequestError } from "@octokit/request-error"; +/* v8 ignore next -- @preserve */ +const noop = () => ""; +async function fetchWrapper(requestOptions) { + const fetch = requestOptions.request?.fetch || globalThis.fetch; + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + const log = requestOptions.request?.log || console; + const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; + const body = isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body) ? JSONStringify(requestOptions.body) : requestOptions.body; + const requestHeaders = Object.fromEntries( + Object.entries(requestOptions.headers).map(([name, value]) => [ + name, + String(value) + ]) + ); + let fetchResponse; + try { + fetchResponse = await fetch(requestOptions.url, { + method: requestOptions.method, + body, + redirect: requestOptions.request?.redirect, + headers: requestHeaders, + signal: requestOptions.request?.signal, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }); + } catch (error) { + let message = "Unknown Error"; + /* v8 ignore else -- @preserve */ + if (error instanceof Error) { + if (error.name === "AbortError") { + error.status = 500; + throw error; + } + message = error.message; + if (error.name === "TypeError" && "cause" in error) { + /* v8 ignore else -- @preserve */ + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + } + const requestError = new RequestError(message, 500, { + request: requestOptions + }); + requestError.cause = error; + throw requestError; + } + const status = fetchResponse.status; + const url = fetchResponse.url; + const responseHeaders = {}; + for (const [key, value] of fetchResponse.headers) { + responseHeaders[key] = value; + } + const octokitResponse = { + url, + status, + headers: responseHeaders, + data: "" + }; + if ("deprecation" in responseHeaders) { + const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return octokitResponse; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return octokitResponse; + } + throw new RequestError(fetchResponse.statusText, status, { + response: octokitResponse, + request: requestOptions + }); + } + if (status === 304) { + octokitResponse.data = await getResponseData(fetchResponse); + throw new RequestError("Not modified", status, { + response: octokitResponse, + request: requestOptions + }); + } + if (status >= 400) { + octokitResponse.data = await getResponseData(fetchResponse); + throw new RequestError(toErrorMessage(octokitResponse.data), status, { + response: octokitResponse, + request: requestOptions + }); + } + octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body; + return octokitResponse; +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (!contentType) { + return response.text().catch(noop); + } + const mimetype = parse(contentType); + if (isJSONResponse(mimetype)) { + let text = ""; + try { + text = await response.text(); + return JSONParse(text); + } catch (err) { + return text; + } + } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") { + return response.text().catch(noop); + } else { + return response.arrayBuffer().catch( + /* v8 ignore next -- @preserve */ + () => new ArrayBuffer(0) + ); + } +} +function isJSONResponse(mimetype) { + return mimetype.type === "application/json" || mimetype.type === "application/scim+json"; +} +function toErrorMessage(data) { + if (typeof data === "string") { + return data; + } + if (data instanceof ArrayBuffer) { + return "Unknown error"; + } + if ("message" in data) { + const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : ""; + return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} +export { + fetchWrapper as default +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/index.js new file mode 100644 index 0000000..42dfe6c --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/index.js @@ -0,0 +1,7 @@ +import { endpoint } from "@octokit/endpoint"; +import defaults from "./defaults.js"; +import withDefaults from "./with-defaults.js"; +const request = withDefaults(endpoint, defaults); +export { + request +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/is-plain-object.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/is-plain-object.js new file mode 100644 index 0000000..6ae73a6 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/is-plain-object.js @@ -0,0 +1,11 @@ +function isPlainObject(value) { + if (typeof value !== "object" || value === null) return false; + if (Object.prototype.toString.call(value) !== "[object Object]") return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} +export { + isPlainObject +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/version.js new file mode 100644 index 0000000..60374c3 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "10.0.10"; +export { + VERSION +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/with-defaults.js new file mode 100644 index 0000000..b2dd7ad --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-src/with-defaults.js @@ -0,0 +1,27 @@ +import fetchWrapper from "./fetch-wrapper.js"; +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + const newApi = function(route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + const request = (route2, parameters2) => { + return fetchWrapper( + endpoint.parse(endpoint.merge(route2, parameters2)) + ); + }; + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); +} +export { + withDefaults as default +}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/defaults.d.ts b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/defaults.d.ts new file mode 100644 index 0000000..ddf2ca0 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/defaults.d.ts @@ -0,0 +1,6 @@ +declare const _default: { + headers: { + "user-agent": string; + }; +}; +export default _default; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts new file mode 100644 index 0000000..880643c --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts @@ -0,0 +1,2 @@ +import type { EndpointInterface, OctokitResponse } from "@octokit/types"; +export default function fetchWrapper(requestOptions: ReturnType): Promise>; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/index.d.ts new file mode 100644 index 0000000..1030809 --- /dev/null +++ b/node_modules/@octokit/core/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/core/node_modules/@octokit/request/dist-types/is-plain-object.d.ts b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/is-plain-object.d.ts new file mode 100644 index 0000000..004fa4b --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/is-plain-object.d.ts @@ -0,0 +1 @@ +export declare function isPlainObject(value: unknown): value is Object; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/version.d.ts new file mode 100644 index 0000000..3189ca8 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "10.0.10"; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/with-defaults.d.ts new file mode 100644 index 0000000..4300682 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import type { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; +export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/node_modules/@octokit/core/node_modules/@octokit/request/package.json b/node_modules/@octokit/core/node_modules/@octokit/request/package.json new file mode 100644 index 0000000..345f274 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/request/package.json @@ -0,0 +1,57 @@ +{ + "name": "@octokit/request", + "version": "10.0.10", + "type": "module", + "publishConfig": { + "access": "public", + "provenance": true + }, + "description": "Send parameterized requests to GitHub's APIs with sensible defaults in browsers and Node", + "repository": "github:octokit/request.js", + "keywords": [ + "octokit", + "github", + "api", + "request" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^11.0.3", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "content-type": "^2.0.0", + "json-with-bigint": "^3.5.3", + "universal-user-agent": "^7.0.2" + }, + "devDependencies": { + "@octokit/auth-app": "^8.0.0", + "@octokit/tsconfig": "^4.0.0", + "@types/node": "^24.0.0", + "@vitest/coverage-v8": "^4.0.0", + "esbuild": "^0.28.0", + "fetch-mock": "^12.0.0", + "prettier": "3.6.2", + "semantic-release-plugin-update-version-in-files": "^2.0.0", + "tinyglobby": "^0.2.15", + "typescript": "^5.0.0", + "undici": "^7.0.0", + "vitest": "^4.0.0" + }, + "engines": { + "node": ">= 20" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "types": "dist-types/index.d.ts", + "exports": { + ".": { + "types": "./dist-types/index.d.ts", + "import": "./dist-bundle/index.js", + "default": "./dist-bundle/index.js" + } + }, + "sideEffects": false +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/LICENSE b/node_modules/@octokit/core/node_modules/@octokit/types/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/core/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/core/node_modules/@octokit/types/README.md b/node_modules/@octokit/core/node_modules/@octokit/types/README.md new file mode 100644 index 0000000..7ebe154 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/README.md @@ -0,0 +1,65 @@ +# types.ts + +> Shared TypeScript definitions for Octokit projects + +[![@latest](https://img.shields.io/npm/v/@octokit/types.svg)](https://www.npmjs.com/package/@octokit/types) +[![Build Status](https://github.com/octokit/types.ts/workflows/Test/badge.svg)](https://github.com/octokit/types.ts/actions?workflow=Test) + + + +- [Usage](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "@octokit/types"; + +type listUserReposParameters = + Endpoints["GET /repos/{owner}/{repo}"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/{owner}/{repo}"]["response"]; + +async function listRepos( + options: listUserReposParameters, +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 0000000..9858dc4 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +import type { EndpointOptions } from "./EndpointOptions.js"; +import type { OctokitResponse } from "./OctokitResponse.js"; +import type { RequestInterface } from "./RequestInterface.js"; +import type { RequestParameters } from "./RequestParameters.js"; +import type { Route } from "./Route.js"; +/** + * Interface to implement complex authentication strategies for Octokit. + * An object Implementing the AuthInterface can directly be passed as the + * `auth` option in the Octokit constructor. + * + * For the official implementations of the most common authentication + * strategies, see https://github.com/octokit/auth.js + */ +export interface AuthInterface { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 0000000..f8e5fc2 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +import type { RequestHeaders } from "./RequestHeaders.js"; +import type { RequestMethod } from "./RequestMethod.js"; +import type { RequestParameters } from "./RequestParameters.js"; +import type { Url } from "./Url.js"; +/** + * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters + * as well as the method property. + */ +export interface EndpointDefaults extends 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/core/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 0000000..1ef795e --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import type { EndpointDefaults } from "./EndpointDefaults.js"; +import type { RequestOptions } from "./RequestOptions.js"; +import type { RequestParameters } from "./RequestParameters.js"; +import type { Route } from "./Route.js"; +import type { EndpointKeys, Endpoints } from "./generated/Endpoints.js"; +export interface EndpointInterface { + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {object} endpoint Must set `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: EndpointKeys | R, parameters?: P): (R extends EndpointKeys ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + merge: { + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * + */ + (route: EndpointKeys | R, parameters?: P): D & (R extends EndpointKeys ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ +

(options: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * Stateless method to turn endpoint options into request options. + * Calling `endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + * + * @param {object} options `method`, `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + parse: (options: O) => RequestOptions & Pick; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000..f25b486 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import type { RequestMethod } from "./RequestMethod.js"; +import type { Url } from "./Url.js"; +import type { RequestParameters } from "./RequestParameters.js"; +export interface EndpointOptions extends RequestParameters { + method: RequestMethod; + url: Url; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 0000000..983c79b --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Fetch.d.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/core/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 0000000..2daaf34 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +type Unwrap = T extends Promise ? U : T; +type AnyFunction = (...args: any[]) => any; +export type GetResponseTypeFromEndpointMethod = Unwrap>; +export type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 0000000..47a1797 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import type { ResponseHeaders } from "./ResponseHeaders.js"; +import type { Url } from "./Url.js"; +export interface OctokitResponse { + headers: ResponseHeaders; + /** + * http response code + */ + status: S; + /** + * URL of response after all redirects + */ + url: Url; + /** + * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference + */ + data: T; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestError.d.ts new file mode 100644 index 0000000..7b93704 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestError.d.ts @@ -0,0 +1,11 @@ +export interface RequestError { + name: string; + status: number; + documentation_url: string; + errors?: Array<{ + resource: string; + code: string; + field: string; + message?: string; + }>; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 0000000..df15322 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export interface 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/core/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 0000000..6db41f2 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import type { EndpointInterface } from "./EndpointInterface.js"; +import type { OctokitResponse } from "./OctokitResponse.js"; +import type { RequestParameters } from "./RequestParameters.js"; +import type { Route } from "./Route.js"; +import type { EndpointKeys, Endpoints } from "./generated/Endpoints.js"; +export interface RequestInterface { + /** + * Sends a request based on endpoint options + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: EndpointKeys | R, options?: R extends EndpointKeys ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends EndpointKeys ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 0000000..4cdfe61 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 0000000..268238a --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +import type { RequestHeaders } from "./RequestHeaders.js"; +import type { RequestMethod } from "./RequestMethod.js"; +import type { RequestRequestOptions } from "./RequestRequestOptions.js"; +import type { Url } from "./Url.js"; +/** + * Generic request options as they are returned by the `endpoint()` method + */ +export interface RequestOptions { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 0000000..57831de --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,55 @@ +import type { RequestRequestOptions } from "./RequestRequestOptions.js"; +import type { RequestHeaders } from "./RequestHeaders.js"; +import type { Url } from "./Url.js"; +/** + * Parameters that can be passed into `request(route, parameters)` or `endpoint(route, parameters)` methods + */ +export interface RequestParameters { + /** + * Base URL to be used when a relative URL is passed, such as `/orgs/{org}`. + * If `baseUrl` is `https://enterprise.acme-inc.com/api/v3`, then the request + * will be sent to `https://enterprise.acme-inc.com/api/v3/orgs/{org}`. + */ + baseUrl?: Url; + /** + * HTTP headers. Use lowercase keys. + */ + headers?: RequestHeaders; + /** + * Media type options, see {@link https://developer.github.com/v3/media/|GitHub Developer Guide} + */ + mediaType?: { + /** + * `json` by default. Can be `raw`, `text`, `html`, `full`, `diff`, `patch`, `sha`, `base64`. Depending on endpoint + */ + format?: string; + /** + * Custom media type names of {@link https://docs.github.com/en/graphql/overview/schema-previews|GraphQL API Previews} without the `-preview` suffix. + * Example for single preview: `['squirrel-girl']`. + * Example for multiple previews: `['squirrel-girl', 'mister-fantastic']`. + */ + previews?: string[]; + }; + /** + * The name of the operation to execute. + * Required only if multiple operations are present in the query document. + */ + operationName?: string; + /** + * The GraphQL query string to be sent in the request. + * This is required and must contain a valid GraphQL document. + */ + query?: string; + /** + * Pass custom meta information for the request. The `request` object will be returned as is. + */ + request?: RequestRequestOptions; + /** + * Any additional parameter will be passed as follows + * 1. URL parameter if `':parameter'` or `{parameter}` is part of `url` + * 2. Query parameter if `method` is `'GET'` or `'HEAD'` + * 3. Request body if `parameter` is `'data'` + * 4. JSON in the request body in the form of `body[parameter]` unless `parameter` key is `'data'` + */ + [parameter: string]: unknown; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 0000000..fdcd0ab --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,20 @@ +import type { Fetch } from "./Fetch.js"; +/** + * 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 interface RequestRequestOptions { + /** + * Custom replacement for built-in fetch method. Useful for testing or request hooks. + */ + fetch?: Fetch; + /** + * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. + */ + signal?: AbortSignal; + /** + * If set to `false`, the response body will not be parsed and will be returned as a stream. + */ + parseSuccessResponseBody?: boolean; + redirect?: "follow" | "error" | "manual"; + [option: string]: any; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 0000000..5d5c994 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,21 @@ +export interface 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-accepted-github-permissions"?: 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/core/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 0000000..808991e --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Route.d.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/core/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 0000000..158e866 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import type { AuthInterface } from "./AuthInterface.js"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 0000000..521f5ad --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/Url.d.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/core/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000..1bf60fc --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "16.0.0"; diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 0000000..898be80 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,4543 @@ +import type { paths } from "@octokit/openapi-types"; +import type { OctokitResponse } from "../OctokitResponse.js"; +import type { RequestHeaders } from "../RequestHeaders.js"; +import type { RequestRequestOptions } from "../RequestRequestOptions.js"; +/** + * @license (MIT OR CC0-1.0) + * @source https://github.com/sindresorhus/type-fest/blob/570e27f8fdaee37ef5d5e0fbf241e0212ff8fc1a/source/simplify.d.ts + */ +export type Simplify = { + [KeyType in keyof T]: T[KeyType]; +} & {}; +type ExtractParameters = "parameters" extends keyof T ? (T["parameters"] extends { + query?: infer Q; +} ? Q : {}) & (T["parameters"] extends { + path?: infer P; +} ? P : {}) & (T["parameters"] extends { + header?: infer H; +} ? H : {}) : {}; +type ExtractRequestBody = "requestBody" extends keyof T ? "content" extends keyof T["requestBody"] ? "application/json" extends keyof T["requestBody"]["content"] ? T["requestBody"]["content"]["application/json"] : { + data: { + [K in keyof T["requestBody"]["content"]]: T["requestBody"]["content"][K]; + }[keyof T["requestBody"]["content"]]; +} : "application/json" extends keyof T["requestBody"] ? T["requestBody"]["application/json"] : { + data: { + [K in keyof T["requestBody"]]: T["requestBody"][K]; + }[keyof T["requestBody"]]; +} : {}; +type ToOctokitParameters = ExtractParameters & ExtractRequestBody>; +interface OctokitReadonlyRequestType { + request: { + method: Method extends string ? Uppercase : never; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; + }; +} +interface OctokitWriteableRequestType { + request: { + method: Method extends string ? Uppercase : never; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; + data: ExtractRequestBody; + }; +} +interface OctokitParametersType { + parameters: Simplify>; +} +interface OctokitResponseType { + response: ExtractOctokitResponse; +} +interface ReadonlyOperation extends OctokitParametersType, OctokitResponseType, OctokitReadonlyRequestType { +} +interface Operation extends OctokitParametersType, OctokitResponseType, OctokitWriteableRequestType { +} +type SuccessStatuses = 200 | 201 | 202 | 204 | 205; +type RedirectStatuses = 301 | 302; +type EmptyResponseStatuses = 201 | 204 | 205; +type KnownResponseTypes = "application/json" | "application/octocat-stream" | "application/scim+json" | "text/html" | "text/plain"; +type SuccessResponseDataType = { + [K in SuccessStatuses & keyof Responses]: GetContentKeyIfPresent extends never ? never : OctokitResponse, K>; +}[SuccessStatuses & keyof Responses]; +type RedirectResponseDataType = { + [K in RedirectStatuses & keyof Responses]: OctokitResponse; +}[RedirectStatuses & keyof Responses]; +type EmptyResponseDataType = { + [K in EmptyResponseStatuses & keyof Responses]: OctokitResponse; +}[EmptyResponseStatuses & keyof Responses]; +type GetContentKeyIfPresent = "content" extends keyof T ? DataType : DataType; +type DataType = { + [K in KnownResponseTypes & keyof T]: T[K]; +}[KnownResponseTypes & keyof T]; +type ExtractOctokitResponse = "responses" extends keyof R ? SuccessResponseDataType extends never ? RedirectResponseDataType extends never ? EmptyResponseDataType : RedirectResponseDataType : SuccessResponseDataType : unknown; +export interface Endpoints { + /** + * @see https://docs.github.com/rest/apps/apps#delete-an-installation-for-the-authenticated-app + */ + "DELETE /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "delete">; + /** + * @see https://docs.github.com/rest/apps/apps#unsuspend-an-app-installation + */ + "DELETE /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "delete">; + /** + * @see https://docs.github.com/rest/apps/oauth-applications#delete-an-app-authorization + */ + "DELETE /applications/{client_id}/grant": Operation<"/applications/{client_id}/grant", "delete">; + /** + * @see https://docs.github.com/rest/apps/oauth-applications#delete-an-app-token + */ + "DELETE /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "delete">; + /** + * @see https://docs.github.com/rest/code-security/configurations#delete-a-code-security-configuration-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}": Operation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}", "delete">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#remove-team-membership + */ + "DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}": Operation<"/enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#delete-an-organization-assignment + */ + "DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}": Operation<"/enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}", "delete">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-teams#delete-an-enterprise-team + */ + "DELETE /enterprises/{enterprise}/teams/{team_slug}": Operation<"/enterprises/{enterprise}/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/gists/gists#delete-a-gist + */ + "DELETE /gists/{gist_id}": Operation<"/gists/{gist_id}", "delete">; + /** + * @see https://docs.github.com/rest/gists/comments#delete-a-gist-comment + */ + "DELETE /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/gists/gists#unstar-a-gist + */ + "DELETE /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "delete">; + /** + * @see https://docs.github.com/rest/apps/installations#revoke-an-installation-access-token + */ + "DELETE /installation/token": Operation<"/installation/token", "delete">; + /** + * @see https://docs.github.com/rest/activity/notifications#mark-a-thread-as-done + */ + "DELETE /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "delete">; + /** + * @see https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription + */ + "DELETE /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/orgs/orgs#delete-an-organization + */ + "DELETE /orgs/{org}": Operation<"/orgs/{org}", "delete">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#delete-a-custom-image-from-the-organization + */ + "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}": Operation<"/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#delete-an-image-version-of-custom-image-from-the-organization + */ + "DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}": Operation<"/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}", "delete">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#delete-a-github-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}": Operation<"/orgs/{org}/actions/hosted-runners/{hosted_runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/permissions#disable-a-selected-repository-for-github-actions-in-an-organization + */ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/permissions#remove-a-repository-from-the-list-of-repositories-allowed-to-use-self-hosted-runners-in-an-organization + */ + "DELETE /orgs/{org}/actions/permissions/self-hosted-runners/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/self-hosted-runners/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#delete-a-self-hosted-runner-group-from-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#remove-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#remove-a-self-hosted-runner-from-a-group-for-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/secrets#delete-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/variables#delete-an-organization-variable + */ + "DELETE /orgs/{org}/actions/variables/{name}": Operation<"/orgs/{org}/actions/variables/{name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/variables#remove-selected-repository-from-an-organization-variable + */ + "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/variables/{name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/attestations#delete-attestations-by-subject-digest + */ + "DELETE /orgs/{org}/attestations/digest/{subject_digest}": Operation<"/orgs/{org}/attestations/digest/{subject_digest}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/attestations#delete-attestations-by-id + */ + "DELETE /orgs/{org}/attestations/{attestation_id}": Operation<"/orgs/{org}/attestations/{attestation_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/blocking#unblock-a-user-from-an-organization + */ + "DELETE /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/campaigns/campaigns#delete-a-campaign-for-an-organization + */ + "DELETE /orgs/{org}/campaigns/{campaign_number}": Operation<"/orgs/{org}/campaigns/{campaign_number}", "delete">; + /** + * @see https://docs.github.com/rest/code-security/configurations#detach-configurations-from-repositories + */ + "DELETE /orgs/{org}/code-security/configurations/detach": Operation<"/orgs/{org}/code-security/configurations/detach", "delete">; + /** + * @see https://docs.github.com/rest/code-security/configurations#delete-a-code-security-configuration + */ + "DELETE /orgs/{org}/code-security/configurations/{configuration_id}": Operation<"/orgs/{org}/code-security/configurations/{configuration_id}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#remove-users-from-codespaces-access-for-an-organization + */ + "DELETE /orgs/{org}/codespaces/access/selected_users": Operation<"/orgs/{org}/codespaces/access/selected_users", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#delete-an-organization-secret + */ + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#remove-teams-from-the-copilot-subscription-for-an-organization + */ + "DELETE /orgs/{org}/copilot/billing/selected_teams": Operation<"/orgs/{org}/copilot/billing/selected_teams", "delete">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#remove-users-from-the-copilot-subscription-for-an-organization + */ + "DELETE /orgs/{org}/copilot/billing/selected_users": Operation<"/orgs/{org}/copilot/billing/selected_users", "delete">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#delete-an-organization-secret + */ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#delete-an-organization-webhook + */ + "DELETE /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/interactions/orgs#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/orgs/members#cancel-an-organization-invitation + */ + "DELETE /orgs/{org}/invitations/{invitation_id}": Operation<"/orgs/{org}/invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/issue-types#delete-issue-type-for-an-organization + */ + "DELETE /orgs/{org}/issue-types/{issue_type_id}": Operation<"/orgs/{org}/issue-types/{issue_type_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/members#remove-an-organization-member + */ + "DELETE /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#delete-a-codespace-from-the-organization + */ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/members#remove-organization-membership-for-a-user + */ + "DELETE /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/migrations/orgs#delete-an-organization-migration-archive + */ + "DELETE /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "delete">; + /** + * @see https://docs.github.com/rest/migrations/orgs#unlock-an-organization-repository + */ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#remove-all-organization-roles-for-a-team + */ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}": Operation<"/orgs/{org}/organization-roles/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#remove-an-organization-role-from-a-team + */ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}": Operation<"/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#remove-all-organization-roles-for-a-user + */ + "DELETE /orgs/{org}/organization-roles/users/{username}": Operation<"/orgs/{org}/organization-roles/users/{username}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#remove-an-organization-role-from-a-user + */ + "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}": Operation<"/orgs/{org}/organization-roles/users/{username}/{role_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/outside-collaborators#remove-outside-collaborator-from-an-organization + */ + "DELETE /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-a-package-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-package-version-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#delete-a-private-registry-for-an-organization + */ + "DELETE /orgs/{org}/private-registries/{secret_name}": Operation<"/orgs/{org}/private-registries/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/projects/items#delete-project-item-for-organization + */ + "DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}": Operation<"/orgs/{org}/projectsV2/{project_number}/items/{item_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#remove-a-custom-property-for-an-organization + */ + "DELETE /orgs/{org}/properties/schema/{custom_property_name}": Operation<"/orgs/{org}/properties/schema/{custom_property_name}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/members#remove-public-organization-membership-for-the-authenticated-user + */ + "DELETE /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/rules#delete-an-organization-repository-ruleset + */ + "DELETE /orgs/{org}/rulesets/{ruleset_id}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team + */ + "DELETE /orgs/{org}/security-managers/teams/{team_slug}": Operation<"/orgs/{org}/security-managers/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/orgs#disable-a-selected-repository-for-immutable-releases-in-an-organization + */ + "DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}": Operation<"/orgs/{org}/settings/immutable-releases/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#delete-a-hosted-compute-network-configuration-from-an-organization + */ + "DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}": Operation<"/orgs/{org}/settings/network-configurations/{network_configuration_id}", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#delete-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/teams/discussions#delete-a-discussion + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-team-discussion-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user + */ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/projects-classic/columns#delete-a-project-column + */ + "DELETE /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "delete">; + /** + * @see https://docs.github.com/rest/projects-classic/projects#delete-a-project + */ + "DELETE /projects/{project_id}": Operation<"/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/projects-classic/collaborators#remove-user-as-a-collaborator + */ + "DELETE /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/repos/repos#delete-a-repository + */ + "DELETE /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/actions/artifacts#delete-an-artifact + */ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id + */ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}": Operation<"/repos/{owner}/{repo}/actions/caches/{cache_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/cache#delete-github-actions-caches-for-a-repository-using-a-cache-key + */ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}": Operation<"/repos/{owner}/{repo}/actions/caches", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#delete-a-workflow-run + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#delete-workflow-run-logs + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "delete">; + /** + * @see https://docs.github.com/rest/actions/secrets#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/variables#delete-a-repository-variable + */ + "DELETE /repos/{owner}/{repo}/actions/variables/{name}": Operation<"/repos/{owner}/{repo}/actions/variables/{name}", "delete">; + /** + * @see https://docs.github.com/rest/repos/autolinks#delete-an-autolink-reference-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "delete">; + /** + * @see https://docs.github.com/rest/repos/repos#disable-dependabot-security-updates + */ + "DELETE /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#delete-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#delete-admin-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#delete-pull-request-review-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#delete-commit-signature-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#remove-status-check-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#remove-status-check-contexts + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#delete-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#remove-app-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#remove-team-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#remove-user-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "delete">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#delete-a-code-scanning-analysis-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "delete">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#delete-a-codeql-database + */ + "DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#remove-a-repository-collaborator + */ + "DELETE /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/commits/comments#delete-a-commit-comment + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-a-commit-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/repos/contents#delete-a-file + */ + "DELETE /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "delete">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/deployments/deployments#delete-a-deployment + */ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "delete">; + /** + * @see https://docs.github.com/rest/deployments/environments#delete-an-environment + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "delete">; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#delete-a-deployment-branch-policy + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "delete">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#disable-a-custom-protection-rule-for-an-environment + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/secrets#delete-an-environment-secret + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/variables#delete-an-environment-variable + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}", "delete">; + /** + * @see https://docs.github.com/rest/git/refs#delete-a-reference + */ + "DELETE /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "delete">; + /** + * @see https://docs.github.com/rest/repos/webhooks#delete-a-repository-webhook + */ + "DELETE /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/repos/repos#disable-immutable-releases + */ + "DELETE /repos/{owner}/{repo}/immutable-releases": Operation<"/repos/{owner}/{repo}/immutable-releases", "delete">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#cancel-an-import + */ + "DELETE /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "delete">; + /** + * @see https://docs.github.com/rest/interactions/repos#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#delete-a-repository-invitation + */ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/issues/comments#delete-an-issue-comment + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-an-issue-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-assignees-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "delete">; + /** + * @see https://docs.github.com/rest/issues/issue-dependencies#remove-dependency-an-issue-is-blocked-by + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}", "delete">; + /** + * @see https://docs.github.com/rest/issues/labels#remove-all-labels-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "delete">; + /** + * @see https://docs.github.com/rest/issues/labels#remove-a-label-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/issues/issues#unlock-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-an-issue-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/issues/sub-issues#remove-sub-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/sub_issue", "delete">; + /** + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#delete-a-deploy-key + */ + "DELETE /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/issues/labels#delete-a-label + */ + "DELETE /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/issues/milestones#delete-a-milestone + */ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "delete">; + /** + * @see https://docs.github.com/rest/pages/pages#delete-a-apiname-pages-site + */ + "DELETE /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "delete">; + /** + * @see https://docs.github.com/rest/repos/repos#disable-private-vulnerability-reporting-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting": Operation<"/repos/{owner}/{repo}/private-vulnerability-reporting", "delete">; + /** + * @see https://docs.github.com/rest/pulls/comments#delete-a-review-comment-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/pulls/review-requests#remove-requested-reviewers-from-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "delete">; + /** + * @see https://docs.github.com/rest/pulls/reviews#delete-a-pending-review-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "delete">; + /** + * @see https://docs.github.com/rest/releases/assets#delete-a-release-asset + */ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "delete">; + /** + * @see https://docs.github.com/rest/releases/releases#delete-a-release + */ + "DELETE /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-a-release-reaction + */ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset + */ + "DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}", "delete">; + /** + * @see https://docs.github.com/rest/activity/watching#delete-a-repository-subscription + */ + "DELETE /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/repos/tags#closing-down---delete-a-tag-protection-state-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}": Operation<"/repos/{owner}/{repo}/tags/protection/{tag_protection_id}", "delete">; + /** + * @see https://docs.github.com/rest/repos/repos#disable-vulnerability-alerts + */ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#delete-a-team-legacy + */ + "DELETE /teams/{team_id}": Operation<"/teams/{team_id}", "delete">; + /** + * @see https://docs.github.com/rest/teams/discussions#delete-a-discussion-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/rest/teams/members#remove-team-member-legacy + */ + "DELETE /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user-legacy + */ + "DELETE /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team-legacy + */ + "DELETE /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team-legacy + */ + "DELETE /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/users/blocking#unblock-a-user + */ + "DELETE /user/blocks/{username}": Operation<"/user/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#delete-a-secret-for-the-authenticated-user + */ + "DELETE /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret + */ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#delete-a-codespace-for-the-authenticated-user + */ + "DELETE /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "delete">; + /** + * @see https://docs.github.com/rest/users/emails#delete-an-email-address-for-the-authenticated-user + */ + "DELETE /user/emails": Operation<"/user/emails", "delete">; + /** + * @see https://docs.github.com/rest/users/followers#unfollow-a-user + */ + "DELETE /user/following/{username}": Operation<"/user/following/{username}", "delete">; + /** + * @see https://docs.github.com/rest/users/gpg-keys#delete-a-gpg-key-for-the-authenticated-user + */ + "DELETE /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "delete">; + /** + * @see https://docs.github.com/rest/apps/installations#remove-a-repository-from-an-app-installation + */ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/interactions/user#remove-interaction-restrictions-from-your-public-repositories + */ + "DELETE /user/interaction-limits": Operation<"/user/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/users/keys#delete-a-public-ssh-key-for-the-authenticated-user + */ + "DELETE /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/migrations/users#delete-a-user-migration-archive + */ + "DELETE /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "delete">; + /** + * @see https://docs.github.com/rest/migrations/users#unlock-a-user-repository + */ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/user/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-a-package-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-a-package-version-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/users/social-accounts#delete-social-accounts-for-the-authenticated-user + */ + "DELETE /user/social_accounts": Operation<"/user/social_accounts", "delete">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#delete-an-ssh-signing-key-for-the-authenticated-user + */ + "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}": Operation<"/user/ssh_signing_keys/{ssh_signing_key_id}", "delete">; + /** + * @see https://docs.github.com/rest/activity/starring#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/users/attestations#delete-attestations-by-subject-digest + */ + "DELETE /users/{username}/attestations/digest/{subject_digest}": Operation<"/users/{username}/attestations/digest/{subject_digest}", "delete">; + /** + * @see https://docs.github.com/rest/users/attestations#delete-attestations-by-id + */ + "DELETE /users/{username}/attestations/{attestation_id}": Operation<"/users/{username}/attestations/{attestation_id}", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-a-package-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-package-version-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/projects/items#delete-project-item-for-user + */ + "DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}": Operation<"/users/{username}/projectsV2/{project_number}/items/{item_id}", "delete">; + /** + * @see https://docs.github.com/rest/meta/meta#github-api-root + */ + "GET /": ReadonlyOperation<"/", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/global-advisories#list-global-security-advisories + */ + "GET /advisories": ReadonlyOperation<"/advisories", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/global-advisories#get-a-global-security-advisory + */ + "GET /advisories/{ghsa_id}": ReadonlyOperation<"/advisories/{ghsa_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-the-authenticated-app + */ + "GET /app": ReadonlyOperation<"/app", "get">; + /** + * @see https://docs.github.com/rest/apps/webhooks#get-a-webhook-configuration-for-an-app + */ + "GET /app/hook/config": ReadonlyOperation<"/app/hook/config", "get">; + /** + * @see https://docs.github.com/rest/apps/webhooks#list-deliveries-for-an-app-webhook + */ + "GET /app/hook/deliveries": ReadonlyOperation<"/app/hook/deliveries", "get">; + /** + * @see https://docs.github.com/rest/apps/webhooks#get-a-delivery-for-an-app-webhook + */ + "GET /app/hook/deliveries/{delivery_id}": ReadonlyOperation<"/app/hook/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#list-installation-requests-for-the-authenticated-app + */ + "GET /app/installation-requests": ReadonlyOperation<"/app/installation-requests", "get">; + /** + * @see https://docs.github.com/enterprise-server@3.9/rest/apps/apps#list-installations-for-the-authenticated-app + */ + "GET /app/installations": ReadonlyOperation<"/app/installations", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-an-installation-for-the-authenticated-app + */ + "GET /app/installations/{installation_id}": ReadonlyOperation<"/app/installations/{installation_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-an-app + */ + "GET /apps/{app_slug}": ReadonlyOperation<"/apps/{app_slug}", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#get-an-assignment + */ + "GET /assignments/{assignment_id}": ReadonlyOperation<"/assignments/{assignment_id}", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-accepted-assignments-for-an-assignment + */ + "GET /assignments/{assignment_id}/accepted_assignments": ReadonlyOperation<"/assignments/{assignment_id}/accepted_assignments", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#get-assignment-grades + */ + "GET /assignments/{assignment_id}/grades": ReadonlyOperation<"/assignments/{assignment_id}/grades", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-classrooms + */ + "GET /classrooms": ReadonlyOperation<"/classrooms", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#get-a-classroom + */ + "GET /classrooms/{classroom_id}": ReadonlyOperation<"/classrooms/{classroom_id}", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-assignments-for-a-classroom + */ + "GET /classrooms/{classroom_id}/assignments": ReadonlyOperation<"/classrooms/{classroom_id}/assignments", "get">; + /** + * @see https://docs.github.com/rest/codes-of-conduct/codes-of-conduct#get-all-codes-of-conduct + */ + "GET /codes_of_conduct": ReadonlyOperation<"/codes_of_conduct", "get">; + /** + * @see https://docs.github.com/rest/codes-of-conduct/codes-of-conduct#get-a-code-of-conduct + */ + "GET /codes_of_conduct/{key}": ReadonlyOperation<"/codes_of_conduct/{key}", "get">; + /** + * @see https://docs.github.com/rest/emojis/emojis#get-emojis + */ + "GET /emojis": ReadonlyOperation<"/emojis", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-code-security-configurations-for-an-enterprise + */ + "GET /enterprises/{enterprise}/code-security/configurations": ReadonlyOperation<"/enterprises/{enterprise}/code-security/configurations", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-default-code-security-configurations-for-an-enterprise + */ + "GET /enterprises/{enterprise}/code-security/configurations/defaults": ReadonlyOperation<"/enterprises/{enterprise}/code-security/configurations/defaults", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#retrieve-a-code-security-configuration-of-an-enterprise + */ + "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}": ReadonlyOperation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-repositories-associated-with-an-enterprise-code-security-configuration + */ + "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories": ReadonlyOperation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/dependabot/alerts": ReadonlyOperation<"/enterprises/{enterprise}/dependabot/alerts", "get">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-teams#list-enterprise-teams + */ + "GET /enterprises/{enterprise}/teams": ReadonlyOperation<"/enterprises/{enterprise}/teams", "get">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#list-members-in-an-enterprise-team + */ + "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships": ReadonlyOperation<"/enterprises/{enterprise}/teams/{enterprise-team}/memberships", "get">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#get-enterprise-team-membership + */ + "GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}": ReadonlyOperation<"/enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#get-organization-assignments + */ + "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations": ReadonlyOperation<"/enterprises/{enterprise}/teams/{enterprise-team}/organizations", "get">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#get-organization-assignment + */ + "GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}": ReadonlyOperation<"/enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}", "get">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-teams#get-an-enterprise-team + */ + "GET /enterprises/{enterprise}/teams/{team_slug}": ReadonlyOperation<"/enterprises/{enterprise}/teams/{team_slug}", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events + */ + "GET /events": ReadonlyOperation<"/events", "get">; + /** + * @see https://docs.github.com/rest/activity/feeds#get-feeds + */ + "GET /feeds": ReadonlyOperation<"/feeds", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-gists-for-the-authenticated-user + */ + "GET /gists": ReadonlyOperation<"/gists", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-public-gists + */ + "GET /gists/public": ReadonlyOperation<"/gists/public", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-starred-gists + */ + "GET /gists/starred": ReadonlyOperation<"/gists/starred", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#get-a-gist + */ + "GET /gists/{gist_id}": ReadonlyOperation<"/gists/{gist_id}", "get">; + /** + * @see https://docs.github.com/rest/gists/comments#list-gist-comments + */ + "GET /gists/{gist_id}/comments": ReadonlyOperation<"/gists/{gist_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/gists/comments#get-a-gist-comment + */ + "GET /gists/{gist_id}/comments/{comment_id}": ReadonlyOperation<"/gists/{gist_id}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-gist-commits + */ + "GET /gists/{gist_id}/commits": ReadonlyOperation<"/gists/{gist_id}/commits", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-gist-forks + */ + "GET /gists/{gist_id}/forks": ReadonlyOperation<"/gists/{gist_id}/forks", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#check-if-a-gist-is-starred + */ + "GET /gists/{gist_id}/star": ReadonlyOperation<"/gists/{gist_id}/star", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#get-a-gist-revision + */ + "GET /gists/{gist_id}/{sha}": ReadonlyOperation<"/gists/{gist_id}/{sha}", "get">; + /** + * @see https://docs.github.com/rest/gitignore/gitignore#get-all-gitignore-templates + */ + "GET /gitignore/templates": ReadonlyOperation<"/gitignore/templates", "get">; + /** + * @see https://docs.github.com/rest/gitignore/gitignore#get-a-gitignore-template + */ + "GET /gitignore/templates/{name}": ReadonlyOperation<"/gitignore/templates/{name}", "get">; + /** + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-app-installation + */ + "GET /installation/repositories": ReadonlyOperation<"/installation/repositories", "get">; + /** + * @see https://docs.github.com/rest/issues/issues#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": ReadonlyOperation<"/issues", "get">; + /** + * @see https://docs.github.com/rest/licenses/licenses#get-all-commonly-used-licenses + */ + "GET /licenses": ReadonlyOperation<"/licenses", "get">; + /** + * @see https://docs.github.com/rest/licenses/licenses#get-a-license + */ + "GET /licenses/{license}": ReadonlyOperation<"/licenses/{license}", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/{account_id}": ReadonlyOperation<"/marketplace_listing/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-plans + */ + "GET /marketplace_listing/plans": ReadonlyOperation<"/marketplace_listing/plans", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/{plan_id}/accounts": ReadonlyOperation<"/marketplace_listing/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/{account_id}": ReadonlyOperation<"/marketplace_listing/stubbed/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": ReadonlyOperation<"/marketplace_listing/stubbed/plans", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": ReadonlyOperation<"/marketplace_listing/stubbed/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/rest/meta/meta#get-apiname-meta-information + */ + "GET /meta": ReadonlyOperation<"/meta", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-network-of-repositories + */ + "GET /networks/{owner}/{repo}/events": ReadonlyOperation<"/networks/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user + */ + "GET /notifications": ReadonlyOperation<"/notifications", "get">; + /** + * @see https://docs.github.com/rest/activity/notifications#get-a-thread + */ + "GET /notifications/threads/{thread_id}": ReadonlyOperation<"/notifications/threads/{thread_id}", "get">; + /** + * @see https://docs.github.com/rest/activity/notifications#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/{thread_id}/subscription": ReadonlyOperation<"/notifications/threads/{thread_id}/subscription", "get">; + /** + * @see https://docs.github.com/rest/meta/meta#get-octocat + */ + "GET /octocat": ReadonlyOperation<"/octocat", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations + */ + "GET /organizations": ReadonlyOperation<"/organizations", "get">; + /** + * @see https://docs.github.com/rest/dependabot/repository-access#lists-the-repositories-dependabot-can-access-in-an-organization + */ + "GET /organizations/{org}/dependabot/repository-access": ReadonlyOperation<"/organizations/{org}/dependabot/repository-access", "get">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties-for-orgs#get-all-custom-property-values-for-an-organization + */ + "GET /organizations/{org}/org-properties/values": ReadonlyOperation<"/organizations/{org}/org-properties/values", "get">; + /** + * @see https://docs.github.com/rest/billing/enhanced-billing#get-billing-premium-request-usage-report-for-an-organization + */ + "GET /organizations/{org}/settings/billing/premium_request/usage": ReadonlyOperation<"/organizations/{org}/settings/billing/premium_request/usage", "get">; + /** + * @see https://docs.github.com/rest/billing/enhanced-billing#get-billing-usage-report-for-an-organization + */ + "GET /organizations/{org}/settings/billing/usage": ReadonlyOperation<"/organizations/{org}/settings/billing/usage", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization + * @deprecated "org_id" is now "org" + */ + "GET /orgs/{org_id}/codespaces": ReadonlyOperation<"/orgs/{org}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#get-an-organization + */ + "GET /orgs/{org}": ReadonlyOperation<"/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage": ReadonlyOperation<"/orgs/{org}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/actions/cache#list-repositories-with-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage-by-repository": ReadonlyOperation<"/orgs/{org}/actions/cache/usage-by-repository", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#list-github-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners": ReadonlyOperation<"/orgs/{org}/actions/hosted-runners", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#list-custom-images-for-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/images/custom": ReadonlyOperation<"/orgs/{org}/actions/hosted-runners/images/custom", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-a-custom-image-definition-for-github-actions-hosted-runners + */ + "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}": ReadonlyOperation<"/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#list-image-versions-of-a-custom-image-for-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions": ReadonlyOperation<"/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-an-image-version-of-a-custom-image-for-github-actions-hosted-runners + */ + "GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}": ReadonlyOperation<"/orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-github-owned-images-for-github-hosted-runners-in-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/images/github-owned": ReadonlyOperation<"/orgs/{org}/actions/hosted-runners/images/github-owned", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-partner-images-for-github-hosted-runners-in-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/images/partner": ReadonlyOperation<"/orgs/{org}/actions/hosted-runners/images/partner", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-limits-on-github-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/limits": ReadonlyOperation<"/orgs/{org}/actions/hosted-runners/limits", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-github-hosted-runners-machine-specs-for-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/machine-sizes": ReadonlyOperation<"/orgs/{org}/actions/hosted-runners/machine-sizes", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-platforms-for-github-hosted-runners-in-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/platforms": ReadonlyOperation<"/orgs/{org}/actions/hosted-runners/platforms", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-a-github-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}": ReadonlyOperation<"/orgs/{org}/actions/hosted-runners/{hosted_runner_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-an-organization + */ + "GET /orgs/{org}/actions/oidc/customization/sub": ReadonlyOperation<"/orgs/{org}/actions/oidc/customization/sub", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions": ReadonlyOperation<"/orgs/{org}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-artifact-and-log-retention-settings-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/artifact-and-log-retention": ReadonlyOperation<"/orgs/{org}/actions/permissions/artifact-and-log-retention", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/fork-pr-contributor-approval": ReadonlyOperation<"/orgs/{org}/actions/permissions/fork-pr-contributor-approval", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-private-repo-fork-pr-workflow-settings-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/fork-pr-workflows-private-repos": ReadonlyOperation<"/orgs/{org}/actions/permissions/fork-pr-workflows-private-repos", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#list-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "GET /orgs/{org}/actions/permissions/repositories": ReadonlyOperation<"/orgs/{org}/actions/permissions/repositories", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/selected-actions": ReadonlyOperation<"/orgs/{org}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-self-hosted-runners-settings-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/self-hosted-runners": ReadonlyOperation<"/orgs/{org}/actions/permissions/self-hosted-runners", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#list-repositories-allowed-to-use-self-hosted-runners-in-an-organization + */ + "GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories": ReadonlyOperation<"/orgs/{org}/actions/permissions/self-hosted-runners/repositories", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/workflow": ReadonlyOperation<"/orgs/{org}/actions/permissions/workflow", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-self-hosted-runner-groups-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups": ReadonlyOperation<"/orgs/{org}/actions/runner-groups", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#get-a-self-hosted-runner-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}": ReadonlyOperation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-github-hosted-runners-in-a-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners": ReadonlyOperation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": ReadonlyOperation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-self-hosted-runners-in-a-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": ReadonlyOperation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/runners": ReadonlyOperation<"/orgs/{org}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-an-organization + */ + "GET /orgs/{org}/actions/runners/downloads": ReadonlyOperation<"/orgs/{org}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/runners/{runner_id}": ReadonlyOperation<"/orgs/{org}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/runners/{runner_id}/labels": ReadonlyOperation<"/orgs/{org}/actions/runners/{runner_id}/labels", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#list-organization-secrets + */ + "GET /orgs/{org}/actions/secrets": ReadonlyOperation<"/orgs/{org}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-an-organization-public-key + */ + "GET /orgs/{org}/actions/secrets/public-key": ReadonlyOperation<"/orgs/{org}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}": ReadonlyOperation<"/orgs/{org}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": ReadonlyOperation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#list-organization-variables + */ + "GET /orgs/{org}/actions/variables": ReadonlyOperation<"/orgs/{org}/actions/variables", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#get-an-organization-variable + */ + "GET /orgs/{org}/actions/variables/{name}": ReadonlyOperation<"/orgs/{org}/actions/variables/{name}", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#list-selected-repositories-for-an-organization-variable + */ + "GET /orgs/{org}/actions/variables/{name}/repositories": ReadonlyOperation<"/orgs/{org}/actions/variables/{name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/artifact-metadata#list-artifact-storage-records + */ + "GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records": ReadonlyOperation<"/orgs/{org}/artifacts/{subject_digest}/metadata/storage-records", "get">; + /** + * @see https://docs.github.com/rest/orgs/attestations#list-attestation-repositories + */ + "GET /orgs/{org}/attestations/repositories": ReadonlyOperation<"/orgs/{org}/attestations/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/attestations#list-attestations + */ + "GET /orgs/{org}/attestations/{subject_digest}": ReadonlyOperation<"/orgs/{org}/attestations/{subject_digest}", "get">; + /** + * @see https://docs.github.com/rest/orgs/blocking#list-users-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks": ReadonlyOperation<"/orgs/{org}/blocks", "get">; + /** + * @see https://docs.github.com/rest/orgs/blocking#check-if-a-user-is-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks/{username}": ReadonlyOperation<"/orgs/{org}/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/campaigns/campaigns#list-campaigns-for-an-organization + */ + "GET /orgs/{org}/campaigns": ReadonlyOperation<"/orgs/{org}/campaigns", "get">; + /** + * @see https://docs.github.com/rest/campaigns/campaigns#get-a-campaign-for-an-organization + */ + "GET /orgs/{org}/campaigns/{campaign_number}": ReadonlyOperation<"/orgs/{org}/campaigns/{campaign_number}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/code-scanning/alerts": ReadonlyOperation<"/orgs/{org}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-code-security-configurations-for-an-organization + */ + "GET /orgs/{org}/code-security/configurations": ReadonlyOperation<"/orgs/{org}/code-security/configurations", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-default-code-security-configurations + */ + "GET /orgs/{org}/code-security/configurations/defaults": ReadonlyOperation<"/orgs/{org}/code-security/configurations/defaults", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-a-code-security-configuration + */ + "GET /orgs/{org}/code-security/configurations/{configuration_id}": ReadonlyOperation<"/orgs/{org}/code-security/configurations/{configuration_id}", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-repositories-associated-with-a-code-security-configuration + */ + "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories": ReadonlyOperation<"/orgs/{org}/code-security/configurations/{configuration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization + */ + "GET /orgs/{org}/codespaces": ReadonlyOperation<"/orgs/{org}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-organization-secrets + */ + "GET /orgs/{org}/codespaces/secrets": ReadonlyOperation<"/orgs/{org}/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key + */ + "GET /orgs/{org}/codespaces/secrets/public-key": ReadonlyOperation<"/orgs/{org}/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-secret + */ + "GET /orgs/{org}/codespaces/secrets/{secret_name}": ReadonlyOperation<"/orgs/{org}/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories": ReadonlyOperation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#get-copilot-seat-information-and-settings-for-an-organization + */ + "GET /orgs/{org}/copilot/billing": ReadonlyOperation<"/orgs/{org}/copilot/billing", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#list-all-copilot-seat-assignments-for-an-organization + */ + "GET /orgs/{org}/copilot/billing/seats": ReadonlyOperation<"/orgs/{org}/copilot/billing/seats", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-metrics#get-copilot-metrics-for-an-organization + */ + "GET /orgs/{org}/copilot/metrics": ReadonlyOperation<"/orgs/{org}/copilot/metrics", "get">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-organization + */ + "GET /orgs/{org}/dependabot/alerts": ReadonlyOperation<"/orgs/{org}/dependabot/alerts", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-organization-secrets + */ + "GET /orgs/{org}/dependabot/secrets": ReadonlyOperation<"/orgs/{org}/dependabot/secrets", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#get-an-organization-public-key + */ + "GET /orgs/{org}/dependabot/secrets/public-key": ReadonlyOperation<"/orgs/{org}/dependabot/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#get-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}": ReadonlyOperation<"/orgs/{org}/dependabot/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": ReadonlyOperation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-organization + */ + "GET /orgs/{org}/docker/conflicts": ReadonlyOperation<"/orgs/{org}/docker/conflicts", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-public-organization-events + */ + "GET /orgs/{org}/events": ReadonlyOperation<"/orgs/{org}/events", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-failed-organization-invitations + */ + "GET /orgs/{org}/failed_invitations": ReadonlyOperation<"/orgs/{org}/failed_invitations", "get">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#list-organization-webhooks + */ + "GET /orgs/{org}/hooks": ReadonlyOperation<"/orgs/{org}/hooks", "get">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#get-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}": ReadonlyOperation<"/orgs/{org}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization + */ + "GET /orgs/{org}/hooks/{hook_id}/config": ReadonlyOperation<"/orgs/{org}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries": ReadonlyOperation<"/orgs/{org}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#get-a-webhook-delivery-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": ReadonlyOperation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-route-stats-by-actor + */ + "GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}": ReadonlyOperation<"/orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-subject-stats + */ + "GET /orgs/{org}/insights/api/subject-stats": ReadonlyOperation<"/orgs/{org}/insights/api/subject-stats", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-summary-stats + */ + "GET /orgs/{org}/insights/api/summary-stats": ReadonlyOperation<"/orgs/{org}/insights/api/summary-stats", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-summary-stats-by-user + */ + "GET /orgs/{org}/insights/api/summary-stats/users/{user_id}": ReadonlyOperation<"/orgs/{org}/insights/api/summary-stats/users/{user_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-summary-stats-by-actor + */ + "GET /orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}": ReadonlyOperation<"/orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-time-stats + */ + "GET /orgs/{org}/insights/api/time-stats": ReadonlyOperation<"/orgs/{org}/insights/api/time-stats", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-time-stats-by-user + */ + "GET /orgs/{org}/insights/api/time-stats/users/{user_id}": ReadonlyOperation<"/orgs/{org}/insights/api/time-stats/users/{user_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-time-stats-by-actor + */ + "GET /orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}": ReadonlyOperation<"/orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-user-stats + */ + "GET /orgs/{org}/insights/api/user-stats/{user_id}": ReadonlyOperation<"/orgs/{org}/insights/api/user-stats/{user_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-an-organization-installation-for-the-authenticated-app + */ + "GET /orgs/{org}/installation": ReadonlyOperation<"/orgs/{org}/installation", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-app-installations-for-an-organization + */ + "GET /orgs/{org}/installations": ReadonlyOperation<"/orgs/{org}/installations", "get">; + /** + * @see https://docs.github.com/rest/interactions/orgs#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/{org}/interaction-limits": ReadonlyOperation<"/orgs/{org}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-pending-organization-invitations + */ + "GET /orgs/{org}/invitations": ReadonlyOperation<"/orgs/{org}/invitations", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-invitation-teams + */ + "GET /orgs/{org}/invitations/{invitation_id}/teams": ReadonlyOperation<"/orgs/{org}/invitations/{invitation_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/orgs/issue-types#list-issue-types-for-an-organization + */ + "GET /orgs/{org}/issue-types": ReadonlyOperation<"/orgs/{org}/issue-types", "get">; + /** + * @see https://docs.github.com/rest/issues/issues#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/{org}/issues": ReadonlyOperation<"/orgs/{org}/issues", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-members + */ + "GET /orgs/{org}/members": ReadonlyOperation<"/orgs/{org}/members", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#check-organization-membership-for-a-user + */ + "GET /orgs/{org}/members/{username}": ReadonlyOperation<"/orgs/{org}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-a-user-in-organization + */ + "GET /orgs/{org}/members/{username}/codespaces": ReadonlyOperation<"/orgs/{org}/members/{username}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#get-copilot-seat-assignment-details-for-a-user + */ + "GET /orgs/{org}/members/{username}/copilot": ReadonlyOperation<"/orgs/{org}/members/{username}/copilot", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user + */ + "GET /orgs/{org}/memberships/{username}": ReadonlyOperation<"/orgs/{org}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/migrations/orgs#list-organization-migrations + */ + "GET /orgs/{org}/migrations": ReadonlyOperation<"/orgs/{org}/migrations", "get">; + /** + * @see https://docs.github.com/rest/migrations/orgs#get-an-organization-migration-status + */ + "GET /orgs/{org}/migrations/{migration_id}": ReadonlyOperation<"/orgs/{org}/migrations/{migration_id}", "get">; + /** + * @see https://docs.github.com/rest/migrations/orgs#download-an-organization-migration-archive + */ + "GET /orgs/{org}/migrations/{migration_id}/archive": ReadonlyOperation<"/orgs/{org}/migrations/{migration_id}/archive", "get">; + /** + * @see https://docs.github.com/rest/migrations/orgs#list-repositories-in-an-organization-migration + */ + "GET /orgs/{org}/migrations/{migration_id}/repositories": ReadonlyOperation<"/orgs/{org}/migrations/{migration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#list-organization-fine-grained-permissions-for-an-organization + */ + "GET /orgs/{org}/organization-fine-grained-permissions": ReadonlyOperation<"/orgs/{org}/organization-fine-grained-permissions", "get">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#get-all-organization-roles-for-an-organization + */ + "GET /orgs/{org}/organization-roles": ReadonlyOperation<"/orgs/{org}/organization-roles", "get">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#get-an-organization-role + */ + "GET /orgs/{org}/organization-roles/{role_id}": ReadonlyOperation<"/orgs/{org}/organization-roles/{role_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#list-teams-that-are-assigned-to-an-organization-role + */ + "GET /orgs/{org}/organization-roles/{role_id}/teams": ReadonlyOperation<"/orgs/{org}/organization-roles/{role_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#list-users-that-are-assigned-to-an-organization-role + */ + "GET /orgs/{org}/organization-roles/{role_id}/users": ReadonlyOperation<"/orgs/{org}/organization-roles/{role_id}/users", "get">; + /** + * @see https://docs.github.com/rest/orgs/outside-collaborators#list-outside-collaborators-for-an-organization + */ + "GET /orgs/{org}/outside_collaborators": ReadonlyOperation<"/orgs/{org}/outside_collaborators", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-an-organization + */ + "GET /orgs/{org}/packages": ReadonlyOperation<"/orgs/{org}/packages", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}": ReadonlyOperation<"/orgs/{org}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": ReadonlyOperation<"/orgs/{org}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": ReadonlyOperation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + */ + "GET /orgs/{org}/personal-access-token-requests": ReadonlyOperation<"/orgs/{org}/personal-access-token-requests", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-requested-to-be-accessed-by-a-fine-grained-personal-access-token + */ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": ReadonlyOperation<"/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-fine-grained-personal-access-tokens-with-access-to-organization-resources + */ + "GET /orgs/{org}/personal-access-tokens": ReadonlyOperation<"/orgs/{org}/personal-access-tokens", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-a-fine-grained-personal-access-token-has-access-to + */ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories": ReadonlyOperation<"/orgs/{org}/personal-access-tokens/{pat_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#list-private-registries-for-an-organization + */ + "GET /orgs/{org}/private-registries": ReadonlyOperation<"/orgs/{org}/private-registries", "get">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization + */ + "GET /orgs/{org}/private-registries/public-key": ReadonlyOperation<"/orgs/{org}/private-registries/public-key", "get">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization + */ + "GET /orgs/{org}/private-registries/{secret_name}": ReadonlyOperation<"/orgs/{org}/private-registries/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/projects-classic/projects#list-organization-projects + */ + "GET /orgs/{org}/projects": ReadonlyOperation<"/orgs/{org}/projects", "get">; + /** + * @see https://docs.github.com/rest/projects/projects#list-projects-for-organization + */ + "GET /orgs/{org}/projectsV2": ReadonlyOperation<"/orgs/{org}/projectsV2", "get">; + /** + * @see https://docs.github.com/rest/projects/projects#get-project-for-organization + */ + "GET /orgs/{org}/projectsV2/{project_number}": ReadonlyOperation<"/orgs/{org}/projectsV2/{project_number}", "get">; + /** + * @see https://docs.github.com/rest/projects/fields#list-project-fields-for-organization + */ + "GET /orgs/{org}/projectsV2/{project_number}/fields": ReadonlyOperation<"/orgs/{org}/projectsV2/{project_number}/fields", "get">; + /** + * @see https://docs.github.com/rest/projects/fields#get-project-field-for-organization + */ + "GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}": ReadonlyOperation<"/orgs/{org}/projectsV2/{project_number}/fields/{field_id}", "get">; + /** + * @see https://docs.github.com/rest/projects/items#list-items-for-an-organization-owned-project + */ + "GET /orgs/{org}/projectsV2/{project_number}/items": ReadonlyOperation<"/orgs/{org}/projectsV2/{project_number}/items", "get">; + /** + * @see https://docs.github.com/rest/projects/items#get-an-item-for-an-organization-owned-project + */ + "GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}": ReadonlyOperation<"/orgs/{org}/projectsV2/{project_number}/items/{item_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#get-all-custom-properties-for-an-organization + */ + "GET /orgs/{org}/properties/schema": ReadonlyOperation<"/orgs/{org}/properties/schema", "get">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#get-a-custom-property-for-an-organization + */ + "GET /orgs/{org}/properties/schema/{custom_property_name}": ReadonlyOperation<"/orgs/{org}/properties/schema/{custom_property_name}", "get">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#list-custom-property-values-for-organization-repositories + */ + "GET /orgs/{org}/properties/values": ReadonlyOperation<"/orgs/{org}/properties/values", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-public-organization-members + */ + "GET /orgs/{org}/public_members": ReadonlyOperation<"/orgs/{org}/public_members", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#check-public-organization-membership-for-a-user + */ + "GET /orgs/{org}/public_members/{username}": ReadonlyOperation<"/orgs/{org}/public_members/{username}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-organization-repositories + */ + "GET /orgs/{org}/repos": ReadonlyOperation<"/orgs/{org}/repos", "get">; + /** + * @see https://docs.github.com/rest/orgs/rules#get-all-organization-repository-rulesets + */ + "GET /orgs/{org}/rulesets": ReadonlyOperation<"/orgs/{org}/rulesets", "get">; + /** + * @see https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites + */ + "GET /orgs/{org}/rulesets/rule-suites": ReadonlyOperation<"/orgs/{org}/rulesets/rule-suites", "get">; + /** + * @see https://docs.github.com/rest/orgs/rule-suites#get-an-organization-rule-suite + */ + "GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}": ReadonlyOperation<"/orgs/{org}/rulesets/rule-suites/{rule_suite_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/rules#get-an-organization-repository-ruleset + */ + "GET /orgs/{org}/rulesets/{ruleset_id}": ReadonlyOperation<"/orgs/{org}/rulesets/{ruleset_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/rules#get-organization-ruleset-history + */ + "GET /orgs/{org}/rulesets/{ruleset_id}/history": ReadonlyOperation<"/orgs/{org}/rulesets/{ruleset_id}/history", "get">; + /** + * @see https://docs.github.com/rest/orgs/rules#get-organization-ruleset-version + */ + "GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}": ReadonlyOperation<"/orgs/{org}/rulesets/{ruleset_id}/history/{version_id}", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/secret-scanning/alerts": ReadonlyOperation<"/orgs/{org}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/push-protection#list-organization-pattern-configurations + */ + "GET /orgs/{org}/secret-scanning/pattern-configurations": ReadonlyOperation<"/orgs/{org}/secret-scanning/pattern-configurations", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories-for-an-organization + */ + "GET /orgs/{org}/security-advisories": ReadonlyOperation<"/orgs/{org}/security-advisories", "get">; + /** + * @see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams + */ + "GET /orgs/{org}/security-managers": ReadonlyOperation<"/orgs/{org}/security-managers", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-github-actions-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/actions": ReadonlyOperation<"/orgs/{org}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-github-packages-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/packages": ReadonlyOperation<"/orgs/{org}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-shared-storage-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/shared-storage": ReadonlyOperation<"/orgs/{org}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#get-immutable-releases-settings-for-an-organization + */ + "GET /orgs/{org}/settings/immutable-releases": ReadonlyOperation<"/orgs/{org}/settings/immutable-releases", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-selected-repositories-for-immutable-releases-enforcement + */ + "GET /orgs/{org}/settings/immutable-releases/repositories": ReadonlyOperation<"/orgs/{org}/settings/immutable-releases/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#list-hosted-compute-network-configurations-for-an-organization + */ + "GET /orgs/{org}/settings/network-configurations": ReadonlyOperation<"/orgs/{org}/settings/network-configurations", "get">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#get-a-hosted-compute-network-configuration-for-an-organization + */ + "GET /orgs/{org}/settings/network-configurations/{network_configuration_id}": ReadonlyOperation<"/orgs/{org}/settings/network-configurations/{network_configuration_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#get-a-hosted-compute-network-settings-resource-for-an-organization + */ + "GET /orgs/{org}/settings/network-settings/{network_settings_id}": ReadonlyOperation<"/orgs/{org}/settings/network-settings/{network_settings_id}", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-metrics#get-copilot-metrics-for-a-team + */ + "GET /orgs/{org}/team/{team_slug}/copilot/metrics": ReadonlyOperation<"/orgs/{org}/team/{team_slug}/copilot/metrics", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-teams + */ + "GET /orgs/{org}/teams": ReadonlyOperation<"/orgs/{org}/teams", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#get-a-team-by-name + */ + "GET /orgs/{org}/teams/{team_slug}": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}", "get">; + /** + * @see https://docs.github.com/rest/teams/discussions#list-discussions + */ + "GET /orgs/{org}/teams/{team_slug}/discussions": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/discussions", "get">; + /** + * @see https://docs.github.com/rest/teams/discussions#get-a-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations + */ + "GET /orgs/{org}/teams/{team_slug}/invitations": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/invitations", "get">; + /** + * @see https://docs.github.com/rest/teams/members#list-team-members + */ + "GET /orgs/{org}/teams/{team_slug}/members": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/members", "get">; + /** + * @see https://docs.github.com/rest/teams/members#get-team-membership-for-a-user + */ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-projects + */ + "GET /orgs/{org}/teams/{team_slug}/projects": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/projects", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project + */ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-repositories + */ + "GET /orgs/{org}/teams/{team_slug}/repos": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/repos", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository + */ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-child-teams + */ + "GET /orgs/{org}/teams/{team_slug}/teams": ReadonlyOperation<"/orgs/{org}/teams/{team_slug}/teams", "get">; + /** + * @see https://docs.github.com/rest/projects-classic/columns#get-a-project-column + */ + "GET /projects/columns/{column_id}": ReadonlyOperation<"/projects/columns/{column_id}", "get">; + /** + * @see https://docs.github.com/rest/projects-classic/projects#get-a-project + */ + "GET /projects/{project_id}": ReadonlyOperation<"/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/projects-classic/collaborators#list-project-collaborators + */ + "GET /projects/{project_id}/collaborators": ReadonlyOperation<"/projects/{project_id}/collaborators", "get">; + /** + * @see https://docs.github.com/rest/projects-classic/collaborators#get-project-permission-for-a-user + */ + "GET /projects/{project_id}/collaborators/{username}/permission": ReadonlyOperation<"/projects/{project_id}/collaborators/{username}/permission", "get">; + /** + * @see https://docs.github.com/rest/rate-limit/rate-limit#get-rate-limit-status-for-the-authenticated-user + */ + "GET /rate_limit": ReadonlyOperation<"/rate_limit", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#get-a-repository + */ + "GET /repos/{owner}/{repo}": ReadonlyOperation<"/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/actions/artifacts#list-artifacts-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/artifacts": ReadonlyOperation<"/repos/{owner}/{repo}/actions/artifacts", "get">; + /** + * @see https://docs.github.com/rest/actions/artifacts#get-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": ReadonlyOperation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/artifacts#download-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": ReadonlyOperation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", "get">; + /** + * @see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/cache/usage": ReadonlyOperation<"/repos/{owner}/{repo}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/caches": ReadonlyOperation<"/repos/{owner}/{repo}/actions/caches", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#get-a-job-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}": ReadonlyOperation<"/repos/{owner}/{repo}/actions/jobs/{job_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#download-job-logs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs": ReadonlyOperation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub": ReadonlyOperation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#list-repository-organization-secrets + */ + "GET /repos/{owner}/{repo}/actions/organization-secrets": ReadonlyOperation<"/repos/{owner}/{repo}/actions/organization-secrets", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#list-repository-organization-variables + */ + "GET /repos/{owner}/{repo}/actions/organization-variables": ReadonlyOperation<"/repos/{owner}/{repo}/actions/organization-variables", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions": ReadonlyOperation<"/repos/{owner}/{repo}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-the-level-of-access-for-workflows-outside-of-the-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/access": ReadonlyOperation<"/repos/{owner}/{repo}/actions/permissions/access", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-artifact-and-log-retention-settings-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/artifact-and-log-retention": ReadonlyOperation<"/repos/{owner}/{repo}/actions/permissions/artifact-and-log-retention", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval": ReadonlyOperation<"/repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-private-repo-fork-pr-workflow-settings-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/fork-pr-workflows-private-repos": ReadonlyOperation<"/repos/{owner}/{repo}/actions/permissions/fork-pr-workflows-private-repos", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions": ReadonlyOperation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/workflow": ReadonlyOperation<"/repos/{owner}/{repo}/actions/permissions/workflow", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/downloads": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runs": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#get-the-review-history-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approvals", "get">; + /** + * @see https://docs.github.com/rest/actions/artifacts#list-workflow-run-artifacts + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-attempt-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#get-pending-deployments-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#get-workflow-run-usage + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing": ReadonlyOperation<"/repos/{owner}/{repo}/actions/runs/{run_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/actions/secrets": ReadonlyOperation<"/repos/{owner}/{repo}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/actions/secrets/public-key": ReadonlyOperation<"/repos/{owner}/{repo}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/actions/secrets/{secret_name}": ReadonlyOperation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#list-repository-variables + */ + "GET /repos/{owner}/{repo}/actions/variables": ReadonlyOperation<"/repos/{owner}/{repo}/actions/variables", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#get-a-repository-variable + */ + "GET /repos/{owner}/{repo}/actions/variables/{name}": ReadonlyOperation<"/repos/{owner}/{repo}/actions/variables/{name}", "get">; + /** + * @see https://docs.github.com/rest/actions/workflows#list-repository-workflows + */ + "GET /repos/{owner}/{repo}/actions/workflows": ReadonlyOperation<"/repos/{owner}/{repo}/actions/workflows", "get">; + /** + * @see https://docs.github.com/rest/actions/workflows#get-a-workflow + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}": ReadonlyOperation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-workflow + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": ReadonlyOperation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflows#get-workflow-usage + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": ReadonlyOperation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-activities + */ + "GET /repos/{owner}/{repo}/activity": ReadonlyOperation<"/repos/{owner}/{repo}/activity", "get">; + /** + * @see https://docs.github.com/rest/issues/assignees#list-assignees + */ + "GET /repos/{owner}/{repo}/assignees": ReadonlyOperation<"/repos/{owner}/{repo}/assignees", "get">; + /** + * @see https://docs.github.com/rest/issues/assignees#check-if-a-user-can-be-assigned + */ + "GET /repos/{owner}/{repo}/assignees/{assignee}": ReadonlyOperation<"/repos/{owner}/{repo}/assignees/{assignee}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-attestations + */ + "GET /repos/{owner}/{repo}/attestations/{subject_digest}": ReadonlyOperation<"/repos/{owner}/{repo}/attestations/{subject_digest}", "get">; + /** + * @see https://docs.github.com/rest/repos/autolinks#get-all-autolinks-of-a-repository + */ + "GET /repos/{owner}/{repo}/autolinks": ReadonlyOperation<"/repos/{owner}/{repo}/autolinks", "get">; + /** + * @see https://docs.github.com/rest/repos/autolinks#get-an-autolink-reference-of-a-repository + */ + "GET /repos/{owner}/{repo}/autolinks/{autolink_id}": ReadonlyOperation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#check-if-dependabot-security-updates-are-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/automated-security-fixes": ReadonlyOperation<"/repos/{owner}/{repo}/automated-security-fixes", "get">; + /** + * @see https://docs.github.com/rest/branches/branches#list-branches + */ + "GET /repos/{owner}/{repo}/branches": ReadonlyOperation<"/repos/{owner}/{repo}/branches", "get">; + /** + * @see https://docs.github.com/rest/branches/branches#get-a-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}": ReadonlyOperation<"/repos/{owner}/{repo}/branches/{branch}", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection": ReadonlyOperation<"/repos/{owner}/{repo}/branches/{branch}/protection", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-admin-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": ReadonlyOperation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-pull-request-review-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": ReadonlyOperation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-commit-signature-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": ReadonlyOperation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-status-checks-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": ReadonlyOperation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-all-status-check-contexts + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": ReadonlyOperation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-access-restrictions + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": ReadonlyOperation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-apps-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": ReadonlyOperation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-teams-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": ReadonlyOperation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-users-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": ReadonlyOperation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "get">; + /** + * @see https://docs.github.com/rest/checks/runs#get-a-check-run + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}": ReadonlyOperation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "get">; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-run-annotations + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": ReadonlyOperation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "get">; + /** + * @see https://docs.github.com/rest/checks/suites#get-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}": ReadonlyOperation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}", "get">; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-runs-in-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": ReadonlyOperation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-alert + * @deprecated "alert_id" is now "alert_number" + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-the-status-of-an-autofix-for-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-instances-of-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/analyses", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-codeql-databases-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/codeql/databases", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-codeql-database-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-the-summary-of-a-codeql-variant-analysis + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-the-analysis-status-of-a-repository-in-a-codeql-variant-analysis + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-default-setup-configuration + */ + "GET /repos/{owner}/{repo}/code-scanning/default-setup": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/default-setup", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload + */ + "GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": ReadonlyOperation<"/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-the-code-security-configuration-associated-with-a-repository + */ + "GET /repos/{owner}/{repo}/code-security-configuration": ReadonlyOperation<"/repos/{owner}/{repo}/code-security-configuration", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-codeowners-errors + */ + "GET /repos/{owner}/{repo}/codeowners/errors": ReadonlyOperation<"/repos/{owner}/{repo}/codeowners/errors", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces": ReadonlyOperation<"/repos/{owner}/{repo}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-devcontainer-configurations-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces/devcontainers": ReadonlyOperation<"/repos/{owner}/{repo}/codespaces/devcontainers", "get">; + /** + * @see https://docs.github.com/rest/codespaces/machines#list-available-machine-types-for-a-repository + */ + "GET /repos/{owner}/{repo}/codespaces/machines": ReadonlyOperation<"/repos/{owner}/{repo}/codespaces/machines", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#get-default-attributes-for-a-codespace + */ + "GET /repos/{owner}/{repo}/codespaces/new": ReadonlyOperation<"/repos/{owner}/{repo}/codespaces/new", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#check-if-permissions-defined-by-a-devcontainer-have-been-accepted-by-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces/permissions_check": ReadonlyOperation<"/repos/{owner}/{repo}/codespaces/permissions_check", "get">; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/codespaces/secrets": ReadonlyOperation<"/repos/{owner}/{repo}/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key": ReadonlyOperation<"/repos/{owner}/{repo}/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": ReadonlyOperation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#list-repository-collaborators + */ + "GET /repos/{owner}/{repo}/collaborators": ReadonlyOperation<"/repos/{owner}/{repo}/collaborators", "get">; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#check-if-a-user-is-a-repository-collaborator + */ + "GET /repos/{owner}/{repo}/collaborators/{username}": ReadonlyOperation<"/repos/{owner}/{repo}/collaborators/{username}", "get">; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#get-repository-permissions-for-a-user + */ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission": ReadonlyOperation<"/repos/{owner}/{repo}/collaborators/{username}/permission", "get">; + /** + * @see https://docs.github.com/rest/commits/comments#list-commit-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/comments": ReadonlyOperation<"/repos/{owner}/{repo}/comments", "get">; + /** + * @see https://docs.github.com/rest/commits/comments#get-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}": ReadonlyOperation<"/repos/{owner}/{repo}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": ReadonlyOperation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/commits/commits#list-commits + */ + "GET /repos/{owner}/{repo}/commits": ReadonlyOperation<"/repos/{owner}/{repo}/commits", "get">; + /** + * @see https://docs.github.com/rest/commits/commits#list-branches-for-head-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": ReadonlyOperation<"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "get">; + /** + * @see https://docs.github.com/rest/commits/comments#list-commit-comments + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": ReadonlyOperation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "get">; + /** + * @see https://docs.github.com/rest/commits/commits#list-pull-requests-associated-with-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": ReadonlyOperation<"/repos/{owner}/{repo}/commits/{commit_sha}/pulls", "get">; + /** + * @see https://docs.github.com/rest/commits/commits#get-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{ref}": ReadonlyOperation<"/repos/{owner}/{repo}/commits/{ref}", "get">; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-runs-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": ReadonlyOperation<"/repos/{owner}/{repo}/commits/{ref}/check-runs", "get">; + /** + * @see https://docs.github.com/rest/checks/suites#list-check-suites-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": ReadonlyOperation<"/repos/{owner}/{repo}/commits/{ref}/check-suites", "get">; + /** + * @see https://docs.github.com/rest/commits/statuses#get-the-combined-status-for-a-specific-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/status": ReadonlyOperation<"/repos/{owner}/{repo}/commits/{ref}/status", "get">; + /** + * @see https://docs.github.com/rest/commits/statuses#list-commit-statuses-for-a-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses": ReadonlyOperation<"/repos/{owner}/{repo}/commits/{ref}/statuses", "get">; + /** + * @see https://docs.github.com/rest/metrics/community#get-community-profile-metrics + */ + "GET /repos/{owner}/{repo}/community/profile": ReadonlyOperation<"/repos/{owner}/{repo}/community/profile", "get">; + /** + * @see https://docs.github.com/rest/commits/commits#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{basehead}": ReadonlyOperation<"/repos/{owner}/{repo}/compare/{basehead}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{base}...{head}": ReadonlyOperation<"/repos/{owner}/{repo}/compare/{base}...{head}", "get">; + /** + * @see https://docs.github.com/rest/repos/contents#get-repository-content + */ + "GET /repos/{owner}/{repo}/contents/{path}": ReadonlyOperation<"/repos/{owner}/{repo}/contents/{path}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-contributors + */ + "GET /repos/{owner}/{repo}/contributors": ReadonlyOperation<"/repos/{owner}/{repo}/contributors", "get">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/dependabot/alerts": ReadonlyOperation<"/repos/{owner}/{repo}/dependabot/alerts", "get">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#get-a-dependabot-alert + */ + "GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}": ReadonlyOperation<"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/dependabot/secrets": ReadonlyOperation<"/repos/{owner}/{repo}/dependabot/secrets", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key": ReadonlyOperation<"/repos/{owner}/{repo}/dependabot/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": ReadonlyOperation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/dependency-graph/dependency-review#get-a-diff-of-the-dependencies-between-commits + */ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}": ReadonlyOperation<"/repos/{owner}/{repo}/dependency-graph/compare/{basehead}", "get">; + /** + * @see https://docs.github.com/rest/dependency-graph/sboms#export-a-software-bill-of-materials-sbom-for-a-repository + */ + "GET /repos/{owner}/{repo}/dependency-graph/sbom": ReadonlyOperation<"/repos/{owner}/{repo}/dependency-graph/sbom", "get">; + /** + * @see https://docs.github.com/rest/deployments/deployments#list-deployments + */ + "GET /repos/{owner}/{repo}/deployments": ReadonlyOperation<"/repos/{owner}/{repo}/deployments", "get">; + /** + * @see https://docs.github.com/rest/deployments/deployments#get-a-deployment + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}": ReadonlyOperation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "get">; + /** + * @see https://docs.github.com/rest/deployments/statuses#list-deployment-statuses + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": ReadonlyOperation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "get">; + /** + * @see https://docs.github.com/rest/deployments/statuses#get-a-deployment-status + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": ReadonlyOperation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", "get">; + /** + * @see https://docs.github.com/rest/deployments/environments#list-environments + */ + "GET /repos/{owner}/{repo}/environments": ReadonlyOperation<"/repos/{owner}/{repo}/environments", "get">; + /** + * @see https://docs.github.com/rest/deployments/environments#get-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}": ReadonlyOperation<"/repos/{owner}/{repo}/environments/{environment_name}", "get">; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#list-deployment-branch-policies + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": ReadonlyOperation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "get">; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#get-a-deployment-branch-policy + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": ReadonlyOperation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "get">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#get-all-deployment-protection-rules-for-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": ReadonlyOperation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules", "get">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#list-custom-deployment-rule-integrations-available-for-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": ReadonlyOperation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", "get">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#get-a-custom-deployment-protection-rule + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": ReadonlyOperation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#list-environment-secrets + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets": ReadonlyOperation<"/repos/{owner}/{repo}/environments/{environment_name}/secrets", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-an-environment-public-key + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key": ReadonlyOperation<"/repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-an-environment-secret + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}": ReadonlyOperation<"/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#list-environment-variables + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables": ReadonlyOperation<"/repos/{owner}/{repo}/environments/{environment_name}/variables", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#get-an-environment-variable + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}": ReadonlyOperation<"/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-repository-events + */ + "GET /repos/{owner}/{repo}/events": ReadonlyOperation<"/repos/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/repos/forks#list-forks + */ + "GET /repos/{owner}/{repo}/forks": ReadonlyOperation<"/repos/{owner}/{repo}/forks", "get">; + /** + * @see https://docs.github.com/rest/git/blobs#get-a-blob + */ + "GET /repos/{owner}/{repo}/git/blobs/{file_sha}": ReadonlyOperation<"/repos/{owner}/{repo}/git/blobs/{file_sha}", "get">; + /** + * @see https://docs.github.com/rest/git/commits#get-a-commit-object + */ + "GET /repos/{owner}/{repo}/git/commits/{commit_sha}": ReadonlyOperation<"/repos/{owner}/{repo}/git/commits/{commit_sha}", "get">; + /** + * @see https://docs.github.com/rest/git/refs#list-matching-references + */ + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}": ReadonlyOperation<"/repos/{owner}/{repo}/git/matching-refs/{ref}", "get">; + /** + * @see https://docs.github.com/rest/git/refs#get-a-reference + */ + "GET /repos/{owner}/{repo}/git/ref/{ref}": ReadonlyOperation<"/repos/{owner}/{repo}/git/ref/{ref}", "get">; + /** + * @see https://docs.github.com/rest/git/tags#get-a-tag + */ + "GET /repos/{owner}/{repo}/git/tags/{tag_sha}": ReadonlyOperation<"/repos/{owner}/{repo}/git/tags/{tag_sha}", "get">; + /** + * @see https://docs.github.com/rest/git/trees#get-a-tree + */ + "GET /repos/{owner}/{repo}/git/trees/{tree_sha}": ReadonlyOperation<"/repos/{owner}/{repo}/git/trees/{tree_sha}", "get">; + /** + * @see https://docs.github.com/rest/repos/webhooks#list-repository-webhooks + */ + "GET /repos/{owner}/{repo}/hooks": ReadonlyOperation<"/repos/{owner}/{repo}/hooks", "get">; + /** + * @see https://docs.github.com/rest/repos/webhooks#get-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}": ReadonlyOperation<"/repos/{owner}/{repo}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/rest/repos/webhooks#get-a-webhook-configuration-for-a-repository + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config": ReadonlyOperation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/repos/webhooks#list-deliveries-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": ReadonlyOperation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/repos/webhooks#get-a-delivery-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": ReadonlyOperation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#check-if-immutable-releases-are-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/immutable-releases": ReadonlyOperation<"/repos/{owner}/{repo}/immutable-releases", "get">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#get-an-import-status + */ + "GET /repos/{owner}/{repo}/import": ReadonlyOperation<"/repos/{owner}/{repo}/import", "get">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#get-commit-authors + */ + "GET /repos/{owner}/{repo}/import/authors": ReadonlyOperation<"/repos/{owner}/{repo}/import/authors", "get">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#get-large-files + */ + "GET /repos/{owner}/{repo}/import/large_files": ReadonlyOperation<"/repos/{owner}/{repo}/import/large_files", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-a-repository-installation-for-the-authenticated-app + */ + "GET /repos/{owner}/{repo}/installation": ReadonlyOperation<"/repos/{owner}/{repo}/installation", "get">; + /** + * @see https://docs.github.com/rest/interactions/repos#get-interaction-restrictions-for-a-repository + */ + "GET /repos/{owner}/{repo}/interaction-limits": ReadonlyOperation<"/repos/{owner}/{repo}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations + */ + "GET /repos/{owner}/{repo}/invitations": ReadonlyOperation<"/repos/{owner}/{repo}/invitations", "get">; + /** + * @see https://docs.github.com/rest/issues/issues#list-repository-issues + */ + "GET /repos/{owner}/{repo}/issues": ReadonlyOperation<"/repos/{owner}/{repo}/issues", "get">; + /** + * @see https://docs.github.com/rest/issues/comments#list-issue-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/comments": ReadonlyOperation<"/repos/{owner}/{repo}/issues/comments", "get">; + /** + * @see https://docs.github.com/rest/issues/comments#get-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}": ReadonlyOperation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": ReadonlyOperation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/issues/events#list-issue-events-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/events": ReadonlyOperation<"/repos/{owner}/{repo}/issues/events", "get">; + /** + * @see https://docs.github.com/rest/issues/events#get-an-issue-event + */ + "GET /repos/{owner}/{repo}/issues/events/{event_id}": ReadonlyOperation<"/repos/{owner}/{repo}/issues/events/{event_id}", "get">; + /** + * @see https://docs.github.com/rest/issues/issues#get-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}": ReadonlyOperation<"/repos/{owner}/{repo}/issues/{issue_number}", "get">; + /** + * @see https://docs.github.com/rest/issues/assignees#check-if-a-user-can-be-assigned-to-a-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": ReadonlyOperation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}", "get">; + /** + * @see https://docs.github.com/rest/issues/comments#list-issue-comments + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": ReadonlyOperation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/issues/issue-dependencies#list-dependencies-an-issue-is-blocked-by + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by": ReadonlyOperation<"/repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by", "get">; + /** + * @see https://docs.github.com/rest/issues/issue-dependencies#list-dependencies-an-issue-is-blocking + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking": ReadonlyOperation<"/repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking", "get">; + /** + * @see https://docs.github.com/rest/issues/events#list-issue-events + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/events": ReadonlyOperation<"/repos/{owner}/{repo}/issues/{issue_number}/events", "get">; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": ReadonlyOperation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "get">; + /** + * @see https://docs.github.com/rest/issues/sub-issues#get-parent-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/parent": ReadonlyOperation<"/repos/{owner}/{repo}/issues/{issue_number}/parent", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": ReadonlyOperation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/issues/sub-issues#list-sub-issues + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues": ReadonlyOperation<"/repos/{owner}/{repo}/issues/{issue_number}/sub_issues", "get">; + /** + * @see https://docs.github.com/rest/issues/timeline#list-timeline-events-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": ReadonlyOperation<"/repos/{owner}/{repo}/issues/{issue_number}/timeline", "get">; + /** + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#list-deploy-keys + */ + "GET /repos/{owner}/{repo}/keys": ReadonlyOperation<"/repos/{owner}/{repo}/keys", "get">; + /** + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key + */ + "GET /repos/{owner}/{repo}/keys/{key_id}": ReadonlyOperation<"/repos/{owner}/{repo}/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-a-repository + */ + "GET /repos/{owner}/{repo}/labels": ReadonlyOperation<"/repos/{owner}/{repo}/labels", "get">; + /** + * @see https://docs.github.com/rest/issues/labels#get-a-label + */ + "GET /repos/{owner}/{repo}/labels/{name}": ReadonlyOperation<"/repos/{owner}/{repo}/labels/{name}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-languages + */ + "GET /repos/{owner}/{repo}/languages": ReadonlyOperation<"/repos/{owner}/{repo}/languages", "get">; + /** + * @see https://docs.github.com/rest/licenses/licenses#get-the-license-for-a-repository + */ + "GET /repos/{owner}/{repo}/license": ReadonlyOperation<"/repos/{owner}/{repo}/license", "get">; + /** + * @see https://docs.github.com/rest/issues/milestones#list-milestones + */ + "GET /repos/{owner}/{repo}/milestones": ReadonlyOperation<"/repos/{owner}/{repo}/milestones", "get">; + /** + * @see https://docs.github.com/rest/issues/milestones#get-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}": ReadonlyOperation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "get">; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-issues-in-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": ReadonlyOperation<"/repos/{owner}/{repo}/milestones/{milestone_number}/labels", "get">; + /** + * @see https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/notifications": ReadonlyOperation<"/repos/{owner}/{repo}/notifications", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#get-a-apiname-pages-site + */ + "GET /repos/{owner}/{repo}/pages": ReadonlyOperation<"/repos/{owner}/{repo}/pages", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#list-apiname-pages-builds + */ + "GET /repos/{owner}/{repo}/pages/builds": ReadonlyOperation<"/repos/{owner}/{repo}/pages/builds", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#get-latest-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/latest": ReadonlyOperation<"/repos/{owner}/{repo}/pages/builds/latest", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#get-apiname-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/{build_id}": ReadonlyOperation<"/repos/{owner}/{repo}/pages/builds/{build_id}", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#get-the-status-of-a-github-pages-deployment + */ + "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}": ReadonlyOperation<"/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#get-a-dns-health-check-for-github-pages + */ + "GET /repos/{owner}/{repo}/pages/health": ReadonlyOperation<"/repos/{owner}/{repo}/pages/health", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#check-if-private-vulnerability-reporting-is-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/private-vulnerability-reporting": ReadonlyOperation<"/repos/{owner}/{repo}/private-vulnerability-reporting", "get">; + /** + * @see https://docs.github.com/rest/projects-classic/projects#list-repository-projects + */ + "GET /repos/{owner}/{repo}/projects": ReadonlyOperation<"/repos/{owner}/{repo}/projects", "get">; + /** + * @see https://docs.github.com/rest/repos/custom-properties#get-all-custom-property-values-for-a-repository + */ + "GET /repos/{owner}/{repo}/properties/values": ReadonlyOperation<"/repos/{owner}/{repo}/properties/values", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests + */ + "GET /repos/{owner}/{repo}/pulls": ReadonlyOperation<"/repos/{owner}/{repo}/pulls", "get">; + /** + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-in-a-repository + */ + "GET /repos/{owner}/{repo}/pulls/comments": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/comments", "get">; + /** + * @see https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#get-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/{pull_number}", "get">; + /** + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-commits-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/{pull_number}/commits", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests-files + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/{pull_number}/files", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#check-if-a-pull-request-has-been-merged + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/merge": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "get">; + /** + * @see https://docs.github.com/rest/pulls/review-requests#get-all-requested-reviewers-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "get">; + /** + * @see https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "get">; + /** + * @see https://docs.github.com/rest/pulls/reviews#get-a-review-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "get">; + /** + * @see https://docs.github.com/rest/pulls/reviews#list-comments-for-a-pull-request-review + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": ReadonlyOperation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/repos/contents#get-a-repository-readme + */ + "GET /repos/{owner}/{repo}/readme": ReadonlyOperation<"/repos/{owner}/{repo}/readme", "get">; + /** + * @see https://docs.github.com/rest/repos/contents#get-a-repository-readme-for-a-directory + */ + "GET /repos/{owner}/{repo}/readme/{dir}": ReadonlyOperation<"/repos/{owner}/{repo}/readme/{dir}", "get">; + /** + * @see https://docs.github.com/rest/releases/releases#list-releases + */ + "GET /repos/{owner}/{repo}/releases": ReadonlyOperation<"/repos/{owner}/{repo}/releases", "get">; + /** + * @see https://docs.github.com/rest/releases/assets#get-a-release-asset + */ + "GET /repos/{owner}/{repo}/releases/assets/{asset_id}": ReadonlyOperation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "get">; + /** + * @see https://docs.github.com/rest/releases/releases#get-the-latest-release + */ + "GET /repos/{owner}/{repo}/releases/latest": ReadonlyOperation<"/repos/{owner}/{repo}/releases/latest", "get">; + /** + * @see https://docs.github.com/rest/releases/releases#get-a-release-by-tag-name + */ + "GET /repos/{owner}/{repo}/releases/tags/{tag}": ReadonlyOperation<"/repos/{owner}/{repo}/releases/tags/{tag}", "get">; + /** + * @see https://docs.github.com/rest/releases/releases#get-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}": ReadonlyOperation<"/repos/{owner}/{repo}/releases/{release_id}", "get">; + /** + * @see https://docs.github.com/rest/releases/assets#list-release-assets + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets": ReadonlyOperation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": ReadonlyOperation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/repos/rules#get-rules-for-a-branch + */ + "GET /repos/{owner}/{repo}/rules/branches/{branch}": ReadonlyOperation<"/repos/{owner}/{repo}/rules/branches/{branch}", "get">; + /** + * @see https://docs.github.com/rest/repos/rules#get-all-repository-rulesets + */ + "GET /repos/{owner}/{repo}/rulesets": ReadonlyOperation<"/repos/{owner}/{repo}/rulesets", "get">; + /** + * @see https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites + */ + "GET /repos/{owner}/{repo}/rulesets/rule-suites": ReadonlyOperation<"/repos/{owner}/{repo}/rulesets/rule-suites", "get">; + /** + * @see https://docs.github.com/rest/repos/rule-suites#get-a-repository-rule-suite + */ + "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": ReadonlyOperation<"/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}", "get">; + /** + * @see https://docs.github.com/rest/repos/rules#get-a-repository-ruleset + */ + "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}": ReadonlyOperation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}", "get">; + /** + * @see https://docs.github.com/rest/repos/rules#get-repository-ruleset-history + */ + "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history": ReadonlyOperation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}/history", "get">; + /** + * @see https://docs.github.com/rest/repos/rules#get-repository-ruleset-version + */ + "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}": ReadonlyOperation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts": ReadonlyOperation<"/repos/{owner}/{repo}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#get-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": ReadonlyOperation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-locations-for-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": ReadonlyOperation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#get-secret-scanning-scan-history-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/scan-history": ReadonlyOperation<"/repos/{owner}/{repo}/secret-scanning/scan-history", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories + */ + "GET /repos/{owner}/{repo}/security-advisories": ReadonlyOperation<"/repos/{owner}/{repo}/security-advisories", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#get-a-repository-security-advisory + */ + "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}": ReadonlyOperation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}", "get">; + /** + * @see https://docs.github.com/rest/activity/starring#list-stargazers + */ + "GET /repos/{owner}/{repo}/stargazers": ReadonlyOperation<"/repos/{owner}/{repo}/stargazers", "get">; + /** + * @see https://docs.github.com/rest/metrics/statistics#get-the-weekly-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/code_frequency": ReadonlyOperation<"/repos/{owner}/{repo}/stats/code_frequency", "get">; + /** + * @see https://docs.github.com/rest/metrics/statistics#get-the-last-year-of-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/commit_activity": ReadonlyOperation<"/repos/{owner}/{repo}/stats/commit_activity", "get">; + /** + * @see https://docs.github.com/rest/metrics/statistics#get-all-contributor-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/contributors": ReadonlyOperation<"/repos/{owner}/{repo}/stats/contributors", "get">; + /** + * @see https://docs.github.com/rest/metrics/statistics#get-the-weekly-commit-count + */ + "GET /repos/{owner}/{repo}/stats/participation": ReadonlyOperation<"/repos/{owner}/{repo}/stats/participation", "get">; + /** + * @see https://docs.github.com/rest/metrics/statistics#get-the-hourly-commit-count-for-each-day + */ + "GET /repos/{owner}/{repo}/stats/punch_card": ReadonlyOperation<"/repos/{owner}/{repo}/stats/punch_card", "get">; + /** + * @see https://docs.github.com/rest/activity/watching#list-watchers + */ + "GET /repos/{owner}/{repo}/subscribers": ReadonlyOperation<"/repos/{owner}/{repo}/subscribers", "get">; + /** + * @see https://docs.github.com/rest/activity/watching#get-a-repository-subscription + */ + "GET /repos/{owner}/{repo}/subscription": ReadonlyOperation<"/repos/{owner}/{repo}/subscription", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-tags + */ + "GET /repos/{owner}/{repo}/tags": ReadonlyOperation<"/repos/{owner}/{repo}/tags", "get">; + /** + * @see https://docs.github.com/rest/repos/tags#closing-down---list-tag-protection-states-for-a-repository + */ + "GET /repos/{owner}/{repo}/tags/protection": ReadonlyOperation<"/repos/{owner}/{repo}/tags/protection", "get">; + /** + * @see https://docs.github.com/rest/repos/contents#download-a-repository-archive-tar + */ + "GET /repos/{owner}/{repo}/tarball/{ref}": ReadonlyOperation<"/repos/{owner}/{repo}/tarball/{ref}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-teams + */ + "GET /repos/{owner}/{repo}/teams": ReadonlyOperation<"/repos/{owner}/{repo}/teams", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#get-all-repository-topics + */ + "GET /repos/{owner}/{repo}/topics": ReadonlyOperation<"/repos/{owner}/{repo}/topics", "get">; + /** + * @see https://docs.github.com/rest/metrics/traffic#get-repository-clones + */ + "GET /repos/{owner}/{repo}/traffic/clones": ReadonlyOperation<"/repos/{owner}/{repo}/traffic/clones", "get">; + /** + * @see https://docs.github.com/rest/metrics/traffic#get-top-referral-paths + */ + "GET /repos/{owner}/{repo}/traffic/popular/paths": ReadonlyOperation<"/repos/{owner}/{repo}/traffic/popular/paths", "get">; + /** + * @see https://docs.github.com/rest/metrics/traffic#get-top-referral-sources + */ + "GET /repos/{owner}/{repo}/traffic/popular/referrers": ReadonlyOperation<"/repos/{owner}/{repo}/traffic/popular/referrers", "get">; + /** + * @see https://docs.github.com/rest/metrics/traffic#get-page-views + */ + "GET /repos/{owner}/{repo}/traffic/views": ReadonlyOperation<"/repos/{owner}/{repo}/traffic/views", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/vulnerability-alerts": ReadonlyOperation<"/repos/{owner}/{repo}/vulnerability-alerts", "get">; + /** + * @see https://docs.github.com/rest/repos/contents#download-a-repository-archive-zip + */ + "GET /repos/{owner}/{repo}/zipball/{ref}": ReadonlyOperation<"/repos/{owner}/{repo}/zipball/{ref}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-public-repositories + */ + "GET /repositories": ReadonlyOperation<"/repositories", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-code + */ + "GET /search/code": ReadonlyOperation<"/search/code", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-commits + */ + "GET /search/commits": ReadonlyOperation<"/search/commits", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-issues-and-pull-requests + */ + "GET /search/issues": ReadonlyOperation<"/search/issues", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-labels + */ + "GET /search/labels": ReadonlyOperation<"/search/labels", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-repositories + */ + "GET /search/repositories": ReadonlyOperation<"/search/repositories", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-topics + */ + "GET /search/topics": ReadonlyOperation<"/search/topics", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-users + */ + "GET /search/users": ReadonlyOperation<"/search/users", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#get-a-team-legacy + */ + "GET /teams/{team_id}": ReadonlyOperation<"/teams/{team_id}", "get">; + /** + * @see https://docs.github.com/rest/teams/discussions#list-discussions-legacy + */ + "GET /teams/{team_id}/discussions": ReadonlyOperation<"/teams/{team_id}/discussions", "get">; + /** + * @see https://docs.github.com/rest/teams/discussions#get-a-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}": ReadonlyOperation<"/teams/{team_id}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments": ReadonlyOperation<"/teams/{team_id}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": ReadonlyOperation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": ReadonlyOperation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/reactions": ReadonlyOperation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations-legacy + */ + "GET /teams/{team_id}/invitations": ReadonlyOperation<"/teams/{team_id}/invitations", "get">; + /** + * @see https://docs.github.com/rest/teams/members#list-team-members-legacy + */ + "GET /teams/{team_id}/members": ReadonlyOperation<"/teams/{team_id}/members", "get">; + /** + * @see https://docs.github.com/rest/teams/members#get-team-member-legacy + */ + "GET /teams/{team_id}/members/{username}": ReadonlyOperation<"/teams/{team_id}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/teams/members#get-team-membership-for-a-user-legacy + */ + "GET /teams/{team_id}/memberships/{username}": ReadonlyOperation<"/teams/{team_id}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-projects-legacy + */ + "GET /teams/{team_id}/projects": ReadonlyOperation<"/teams/{team_id}/projects", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project-legacy + */ + "GET /teams/{team_id}/projects/{project_id}": ReadonlyOperation<"/teams/{team_id}/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-repositories-legacy + */ + "GET /teams/{team_id}/repos": ReadonlyOperation<"/teams/{team_id}/repos", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository-legacy + */ + "GET /teams/{team_id}/repos/{owner}/{repo}": ReadonlyOperation<"/teams/{team_id}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-child-teams-legacy + */ + "GET /teams/{team_id}/teams": ReadonlyOperation<"/teams/{team_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/users/users#get-the-authenticated-user + */ + "GET /user": ReadonlyOperation<"/user", "get">; + /** + * @see https://docs.github.com/rest/users/blocking#list-users-blocked-by-the-authenticated-user + */ + "GET /user/blocks": ReadonlyOperation<"/user/blocks", "get">; + /** + * @see https://docs.github.com/rest/users/blocking#check-if-a-user-is-blocked-by-the-authenticated-user + */ + "GET /user/blocks/{username}": ReadonlyOperation<"/user/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-for-the-authenticated-user + */ + "GET /user/codespaces": ReadonlyOperation<"/user/codespaces", "get">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#list-secrets-for-the-authenticated-user + */ + "GET /user/codespaces/secrets": ReadonlyOperation<"/user/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user + */ + "GET /user/codespaces/secrets/public-key": ReadonlyOperation<"/user/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#get-a-secret-for-the-authenticated-user + */ + "GET /user/codespaces/secrets/{secret_name}": ReadonlyOperation<"/user/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret + */ + "GET /user/codespaces/secrets/{secret_name}/repositories": ReadonlyOperation<"/user/codespaces/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#get-a-codespace-for-the-authenticated-user + */ + "GET /user/codespaces/{codespace_name}": ReadonlyOperation<"/user/codespaces/{codespace_name}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#get-details-about-a-codespace-export + */ + "GET /user/codespaces/{codespace_name}/exports/{export_id}": ReadonlyOperation<"/user/codespaces/{codespace_name}/exports/{export_id}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/machines#list-machine-types-for-a-codespace + */ + "GET /user/codespaces/{codespace_name}/machines": ReadonlyOperation<"/user/codespaces/{codespace_name}/machines", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-authenticated-user + */ + "GET /user/docker/conflicts": ReadonlyOperation<"/user/docker/conflicts", "get">; + /** + * @see https://docs.github.com/rest/users/emails#list-email-addresses-for-the-authenticated-user + */ + "GET /user/emails": ReadonlyOperation<"/user/emails", "get">; + /** + * @see https://docs.github.com/rest/users/followers#list-followers-of-the-authenticated-user + */ + "GET /user/followers": ReadonlyOperation<"/user/followers", "get">; + /** + * @see https://docs.github.com/rest/users/followers#list-the-people-the-authenticated-user-follows + */ + "GET /user/following": ReadonlyOperation<"/user/following", "get">; + /** + * @see https://docs.github.com/rest/users/followers#check-if-a-person-is-followed-by-the-authenticated-user + */ + "GET /user/following/{username}": ReadonlyOperation<"/user/following/{username}", "get">; + /** + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-the-authenticated-user + */ + "GET /user/gpg_keys": ReadonlyOperation<"/user/gpg_keys", "get">; + /** + * @see https://docs.github.com/rest/users/gpg-keys#get-a-gpg-key-for-the-authenticated-user + */ + "GET /user/gpg_keys/{gpg_key_id}": ReadonlyOperation<"/user/gpg_keys/{gpg_key_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token + */ + "GET /user/installations": ReadonlyOperation<"/user/installations", "get">; + /** + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-user-access-token + */ + "GET /user/installations/{installation_id}/repositories": ReadonlyOperation<"/user/installations/{installation_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/interactions/user#get-interaction-restrictions-for-your-public-repositories + */ + "GET /user/interaction-limits": ReadonlyOperation<"/user/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/issues/issues#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": ReadonlyOperation<"/user/issues", "get">; + /** + * @see https://docs.github.com/rest/users/keys#list-public-ssh-keys-for-the-authenticated-user + */ + "GET /user/keys": ReadonlyOperation<"/user/keys", "get">; + /** + * @see https://docs.github.com/rest/users/keys#get-a-public-ssh-key-for-the-authenticated-user + */ + "GET /user/keys/{key_id}": ReadonlyOperation<"/user/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": ReadonlyOperation<"/user/marketplace_purchases", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": ReadonlyOperation<"/user/marketplace_purchases/stubbed", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-memberships-for-the-authenticated-user + */ + "GET /user/memberships/orgs": ReadonlyOperation<"/user/memberships/orgs", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#get-an-organization-membership-for-the-authenticated-user + */ + "GET /user/memberships/orgs/{org}": ReadonlyOperation<"/user/memberships/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/migrations/users#list-user-migrations + */ + "GET /user/migrations": ReadonlyOperation<"/user/migrations", "get">; + /** + * @see https://docs.github.com/rest/migrations/users#get-a-user-migration-status + */ + "GET /user/migrations/{migration_id}": ReadonlyOperation<"/user/migrations/{migration_id}", "get">; + /** + * @see https://docs.github.com/rest/migrations/users#download-a-user-migration-archive + */ + "GET /user/migrations/{migration_id}/archive": ReadonlyOperation<"/user/migrations/{migration_id}/archive", "get">; + /** + * @see https://docs.github.com/rest/migrations/users#list-repositories-for-a-user-migration + */ + "GET /user/migrations/{migration_id}/repositories": ReadonlyOperation<"/user/migrations/{migration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user + */ + "GET /user/orgs": ReadonlyOperation<"/user/orgs", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-the-authenticated-users-namespace + */ + "GET /user/packages": ReadonlyOperation<"/user/packages", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}": ReadonlyOperation<"/user/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions": ReadonlyOperation<"/user/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}": ReadonlyOperation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/users/emails#list-public-email-addresses-for-the-authenticated-user + */ + "GET /user/public_emails": ReadonlyOperation<"/user/public_emails", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": ReadonlyOperation<"/user/repos", "get">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user + */ + "GET /user/repository_invitations": ReadonlyOperation<"/user/repository_invitations", "get">; + /** + * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-the-authenticated-user + */ + "GET /user/social_accounts": ReadonlyOperation<"/user/social_accounts", "get">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-the-authenticated-user + */ + "GET /user/ssh_signing_keys": ReadonlyOperation<"/user/ssh_signing_keys", "get">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#get-an-ssh-signing-key-for-the-authenticated-user + */ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}": ReadonlyOperation<"/user/ssh_signing_keys/{ssh_signing_key_id}", "get">; + /** + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": ReadonlyOperation<"/user/starred", "get">; + /** + * @see https://docs.github.com/rest/activity/starring#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/{owner}/{repo}": ReadonlyOperation<"/user/starred/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": ReadonlyOperation<"/user/subscriptions", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-teams-for-the-authenticated-user + */ + "GET /user/teams": ReadonlyOperation<"/user/teams", "get">; + /** + * @see https://docs.github.com/rest/users/users#get-a-user-using-their-id + */ + "GET /user/{account_id}": ReadonlyOperation<"/user/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/users/users#list-users + */ + "GET /users": ReadonlyOperation<"/users", "get">; + /** + * @see https://docs.github.com/rest/users/users#get-a-user + */ + "GET /users/{username}": ReadonlyOperation<"/users/{username}", "get">; + /** + * @see https://docs.github.com/rest/users/attestations#list-attestations + */ + "GET /users/{username}/attestations/{subject_digest}": ReadonlyOperation<"/users/{username}/attestations/{subject_digest}", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-user + */ + "GET /users/{username}/docker/conflicts": ReadonlyOperation<"/users/{username}/docker/conflicts", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-events-for-the-authenticated-user + */ + "GET /users/{username}/events": ReadonlyOperation<"/users/{username}/events", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-organization-events-for-the-authenticated-user + */ + "GET /users/{username}/events/orgs/{org}": ReadonlyOperation<"/users/{username}/events/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-user + */ + "GET /users/{username}/events/public": ReadonlyOperation<"/users/{username}/events/public", "get">; + /** + * @see https://docs.github.com/rest/users/followers#list-followers-of-a-user + */ + "GET /users/{username}/followers": ReadonlyOperation<"/users/{username}/followers", "get">; + /** + * @see https://docs.github.com/rest/users/followers#list-the-people-a-user-follows + */ + "GET /users/{username}/following": ReadonlyOperation<"/users/{username}/following", "get">; + /** + * @see https://docs.github.com/rest/users/followers#check-if-a-user-follows-another-user + */ + "GET /users/{username}/following/{target_user}": ReadonlyOperation<"/users/{username}/following/{target_user}", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-gists-for-a-user + */ + "GET /users/{username}/gists": ReadonlyOperation<"/users/{username}/gists", "get">; + /** + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-a-user + */ + "GET /users/{username}/gpg_keys": ReadonlyOperation<"/users/{username}/gpg_keys", "get">; + /** + * @see https://docs.github.com/rest/users/users#get-contextual-information-for-a-user + */ + "GET /users/{username}/hovercard": ReadonlyOperation<"/users/{username}/hovercard", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-a-user-installation-for-the-authenticated-app + */ + "GET /users/{username}/installation": ReadonlyOperation<"/users/{username}/installation", "get">; + /** + * @see https://docs.github.com/rest/users/keys#list-public-keys-for-a-user + */ + "GET /users/{username}/keys": ReadonlyOperation<"/users/{username}/keys", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-a-user + */ + "GET /users/{username}/orgs": ReadonlyOperation<"/users/{username}/orgs", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-a-user + */ + "GET /users/{username}/packages": ReadonlyOperation<"/users/{username}/packages", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}": ReadonlyOperation<"/users/{username}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions": ReadonlyOperation<"/users/{username}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": ReadonlyOperation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/projects-classic/projects#list-user-projects + */ + "GET /users/{username}/projects": ReadonlyOperation<"/users/{username}/projects", "get">; + /** + * @see https://docs.github.com/rest/projects/projects#list-projects-for-user + */ + "GET /users/{username}/projectsV2": ReadonlyOperation<"/users/{username}/projectsV2", "get">; + /** + * @see https://docs.github.com/rest/projects/projects#get-project-for-user + */ + "GET /users/{username}/projectsV2/{project_number}": ReadonlyOperation<"/users/{username}/projectsV2/{project_number}", "get">; + /** + * @see https://docs.github.com/rest/projects/fields#list-project-fields-for-user + */ + "GET /users/{username}/projectsV2/{project_number}/fields": ReadonlyOperation<"/users/{username}/projectsV2/{project_number}/fields", "get">; + /** + * @see https://docs.github.com/rest/projects/fields#get-project-field-for-user + */ + "GET /users/{username}/projectsV2/{project_number}/fields/{field_id}": ReadonlyOperation<"/users/{username}/projectsV2/{project_number}/fields/{field_id}", "get">; + /** + * @see https://docs.github.com/rest/projects/items#list-items-for-a-user-owned-project + */ + "GET /users/{username}/projectsV2/{project_number}/items": ReadonlyOperation<"/users/{username}/projectsV2/{project_number}/items", "get">; + /** + * @see https://docs.github.com/rest/projects/items#get-an-item-for-a-user-owned-project + */ + "GET /users/{username}/projectsV2/{project_number}/items/{item_id}": ReadonlyOperation<"/users/{username}/projectsV2/{project_number}/items/{item_id}", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-events-received-by-the-authenticated-user + */ + "GET /users/{username}/received_events": ReadonlyOperation<"/users/{username}/received_events", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-received-by-a-user + */ + "GET /users/{username}/received_events/public": ReadonlyOperation<"/users/{username}/received_events/public", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-a-user + */ + "GET /users/{username}/repos": ReadonlyOperation<"/users/{username}/repos", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-github-actions-billing-for-a-user + */ + "GET /users/{username}/settings/billing/actions": ReadonlyOperation<"/users/{username}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-github-packages-billing-for-a-user + */ + "GET /users/{username}/settings/billing/packages": ReadonlyOperation<"/users/{username}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/billing/enhanced-billing#get-billing-premium-request-usage-report-for-a-user + */ + "GET /users/{username}/settings/billing/premium_request/usage": ReadonlyOperation<"/users/{username}/settings/billing/premium_request/usage", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-shared-storage-billing-for-a-user + */ + "GET /users/{username}/settings/billing/shared-storage": ReadonlyOperation<"/users/{username}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/billing/enhanced-billing#get-billing-usage-report-for-a-user + */ + "GET /users/{username}/settings/billing/usage": ReadonlyOperation<"/users/{username}/settings/billing/usage", "get">; + /** + * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-a-user + */ + "GET /users/{username}/social_accounts": ReadonlyOperation<"/users/{username}/social_accounts", "get">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user + */ + "GET /users/{username}/ssh_signing_keys": ReadonlyOperation<"/users/{username}/ssh_signing_keys", "get">; + /** + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user + */ + "GET /users/{username}/starred": ReadonlyOperation<"/users/{username}/starred", "get">; + /** + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-a-user + */ + "GET /users/{username}/subscriptions": ReadonlyOperation<"/users/{username}/subscriptions", "get">; + /** + * @see https://docs.github.com/rest/meta/meta#get-all-api-versions + */ + "GET /versions": ReadonlyOperation<"/versions", "get">; + /** + * @see https://docs.github.com/rest/meta/meta#get-the-zen-of-github + */ + "GET /zen": ReadonlyOperation<"/zen", "get">; + /** + * @see https://docs.github.com/rest/apps/webhooks#update-a-webhook-configuration-for-an-app + */ + "PATCH /app/hook/config": Operation<"/app/hook/config", "patch">; + /** + * @see https://docs.github.com/rest/apps/oauth-applications#reset-a-token + */ + "PATCH /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "patch">; + /** + * @see https://docs.github.com/rest/code-security/configurations#update-a-custom-code-security-configuration-for-an-enterprise + */ + "PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}": Operation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}", "patch">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-teams#update-an-enterprise-team + */ + "PATCH /enterprises/{enterprise}/teams/{team_slug}": Operation<"/enterprises/{enterprise}/teams/{team_slug}", "patch">; + /** + * @see https://docs.github.com/rest/reference/gists/#update-a-gist + */ + "PATCH /gists/{gist_id}": Operation<"/gists/{gist_id}", "patch">; + /** + * @see https://docs.github.com/rest/gists/comments#update-a-gist-comment + */ + "PATCH /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/activity/notifications#mark-a-thread-as-read + */ + "PATCH /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "patch">; + /** + * @see https://docs.github.com/rest/dependabot/repository-access#updates-dependabots-repository-access-list-for-an-organization + */ + "PATCH /organizations/{org}/dependabot/repository-access": Operation<"/organizations/{org}/dependabot/repository-access", "patch">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties-for-orgs#create-or-update-custom-property-values-for-an-organization + */ + "PATCH /organizations/{org}/org-properties/values": Operation<"/organizations/{org}/org-properties/values", "patch">; + /** + * @see https://docs.github.com/rest/orgs/orgs#update-an-organization + */ + "PATCH /orgs/{org}": Operation<"/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#update-a-github-hosted-runner-for-an-organization + */ + "PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}": Operation<"/orgs/{org}/actions/hosted-runners/{hosted_runner_id}", "patch">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#update-a-self-hosted-runner-group-for-an-organization + */ + "PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/actions/variables#update-an-organization-variable + */ + "PATCH /orgs/{org}/actions/variables/{name}": Operation<"/orgs/{org}/actions/variables/{name}", "patch">; + /** + * @see https://docs.github.com/rest/campaigns/campaigns#update-a-campaign + */ + "PATCH /orgs/{org}/campaigns/{campaign_number}": Operation<"/orgs/{org}/campaigns/{campaign_number}", "patch">; + /** + * @see https://docs.github.com/rest/code-security/configurations#update-a-code-security-configuration + */ + "PATCH /orgs/{org}/code-security/configurations/{configuration_id}": Operation<"/orgs/{org}/code-security/configurations/{configuration_id}", "patch">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#update-an-organization-webhook + */ + "PATCH /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization + */ + "PATCH /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization + */ + "PATCH /orgs/{org}/private-registries/{secret_name}": Operation<"/orgs/{org}/private-registries/{secret_name}", "patch">; + /** + * @see https://docs.github.com/rest/projects/items#update-project-item-for-organization + */ + "PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}": Operation<"/orgs/{org}/projectsV2/{project_number}/items/{item_id}", "patch">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#create-or-update-custom-properties-for-an-organization + */ + "PATCH /orgs/{org}/properties/schema": Operation<"/orgs/{org}/properties/schema", "patch">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#create-or-update-custom-property-values-for-organization-repositories + */ + "PATCH /orgs/{org}/properties/values": Operation<"/orgs/{org}/properties/values", "patch">; + /** + * @see https://docs.github.com/rest/secret-scanning/push-protection#update-organization-pattern-configurations + */ + "PATCH /orgs/{org}/secret-scanning/pattern-configurations": Operation<"/orgs/{org}/secret-scanning/pattern-configurations", "patch">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#update-a-hosted-compute-network-configuration-for-an-organization + */ + "PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}": Operation<"/orgs/{org}/settings/network-configurations/{network_configuration_id}", "patch">; + /** + * @see https://docs.github.com/rest/teams/teams#update-a-team + */ + "PATCH /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "patch">; + /** + * @see https://docs.github.com/rest/teams/discussions#update-a-discussion + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/projects-classic/columns#update-an-existing-project-column + */ + "PATCH /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "patch">; + /** + * @see https://docs.github.com/rest/projects-classic/projects#update-a-project + */ + "PATCH /projects/{project_id}": Operation<"/projects/{project_id}", "patch">; + /** + * @see https://docs.github.com/rest/repos/repos#update-a-repository + */ + "PATCH /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "patch">; + /** + * @see https://docs.github.com/rest/actions/variables#update-a-repository-variable + */ + "PATCH /repos/{owner}/{repo}/actions/variables/{name}": Operation<"/repos/{owner}/{repo}/actions/variables/{name}", "patch">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#update-pull-request-review-protection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "patch">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#update-status-check-protection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "patch">; + /** + * @see https://docs.github.com/rest/checks/runs#update-a-check-run + */ + "PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "patch">; + /** + * @see https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites + */ + "PATCH /repos/{owner}/{repo}/check-suites/preferences": Operation<"/repos/{owner}/{repo}/check-suites/preferences", "patch">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#update-a-code-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#update-a-code-scanning-default-setup-configuration + */ + "PATCH /repos/{owner}/{repo}/code-scanning/default-setup": Operation<"/repos/{owner}/{repo}/code-scanning/default-setup", "patch">; + /** + * @see https://docs.github.com/rest/commits/comments#update-a-commit-comment + */ + "PATCH /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#update-a-dependabot-alert + */ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/actions/variables#update-an-environment-variable + */ + "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}", "patch">; + /** + * @see https://docs.github.com/rest/git/refs#update-a-reference + */ + "PATCH /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "patch">; + /** + * @see https://docs.github.com/rest/repos/webhooks#update-a-repository-webhook + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/rest/repos/webhooks#update-a-webhook-configuration-for-a-repository + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#update-an-import + */ + "PATCH /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "patch">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author + */ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}": Operation<"/repos/{owner}/{repo}/import/authors/{author_id}", "patch">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference + */ + "PATCH /repos/{owner}/{repo}/import/lfs": Operation<"/repos/{owner}/{repo}/import/lfs", "patch">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#update-a-repository-invitation + */ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/rest/issues/comments#update-an-issue-comment + */ + "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/issues/issues#update-an-issue + */ + "PATCH /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "patch">; + /** + * @see https://docs.github.com/rest/issues/sub-issues#reprioritize-sub-issue + */ + "PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority", "patch">; + /** + * @see https://docs.github.com/rest/issues/labels#update-a-label + */ + "PATCH /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "patch">; + /** + * @see https://docs.github.com/rest/issues/milestones#update-a-milestone + */ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "patch">; + /** + * @see https://docs.github.com/rest/repos/custom-properties#create-or-update-custom-property-values-for-a-repository + */ + "PATCH /repos/{owner}/{repo}/properties/values": Operation<"/repos/{owner}/{repo}/properties/values", "patch">; + /** + * @see https://docs.github.com/rest/pulls/comments#update-a-review-comment-for-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/pulls/pulls#update-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "patch">; + /** + * @see https://docs.github.com/rest/releases/assets#update-a-release-asset + */ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "patch">; + /** + * @see https://docs.github.com/rest/releases/releases#update-a-release + */ + "PATCH /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "patch">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#update-a-secret-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#update-a-repository-security-advisory + */ + "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}", "patch">; + /** + * @see https://docs.github.com/rest/teams/teams#update-a-team-legacy + */ + "PATCH /teams/{team_id}": Operation<"/teams/{team_id}", "patch">; + /** + * @see https://docs.github.com/rest/teams/discussions#update-a-discussion-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/users/users#update-the-authenticated-user + */ + "PATCH /user": Operation<"/user", "patch">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#update-a-codespace-for-the-authenticated-user + */ + "PATCH /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "patch">; + /** + * @see https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user + */ + "PATCH /user/email/visibility": Operation<"/user/email/visibility", "patch">; + /** + * @see https://docs.github.com/rest/orgs/members#update-an-organization-membership-for-the-authenticated-user + */ + "PATCH /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/rest/projects/items#update-project-item-for-user + */ + "PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}": Operation<"/users/{username}/projectsV2/{project_number}/items/{item_id}", "patch">; + /** + * @see https://docs.github.com/rest/apps/apps#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/{code}/conversions": Operation<"/app-manifests/{code}/conversions", "post">; + /** + * @see https://docs.github.com/rest/apps/webhooks#redeliver-a-delivery-for-an-app-webhook + */ + "POST /app/hook/deliveries/{delivery_id}/attempts": Operation<"/app/hook/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app + */ + "POST /app/installations/{installation_id}/access_tokens": Operation<"/app/installations/{installation_id}/access_tokens", "post">; + /** + * @see https://docs.github.com/rest/apps/oauth-applications#check-a-token + */ + "POST /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "post">; + /** + * @see https://docs.github.com/rest/apps/apps#create-a-scoped-access-token + */ + "POST /applications/{client_id}/token/scoped": Operation<"/applications/{client_id}/token/scoped", "post">; + /** + * @see https://docs.github.com/rest/credentials/revoke#revoke-a-list-of-credentials + */ + "POST /credentials/revoke": Operation<"/credentials/revoke", "post">; + /** + * @see https://docs.github.com/rest/code-security/configurations#create-a-code-security-configuration-for-an-enterprise + */ + "POST /enterprises/{enterprise}/code-security/configurations": Operation<"/enterprises/{enterprise}/code-security/configurations", "post">; + /** + * @see https://docs.github.com/rest/code-security/configurations#attach-an-enterprise-configuration-to-repositories + */ + "POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach": Operation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach", "post">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-teams#create-an-enterprise-team + */ + "POST /enterprises/{enterprise}/teams": Operation<"/enterprises/{enterprise}/teams", "post">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#bulk-add-team-members + */ + "POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add": Operation<"/enterprises/{enterprise}/teams/{enterprise-team}/memberships/add", "post">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#bulk-remove-team-members + */ + "POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove": Operation<"/enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove", "post">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#add-organization-assignments + */ + "POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add": Operation<"/enterprises/{enterprise}/teams/{enterprise-team}/organizations/add", "post">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#remove-organization-assignments + */ + "POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove": Operation<"/enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove", "post">; + /** + * @see https://docs.github.com/rest/gists/gists#create-a-gist + */ + "POST /gists": Operation<"/gists", "post">; + /** + * @see https://docs.github.com/rest/gists/comments#create-a-gist-comment + */ + "POST /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "post">; + /** + * @see https://docs.github.com/rest/gists/gists#fork-a-gist + */ + "POST /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "post">; + /** + * @see https://docs.github.com/rest/markdown/markdown#render-a-markdown-document + */ + "POST /markdown": Operation<"/markdown", "post">; + /** + * @see https://docs.github.com/rest/markdown/markdown#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": Operation<"/markdown/raw", "post">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#create-a-github-hosted-runner-for-an-organization + */ + "POST /orgs/{org}/actions/hosted-runners": Operation<"/orgs/{org}/actions/hosted-runners", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#create-a-self-hosted-runner-group-for-an-organization + */ + "POST /orgs/{org}/actions/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-configuration-for-a-just-in-time-runner-for-an-organization + */ + "POST /orgs/{org}/actions/runners/generate-jitconfig": Operation<"/orgs/{org}/actions/runners/generate-jitconfig", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-registration-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/registration-token": Operation<"/orgs/{org}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-remove-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/remove-token": Operation<"/orgs/{org}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#add-custom-labels-to-a-self-hosted-runner-for-an-organization + */ + "POST /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/actions/variables#create-an-organization-variable + */ + "POST /orgs/{org}/actions/variables": Operation<"/orgs/{org}/actions/variables", "post">; + /** + * @see https://docs.github.com/rest/orgs/artifact-metadata#create-artifact-metadata-storage-record + */ + "POST /orgs/{org}/artifacts/metadata/storage-record": Operation<"/orgs/{org}/artifacts/metadata/storage-record", "post">; + /** + * @see https://docs.github.com/rest/orgs/attestations#list-attestations-by-bulk-subject-digests + */ + "POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}": Operation<"/orgs/{org}/attestations/bulk-list", "post">; + /** + * @see https://docs.github.com/rest/orgs/attestations#delete-attestations-in-bulk + */ + "POST /orgs/{org}/attestations/delete-request": Operation<"/orgs/{org}/attestations/delete-request", "post">; + /** + * @see https://docs.github.com/rest/campaigns/campaigns#create-a-campaign-for-an-organization + */ + "POST /orgs/{org}/campaigns": Operation<"/orgs/{org}/campaigns", "post">; + /** + * @see https://docs.github.com/rest/code-security/configurations#create-a-code-security-configuration + */ + "POST /orgs/{org}/code-security/configurations": Operation<"/orgs/{org}/code-security/configurations", "post">; + /** + * @see https://docs.github.com/rest/code-security/configurations#attach-a-configuration-to-repositories + */ + "POST /orgs/{org}/code-security/configurations/{configuration_id}/attach": Operation<"/orgs/{org}/code-security/configurations/{configuration_id}/attach", "post">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#add-users-to-codespaces-access-for-an-organization + */ + "POST /orgs/{org}/codespaces/access/selected_users": Operation<"/orgs/{org}/codespaces/access/selected_users", "post">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#add-teams-to-the-copilot-subscription-for-an-organization + */ + "POST /orgs/{org}/copilot/billing/selected_teams": Operation<"/orgs/{org}/copilot/billing/selected_teams", "post">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#add-users-to-the-copilot-subscription-for-an-organization + */ + "POST /orgs/{org}/copilot/billing/selected_users": Operation<"/orgs/{org}/copilot/billing/selected_users", "post">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#create-an-organization-webhook + */ + "POST /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "post">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#redeliver-a-delivery-for-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#ping-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/pings": Operation<"/orgs/{org}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/orgs/members#create-an-organization-invitation + */ + "POST /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "post">; + /** + * @see https://docs.github.com/rest/orgs/issue-types#create-issue-type-for-an-organization + */ + "POST /orgs/{org}/issue-types": Operation<"/orgs/{org}/issue-types", "post">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#stop-a-codespace-for-an-organization-user + */ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop", "post">; + /** + * @see https://docs.github.com/rest/migrations/orgs#start-an-organization-migration + */ + "POST /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-a-package-for-an-organization + */ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-package-version-for-an-organization + */ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#review-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + */ + "POST /orgs/{org}/personal-access-token-requests": Operation<"/orgs/{org}/personal-access-token-requests", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#review-a-request-to-access-organization-resources-with-a-fine-grained-personal-access-token + */ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}": Operation<"/orgs/{org}/personal-access-token-requests/{pat_request_id}", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-to-organization-resources-via-fine-grained-personal-access-tokens + */ + "POST /orgs/{org}/personal-access-tokens": Operation<"/orgs/{org}/personal-access-tokens", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-a-fine-grained-personal-access-token-has-to-organization-resources + */ + "POST /orgs/{org}/personal-access-tokens/{pat_id}": Operation<"/orgs/{org}/personal-access-tokens/{pat_id}", "post">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#create-a-private-registry-for-an-organization + */ + "POST /orgs/{org}/private-registries": Operation<"/orgs/{org}/private-registries", "post">; + /** + * @see https://docs.github.com/rest/projects-classic/projects#create-an-organization-project + */ + "POST /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "post">; + /** + * @see https://docs.github.com/rest/projects/items#add-item-to-organization-owned-project + */ + "POST /orgs/{org}/projectsV2/{project_number}/items": Operation<"/orgs/{org}/projectsV2/{project_number}/items", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#create-an-organization-repository + */ + "POST /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "post">; + /** + * @see https://docs.github.com/rest/orgs/rules#create-an-organization-repository-ruleset + */ + "POST /orgs/{org}/rulesets": Operation<"/orgs/{org}/rulesets", "post">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#create-a-hosted-compute-network-configuration-for-an-organization + */ + "POST /orgs/{org}/settings/network-configurations": Operation<"/orgs/{org}/settings/network-configurations", "post">; + /** + * @see https://docs.github.com/rest/teams/teams#create-a-team + */ + "POST /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "post">; + /** + * @see https://docs.github.com/rest/teams/discussions#create-a-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "post">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization + */ + "POST /orgs/{org}/{security_product}/{enablement}": Operation<"/orgs/{org}/{security_product}/{enablement}", "post">; + /** + * @see https://docs.github.com/rest/projects-classic/columns#move-a-project-column + */ + "POST /projects/columns/{column_id}/moves": Operation<"/projects/columns/{column_id}/moves", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-configuration-for-a-just-in-time-runner-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig": Operation<"/repos/{owner}/{repo}/actions/runners/generate-jitconfig", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-registration-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/registration-token": Operation<"/repos/{owner}/{repo}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-remove-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/remove-token": Operation<"/repos/{owner}/{repo}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#add-custom-labels-to-a-self-hosted-runner-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#approve-a-workflow-run-for-a-fork-pull-request + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approve", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#cancel-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/cancel", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#review-custom-deployment-protection-rules-for-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#force-cancel-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#re-run-a-workflow + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#re-run-failed-jobs-from-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs", "post">; + /** + * @see https://docs.github.com/rest/actions/variables#create-a-repository-variable + */ + "POST /repos/{owner}/{repo}/actions/variables": Operation<"/repos/{owner}/{repo}/actions/variables", "post">; + /** + * @see https://docs.github.com/rest/actions/workflows#create-a-workflow-dispatch-event + */ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#create-an-attestation + */ + "POST /repos/{owner}/{repo}/attestations": Operation<"/repos/{owner}/{repo}/attestations", "post">; + /** + * @see https://docs.github.com/rest/repos/autolinks#create-an-autolink-reference-for-a-repository + */ + "POST /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#set-admin-branch-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#create-commit-signature-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#add-status-check-contexts + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#add-app-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#add-team-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#add-user-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "post">; + /** + * @see https://docs.github.com/rest/branches/branches#rename-a-branch + */ + "POST /repos/{owner}/{repo}/branches/{branch}/rename": Operation<"/repos/{owner}/{repo}/branches/{branch}/rename", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#create-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs": Operation<"/repos/{owner}/{repo}/check-runs", "post">; + /** + * @see https://docs.github.com/rest/checks/runs#rerequest-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest", "post">; + /** + * @see https://docs.github.com/rest/checks/suites#create-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites": Operation<"/repos/{owner}/{repo}/check-suites", "post">; + /** + * @see https://docs.github.com/rest/checks/suites#rerequest-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", "post">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#create-an-autofix-for-a-code-scanning-alert + */ + "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix", "post">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#commit-an-autofix-for-a-code-scanning-alert + */ + "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits", "post">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#create-a-codeql-variant-analysis + */ + "POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses", "post">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#upload-an-analysis-as-sarif-data + */ + "POST /repos/{owner}/{repo}/code-scanning/sarifs": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#create-a-codespace-in-a-repository + */ + "POST /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-commit-comment + */ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/commits/comments#create-a-commit-comment + */ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "post">; + /** + * @see https://docs.github.com/rest/dependency-graph/dependency-submission#create-a-snapshot-of-dependencies-for-a-repository + */ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots": Operation<"/repos/{owner}/{repo}/dependency-graph/snapshots", "post">; + /** + * @see https://docs.github.com/rest/deployments/deployments#create-a-deployment + */ + "POST /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "post">; + /** + * @see https://docs.github.com/rest/deployments/statuses#create-a-deployment-status + */ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#create-a-repository-dispatch-event + */ + "POST /repos/{owner}/{repo}/dispatches": Operation<"/repos/{owner}/{repo}/dispatches", "post">; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#create-a-deployment-branch-policy + */ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "post">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#create-a-custom-deployment-protection-rule-on-an-environment + */ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules", "post">; + /** + * @see https://docs.github.com/rest/actions/variables#create-an-environment-variable + */ + "POST /repos/{owner}/{repo}/environments/{environment_name}/variables": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/variables", "post">; + /** + * @see https://docs.github.com/rest/repos/forks#create-a-fork + */ + "POST /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "post">; + /** + * @see https://docs.github.com/rest/git/blobs#create-a-blob + */ + "POST /repos/{owner}/{repo}/git/blobs": Operation<"/repos/{owner}/{repo}/git/blobs", "post">; + /** + * @see https://docs.github.com/rest/git/commits#create-a-commit + */ + "POST /repos/{owner}/{repo}/git/commits": Operation<"/repos/{owner}/{repo}/git/commits", "post">; + /** + * @see https://docs.github.com/rest/git/refs#create-a-reference + */ + "POST /repos/{owner}/{repo}/git/refs": Operation<"/repos/{owner}/{repo}/git/refs", "post">; + /** + * @see https://docs.github.com/rest/git/tags#create-a-tag-object + */ + "POST /repos/{owner}/{repo}/git/tags": Operation<"/repos/{owner}/{repo}/git/tags", "post">; + /** + * @see https://docs.github.com/rest/git/trees#create-a-tree + */ + "POST /repos/{owner}/{repo}/git/trees": Operation<"/repos/{owner}/{repo}/git/trees", "post">; + /** + * @see https://docs.github.com/rest/repos/webhooks#create-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "post">; + /** + * @see https://docs.github.com/rest/repos/webhooks#redeliver-a-delivery-for-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/repos/webhooks#ping-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/pings": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/repos/webhooks#test-the-push-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/tests": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/tests", "post">; + /** + * @see https://docs.github.com/rest/issues/issues#create-an-issue + */ + "POST /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/issues/assignees#add-assignees-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "post">; + /** + * @see https://docs.github.com/rest/issues/comments#create-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/issues/issue-dependencies#add-a-dependency-an-issue-is-blocked-by + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by", "post">; + /** + * @see https://docs.github.com/rest/issues/labels#add-labels-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/issues/sub-issues#add-sub-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/sub_issues", "post">; + /** + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#create-a-deploy-key + */ + "POST /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "post">; + /** + * @see https://docs.github.com/rest/issues/labels#create-a-label + */ + "POST /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "post">; + /** + * @see https://docs.github.com/rest/branches/branches#sync-a-fork-branch-with-the-upstream-repository + */ + "POST /repos/{owner}/{repo}/merge-upstream": Operation<"/repos/{owner}/{repo}/merge-upstream", "post">; + /** + * @see https://docs.github.com/rest/branches/branches#merge-a-branch + */ + "POST /repos/{owner}/{repo}/merges": Operation<"/repos/{owner}/{repo}/merges", "post">; + /** + * @see https://docs.github.com/rest/issues/milestones#create-a-milestone + */ + "POST /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "post">; + /** + * @see https://docs.github.com/rest/pages/pages#create-a-apiname-pages-site + */ + "POST /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "post">; + /** + * @see https://docs.github.com/rest/pages/pages#request-a-apiname-pages-build + */ + "POST /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "post">; + /** + * @see https://docs.github.com/rest/pages/pages#create-a-github-pages-deployment + */ + "POST /repos/{owner}/{repo}/pages/deployments": Operation<"/repos/{owner}/{repo}/pages/deployments", "post">; + /** + * @see https://docs.github.com/rest/pages/pages#cancel-a-github-pages-deployment + */ + "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel": Operation<"/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel", "post">; + /** + * @see https://docs.github.com/rest/projects-classic/projects#create-a-repository-project + */ + "POST /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "post">; + /** + * @see https://docs.github.com/rest/pulls/pulls#create-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#create-a-codespace-from-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/codespaces", "post">; + /** + * @see https://docs.github.com/rest/pulls/comments#create-a-review-comment-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/pulls/comments#create-a-reply-for-a-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#request-reviewers-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "post">; + /** + * @see https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "post">; + /** + * @see https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", "post">; + /** + * @see https://docs.github.com/rest/releases/releases#create-a-release + */ + "POST /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "post">; + /** + * @see https://docs.github.com/rest/releases/releases#generate-release-notes-content-for-a-release + */ + "POST /repos/{owner}/{repo}/releases/generate-notes": Operation<"/repos/{owner}/{repo}/releases/generate-notes", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-release + */ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/repos/rules#create-a-repository-ruleset + */ + "POST /repos/{owner}/{repo}/rulesets": Operation<"/repos/{owner}/{repo}/rulesets", "post">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#create-a-push-protection-bypass + */ + "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": Operation<"/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses", "post">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#create-a-repository-security-advisory + */ + "POST /repos/{owner}/{repo}/security-advisories": Operation<"/repos/{owner}/{repo}/security-advisories", "post">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#privately-report-a-security-vulnerability + */ + "POST /repos/{owner}/{repo}/security-advisories/reports": Operation<"/repos/{owner}/{repo}/security-advisories/reports", "post">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#request-a-cve-for-a-repository-security-advisory + */ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve", "post">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#create-a-temporary-private-fork + */ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks", "post">; + /** + * @see https://docs.github.com/rest/commits/statuses#create-a-commit-status + */ + "POST /repos/{owner}/{repo}/statuses/{sha}": Operation<"/repos/{owner}/{repo}/statuses/{sha}", "post">; + /** + * @see https://docs.github.com/rest/repos/tags#closing-down---create-a-tag-protection-state-for-a-repository + */ + "POST /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#transfer-a-repository + */ + "POST /repos/{owner}/{repo}/transfer": Operation<"/repos/{owner}/{repo}/transfer", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#create-a-repository-using-a-template + */ + "POST /repos/{template_owner}/{template_repo}/generate": Operation<"/repos/{template_owner}/{template_repo}/generate", "post">; + /** + * @see https://docs.github.com/rest/teams/discussions#create-a-discussion-legacy + */ + "POST /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "post">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#create-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces": Operation<"/user/codespaces", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#export-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/exports": Operation<"/user/codespaces/{codespace_name}/exports", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#create-a-repository-from-an-unpublished-codespace + */ + "POST /user/codespaces/{codespace_name}/publish": Operation<"/user/codespaces/{codespace_name}/publish", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#start-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/start": Operation<"/user/codespaces/{codespace_name}/start", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#stop-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/stop": Operation<"/user/codespaces/{codespace_name}/stop", "post">; + /** + * @see https://docs.github.com/rest/users/emails#add-an-email-address-for-the-authenticated-user + */ + "POST /user/emails": Operation<"/user/emails", "post">; + /** + * @see https://docs.github.com/rest/users/gpg-keys#create-a-gpg-key-for-the-authenticated-user + */ + "POST /user/gpg_keys": Operation<"/user/gpg_keys", "post">; + /** + * @see https://docs.github.com/rest/users/keys#create-a-public-ssh-key-for-the-authenticated-user + */ + "POST /user/keys": Operation<"/user/keys", "post">; + /** + * @see https://docs.github.com/rest/migrations/users#start-a-user-migration + */ + "POST /user/migrations": Operation<"/user/migrations", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-a-package-for-the-authenticated-user + */ + "POST /user/packages/{package_type}/{package_name}/restore{?token}": Operation<"/user/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-a-package-version-for-the-authenticated-user + */ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/projects-classic/projects#create-a-user-project + */ + "POST /user/projects": Operation<"/user/projects", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": Operation<"/user/repos", "post">; + /** + * @see https://docs.github.com/rest/users/social-accounts#add-social-accounts-for-the-authenticated-user + */ + "POST /user/social_accounts": Operation<"/user/social_accounts", "post">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#create-a-ssh-signing-key-for-the-authenticated-user + */ + "POST /user/ssh_signing_keys": Operation<"/user/ssh_signing_keys", "post">; + /** + * @see https://docs.github.com/rest/users/attestations#list-attestations-by-bulk-subject-digests + */ + "POST /users/{username}/attestations/bulk-list{?per_page,before,after}": Operation<"/users/{username}/attestations/bulk-list", "post">; + /** + * @see https://docs.github.com/rest/users/attestations#delete-attestations-in-bulk + */ + "POST /users/{username}/attestations/delete-request": Operation<"/users/{username}/attestations/delete-request", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-a-package-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/users/{username}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-package-version-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/projects/items#add-item-to-user-owned-project + */ + "POST /users/{username}/projectsV2/{project_number}/items": Operation<"/users/{username}/projectsV2/{project_number}/items", "post">; + /** + * @see https://docs.github.com/rest/releases/assets#upload-a-release-asset + */ + "POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "post">; + /** + * @see https://docs.github.com/rest/apps/apps#suspend-an-app-installation + */ + "PUT /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "put">; + /** + * @see https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults": Operation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults", "put">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-members#add-team-member + */ + "PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}": Operation<"/enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/enterprise-teams/enterprise-team-organizations#add-an-organization-assignment + */ + "PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}": Operation<"/enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}", "put">; + /** + * @see https://docs.github.com/rest/gists/gists#star-a-gist + */ + "PUT /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "put">; + /** + * @see https://docs.github.com/rest/activity/notifications#mark-notifications-as-read + */ + "PUT /notifications": Operation<"/notifications", "put">; + /** + * @see https://docs.github.com/rest/activity/notifications#set-a-thread-subscription + */ + "PUT /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "put">; + /** + * @see https://docs.github.com/rest/dependabot/repository-access#set-the-default-repository-access-level-for-dependabot + */ + "PUT /organizations/{org}/dependabot/repository-access/default-level": Operation<"/organizations/{org}/dependabot/repository-access/default-level", "put">; + /** + * @see https://docs.github.com/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization + */ + "PUT /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-github-actions-permissions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-artifact-and-log-retention-settings-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/artifact-and-log-retention": Operation<"/orgs/{org}/actions/permissions/artifact-and-log-retention", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/fork-pr-contributor-approval": Operation<"/orgs/{org}/actions/permissions/fork-pr-contributor-approval", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-private-repo-fork-pr-workflow-settings-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/fork-pr-workflows-private-repos": Operation<"/orgs/{org}/actions/permissions/fork-pr-workflows-private-repos", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#enable-a-selected-repository-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-allowed-actions-and-reusable-workflows-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-self-hosted-runners-settings-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/self-hosted-runners": Operation<"/orgs/{org}/actions/permissions/self-hosted-runners", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-repositories-allowed-to-use-self-hosted-runners-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/self-hosted-runners/repositories": Operation<"/orgs/{org}/actions/permissions/self-hosted-runners/repositories", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#add-a-repository-to-the-list-of-repositories-allowed-to-use-self-hosted-runners-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/self-hosted-runners/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/self-hosted-runners/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-default-workflow-permissions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#set-repository-access-for-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#add-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#set-self-hosted-runners-in-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#add-a-self-hosted-runner-to-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#set-custom-labels-for-a-self-hosted-runner-for-an-organization + */ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/actions/variables#set-selected-repositories-for-an-organization-variable + */ + "PUT /orgs/{org}/actions/variables/{name}/repositories": Operation<"/orgs/{org}/actions/variables/{name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/actions/variables#add-selected-repository-to-an-organization-variable + */ + "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/variables/{name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/orgs/blocking#block-a-user-from-an-organization + */ + "PUT /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization + */ + "PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults": Operation<"/orgs/{org}/code-security/configurations/{configuration_id}/defaults", "put">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces + */ + "PUT /orgs/{org}/codespaces/access": Operation<"/orgs/{org}/codespaces/access", "put">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/interactions/orgs#set-interaction-restrictions-for-an-organization + */ + "PUT /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/orgs/issue-types#update-issue-type-for-an-organization + */ + "PUT /orgs/{org}/issue-types/{issue_type_id}": Operation<"/orgs/{org}/issue-types/{issue_type_id}", "put">; + /** + * @see https://docs.github.com/rest/orgs/members#set-organization-membership-for-a-user + */ + "PUT /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#assign-an-organization-role-to-a-team + */ + "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}": Operation<"/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}", "put">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#assign-an-organization-role-to-a-user + */ + "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}": Operation<"/orgs/{org}/organization-roles/users/{username}/{role_id}", "put">; + /** + * @see https://docs.github.com/rest/orgs/outside-collaborators#convert-an-organization-member-to-outside-collaborator + */ + "PUT /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#create-or-update-a-custom-property-for-an-organization + */ + "PUT /orgs/{org}/properties/schema/{custom_property_name}": Operation<"/orgs/{org}/properties/schema/{custom_property_name}", "put">; + /** + * @see https://docs.github.com/rest/orgs/members#set-public-organization-membership-for-the-authenticated-user + */ + "PUT /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "put">; + /** + * @see https://docs.github.com/rest/orgs/rules#update-an-organization-repository-ruleset + */ + "PUT /orgs/{org}/rulesets/{ruleset_id}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "put">; + /** + * @see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team + */ + "PUT /orgs/{org}/security-managers/teams/{team_slug}": Operation<"/orgs/{org}/security-managers/teams/{team_slug}", "put">; + /** + * @see https://docs.github.com/rest/orgs/orgs#set-immutable-releases-settings-for-an-organization + */ + "PUT /orgs/{org}/settings/immutable-releases": Operation<"/orgs/{org}/settings/immutable-releases", "put">; + /** + * @see https://docs.github.com/rest/orgs/orgs#set-selected-repositories-for-immutable-releases-enforcement + */ + "PUT /orgs/{org}/settings/immutable-releases/repositories": Operation<"/orgs/{org}/settings/immutable-releases/repositories", "put">; + /** + * @see https://docs.github.com/rest/orgs/orgs#enable-a-selected-repository-for-immutable-releases-in-an-organization + */ + "PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}": Operation<"/orgs/{org}/settings/immutable-releases/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user + */ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "put">; + /** + * @see https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/projects-classic/collaborators#add-project-collaborator + */ + "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-github-actions-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-the-level-of-access-for-workflows-outside-of-the-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-artifact-and-log-retention-settings-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/artifact-and-log-retention": Operation<"/repos/{owner}/{repo}/actions/permissions/artifact-and-log-retention", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval": Operation<"/repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-private-repo-fork-pr-workflow-settings-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/fork-pr-workflows-private-repos": Operation<"/repos/{owner}/{repo}/actions/permissions/fork-pr-workflows-private-repos", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-allowed-actions-and-reusable-workflows-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-default-workflow-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#set-custom-labels-for-a-self-hosted-runner-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "put">; + /** + * @see https://docs.github.com/rest/actions/secrets#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/actions/workflows#disable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", "put">; + /** + * @see https://docs.github.com/rest/actions/workflows#enable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", "put">; + /** + * @see https://docs.github.com/rest/repos/repos#enable-dependabot-security-updates + */ + "PUT /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "put">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#update-branch-protection + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "put">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#set-status-check-contexts + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "put">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#set-app-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "put">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#set-team-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "put">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#set-user-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "put">; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#add-a-repository-collaborator + */ + "PUT /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/repos/contents#create-or-update-file-contents + */ + "PUT /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "put">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/deployments/environments#create-or-update-an-environment + */ + "PUT /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "put">; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#update-a-deployment-branch-policy + */ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "put">; + /** + * @see https://docs.github.com/rest/actions/secrets#create-or-update-an-environment-secret + */ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/repos/repos#enable-immutable-releases + */ + "PUT /repos/{owner}/{repo}/immutable-releases": Operation<"/repos/{owner}/{repo}/immutable-releases", "put">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#start-an-import + */ + "PUT /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "put">; + /** + * @see https://docs.github.com/rest/interactions/repos#set-interaction-restrictions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/issues/labels#set-labels-for-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "put">; + /** + * @see https://docs.github.com/rest/issues/issues#lock-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "put">; + /** + * @see https://docs.github.com/rest/activity/notifications#mark-repository-notifications-as-read + */ + "PUT /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "put">; + /** + * @see https://docs.github.com/rest/pages/pages#update-information-about-a-apiname-pages-site + */ + "PUT /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "put">; + /** + * @see https://docs.github.com/rest/repos/repos#enable-private-vulnerability-reporting-for-a-repository + */ + "PUT /repos/{owner}/{repo}/private-vulnerability-reporting": Operation<"/repos/{owner}/{repo}/private-vulnerability-reporting", "put">; + /** + * @see https://docs.github.com/rest/pulls/pulls#merge-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "put">; + /** + * @see https://docs.github.com/rest/pulls/reviews#update-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "put">; + /** + * @see https://docs.github.com/rest/pulls/reviews#dismiss-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", "put">; + /** + * @see https://docs.github.com/rest/pulls/pulls#update-a-pull-request-branch + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/update-branch", "put">; + /** + * @see https://docs.github.com/rest/repos/rules#update-a-repository-ruleset + */ + "PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}", "put">; + /** + * @see https://docs.github.com/rest/activity/watching#set-a-repository-subscription + */ + "PUT /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "put">; + /** + * @see https://docs.github.com/rest/repos/repos#replace-all-repository-topics + */ + "PUT /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "put">; + /** + * @see https://docs.github.com/rest/repos/repos#enable-vulnerability-alerts + */ + "PUT /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "put">; + /** + * @see https://docs.github.com/rest/teams/members#add-team-member-legacy + */ + "PUT /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "put">; + /** + * @see https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user-legacy + */ + "PUT /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions-legacy + */ + "PUT /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "put">; + /** + * @see https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions-legacy + */ + "PUT /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/users/blocking#block-a-user + */ + "PUT /user/blocks/{username}": Operation<"/user/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#create-or-update-a-secret-for-the-authenticated-user + */ + "PUT /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret + */ + "PUT /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret + */ + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/users/followers#follow-a-user + */ + "PUT /user/following/{username}": Operation<"/user/following/{username}", "put">; + /** + * @see https://docs.github.com/rest/apps/installations#add-a-repository-to-an-app-installation + */ + "PUT /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/interactions/user#set-interaction-restrictions-for-your-public-repositories + */ + "PUT /user/interaction-limits": Operation<"/user/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/activity/starring#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "put">; +} +export type EndpointKeys = keyof Endpoints; +export {}; diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 0000000..a640e7c --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,20 @@ +export * from "./AuthInterface.js"; +export * from "./EndpointDefaults.js"; +export * from "./EndpointInterface.js"; +export * from "./EndpointOptions.js"; +export * from "./Fetch.js"; +export * from "./OctokitResponse.js"; +export * from "./RequestError.js"; +export * from "./RequestHeaders.js"; +export * from "./RequestInterface.js"; +export * from "./RequestMethod.js"; +export * from "./RequestOptions.js"; +export * from "./RequestParameters.js"; +export * from "./RequestRequestOptions.js"; +export * from "./ResponseHeaders.js"; +export * from "./Route.js"; +export * from "./StrategyInterface.js"; +export * from "./Url.js"; +export * from "./VERSION.js"; +export * from "./GetResponseTypeFromEndpointMethod.js"; +export * from "./generated/Endpoints.js"; diff --git a/node_modules/@octokit/core/node_modules/@octokit/types/package.json b/node_modules/@octokit/core/node_modules/@octokit/types/package.json new file mode 100644 index 0000000..13e7364 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/@octokit/types/package.json @@ -0,0 +1,42 @@ +{ + "name": "@octokit/types", + "version": "16.0.0", + "publishConfig": { + "access": "public", + "provenance": true + }, + "description": "Shared TypeScript definitions for Octokit projects", + "dependencies": { + "@octokit/openapi-types": "^27.0.0" + }, + "repository": "github:octokit/types.ts", + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "devDependencies": { + "@octokit/tsconfig": "^4.0.0", + "github-openapi-graphql-query": "^5.0.0", + "handlebars": "^4.7.6", + "npm-run-all2": "^8.0.0", + "prettier": "^3.0.0", + "semantic-release": "^25.0.0", + "semantic-release-plugin-update-version-in-files": "^2.0.0", + "sort-keys": "^6.0.0", + "typedoc": "^0.28.0", + "typescript": "^5.0.0" + }, + "octokit": { + "openapi-version": "21.0.0" + }, + "files": [ + "dist-types/**" + ], + "types": "dist-types/index.d.ts", + "sideEffects": false +} diff --git a/node_modules/@octokit/core/node_modules/before-after-hook/LICENSE b/node_modules/@octokit/core/node_modules/before-after-hook/LICENSE new file mode 100644 index 0000000..225063c --- /dev/null +++ b/node_modules/@octokit/core/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/@octokit/core/node_modules/before-after-hook/README.md b/node_modules/@octokit/core/node_modules/before-after-hook/README.md new file mode 100644 index 0000000..6e67ffa --- /dev/null +++ b/node_modules/@octokit/core/node_modules/before-after-hook/README.md @@ -0,0 +1,679 @@ +# 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) +[![Test](https://github.com/gr2m/before-after-hook/actions/workflows/test.yml/badge.svg)](https://github.com/gr2m/before-after-hook/actions/workflows/test.yml) + +## Usage + + + + + + +
+Browsers + +Load before-after-hook directly from cdn.skypack.dev + +```html + +``` + +
+Node + + +Install with npm install before-after-hook + +```js +import Hook from "before-after-hook"; +``` + +
+ +### Singular hook + +```js +// instantiate singular hook API +const hook = new Hook.Singular(); + +// Create a hook +async function getData(options) { + try { + const result = await hook(fetchFromDatabase, options); + return handleData(result); + } catch (error) { + return handleGetError(error); + } +} + +// 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 +async function getData(options) { + try { + const result = await hookCollection("get", fetchFromDatabase, options); + return handleData(result); + } catch (error) { + return handleGetError(error); + } +} + +// 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. `handleData` + +`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 `handleData`. + +If `errorHook` throws an error then `handleGetError` is called next, otherwise +`afterHook` and `handleData`. + +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); +}); +``` + +## 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) +- [hookCollection.api](#hookcollectionapi) +- [hookCollection()](#hookcollection) +- [hookCollection.before()](#hookcollectionbefore) +- [hookCollection.error()](#hookcollectionerror) +- [hookCollection.after()](#hookcollectionafter) +- [hookCollection.wrap()](#hookcollectionwrap) +- [hookCollection.remove()](#hookcollectionremove) + +### 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", + (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"], + (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", + (record) => { + return hookCollection( + "save", + (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", (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", (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 (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. + +### Type support for `Singular`: + +```ts +import Hook from "before-after-hook"; + +type TOptions = { foo: string }; // type for options +type TResult = { bar: number }; // type for result +type TError = Error; // type for error + +const hook = new Hook.Singular(); + +hook.before((options) => { + // `options.foo` has `string` type + + // not allowed + options.foo = 42; + + // allowed + options.foo = "Forty-Two"; +}); + +const hookedMethod = hook( + (options) => { + // `options.foo` has `string` type + + // not allowed, because it does not satisfy the `R` type + return { foo: 42 }; + + // allowed + return { bar: 42 }; + }, + { foo: "Forty-Two" } +); +``` + +You can choose not to pass the types for options, result or error. So, these are completely valid: + +```ts +const hook = new Hook.Singular(); +const hook = new Hook.Singular(); +const hook = new Hook.Singular(); +``` + +In these cases, the omitted types will implicitly be `any`. + +### Type support for `Collection`: + +`Collection` also has strict type support. You can use it like this: + +```ts +import { Hook } from "before-after-hook"; + +type HooksType = { + add: { + Options: { type: string }; + Result: { id: number }; + Error: Error; + }; + save: { + Options: { type: string }; + Result: { id: number }; + }; + read: { + Options: { id: number; foo: number }; + }; + destroy: { + Options: { id: number; foo: string }; + }; +}; + +const hooks = new Hook.Collection(); + +hooks.before("destroy", (options) => { + // `options.id` has `number` type +}); + +hooks.error("add", (err, options) => { + // `options.type` has `string` type + // `err` is `instanceof Error` +}); + +hooks.error("save", (err, options) => { + // `options.type` has `string` type + // `err` has type `any` +}); + +hooks.after("save", (result, options) => { + // `options.type` has `string` type + // `result.id` has `number` type +}); +``` + +You can choose not to pass the types altogether. In that case, everything will implicitly be `any`: + +```ts +const hook = new Hook.Collection(); +``` + +Alternative imports: + +```ts +import { Singular, Collection } from "before-after-hook"; + +const hook = new Singular(); +const hooks = 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/@octokit/core/node_modules/before-after-hook/index.d.ts b/node_modules/@octokit/core/node_modules/before-after-hook/index.d.ts new file mode 100644 index 0000000..1f69f0a --- /dev/null +++ b/node_modules/@octokit/core/node_modules/before-after-hook/index.d.ts @@ -0,0 +1,174 @@ +type HookMethod = ( + options: Options +) => Result | Promise; + +type BeforeHook = (options: Options) => void | Promise; +type ErrorHook = ( + error: Error, + options: Options +) => unknown | Promise; +type AfterHook = ( + result: Result, + options: Options +) => void | Promise; +type WrapHook = ( + hookMethod: HookMethod, + options: Options +) => Result | Promise; + +type AnyHook = + | BeforeHook + | ErrorHook + | AfterHook + | WrapHook; + +type TypeStoreKey = "Options" | "Result" | "Error"; +type TypeStore = { [key in TypeStoreKey]?: any }; +type GetType< + TStore extends TypeStore, + TKey extends TypeStoreKey +> = TKey extends keyof TStore ? TStore[TKey] : any; + +export interface HookCollection< + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + >, + HookName extends keyof HooksType = keyof HooksType +> { + /** + * Invoke before and after hooks + */ + ( + name: Name | Name[], + hookMethod: HookMethod< + GetType, + GetType + >, + options?: GetType + ): Promise>; + /** + * Add `before` hook for given `name` + */ + before( + name: Name, + beforeHook: BeforeHook> + ): void; + /** + * Add `error` hook for given `name` + */ + error( + name: Name, + errorHook: ErrorHook< + GetType, + GetType + > + ): void; + /** + * Add `after` hook for given `name` + */ + after( + name: Name, + afterHook: AfterHook< + GetType, + GetType + > + ): void; + /** + * Add `wrap` hook for given `name` + */ + wrap( + name: Name, + wrapHook: WrapHook< + GetType, + GetType + > + ): void; + /** + * Remove added hook for given `name` + */ + remove( + name: Name, + hook: AnyHook< + GetType, + GetType, + GetType + > + ): void; + /** + * Public API + */ + api: Pick< + HookCollection, + "before" | "error" | "after" | "wrap" | "remove" + >; +} + +export interface HookSingular { + /** + * Invoke before and after hooks + */ + (hookMethod: HookMethod, options?: Options): 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; + /** + * Public API + */ + api: Pick< + HookSingular, + "before" | "error" | "after" | "wrap" | "remove" + >; +} + +type Collection = new < + HooksType extends Record = Record +>() => HookCollection; +type Singular = new < + Options = unknown, + Result = unknown, + Error = unknown +>() => HookSingular; + +interface Hook { + /** + * Creates a collection of hooks + */ + Collection: Collection; + + /** + * Creates a nameless hook that supports strict typings + */ + Singular: Singular; +} + +declare const Hook: { + /** + * Creates a collection of hooks + */ + Collection: Collection; + + /** + * Creates a nameless hook that supports strict typings + */ + Singular: Singular; +}; + +export default Hook; diff --git a/node_modules/@octokit/core/node_modules/before-after-hook/index.js b/node_modules/@octokit/core/node_modules/before-after-hook/index.js new file mode 100644 index 0000000..444f99d --- /dev/null +++ b/node_modules/@octokit/core/node_modules/before-after-hook/index.js @@ -0,0 +1,45 @@ +// @ts-check + +import { register } from "./lib/register.js"; +import { addHook } from "./lib/add.js"; +import { removeHook } from "./lib/remove.js"; + +// bind with array of arguments: https://stackoverflow.com/a/21792913 +const bind = Function.bind; +const bindable = bind.bind(bind); + +function bindApi(hook, state, name) { + const removeHookRef = bindable(removeHook, null).apply( + null, + name ? [state, name] : [state] + ); + hook.api = { remove: removeHookRef }; + hook.remove = removeHookRef; + ["before", "error", "after", "wrap"].forEach((kind) => { + const args = name ? [state, kind, name] : [state, kind]; + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); + }); +} + +function Singular() { + const singularHookName = Symbol("Singular"); + const singularHookState = { + registry: {}, + }; + const singularHook = register.bind(null, singularHookState, singularHookName); + bindApi(singularHook, singularHookState, singularHookName); + return singularHook; +} + +function Collection() { + const state = { + registry: {}, + }; + + const hook = register.bind(null, state); + bindApi(hook, state); + + return hook; +} + +export default { Singular, Collection }; diff --git a/node_modules/@octokit/core/node_modules/before-after-hook/lib/add.js b/node_modules/@octokit/core/node_modules/before-after-hook/lib/add.js new file mode 100644 index 0000000..f19ee71 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/before-after-hook/lib/add.js @@ -0,0 +1,46 @@ +// @ts-check + +export function addHook(state, kind, name, hook) { + const orig = hook; + if (!state.registry[name]) { + state.registry[name] = []; + } + + if (kind === "before") { + hook = (method, options) => { + return Promise.resolve() + .then(orig.bind(null, options)) + .then(method.bind(null, options)); + }; + } + + if (kind === "after") { + hook = (method, options) => { + let result; + return Promise.resolve() + .then(method.bind(null, options)) + .then((result_) => { + result = result_; + return orig(result, options); + }) + .then(() => { + return result; + }); + }; + } + + if (kind === "error") { + hook = (method, options) => { + return Promise.resolve() + .then(method.bind(null, options)) + .catch((error) => { + return orig(error, options); + }); + }; + } + + state.registry[name].push({ + hook: hook, + orig: orig, + }); +} diff --git a/node_modules/@octokit/core/node_modules/before-after-hook/lib/register.js b/node_modules/@octokit/core/node_modules/before-after-hook/lib/register.js new file mode 100644 index 0000000..cc4e301 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/before-after-hook/lib/register.js @@ -0,0 +1,27 @@ +// @ts-check + +export function register(state, name, method, options) { + if (typeof method !== "function") { + throw new Error("method for before hook must be a function"); + } + + if (!options) { + options = {}; + } + + if (Array.isArray(name)) { + return name.reverse().reduce((callback, name) => { + return register.bind(null, state, name, callback, options); + }, method)(); + } + + return Promise.resolve().then(() => { + if (!state.registry[name]) { + return method(options); + } + + return state.registry[name].reduce((method, registered) => { + return registered.hook.bind(null, method, options); + }, method)(); + }); +} diff --git a/node_modules/@octokit/core/node_modules/before-after-hook/lib/remove.js b/node_modules/@octokit/core/node_modules/before-after-hook/lib/remove.js new file mode 100644 index 0000000..e844890 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/before-after-hook/lib/remove.js @@ -0,0 +1,19 @@ +// @ts-check + +export function removeHook(state, name, method) { + if (!state.registry[name]) { + return; + } + + const index = state.registry[name] + .map((registered) => { + return registered.orig; + }) + .indexOf(method); + + if (index === -1) { + return; + } + + state.registry[name].splice(index, 1); +} diff --git a/node_modules/@octokit/core/node_modules/before-after-hook/package.json b/node_modules/@octokit/core/node_modules/before-after-hook/package.json new file mode 100644 index 0000000..07bf873 --- /dev/null +++ b/node_modules/@octokit/core/node_modules/before-after-hook/package.json @@ -0,0 +1,54 @@ +{ + "name": "before-after-hook", + "type": "module", + "version": "4.0.0", + "description": "asynchronous before/error/after hooks for internal functionality", + "exports": "./index.js", + "types": "./index.d.ts", + "files": [ + "index.js", + "index.d.ts", + "lib" + ], + "scripts": { + "test": "npm run test:code && npm run test:tsc && npm run test:tsd && npm run lint", + "test:code": "c8 --100 --clean node --test", + "test:deno": "deno test --no-check", + "test:tsc": "tsc --allowJs --noEmit --esModuleInterop --skipLibCheck --lib es2020 index.js", + "test:tsd": "tsd", + "lint": "prettier --check \"*.{js,json,ts,md}\" \"test//*.{js,json,ts,md}\" \".github/**/*.yml\"", + "lint:fix": "prettier --write \"*.{js,json,ts,md}\" \"test//*.{js,json,ts,md}\" \".github/**/*.yml\"", + "postcoverage": "open-cli coverage/index.html" + }, + "repository": "github:gr2m/before-after-hook", + "keywords": [ + "hook", + "hooks", + "api" + ], + "author": "Gregor Martynus", + "license": "Apache-2.0", + "devDependencies": { + "@types/node": "^22.15.17", + "c8": "^10.1.3", + "prettier": "^2.0.0", + "tsd": "^0.24.1", + "typescript": "^4.8.4" + }, + "release": { + "branches": [ + "+([0-9]).x", + "main", + "next", + { + "name": "beta", + "prerelease": true + } + ] + }, + "renovate": { + "extends": [ + "github>gr2m/.github" + ] + } +} diff --git a/node_modules/@octokit/core/package.json b/node_modules/@octokit/core/package.json new file mode 100644 index 0000000..c60a874 --- /dev/null +++ b/node_modules/@octokit/core/package.json @@ -0,0 +1,67 @@ +{ + "name": "@octokit/core", + "version": "7.0.6", + "publishConfig": { + "access": "public", + "provenance": true + }, + "type": "module", + "description": "Extendable client for GitHub's REST & GraphQL APIs", + "repository": "github:octokit/core.js", + "keywords": [ + "octokit", + "github", + "api", + "sdk", + "toolkit" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "dependencies": { + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.3", + "@octokit/request": "^10.0.6", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "before-after-hook": "^4.0.0", + "universal-user-agent": "^7.0.0" + }, + "devDependencies": { + "@octokit/auth-action": "^6.0.1", + "@octokit/auth-app": "^8.0.0", + "@octokit/auth-oauth-app": "^9.0.0", + "@octokit/tsconfig": "^4.0.0", + "@sinonjs/fake-timers": "^15.0.0", + "@types/lolex": "^5.1.0", + "@types/node": "^22.0.0", + "@types/sinonjs__fake-timers": "^15.0.0", + "@vitest/coverage-v8": "^3.0.5", + "esbuild": "^0.25.0", + "fetch-mock": "^12.0.0", + "prettier": "3.6.2", + "proxy": "^2.0.0", + "semantic-release-plugin-update-version-in-files": "^2.0.0", + "typescript": "^5.0.0", + "undici": "^7.0.0", + "vitest": "^3.0.5" + }, + "engines": { + "node": ">= 20" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "types": "./dist-types/index.d.ts", + "exports": { + ".": { + "types": "./dist-types/index.d.ts", + "import": "./dist-src/index.js", + "default": "./dist-src/index.js" + }, + "./types": { + "types": "./dist-types/types.d.ts" + } + }, + "sideEffects": false +} diff --git a/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/endpoint/README.md index ad26c37..1e5153f 100644 --- a/node_modules/@octokit/endpoint/README.md +++ b/node_modules/@octokit/endpoint/README.md @@ -3,21 +3,21 @@ > 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://travis-ci.org/octokit/endpoint.js.svg?branch=master)](https://travis-ci.org/octokit/endpoint.js) -[![Greenkeeper](https://badges.greenkeeper.io/octokit/endpoint.js.svg)](https://greenkeeper.io/) +![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg) `@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) + - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) + - [`endpoint.defaults()`](#endpointdefaults) + - [`endpoint.DEFAULTS`](#endpointdefaults) + - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) + - [`endpoint.parse()`](#endpointparse) - [Special cases](#special-cases) - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) @@ -32,11 +32,11 @@ Browsers -Load @octokit/endpoint directly from cdn.pika.dev +Load @octokit/endpoint directly from cdn.skypack.dev ```html ``` @@ -59,12 +59,12 @@ const { endpoint } = require("@octokit/endpoint"); Example for [List organization repositories](https://developer.github.com/v3/repos/#list-organization-repositories) ```js -const requestOptions = endpoint("GET /orgs/:org/repos", { +const requestOptions = endpoint("GET /orgs/{org}/repos", { headers: { - authorization: "token 0000000000000000000000000000000000000001" + authorization: "token 0000000000000000000000000000000000000001", }, org: "octokit", - type: "private" + type: "private", }); ``` @@ -82,7 +82,7 @@ The resulting `requestOptions` looks as follows } ``` -You can pass `requestOptions` to commen request libraries +You can pass `requestOptions` to common request libraries ```js const { url, ...options } = requestOptions; @@ -123,7 +123,7 @@ axios(requestOptions); 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. + 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. @@ -146,7 +146,7 @@ axios(requestOptions); 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. + e.g., /orgs/{org}/repos. The url is parsed using url-template. @@ -222,7 +222,7 @@ axios(requestOptions); 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`. +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. @@ -283,13 +283,13 @@ 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` + authorization: `token 0000000000000000000000000000000000000001`, }, org: "my-project", - per_page: 100 + per_page: 100, }); -request(myEndpoint(`GET /orgs/:org/repos`)); +request(myEndpoint(`GET /orgs/{org}/repos`)); ``` You can call `.defaults()` again on the returned method, the defaults will cascade. @@ -298,14 +298,14 @@ You can call `.defaults()` again on the returned method, the defaults will casca const myProjectEndpoint = endpoint.defaults({ baseUrl: "https://github-enterprise.acme-inc.com/api/v3", headers: { - "user-agent": "myApp/1.2.3" + "user-agent": "myApp/1.2.3", }, - org: "my-project" + org: "my-project", }); const myProjectEndpointWithAuth = myProjectEndpoint.defaults({ headers: { - authorization: `token 0000000000000000000000000000000000000001` - } + authorization: `token 0000000000000000000000000000000000000001`, + }, }); ``` @@ -320,7 +320,7 @@ 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" + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", }); myEndpoint.DEFAULTS.baseUrl; // https://github-enterprise.acme-inc.com/api/v3 ``` @@ -333,22 +333,22 @@ Get the defaulted endpoint options, but without parsing them into request option const myProjectEndpoint = endpoint.defaults({ baseUrl: "https://github-enterprise.acme-inc.com/api/v3", headers: { - "user-agent": "myApp/1.2.3" + "user-agent": "myApp/1.2.3", }, - org: "my-project" + org: "my-project", }); -myProjectEndpoint.merge("GET /orgs/:org/repos", { +myProjectEndpoint.merge("GET /orgs/{org}/repos", { headers: { - authorization: `token 0000000000000000000000000000000000000001` + authorization: `token 0000000000000000000000000000000000000001`, }, org: "my-secret-project", - type: "private" + type: "private", }); // { // baseUrl: 'https://github-enterprise.acme-inc.com/api/v3', // method: 'GET', -// url: '/orgs/:org/repos', +// url: '/orgs/{org}/repos', // headers: { // accept: 'application/vnd.github.v3+json', // authorization: `token 0000000000000000000000000000000000000001`, @@ -377,8 +377,8 @@ 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" - } + "content-type": "text/plain", + }, }); // options is @@ -409,9 +409,9 @@ endpoint( headers: { "content-type": "text/plain", "content-length": 14, - authorization: `token 0000000000000000000000000000000000000001` + authorization: `token 0000000000000000000000000000000000000001`, }, - data: "Hello, world!" + data: "Hello, world!", } ); ``` diff --git a/node_modules/@octokit/endpoint/dist-node/index.js b/node_modules/@octokit/endpoint/dist-node/index.js index fe72119..70f24ff 100644 --- a/node_modules/@octokit/endpoint/dist-node/index.js +++ b/node_modules/@octokit/endpoint/dist-node/index.js @@ -2,9 +2,7 @@ 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 isPlainObject = require('is-plain-object'); var universalUserAgent = require('universal-user-agent'); function lowercaseKeys(object) { @@ -21,7 +19,7 @@ function lowercaseKeys(object) { function mergeDeep(defaults, options) { const result = Object.assign({}, defaults); Object.keys(options).forEach(key => { - if (isPlainObject(options[key])) { + if (isPlainObject.isPlainObject(options[key])) { if (!(key in defaults)) Object.assign(result, { [key]: options[key] });else result[key] = mergeDeep(defaults[key], options[key]); @@ -34,6 +32,16 @@ function mergeDeep(defaults, options) { return result; } +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + + return obj; +} + function merge(defaults, route, options) { if (typeof route === "string") { let [method, url] = route.split(" "); @@ -44,11 +52,14 @@ function merge(defaults, route, options) { url: method }, options); } else { - options = route || {}; + options = Object.assign({}, route); } // lowercase header names before merging with defaults to avoid duplicates - options.headers = lowercaseKeys(options.headers); + options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging + + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten if (defaults && defaults.mediaType.previews.length) { @@ -270,7 +281,7 @@ 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 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 @@ -284,9 +295,9 @@ function parse(options) { 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); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); - if (!isBinaryRequset) { + if (!isBinaryRequest) { 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(","); @@ -355,9 +366,11 @@ function withDefaults(oldDefaults, newDefaults) { }); } -const VERSION = "0.0.0-development"; +const VERSION = "6.0.12"; + +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 userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; const DEFAULTS = { method: "GET", baseUrl: "https://api.github.com", diff --git a/node_modules/@octokit/endpoint/dist-node/index.js.map b/node_modules/@octokit/endpoint/dist-node/index.js.map index ef44981..003e4f2 100644 --- a/node_modules/@octokit/endpoint/dist-node/index.js.map +++ b/node_modules/@octokit/endpoint/dist-node/index.js.map @@ -1 +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 = 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 = \"0.0.0-development\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\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,GAAGM,KAAK,IAAI,EAAnB;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,GAAGR,OAAO,CAACQ,GAAR,CAAYY,OAAZ,CAAoB,cAApB,EAAoC,OAApC,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;AACA,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;;MCDMqF,QAAQ,GAAGJ,YAAY,CAAC,IAAD,EAAOG,QAAP,CAA7B;;;;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/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","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\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 // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(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=\" + parameters.q.split(\"+\").map(encodeURIComponent).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).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\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 isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\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 = \"6.0.12\";\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","removeUndefinedProperties","obj","undefined","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","encodeReserved","str","part","encodeURI","encodeUnreserved","c","charCodeAt","toString","toUpperCase","encodeValue","operator","value","isDefined","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","isBinaryRequest","accept","format","previewsFromAcceptHeader","data","request","endpointWithDefaults","withDefaults","oldDefaults","newDefaults","DEFAULTS","endpoint","VERSION","userAgent","getUserAgent"],"mappings":";;;;;;;AAAO,SAASA,aAAT,CAAuBC,MAAvB,EAA+B;AAClC,MAAI,CAACA,MAAL,EAAa;AACT,WAAO,EAAP;AACH;;AACD,SAAOC,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,MAApB,CAA2B,CAACC,MAAD,EAASC,GAAT,KAAiB;AAC/CD,IAAAA,MAAM,CAACC,GAAG,CAACC,WAAJ,EAAD,CAAN,GAA4BN,MAAM,CAACK,GAAD,CAAlC;AACA,WAAOD,MAAP;AACH,GAHM,EAGJ,EAHI,CAAP;AAIH;;ACPM,SAASG,SAAT,CAAmBC,QAAnB,EAA6BC,OAA7B,EAAsC;AACzC,QAAMC,MAAM,GAAGT,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBH,QAAlB,CAAf;AACAP,EAAAA,MAAM,CAACC,IAAP,CAAYO,OAAZ,EAAqBG,OAArB,CAA8BP,GAAD,IAAS;AAClC,QAAIQ,2BAAa,CAACJ,OAAO,CAACJ,GAAD,CAAR,CAAjB,EAAiC;AAC7B,UAAI,EAAEA,GAAG,IAAIG,QAAT,CAAJ,EACIP,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;AAAE,SAACL,GAAD,GAAOI,OAAO,CAACJ,GAAD;AAAhB,OAAtB,EADJ,KAGIK,MAAM,CAACL,GAAD,CAAN,GAAcE,SAAS,CAACC,QAAQ,CAACH,GAAD,CAAT,EAAgBI,OAAO,CAACJ,GAAD,CAAvB,CAAvB;AACP,KALD,MAMK;AACDJ,MAAAA,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;AAAE,SAACL,GAAD,GAAOI,OAAO,CAACJ,GAAD;AAAhB,OAAtB;AACH;AACJ,GAVD;AAWA,SAAOK,MAAP;AACH;;ACfM,SAASI,yBAAT,CAAmCC,GAAnC,EAAwC;AAC3C,OAAK,MAAMV,GAAX,IAAkBU,GAAlB,EAAuB;AACnB,QAAIA,GAAG,CAACV,GAAD,CAAH,KAAaW,SAAjB,EAA4B;AACxB,aAAOD,GAAG,CAACV,GAAD,CAAV;AACH;AACJ;;AACD,SAAOU,GAAP;AACH;;ACJM,SAASE,KAAT,CAAeT,QAAf,EAAyBU,KAAzB,EAAgCT,OAAhC,EAAyC;AAC5C,MAAI,OAAOS,KAAP,KAAiB,QAArB,EAA+B;AAC3B,QAAI,CAACC,MAAD,EAASC,GAAT,IAAgBF,KAAK,CAACG,KAAN,CAAY,GAAZ,CAApB;AACAZ,IAAAA,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAcS,GAAG,GAAG;AAAED,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KAAH,GAAqB;AAAEA,MAAAA,GAAG,EAAED;AAAP,KAAtC,EAAuDV,OAAvD,CAAV;AACH,GAHD,MAIK;AACDA,IAAAA,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBO,KAAlB,CAAV;AACH,GAP2C;;;AAS5CT,EAAAA,OAAO,CAACa,OAAR,GAAkBvB,aAAa,CAACU,OAAO,CAACa,OAAT,CAA/B,CAT4C;;AAW5CR,EAAAA,yBAAyB,CAACL,OAAD,CAAzB;AACAK,EAAAA,yBAAyB,CAACL,OAAO,CAACa,OAAT,CAAzB;AACA,QAAMC,aAAa,GAAGhB,SAAS,CAACC,QAAQ,IAAI,EAAb,EAAiBC,OAAjB,CAA/B,CAb4C;;AAe5C,MAAID,QAAQ,IAAIA,QAAQ,CAACgB,SAAT,CAAmBC,QAAnB,CAA4BC,MAA5C,EAAoD;AAChDH,IAAAA,aAAa,CAACC,SAAd,CAAwBC,QAAxB,GAAmCjB,QAAQ,CAACgB,SAAT,CAAmBC,QAAnB,CAC9BE,MAD8B,CACtBC,OAAD,IAAa,CAACL,aAAa,CAACC,SAAd,CAAwBC,QAAxB,CAAiCI,QAAjC,CAA0CD,OAA1C,CADS,EAE9BE,MAF8B,CAEvBP,aAAa,CAACC,SAAd,CAAwBC,QAFD,CAAnC;AAGH;;AACDF,EAAAA,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;AACA,SAAOT,aAAP;AACH;;ACzBM,SAASU,kBAAT,CAA4Bb,GAA5B,EAAiCc,UAAjC,EAA6C;AAChD,QAAMC,SAAS,GAAG,KAAKC,IAAL,CAAUhB,GAAV,IAAiB,GAAjB,GAAuB,GAAzC;AACA,QAAMiB,KAAK,GAAGpC,MAAM,CAACC,IAAP,CAAYgC,UAAZ,CAAd;;AACA,MAAIG,KAAK,CAACX,MAAN,KAAiB,CAArB,EAAwB;AACpB,WAAON,GAAP;AACH;;AACD,SAAQA,GAAG,GACPe,SADI,GAEJE,KAAK,CACAN,GADL,CACUO,IAAD,IAAU;AACf,QAAIA,IAAI,KAAK,GAAb,EAAkB;AACd,aAAQ,OAAOJ,UAAU,CAACK,CAAX,CAAalB,KAAb,CAAmB,GAAnB,EAAwBU,GAAxB,CAA4BS,kBAA5B,EAAgDC,IAAhD,CAAqD,GAArD,CAAf;AACH;;AACD,WAAQ,GAAEH,IAAK,IAAGE,kBAAkB,CAACN,UAAU,CAACI,IAAD,CAAX,CAAmB,EAAvD;AACH,GAND,EAOKG,IAPL,CAOU,GAPV,CAFJ;AAUH;;AChBD,MAAMC,gBAAgB,GAAG,YAAzB;;AACA,SAASC,cAAT,CAAwBC,YAAxB,EAAsC;AAClC,SAAOA,YAAY,CAACZ,OAAb,CAAqB,YAArB,EAAmC,EAAnC,EAAuCX,KAAvC,CAA6C,GAA7C,CAAP;AACH;;AACD,AAAO,SAASwB,uBAAT,CAAiCzB,GAAjC,EAAsC;AACzC,QAAM0B,OAAO,GAAG1B,GAAG,CAAC2B,KAAJ,CAAUL,gBAAV,CAAhB;;AACA,MAAI,CAACI,OAAL,EAAc;AACV,WAAO,EAAP;AACH;;AACD,SAAOA,OAAO,CAACf,GAAR,CAAYY,cAAZ,EAA4BxC,MAA5B,CAAmC,CAAC6C,CAAD,EAAIC,CAAJ,KAAUD,CAAC,CAAClB,MAAF,CAASmB,CAAT,CAA7C,EAA0D,EAA1D,CAAP;AACH;;ACVM,SAASC,IAAT,CAAclD,MAAd,EAAsBmD,UAAtB,EAAkC;AACrC,SAAOlD,MAAM,CAACC,IAAP,CAAYF,MAAZ,EACF2B,MADE,CACMyB,MAAD,IAAY,CAACD,UAAU,CAACtB,QAAX,CAAoBuB,MAApB,CADlB,EAEFjD,MAFE,CAEK,CAACY,GAAD,EAAMV,GAAN,KAAc;AACtBU,IAAAA,GAAG,CAACV,GAAD,CAAH,GAAWL,MAAM,CAACK,GAAD,CAAjB;AACA,WAAOU,GAAP;AACH,GALM,EAKJ,EALI,CAAP;AAMH;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,SAASsC,cAAT,CAAwBC,GAAxB,EAA6B;AACzB,SAAOA,GAAG,CACLjC,KADE,CACI,oBADJ,EAEFU,GAFE,CAEE,UAAUwB,IAAV,EAAgB;AACrB,QAAI,CAAC,eAAenB,IAAf,CAAoBmB,IAApB,CAAL,EAAgC;AAC5BA,MAAAA,IAAI,GAAGC,SAAS,CAACD,IAAD,CAAT,CAAgBvB,OAAhB,CAAwB,MAAxB,EAAgC,GAAhC,EAAqCA,OAArC,CAA6C,MAA7C,EAAqD,GAArD,CAAP;AACH;;AACD,WAAOuB,IAAP;AACH,GAPM,EAQFd,IARE,CAQG,EARH,CAAP;AASH;;AACD,SAASgB,gBAAT,CAA0BH,GAA1B,EAA+B;AAC3B,SAAOd,kBAAkB,CAACc,GAAD,CAAlB,CAAwBtB,OAAxB,CAAgC,UAAhC,EAA4C,UAAU0B,CAAV,EAAa;AAC5D,WAAO,MAAMA,CAAC,CAACC,UAAF,CAAa,CAAb,EAAgBC,QAAhB,CAAyB,EAAzB,EAA6BC,WAA7B,EAAb;AACH,GAFM,CAAP;AAGH;;AACD,SAASC,WAAT,CAAqBC,QAArB,EAA+BC,KAA/B,EAAsC3D,GAAtC,EAA2C;AACvC2D,EAAAA,KAAK,GACDD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,GACMV,cAAc,CAACW,KAAD,CADpB,GAEMP,gBAAgB,CAACO,KAAD,CAH1B;;AAIA,MAAI3D,GAAJ,EAAS;AACL,WAAOoD,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAAxB,GAA8B2D,KAArC;AACH,GAFD,MAGK;AACD,WAAOA,KAAP;AACH;AACJ;;AACD,SAASC,SAAT,CAAmBD,KAAnB,EAA0B;AACtB,SAAOA,KAAK,KAAKhD,SAAV,IAAuBgD,KAAK,KAAK,IAAxC;AACH;;AACD,SAASE,aAAT,CAAuBH,QAAvB,EAAiC;AAC7B,SAAOA,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,IAAwCA,QAAQ,KAAK,GAA5D;AACH;;AACD,SAASI,SAAT,CAAmBC,OAAnB,EAA4BL,QAA5B,EAAsC1D,GAAtC,EAA2CgE,QAA3C,EAAqD;AACjD,MAAIL,KAAK,GAAGI,OAAO,CAAC/D,GAAD,CAAnB;AAAA,MAA0BK,MAAM,GAAG,EAAnC;;AACA,MAAIuD,SAAS,CAACD,KAAD,CAAT,IAAoBA,KAAK,KAAK,EAAlC,EAAsC;AAClC,QAAI,OAAOA,KAAP,KAAiB,QAAjB,IACA,OAAOA,KAAP,KAAiB,QADjB,IAEA,OAAOA,KAAP,KAAiB,SAFrB,EAEgC;AAC5BA,MAAAA,KAAK,GAAGA,KAAK,CAACJ,QAAN,EAAR;;AACA,UAAIS,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;AAC9BL,QAAAA,KAAK,GAAGA,KAAK,CAACM,SAAN,CAAgB,CAAhB,EAAmBC,QAAQ,CAACF,QAAD,EAAW,EAAX,CAA3B,CAAR;AACH;;AACD3D,MAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBE,aAAa,CAACH,QAAD,CAAb,GAA0B1D,GAA1B,GAAgC,EAAlD,CAAvB;AACH,KARD,MASK;AACD,UAAIgE,QAAQ,KAAK,GAAjB,EAAsB;AAClB,YAAII,KAAK,CAACC,OAAN,CAAcV,KAAd,CAAJ,EAA0B;AACtBA,UAAAA,KAAK,CAACrC,MAAN,CAAasC,SAAb,EAAwBrD,OAAxB,CAAgC,UAAUoD,KAAV,EAAiB;AAC7CtD,YAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBE,aAAa,CAACH,QAAD,CAAb,GAA0B1D,GAA1B,GAAgC,EAAlD,CAAvB;AACH,WAFD;AAGH,SAJD,MAKK;AACDJ,UAAAA,MAAM,CAACC,IAAP,CAAY8D,KAAZ,EAAmBpD,OAAnB,CAA2B,UAAU+D,CAAV,EAAa;AACpC,gBAAIV,SAAS,CAACD,KAAK,CAACW,CAAD,CAAN,CAAb,EAAyB;AACrBjE,cAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACW,CAAD,CAAhB,EAAqBA,CAArB,CAAvB;AACH;AACJ,WAJD;AAKH;AACJ,OAbD,MAcK;AACD,cAAMC,GAAG,GAAG,EAAZ;;AACA,YAAIH,KAAK,CAACC,OAAN,CAAcV,KAAd,CAAJ,EAA0B;AACtBA,UAAAA,KAAK,CAACrC,MAAN,CAAasC,SAAb,EAAwBrD,OAAxB,CAAgC,UAAUoD,KAAV,EAAiB;AAC7CY,YAAAA,GAAG,CAACJ,IAAJ,CAASV,WAAW,CAACC,QAAD,EAAWC,KAAX,CAApB;AACH,WAFD;AAGH,SAJD,MAKK;AACD/D,UAAAA,MAAM,CAACC,IAAP,CAAY8D,KAAZ,EAAmBpD,OAAnB,CAA2B,UAAU+D,CAAV,EAAa;AACpC,gBAAIV,SAAS,CAACD,KAAK,CAACW,CAAD,CAAN,CAAb,EAAyB;AACrBC,cAAAA,GAAG,CAACJ,IAAJ,CAASf,gBAAgB,CAACkB,CAAD,CAAzB;AACAC,cAAAA,GAAG,CAACJ,IAAJ,CAASV,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACW,CAAD,CAAL,CAASf,QAAT,EAAX,CAApB;AACH;AACJ,WALD;AAMH;;AACD,YAAIM,aAAa,CAACH,QAAD,CAAjB,EAA6B;AACzBrD,UAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAAxB,GAA8BuE,GAAG,CAACnC,IAAJ,CAAS,GAAT,CAA1C;AACH,SAFD,MAGK,IAAImC,GAAG,CAAClD,MAAJ,KAAe,CAAnB,EAAsB;AACvBhB,UAAAA,MAAM,CAAC8D,IAAP,CAAYI,GAAG,CAACnC,IAAJ,CAAS,GAAT,CAAZ;AACH;AACJ;AACJ;AACJ,GAhDD,MAiDK;AACD,QAAIsB,QAAQ,KAAK,GAAjB,EAAsB;AAClB,UAAIE,SAAS,CAACD,KAAD,CAAb,EAAsB;AAClBtD,QAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAA5B;AACH;AACJ,KAJD,MAKK,IAAI2D,KAAK,KAAK,EAAV,KAAiBD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAlD,CAAJ,EAA4D;AAC7DrD,MAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAApC;AACH,KAFI,MAGA,IAAI2D,KAAK,KAAK,EAAd,EAAkB;AACnBtD,MAAAA,MAAM,CAAC8D,IAAP,CAAY,EAAZ;AACH;AACJ;;AACD,SAAO9D,MAAP;AACH;;AACD,AAAO,SAASmE,QAAT,CAAkBC,QAAlB,EAA4B;AAC/B,SAAO;AACHC,IAAAA,MAAM,EAAEA,MAAM,CAACC,IAAP,CAAY,IAAZ,EAAkBF,QAAlB;AADL,GAAP;AAGH;;AACD,SAASC,MAAT,CAAgBD,QAAhB,EAA0BV,OAA1B,EAAmC;AAC/B,MAAIa,SAAS,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,CAAhB;AACA,SAAOH,QAAQ,CAAC9C,OAAT,CAAiB,4BAAjB,EAA+C,UAAUkD,CAAV,EAAaC,UAAb,EAAyBC,OAAzB,EAAkC;AACpF,QAAID,UAAJ,EAAgB;AACZ,UAAIpB,QAAQ,GAAG,EAAf;AACA,YAAMsB,MAAM,GAAG,EAAf;;AACA,UAAIJ,SAAS,CAACK,OAAV,CAAkBH,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAlB,MAA4C,CAAC,CAAjD,EAAoD;AAChDxB,QAAAA,QAAQ,GAAGoB,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAX;AACAJ,QAAAA,UAAU,GAAGA,UAAU,CAACK,MAAX,CAAkB,CAAlB,CAAb;AACH;;AACDL,MAAAA,UAAU,CAAC9D,KAAX,CAAiB,IAAjB,EAAuBT,OAAvB,CAA+B,UAAU6E,QAAV,EAAoB;AAC/C,YAAIb,GAAG,GAAG,4BAA4Bc,IAA5B,CAAiCD,QAAjC,CAAV;AACAJ,QAAAA,MAAM,CAACb,IAAP,CAAYL,SAAS,CAACC,OAAD,EAAUL,QAAV,EAAoBa,GAAG,CAAC,CAAD,CAAvB,EAA4BA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAG,CAAC,CAAD,CAAzC,CAArB;AACH,OAHD;;AAIA,UAAIb,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;AAC9B,YAAI5B,SAAS,GAAG,GAAhB;;AACA,YAAI4B,QAAQ,KAAK,GAAjB,EAAsB;AAClB5B,UAAAA,SAAS,GAAG,GAAZ;AACH,SAFD,MAGK,IAAI4B,QAAQ,KAAK,GAAjB,EAAsB;AACvB5B,UAAAA,SAAS,GAAG4B,QAAZ;AACH;;AACD,eAAO,CAACsB,MAAM,CAAC3D,MAAP,KAAkB,CAAlB,GAAsBqC,QAAtB,GAAiC,EAAlC,IAAwCsB,MAAM,CAAC5C,IAAP,CAAYN,SAAZ,CAA/C;AACH,OATD,MAUK;AACD,eAAOkD,MAAM,CAAC5C,IAAP,CAAY,GAAZ,CAAP;AACH;AACJ,KAxBD,MAyBK;AACD,aAAOY,cAAc,CAAC+B,OAAD,CAArB;AACH;AACJ,GA7BM,CAAP;AA8BH;;AC/JM,SAASO,KAAT,CAAelF,OAAf,EAAwB;AAC3B;AACA,MAAIU,MAAM,GAAGV,OAAO,CAACU,MAAR,CAAe0C,WAAf,EAAb,CAF2B;;AAI3B,MAAIzC,GAAG,GAAG,CAACX,OAAO,CAACW,GAAR,IAAe,GAAhB,EAAqBY,OAArB,CAA6B,cAA7B,EAA6C,MAA7C,CAAV;AACA,MAAIV,OAAO,GAAGrB,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBF,OAAO,CAACa,OAA1B,CAAd;AACA,MAAIsE,IAAJ;AACA,MAAI1D,UAAU,GAAGgB,IAAI,CAACzC,OAAD,EAAU,CAC3B,QAD2B,EAE3B,SAF2B,EAG3B,KAH2B,EAI3B,SAJ2B,EAK3B,SAL2B,EAM3B,WAN2B,CAAV,CAArB,CAP2B;;AAgB3B,QAAMoF,gBAAgB,GAAGhD,uBAAuB,CAACzB,GAAD,CAAhD;AACAA,EAAAA,GAAG,GAAGyD,QAAQ,CAACzD,GAAD,CAAR,CAAc2D,MAAd,CAAqB7C,UAArB,CAAN;;AACA,MAAI,CAAC,QAAQE,IAAR,CAAahB,GAAb,CAAL,EAAwB;AACpBA,IAAAA,GAAG,GAAGX,OAAO,CAACqF,OAAR,GAAkB1E,GAAxB;AACH;;AACD,QAAM2E,iBAAiB,GAAG9F,MAAM,CAACC,IAAP,CAAYO,OAAZ,EACrBkB,MADqB,CACbyB,MAAD,IAAYyC,gBAAgB,CAAChE,QAAjB,CAA0BuB,MAA1B,CADE,EAErBtB,MAFqB,CAEd,SAFc,CAA1B;AAGA,QAAMkE,mBAAmB,GAAG9C,IAAI,CAAChB,UAAD,EAAa6D,iBAAb,CAAhC;AACA,QAAME,eAAe,GAAG,6BAA6B7D,IAA7B,CAAkCd,OAAO,CAAC4E,MAA1C,CAAxB;;AACA,MAAI,CAACD,eAAL,EAAsB;AAClB,QAAIxF,OAAO,CAACe,SAAR,CAAkB2E,MAAtB,EAA8B;AAC1B;AACA7E,MAAAA,OAAO,CAAC4E,MAAR,GAAiB5E,OAAO,CAAC4E,MAAR,CACZ7E,KADY,CACN,GADM,EAEZU,GAFY,CAEPH,OAAD,IAAaA,OAAO,CAACI,OAAR,CAAgB,kDAAhB,EAAqE,uBAAsBvB,OAAO,CAACe,SAAR,CAAkB2E,MAAO,EAApH,CAFL,EAGZ1D,IAHY,CAGP,GAHO,CAAjB;AAIH;;AACD,QAAIhC,OAAO,CAACe,SAAR,CAAkBC,QAAlB,CAA2BC,MAA/B,EAAuC;AACnC,YAAM0E,wBAAwB,GAAG9E,OAAO,CAAC4E,MAAR,CAAenD,KAAf,CAAqB,qBAArB,KAA+C,EAAhF;AACAzB,MAAAA,OAAO,CAAC4E,MAAR,GAAiBE,wBAAwB,CACpCtE,MADY,CACLrB,OAAO,CAACe,SAAR,CAAkBC,QADb,EAEZM,GAFY,CAEPH,OAAD,IAAa;AAClB,cAAMuE,MAAM,GAAG1F,OAAO,CAACe,SAAR,CAAkB2E,MAAlB,GACR,IAAG1F,OAAO,CAACe,SAAR,CAAkB2E,MAAO,EADpB,GAET,OAFN;AAGA,eAAQ,0BAAyBvE,OAAQ,WAAUuE,MAAO,EAA1D;AACH,OAPgB,EAQZ1D,IARY,CAQP,GARO,CAAjB;AASH;AACJ,GA9C0B;AAgD3B;;;AACA,MAAI,CAAC,KAAD,EAAQ,MAAR,EAAgBZ,QAAhB,CAAyBV,MAAzB,CAAJ,EAAsC;AAClCC,IAAAA,GAAG,GAAGa,kBAAkB,CAACb,GAAD,EAAM4E,mBAAN,CAAxB;AACH,GAFD,MAGK;AACD,QAAI,UAAUA,mBAAd,EAAmC;AAC/BJ,MAAAA,IAAI,GAAGI,mBAAmB,CAACK,IAA3B;AACH,KAFD,MAGK;AACD,UAAIpG,MAAM,CAACC,IAAP,CAAY8F,mBAAZ,EAAiCtE,MAArC,EAA6C;AACzCkE,QAAAA,IAAI,GAAGI,mBAAP;AACH,OAFD,MAGK;AACD1E,QAAAA,OAAO,CAAC,gBAAD,CAAP,GAA4B,CAA5B;AACH;AACJ;AACJ,GAhE0B;;;AAkE3B,MAAI,CAACA,OAAO,CAAC,cAAD,CAAR,IAA4B,OAAOsE,IAAP,KAAgB,WAAhD,EAA6D;AACzDtE,IAAAA,OAAO,CAAC,cAAD,CAAP,GAA0B,iCAA1B;AACH,GApE0B;AAsE3B;;;AACA,MAAI,CAAC,OAAD,EAAU,KAAV,EAAiBO,QAAjB,CAA0BV,MAA1B,KAAqC,OAAOyE,IAAP,KAAgB,WAAzD,EAAsE;AAClEA,IAAAA,IAAI,GAAG,EAAP;AACH,GAzE0B;;;AA2E3B,SAAO3F,MAAM,CAACU,MAAP,CAAc;AAAEQ,IAAAA,MAAF;AAAUC,IAAAA,GAAV;AAAeE,IAAAA;AAAf,GAAd,EAAwC,OAAOsE,IAAP,KAAgB,WAAhB,GAA8B;AAAEA,IAAAA;AAAF,GAA9B,GAAyC,IAAjF,EAAuFnF,OAAO,CAAC6F,OAAR,GAAkB;AAAEA,IAAAA,OAAO,EAAE7F,OAAO,CAAC6F;AAAnB,GAAlB,GAAiD,IAAxI,CAAP;AACH;;AC9EM,SAASC,oBAAT,CAA8B/F,QAA9B,EAAwCU,KAAxC,EAA+CT,OAA/C,EAAwD;AAC3D,SAAOkF,KAAK,CAAC1E,KAAK,CAACT,QAAD,EAAWU,KAAX,EAAkBT,OAAlB,CAAN,CAAZ;AACH;;ACDM,SAAS+F,YAAT,CAAsBC,WAAtB,EAAmCC,WAAnC,EAAgD;AACnD,QAAMC,QAAQ,GAAG1F,KAAK,CAACwF,WAAD,EAAcC,WAAd,CAAtB;AACA,QAAME,QAAQ,GAAGL,oBAAoB,CAACvB,IAArB,CAA0B,IAA1B,EAAgC2B,QAAhC,CAAjB;AACA,SAAO1G,MAAM,CAACU,MAAP,CAAciG,QAAd,EAAwB;AAC3BD,IAAAA,QAD2B;AAE3BnG,IAAAA,QAAQ,EAAEgG,YAAY,CAACxB,IAAb,CAAkB,IAAlB,EAAwB2B,QAAxB,CAFiB;AAG3B1F,IAAAA,KAAK,EAAEA,KAAK,CAAC+D,IAAN,CAAW,IAAX,EAAiB2B,QAAjB,CAHoB;AAI3BhB,IAAAA;AAJ2B,GAAxB,CAAP;AAMH;;ACZM,MAAMkB,OAAO,GAAG,mBAAhB;;ACEP,MAAMC,SAAS,GAAI,uBAAsBD,OAAQ,IAAGE,+BAAY,EAAG,EAAnE;AAEA;;AACA,AAAO,MAAMJ,QAAQ,GAAG;AACpBxF,EAAAA,MAAM,EAAE,KADY;AAEpB2E,EAAAA,OAAO,EAAE,wBAFW;AAGpBxE,EAAAA,OAAO,EAAE;AACL4E,IAAAA,MAAM,EAAE,gCADH;AAEL,kBAAcY;AAFT,GAHW;AAOpBtF,EAAAA,SAAS,EAAE;AACP2E,IAAAA,MAAM,EAAE,EADD;AAEP1E,IAAAA,QAAQ,EAAE;AAFH;AAPS,CAAjB;;MCHMmF,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 index 0266b49..456e586 100644 --- a/node_modules/@octokit/endpoint/dist-src/defaults.js +++ b/node_modules/@octokit/endpoint/dist-src/defaults.js @@ -1,15 +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 + "user-agent": userAgent, }, mediaType: { format: "", - previews: [] - } + previews: [], + }, }; diff --git a/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/endpoint/dist-src/merge.js index 91ed1ae..1abcecf 100644 --- a/node_modules/@octokit/endpoint/dist-src/merge.js +++ b/node_modules/@octokit/endpoint/dist-src/merge.js @@ -1,20 +1,24 @@ import { lowercaseKeys } from "./util/lowercase-keys"; import { mergeDeep } from "./util/merge-deep"; +import { removeUndefinedProperties } from "./util/remove-undefined-properties"; 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 = route || {}; + options = Object.assign({}, route); } // lowercase header names before merging with defaults to avoid duplicates options.headers = lowercaseKeys(options.headers); + // remove properties with undefined values before merging + removeUndefinedProperties(options); + removeUndefinedProperties(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)) + .filter((preview) => !mergedOptions.mediaType.previews.includes(preview)) .concat(mergedOptions.mediaType.previews); } mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, "")); diff --git a/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/endpoint/dist-src/parse.js index 8cf649f..6bdd1bf 100644 --- a/node_modules/@octokit/endpoint/dist-src/parse.js +++ b/node_modules/@octokit/endpoint/dist-src/parse.js @@ -6,7 +6,7 @@ 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 url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); let headers = Object.assign({}, options.headers); let body; let parameters = omit(options, [ @@ -15,7 +15,7 @@ export function parse(options) { "url", "headers", "request", - "mediaType" + "mediaType", ]); // extract variable names from URL to calculate remaining variables later const urlVariableNames = extractUrlVariableNames(url); @@ -24,23 +24,23 @@ export function parse(options) { url = options.baseUrl + url; } const omittedParameters = Object.keys(options) - .filter(option => urlVariableNames.includes(option)) + .filter((option) => urlVariableNames.includes(option)) .concat("baseUrl"); const remainingParameters = omit(parameters, omittedParameters); - const isBinaryRequset = /application\/octet-stream/i.test(headers.accept); - if (!isBinaryRequset) { + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { 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}`)) + .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 => { + .map((preview) => { const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; 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 index a78812f..d26be31 100644 --- a/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js +++ b/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js @@ -7,13 +7,9 @@ export function addQueryParameters(url, parameters) { return (url + separator + names - .map(name => { + .map((name) => { if (name === "q") { - return ("q=" + - parameters - .q.split("+") - .map(encodeURIComponent) - .join("+")); + return ("q=" + parameters.q.split("+").map(encodeURIComponent).join("+")); } return `${name}=${encodeURIComponent(parameters[name])}`; }) diff --git a/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js index d1c5402..d92aca3 100644 --- a/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js +++ b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js @@ -1,7 +1,7 @@ -import isPlainObject from "is-plain-object"; +import { isPlainObject } from "is-plain-object"; export function mergeDeep(defaults, options) { const result = Object.assign({}, defaults); - Object.keys(options).forEach(key => { + Object.keys(options).forEach((key) => { if (isPlainObject(options[key])) { if (!(key in defaults)) Object.assign(result, { [key]: options[key] }); diff --git a/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/endpoint/dist-src/util/omit.js index 7e1aa6b..6245031 100644 --- a/node_modules/@octokit/endpoint/dist-src/util/omit.js +++ b/node_modules/@octokit/endpoint/dist-src/util/omit.js @@ -1,6 +1,6 @@ export function omit(object, keysToOmit) { return Object.keys(object) - .filter(option => !keysToOmit.includes(option)) + .filter((option) => !keysToOmit.includes(option)) .reduce((obj, key) => { obj[key] = object[key]; return obj; diff --git a/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js new file mode 100644 index 0000000..6b5ee5f --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js @@ -0,0 +1,8 @@ +export function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[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 index f6d9885..439b3fe 100644 --- a/node_modules/@octokit/endpoint/dist-src/util/url-template.js +++ b/node_modules/@octokit/endpoint/dist-src/util/url-template.js @@ -29,9 +29,7 @@ function encodeReserved(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, "]"); + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); } return part; }) @@ -39,11 +37,7 @@ function encodeReserved(str) { } function encodeUnreserved(str) { return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return ("%" + - c - .charCodeAt(0) - .toString(16) - .toUpperCase()); + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); }); } function encodeValue(operator, value, key) { @@ -132,7 +126,7 @@ function getValues(context, operator, key, modifier) { } export function parseUrl(template) { return { - expand: expand.bind(null, template) + expand: expand.bind(null, template), }; } function expand(template, context) { diff --git a/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/endpoint/dist-src/version.js index 86383b1..930e255 100644 --- a/node_modules/@octokit/endpoint/dist-src/version.js +++ b/node_modules/@octokit/endpoint/dist-src/version.js @@ -1 +1 @@ -export const VERSION = "0.0.0-development"; +export const VERSION = "6.0.12"; diff --git a/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/endpoint/dist-src/with-defaults.js index 9a1c886..81baf6c 100644 --- a/node_modules/@octokit/endpoint/dist-src/with-defaults.js +++ b/node_modules/@octokit/endpoint/dist-src/with-defaults.js @@ -8,6 +8,6 @@ export function withDefaults(oldDefaults, newDefaults) { DEFAULTS, defaults: withDefaults.bind(null, DEFAULTS), merge: merge.bind(null, DEFAULTS), - parse + parse, }); } diff --git a/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts index 7984bd2..30fcd20 100644 --- a/node_modules/@octokit/endpoint/dist-types/defaults.d.ts +++ b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts @@ -1,2 +1,2 @@ -import { Defaults } from "./types"; -export declare const DEFAULTS: Defaults; +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 index 406b4cc..ff39e5e 100644 --- a/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts +++ b/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts @@ -1,2 +1,3 @@ -import { Defaults, Endpoint, RequestOptions, Route, Parameters } from "./types"; -export declare function endpointWithDefaults(defaults: Defaults, route: Route | Endpoint, options?: Parameters): RequestOptions; +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/generated/routes.d.ts b/node_modules/@octokit/endpoint/dist-types/generated/routes.d.ts deleted file mode 100644 index dbbd82d..0000000 --- a/node_modules/@octokit/endpoint/dist-types/generated/routes.d.ts +++ /dev/null @@ -1,6745 +0,0 @@ -import { Url, Headers, EndpointRequestOptions } from "../types"; -export interface Routes { - "GET /events": [ActivityListPublicEventsEndpoint, ActivityListPublicEventsRequestOptions]; - "GET /repos/:owner/:repo/events": [ActivityListRepoEventsEndpoint, ActivityListRepoEventsRequestOptions]; - "GET /networks/:owner/:repo/events": [ActivityListPublicEventsForRepoNetworkEndpoint, ActivityListPublicEventsForRepoNetworkRequestOptions]; - "GET /orgs/:org/events": [ActivityListPublicEventsForOrgEndpoint, ActivityListPublicEventsForOrgRequestOptions]; - "GET /users/:username/received_events": [ActivityListReceivedEventsForUserEndpoint, ActivityListReceivedEventsForUserRequestOptions]; - "GET /users/:username/received_events/public": [ActivityListReceivedPublicEventsForUserEndpoint, ActivityListReceivedPublicEventsForUserRequestOptions]; - "GET /users/:username/events": [ActivityListEventsForUserEndpoint, ActivityListEventsForUserRequestOptions]; - "GET /users/:username/events/public": [ActivityListPublicEventsForUserEndpoint, ActivityListPublicEventsForUserRequestOptions]; - "GET /users/:username/events/orgs/:org": [ActivityListEventsForOrgEndpoint, ActivityListEventsForOrgRequestOptions]; - "GET /feeds": [ActivityListFeedsEndpoint, ActivityListFeedsRequestOptions]; - "GET /notifications": [ActivityListNotificationsEndpoint, ActivityListNotificationsRequestOptions]; - "GET /repos/:owner/:repo/notifications": [ActivityListNotificationsForRepoEndpoint, ActivityListNotificationsForRepoRequestOptions]; - "PUT /notifications": [ActivityMarkAsReadEndpoint, ActivityMarkAsReadRequestOptions]; - "PUT /repos/:owner/:repo/notifications": [ActivityMarkNotificationsAsReadForRepoEndpoint, ActivityMarkNotificationsAsReadForRepoRequestOptions]; - "GET /notifications/threads/:thread_id": [ActivityGetThreadEndpoint, ActivityGetThreadRequestOptions]; - "PATCH /notifications/threads/:thread_id": [ActivityMarkThreadAsReadEndpoint, ActivityMarkThreadAsReadRequestOptions]; - "GET /notifications/threads/:thread_id/subscription": [ActivityGetThreadSubscriptionEndpoint, ActivityGetThreadSubscriptionRequestOptions]; - "PUT /notifications/threads/:thread_id/subscription": [ActivitySetThreadSubscriptionEndpoint, ActivitySetThreadSubscriptionRequestOptions]; - "DELETE /notifications/threads/:thread_id/subscription": [ActivityDeleteThreadSubscriptionEndpoint, ActivityDeleteThreadSubscriptionRequestOptions]; - "GET /repos/:owner/:repo/stargazers": [ActivityListStargazersForRepoEndpoint, ActivityListStargazersForRepoRequestOptions]; - "GET /users/:username/starred": [ActivityListReposStarredByUserEndpoint, ActivityListReposStarredByUserRequestOptions]; - "GET /user/starred": [ActivityListReposStarredByAuthenticatedUserEndpoint, ActivityListReposStarredByAuthenticatedUserRequestOptions]; - "GET /user/starred/:owner/:repo": [ActivityCheckStarringRepoEndpoint, ActivityCheckStarringRepoRequestOptions]; - "PUT /user/starred/:owner/:repo": [ActivityStarRepoEndpoint, ActivityStarRepoRequestOptions]; - "DELETE /user/starred/:owner/:repo": [ActivityUnstarRepoEndpoint, ActivityUnstarRepoRequestOptions]; - "GET /repos/:owner/:repo/subscribers": [ActivityListWatchersForRepoEndpoint, ActivityListWatchersForRepoRequestOptions]; - "GET /users/:username/subscriptions": [ActivityListReposWatchedByUserEndpoint, ActivityListReposWatchedByUserRequestOptions]; - "GET /user/subscriptions": [ActivityListWatchedReposForAuthenticatedUserEndpoint, ActivityListWatchedReposForAuthenticatedUserRequestOptions]; - "GET /repos/:owner/:repo/subscription": [ActivityGetRepoSubscriptionEndpoint, ActivityGetRepoSubscriptionRequestOptions]; - "PUT /repos/:owner/:repo/subscription": [ActivitySetRepoSubscriptionEndpoint, ActivitySetRepoSubscriptionRequestOptions]; - "DELETE /repos/:owner/:repo/subscription": [ActivityDeleteRepoSubscriptionEndpoint, ActivityDeleteRepoSubscriptionRequestOptions]; - "GET /user/subscriptions/:owner/:repo": [ActivityCheckWatchingRepoLegacyEndpoint, ActivityCheckWatchingRepoLegacyRequestOptions]; - "PUT /user/subscriptions/:owner/:repo": [ActivityWatchRepoLegacyEndpoint, ActivityWatchRepoLegacyRequestOptions]; - "DELETE /user/subscriptions/:owner/:repo": [ActivityStopWatchingRepoLegacyEndpoint, ActivityStopWatchingRepoLegacyRequestOptions]; - "GET /apps/:app_slug": [AppsGetBySlugEndpoint, AppsGetBySlugRequestOptions]; - "GET /app": [AppsGetAuthenticatedEndpoint, AppsGetAuthenticatedRequestOptions]; - "GET /app/installations": [AppsListInstallationsEndpoint, AppsListInstallationsRequestOptions]; - "GET /app/installations/:installation_id": [AppsGetInstallationEndpoint, AppsGetInstallationRequestOptions]; - "DELETE /app/installations/:installation_id": [AppsDeleteInstallationEndpoint, AppsDeleteInstallationRequestOptions]; - "POST /app/installations/:installation_id/access_tokens": [AppsCreateInstallationTokenEndpoint, AppsCreateInstallationTokenRequestOptions]; - "GET /orgs/:org/installation": [AppsGetOrgInstallationEndpoint | AppsFindOrgInstallationEndpoint, AppsGetOrgInstallationRequestOptions | AppsFindOrgInstallationRequestOptions]; - "GET /repos/:owner/:repo/installation": [AppsGetRepoInstallationEndpoint | AppsFindRepoInstallationEndpoint, AppsGetRepoInstallationRequestOptions | AppsFindRepoInstallationRequestOptions]; - "GET /users/:username/installation": [AppsGetUserInstallationEndpoint | AppsFindUserInstallationEndpoint, AppsGetUserInstallationRequestOptions | AppsFindUserInstallationRequestOptions]; - "POST /app-manifests/:code/conversions": [AppsCreateFromManifestEndpoint, AppsCreateFromManifestRequestOptions]; - "GET /installation/repositories": [AppsListReposEndpoint, AppsListReposRequestOptions]; - "GET /user/installations": [AppsListInstallationsForAuthenticatedUserEndpoint, AppsListInstallationsForAuthenticatedUserRequestOptions]; - "GET /user/installations/:installation_id/repositories": [AppsListInstallationReposForAuthenticatedUserEndpoint, AppsListInstallationReposForAuthenticatedUserRequestOptions]; - "PUT /user/installations/:installation_id/repositories/:repository_id": [AppsAddRepoToInstallationEndpoint, AppsAddRepoToInstallationRequestOptions]; - "DELETE /user/installations/:installation_id/repositories/:repository_id": [AppsRemoveRepoFromInstallationEndpoint, AppsRemoveRepoFromInstallationRequestOptions]; - "POST /content_references/:content_reference_id/attachments": [AppsCreateContentAttachmentEndpoint, AppsCreateContentAttachmentRequestOptions]; - "GET /marketplace_listing/plans": [AppsListPlansEndpoint, AppsListPlansRequestOptions]; - "GET /marketplace_listing/stubbed/plans": [AppsListPlansStubbedEndpoint, AppsListPlansStubbedRequestOptions]; - "GET /marketplace_listing/plans/:plan_id/accounts": [AppsListAccountsUserOrOrgOnPlanEndpoint, AppsListAccountsUserOrOrgOnPlanRequestOptions]; - "GET /marketplace_listing/stubbed/plans/:plan_id/accounts": [AppsListAccountsUserOrOrgOnPlanStubbedEndpoint, AppsListAccountsUserOrOrgOnPlanStubbedRequestOptions]; - "GET /marketplace_listing/accounts/:account_id": [AppsCheckAccountIsAssociatedWithAnyEndpoint, AppsCheckAccountIsAssociatedWithAnyRequestOptions]; - "GET /marketplace_listing/stubbed/accounts/:account_id": [AppsCheckAccountIsAssociatedWithAnyStubbedEndpoint, AppsCheckAccountIsAssociatedWithAnyStubbedRequestOptions]; - "GET /user/marketplace_purchases": [AppsListMarketplacePurchasesForAuthenticatedUserEndpoint, AppsListMarketplacePurchasesForAuthenticatedUserRequestOptions]; - "GET /user/marketplace_purchases/stubbed": [AppsListMarketplacePurchasesForAuthenticatedUserStubbedEndpoint, AppsListMarketplacePurchasesForAuthenticatedUserStubbedRequestOptions]; - "POST /repos/:owner/:repo/check-runs": [ChecksCreateEndpoint, ChecksCreateRequestOptions]; - "PATCH /repos/:owner/:repo/check-runs/:check_run_id": [ChecksUpdateEndpoint, ChecksUpdateRequestOptions]; - "GET /repos/:owner/:repo/commits/:ref/check-runs": [ChecksListForRefEndpoint, ChecksListForRefRequestOptions]; - "GET /repos/:owner/:repo/check-suites/:check_suite_id/check-runs": [ChecksListForSuiteEndpoint, ChecksListForSuiteRequestOptions]; - "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/commits/:ref/check-suites": [ChecksListSuitesForRefEndpoint, ChecksListSuitesForRefRequestOptions]; - "PATCH /repos/:owner/:repo/check-suites/preferences": [ChecksSetSuitesPreferencesEndpoint, ChecksSetSuitesPreferencesRequestOptions]; - "POST /repos/:owner/:repo/check-suites": [ChecksCreateSuiteEndpoint, ChecksCreateSuiteRequestOptions]; - "POST /repos/:owner/:repo/check-suites/:check_suite_id/rerequest": [ChecksRerequestSuiteEndpoint, ChecksRerequestSuiteRequestOptions]; - "GET /codes_of_conduct": [CodesOfConductListConductCodesEndpoint, CodesOfConductListConductCodesRequestOptions]; - "GET /codes_of_conduct/:key": [CodesOfConductGetConductCodeEndpoint, CodesOfConductGetConductCodeRequestOptions]; - "GET /repos/:owner/:repo/community/code_of_conduct": [CodesOfConductGetForRepoEndpoint, CodesOfConductGetForRepoRequestOptions]; - "GET /emojis": [EmojisGetEndpoint, EmojisGetRequestOptions]; - "GET /users/:username/gists": [GistsListPublicForUserEndpoint, GistsListPublicForUserRequestOptions]; - "GET /gists": [GistsListEndpoint, GistsListRequestOptions]; - "GET /gists/public": [GistsListPublicEndpoint, GistsListPublicRequestOptions]; - "GET /gists/starred": [GistsListStarredEndpoint, GistsListStarredRequestOptions]; - "GET /gists/:gist_id": [GistsGetEndpoint, GistsGetRequestOptions]; - "GET /gists/:gist_id/:sha": [GistsGetRevisionEndpoint, GistsGetRevisionRequestOptions]; - "POST /gists": [GistsCreateEndpoint, GistsCreateRequestOptions]; - "PATCH /gists/:gist_id": [GistsUpdateEndpoint, GistsUpdateRequestOptions]; - "GET /gists/:gist_id/commits": [GistsListCommitsEndpoint, GistsListCommitsRequestOptions]; - "PUT /gists/:gist_id/star": [GistsStarEndpoint, GistsStarRequestOptions]; - "DELETE /gists/:gist_id/star": [GistsUnstarEndpoint, GistsUnstarRequestOptions]; - "GET /gists/:gist_id/star": [GistsCheckIsStarredEndpoint, GistsCheckIsStarredRequestOptions]; - "POST /gists/:gist_id/forks": [GistsForkEndpoint, GistsForkRequestOptions]; - "GET /gists/:gist_id/forks": [GistsListForksEndpoint, GistsListForksRequestOptions]; - "DELETE /gists/:gist_id": [GistsDeleteEndpoint, GistsDeleteRequestOptions]; - "GET /gists/:gist_id/comments": [GistsListCommentsEndpoint, GistsListCommentsRequestOptions]; - "GET /gists/:gist_id/comments/:comment_id": [GistsGetCommentEndpoint, GistsGetCommentRequestOptions]; - "POST /gists/:gist_id/comments": [GistsCreateCommentEndpoint, GistsCreateCommentRequestOptions]; - "PATCH /gists/:gist_id/comments/:comment_id": [GistsUpdateCommentEndpoint, GistsUpdateCommentRequestOptions]; - "DELETE /gists/:gist_id/comments/:comment_id": [GistsDeleteCommentEndpoint, GistsDeleteCommentRequestOptions]; - "GET /repos/:owner/:repo/git/blobs/:file_sha": [GitGetBlobEndpoint, GitGetBlobRequestOptions]; - "POST /repos/:owner/:repo/git/blobs": [GitCreateBlobEndpoint, GitCreateBlobRequestOptions]; - "GET /repos/:owner/:repo/git/commits/:commit_sha": [GitGetCommitEndpoint, GitGetCommitRequestOptions]; - "POST /repos/:owner/:repo/git/commits": [GitCreateCommitEndpoint, GitCreateCommitRequestOptions]; - "GET /repos/:owner/:repo/git/refs/:ref": [GitGetRefEndpoint, GitGetRefRequestOptions]; - "GET /repos/:owner/:repo/git/refs/:namespace": [GitListRefsEndpoint, GitListRefsRequestOptions]; - "POST /repos/:owner/:repo/git/refs": [GitCreateRefEndpoint, GitCreateRefRequestOptions]; - "PATCH /repos/:owner/:repo/git/refs/:ref": [GitUpdateRefEndpoint, GitUpdateRefRequestOptions]; - "DELETE /repos/:owner/:repo/git/refs/:ref": [GitDeleteRefEndpoint, GitDeleteRefRequestOptions]; - "GET /repos/:owner/:repo/git/tags/:tag_sha": [GitGetTagEndpoint, GitGetTagRequestOptions]; - "POST /repos/:owner/:repo/git/tags": [GitCreateTagEndpoint, GitCreateTagRequestOptions]; - "GET /repos/:owner/:repo/git/trees/:tree_sha": [GitGetTreeEndpoint, GitGetTreeRequestOptions]; - "POST /repos/:owner/:repo/git/trees": [GitCreateTreeEndpoint, GitCreateTreeRequestOptions]; - "GET /gitignore/templates": [GitignoreListTemplatesEndpoint, GitignoreListTemplatesRequestOptions]; - "GET /gitignore/templates/:name": [GitignoreGetTemplateEndpoint, GitignoreGetTemplateRequestOptions]; - "GET /orgs/:org/interaction-limits": [InteractionsGetRestrictionsForOrgEndpoint, InteractionsGetRestrictionsForOrgRequestOptions]; - "PUT /orgs/:org/interaction-limits": [InteractionsAddOrUpdateRestrictionsForOrgEndpoint, InteractionsAddOrUpdateRestrictionsForOrgRequestOptions]; - "DELETE /orgs/:org/interaction-limits": [InteractionsRemoveRestrictionsForOrgEndpoint, InteractionsRemoveRestrictionsForOrgRequestOptions]; - "GET /repos/:owner/:repo/interaction-limits": [InteractionsGetRestrictionsForRepoEndpoint, InteractionsGetRestrictionsForRepoRequestOptions]; - "PUT /repos/:owner/:repo/interaction-limits": [InteractionsAddOrUpdateRestrictionsForRepoEndpoint, InteractionsAddOrUpdateRestrictionsForRepoRequestOptions]; - "DELETE /repos/:owner/:repo/interaction-limits": [InteractionsRemoveRestrictionsForRepoEndpoint, InteractionsRemoveRestrictionsForRepoRequestOptions]; - "GET /issues": [IssuesListEndpoint, IssuesListRequestOptions]; - "GET /user/issues": [IssuesListForAuthenticatedUserEndpoint, IssuesListForAuthenticatedUserRequestOptions]; - "GET /orgs/:org/issues": [IssuesListForOrgEndpoint, IssuesListForOrgRequestOptions]; - "GET /repos/:owner/:repo/issues": [IssuesListForRepoEndpoint, IssuesListForRepoRequestOptions]; - "GET /repos/:owner/:repo/issues/:issue_number": [IssuesGetEndpoint, IssuesGetRequestOptions]; - "POST /repos/:owner/:repo/issues": [IssuesCreateEndpoint, IssuesCreateRequestOptions]; - "PATCH /repos/:owner/:repo/issues/:issue_number": [IssuesUpdateEndpoint, IssuesUpdateRequestOptions]; - "PUT /repos/:owner/:repo/issues/:issue_number/lock": [IssuesLockEndpoint, IssuesLockRequestOptions]; - "DELETE /repos/:owner/:repo/issues/:issue_number/lock": [IssuesUnlockEndpoint, IssuesUnlockRequestOptions]; - "GET /repos/:owner/:repo/assignees": [IssuesListAssigneesEndpoint, IssuesListAssigneesRequestOptions]; - "GET /repos/:owner/:repo/assignees/:assignee": [IssuesCheckAssigneeEndpoint, IssuesCheckAssigneeRequestOptions]; - "POST /repos/:owner/:repo/issues/:issue_number/assignees": [IssuesAddAssigneesEndpoint, IssuesAddAssigneesRequestOptions]; - "DELETE /repos/:owner/:repo/issues/:issue_number/assignees": [IssuesRemoveAssigneesEndpoint, IssuesRemoveAssigneesRequestOptions]; - "GET /repos/:owner/:repo/issues/:issue_number/comments": [IssuesListCommentsEndpoint, IssuesListCommentsRequestOptions]; - "GET /repos/:owner/:repo/issues/comments": [IssuesListCommentsForRepoEndpoint, IssuesListCommentsForRepoRequestOptions]; - "GET /repos/:owner/:repo/issues/comments/:comment_id": [IssuesGetCommentEndpoint, IssuesGetCommentRequestOptions]; - "POST /repos/:owner/:repo/issues/:issue_number/comments": [IssuesCreateCommentEndpoint, IssuesCreateCommentRequestOptions]; - "PATCH /repos/:owner/:repo/issues/comments/:comment_id": [IssuesUpdateCommentEndpoint, IssuesUpdateCommentRequestOptions]; - "DELETE /repos/:owner/:repo/issues/comments/:comment_id": [IssuesDeleteCommentEndpoint, IssuesDeleteCommentRequestOptions]; - "GET /repos/:owner/:repo/issues/:issue_number/events": [IssuesListEventsEndpoint, IssuesListEventsRequestOptions]; - "GET /repos/:owner/:repo/issues/events": [IssuesListEventsForRepoEndpoint, IssuesListEventsForRepoRequestOptions]; - "GET /repos/:owner/:repo/issues/events/:event_id": [IssuesGetEventEndpoint, IssuesGetEventRequestOptions]; - "GET /repos/:owner/:repo/labels": [IssuesListLabelsForRepoEndpoint, IssuesListLabelsForRepoRequestOptions]; - "GET /repos/:owner/:repo/labels/:name": [IssuesGetLabelEndpoint, IssuesGetLabelRequestOptions]; - "POST /repos/:owner/:repo/labels": [IssuesCreateLabelEndpoint, IssuesCreateLabelRequestOptions]; - "PATCH /repos/:owner/:repo/labels/:current_name": [IssuesUpdateLabelEndpoint, IssuesUpdateLabelRequestOptions]; - "DELETE /repos/:owner/:repo/labels/:name": [IssuesDeleteLabelEndpoint, IssuesDeleteLabelRequestOptions]; - "GET /repos/:owner/:repo/issues/:issue_number/labels": [IssuesListLabelsOnIssueEndpoint, IssuesListLabelsOnIssueRequestOptions]; - "POST /repos/:owner/:repo/issues/:issue_number/labels": [IssuesAddLabelsEndpoint, IssuesAddLabelsRequestOptions]; - "DELETE /repos/:owner/:repo/issues/:issue_number/labels/:name": [IssuesRemoveLabelEndpoint, IssuesRemoveLabelRequestOptions]; - "PUT /repos/:owner/:repo/issues/:issue_number/labels": [IssuesReplaceLabelsEndpoint, IssuesReplaceLabelsRequestOptions]; - "DELETE /repos/:owner/:repo/issues/:issue_number/labels": [IssuesRemoveLabelsEndpoint, IssuesRemoveLabelsRequestOptions]; - "GET /repos/:owner/:repo/milestones/:milestone_number/labels": [IssuesListLabelsForMilestoneEndpoint, IssuesListLabelsForMilestoneRequestOptions]; - "GET /repos/:owner/:repo/milestones": [IssuesListMilestonesForRepoEndpoint, IssuesListMilestonesForRepoRequestOptions]; - "GET /repos/:owner/:repo/milestones/:milestone_number": [IssuesGetMilestoneEndpoint, IssuesGetMilestoneRequestOptions]; - "POST /repos/:owner/:repo/milestones": [IssuesCreateMilestoneEndpoint, IssuesCreateMilestoneRequestOptions]; - "PATCH /repos/:owner/:repo/milestones/:milestone_number": [IssuesUpdateMilestoneEndpoint, IssuesUpdateMilestoneRequestOptions]; - "DELETE /repos/:owner/:repo/milestones/:milestone_number": [IssuesDeleteMilestoneEndpoint, IssuesDeleteMilestoneRequestOptions]; - "GET /repos/:owner/:repo/issues/:issue_number/timeline": [IssuesListEventsForTimelineEndpoint, IssuesListEventsForTimelineRequestOptions]; - "GET /licenses": [LicensesListCommonlyUsedEndpoint | LicensesListEndpoint, LicensesListCommonlyUsedRequestOptions | LicensesListRequestOptions]; - "GET /licenses/:license": [LicensesGetEndpoint, LicensesGetRequestOptions]; - "GET /repos/:owner/:repo/license": [LicensesGetForRepoEndpoint, LicensesGetForRepoRequestOptions]; - "POST /markdown": [MarkdownRenderEndpoint, MarkdownRenderRequestOptions]; - "POST /markdown/raw": [MarkdownRenderRawEndpoint, MarkdownRenderRawRequestOptions]; - "GET /meta": [MetaGetEndpoint, MetaGetRequestOptions]; - "POST /orgs/:org/migrations": [MigrationsStartForOrgEndpoint, MigrationsStartForOrgRequestOptions]; - "GET /orgs/:org/migrations": [MigrationsListForOrgEndpoint, MigrationsListForOrgRequestOptions]; - "GET /orgs/:org/migrations/:migration_id": [MigrationsGetStatusForOrgEndpoint, MigrationsGetStatusForOrgRequestOptions]; - "GET /orgs/:org/migrations/:migration_id/archive": [MigrationsGetArchiveForOrgEndpoint, MigrationsGetArchiveForOrgRequestOptions]; - "DELETE /orgs/:org/migrations/:migration_id/archive": [MigrationsDeleteArchiveForOrgEndpoint, MigrationsDeleteArchiveForOrgRequestOptions]; - "DELETE /orgs/:org/migrations/:migration_id/repos/:repo_name/lock": [MigrationsUnlockRepoForOrgEndpoint, MigrationsUnlockRepoForOrgRequestOptions]; - "PUT /repos/:owner/:repo/import": [MigrationsStartImportEndpoint, MigrationsStartImportRequestOptions]; - "GET /repos/:owner/:repo/import": [MigrationsGetImportProgressEndpoint, MigrationsGetImportProgressRequestOptions]; - "PATCH /repos/:owner/:repo/import": [MigrationsUpdateImportEndpoint, MigrationsUpdateImportRequestOptions]; - "GET /repos/:owner/:repo/import/authors": [MigrationsGetCommitAuthorsEndpoint, MigrationsGetCommitAuthorsRequestOptions]; - "PATCH /repos/:owner/:repo/import/authors/:author_id": [MigrationsMapCommitAuthorEndpoint, MigrationsMapCommitAuthorRequestOptions]; - "PATCH /repos/:owner/:repo/import/lfs": [MigrationsSetLfsPreferenceEndpoint, MigrationsSetLfsPreferenceRequestOptions]; - "GET /repos/:owner/:repo/import/large_files": [MigrationsGetLargeFilesEndpoint, MigrationsGetLargeFilesRequestOptions]; - "DELETE /repos/:owner/:repo/import": [MigrationsCancelImportEndpoint, MigrationsCancelImportRequestOptions]; - "POST /user/migrations": [MigrationsStartForAuthenticatedUserEndpoint, MigrationsStartForAuthenticatedUserRequestOptions]; - "GET /user/migrations": [MigrationsListForAuthenticatedUserEndpoint, MigrationsListForAuthenticatedUserRequestOptions]; - "GET /user/migrations/:migration_id": [MigrationsGetStatusForAuthenticatedUserEndpoint, MigrationsGetStatusForAuthenticatedUserRequestOptions]; - "GET /user/migrations/:migration_id/archive": [MigrationsGetArchiveForAuthenticatedUserEndpoint, MigrationsGetArchiveForAuthenticatedUserRequestOptions]; - "DELETE /user/migrations/:migration_id/archive": [MigrationsDeleteArchiveForAuthenticatedUserEndpoint, MigrationsDeleteArchiveForAuthenticatedUserRequestOptions]; - "DELETE /user/migrations/:migration_id/repos/:repo_name/lock": [MigrationsUnlockRepoForAuthenticatedUserEndpoint, MigrationsUnlockRepoForAuthenticatedUserRequestOptions]; - "GET /applications/grants": [OauthAuthorizationsListGrantsEndpoint, OauthAuthorizationsListGrantsRequestOptions]; - "GET /applications/grants/:grant_id": [OauthAuthorizationsGetGrantEndpoint, OauthAuthorizationsGetGrantRequestOptions]; - "DELETE /applications/grants/:grant_id": [OauthAuthorizationsDeleteGrantEndpoint, OauthAuthorizationsDeleteGrantRequestOptions]; - "GET /authorizations": [OauthAuthorizationsListAuthorizationsEndpoint, OauthAuthorizationsListAuthorizationsRequestOptions]; - "GET /authorizations/:authorization_id": [OauthAuthorizationsGetAuthorizationEndpoint, OauthAuthorizationsGetAuthorizationRequestOptions]; - "POST /authorizations": [OauthAuthorizationsCreateAuthorizationEndpoint, OauthAuthorizationsCreateAuthorizationRequestOptions]; - "PUT /authorizations/clients/:client_id": [OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint, OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions]; - "PUT /authorizations/clients/:client_id/:fingerprint": [OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint | OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintEndpoint, OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions | OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintRequestOptions]; - "PATCH /authorizations/:authorization_id": [OauthAuthorizationsUpdateAuthorizationEndpoint, OauthAuthorizationsUpdateAuthorizationRequestOptions]; - "DELETE /authorizations/:authorization_id": [OauthAuthorizationsDeleteAuthorizationEndpoint, OauthAuthorizationsDeleteAuthorizationRequestOptions]; - "GET /applications/:client_id/tokens/:access_token": [OauthAuthorizationsCheckAuthorizationEndpoint, OauthAuthorizationsCheckAuthorizationRequestOptions]; - "POST /applications/:client_id/tokens/:access_token": [OauthAuthorizationsResetAuthorizationEndpoint, OauthAuthorizationsResetAuthorizationRequestOptions]; - "DELETE /applications/:client_id/tokens/:access_token": [OauthAuthorizationsRevokeAuthorizationForApplicationEndpoint, OauthAuthorizationsRevokeAuthorizationForApplicationRequestOptions]; - "DELETE /applications/:client_id/grants/:access_token": [OauthAuthorizationsRevokeGrantForApplicationEndpoint, OauthAuthorizationsRevokeGrantForApplicationRequestOptions]; - "GET /user/orgs": [OrgsListForAuthenticatedUserEndpoint, OrgsListForAuthenticatedUserRequestOptions]; - "GET /organizations": [OrgsListEndpoint, OrgsListRequestOptions]; - "GET /users/:username/orgs": [OrgsListForUserEndpoint, OrgsListForUserRequestOptions]; - "GET /orgs/:org": [OrgsGetEndpoint, OrgsGetRequestOptions]; - "PATCH /orgs/:org": [OrgsUpdateEndpoint, OrgsUpdateRequestOptions]; - "GET /orgs/:org/credential-authorizations": [OrgsListCredentialAuthorizationsEndpoint, OrgsListCredentialAuthorizationsRequestOptions]; - "DELETE /orgs/:org/credential-authorizations/:credential_id": [OrgsRemoveCredentialAuthorizationEndpoint, OrgsRemoveCredentialAuthorizationRequestOptions]; - "GET /orgs/:org/blocks": [OrgsListBlockedUsersEndpoint, OrgsListBlockedUsersRequestOptions]; - "GET /orgs/:org/blocks/:username": [OrgsCheckBlockedUserEndpoint, OrgsCheckBlockedUserRequestOptions]; - "PUT /orgs/:org/blocks/:username": [OrgsBlockUserEndpoint, OrgsBlockUserRequestOptions]; - "DELETE /orgs/:org/blocks/:username": [OrgsUnblockUserEndpoint, OrgsUnblockUserRequestOptions]; - "GET /orgs/:org/hooks": [OrgsListHooksEndpoint, OrgsListHooksRequestOptions]; - "GET /orgs/:org/hooks/:hook_id": [OrgsGetHookEndpoint, OrgsGetHookRequestOptions]; - "POST /orgs/:org/hooks": [OrgsCreateHookEndpoint, OrgsCreateHookRequestOptions]; - "PATCH /orgs/:org/hooks/:hook_id": [OrgsUpdateHookEndpoint, OrgsUpdateHookRequestOptions]; - "POST /orgs/:org/hooks/:hook_id/pings": [OrgsPingHookEndpoint, OrgsPingHookRequestOptions]; - "DELETE /orgs/:org/hooks/:hook_id": [OrgsDeleteHookEndpoint, OrgsDeleteHookRequestOptions]; - "GET /orgs/:org/members": [OrgsListMembersEndpoint, OrgsListMembersRequestOptions]; - "GET /orgs/:org/members/:username": [OrgsCheckMembershipEndpoint, OrgsCheckMembershipRequestOptions]; - "DELETE /orgs/:org/members/:username": [OrgsRemoveMemberEndpoint, OrgsRemoveMemberRequestOptions]; - "GET /orgs/:org/public_members": [OrgsListPublicMembersEndpoint, OrgsListPublicMembersRequestOptions]; - "GET /orgs/:org/public_members/:username": [OrgsCheckPublicMembershipEndpoint, OrgsCheckPublicMembershipRequestOptions]; - "PUT /orgs/:org/public_members/:username": [OrgsPublicizeMembershipEndpoint, OrgsPublicizeMembershipRequestOptions]; - "DELETE /orgs/:org/public_members/:username": [OrgsConcealMembershipEndpoint, OrgsConcealMembershipRequestOptions]; - "GET /orgs/:org/memberships/:username": [OrgsGetMembershipEndpoint, OrgsGetMembershipRequestOptions]; - "PUT /orgs/:org/memberships/:username": [OrgsAddOrUpdateMembershipEndpoint, OrgsAddOrUpdateMembershipRequestOptions]; - "DELETE /orgs/:org/memberships/:username": [OrgsRemoveMembershipEndpoint, OrgsRemoveMembershipRequestOptions]; - "GET /orgs/:org/invitations/:invitation_id/teams": [OrgsListInvitationTeamsEndpoint, OrgsListInvitationTeamsRequestOptions]; - "GET /orgs/:org/invitations": [OrgsListPendingInvitationsEndpoint, OrgsListPendingInvitationsRequestOptions]; - "POST /orgs/:org/invitations": [OrgsCreateInvitationEndpoint, OrgsCreateInvitationRequestOptions]; - "GET /user/memberships/orgs": [OrgsListMembershipsEndpoint, OrgsListMembershipsRequestOptions]; - "GET /user/memberships/orgs/:org": [OrgsGetMembershipForAuthenticatedUserEndpoint, OrgsGetMembershipForAuthenticatedUserRequestOptions]; - "PATCH /user/memberships/orgs/:org": [OrgsUpdateMembershipEndpoint, OrgsUpdateMembershipRequestOptions]; - "GET /orgs/:org/outside_collaborators": [OrgsListOutsideCollaboratorsEndpoint, OrgsListOutsideCollaboratorsRequestOptions]; - "DELETE /orgs/:org/outside_collaborators/:username": [OrgsRemoveOutsideCollaboratorEndpoint, OrgsRemoveOutsideCollaboratorRequestOptions]; - "PUT /orgs/:org/outside_collaborators/:username": [OrgsConvertMemberToOutsideCollaboratorEndpoint, OrgsConvertMemberToOutsideCollaboratorRequestOptions]; - "GET /repos/:owner/:repo/projects": [ProjectsListForRepoEndpoint, ProjectsListForRepoRequestOptions]; - "GET /orgs/:org/projects": [ProjectsListForOrgEndpoint, ProjectsListForOrgRequestOptions]; - "GET /users/:username/projects": [ProjectsListForUserEndpoint, ProjectsListForUserRequestOptions]; - "GET /projects/:project_id": [ProjectsGetEndpoint, ProjectsGetRequestOptions]; - "POST /repos/:owner/:repo/projects": [ProjectsCreateForRepoEndpoint, ProjectsCreateForRepoRequestOptions]; - "POST /orgs/:org/projects": [ProjectsCreateForOrgEndpoint, ProjectsCreateForOrgRequestOptions]; - "POST /user/projects": [ProjectsCreateForAuthenticatedUserEndpoint, ProjectsCreateForAuthenticatedUserRequestOptions]; - "PATCH /projects/:project_id": [ProjectsUpdateEndpoint, ProjectsUpdateRequestOptions]; - "DELETE /projects/:project_id": [ProjectsDeleteEndpoint, ProjectsDeleteRequestOptions]; - "GET /projects/columns/:column_id/cards": [ProjectsListCardsEndpoint, ProjectsListCardsRequestOptions]; - "GET /projects/columns/cards/:card_id": [ProjectsGetCardEndpoint, ProjectsGetCardRequestOptions]; - "POST /projects/columns/:column_id/cards": [ProjectsCreateCardEndpoint, ProjectsCreateCardRequestOptions]; - "PATCH /projects/columns/cards/:card_id": [ProjectsUpdateCardEndpoint, ProjectsUpdateCardRequestOptions]; - "DELETE /projects/columns/cards/:card_id": [ProjectsDeleteCardEndpoint, ProjectsDeleteCardRequestOptions]; - "POST /projects/columns/cards/:card_id/moves": [ProjectsMoveCardEndpoint, ProjectsMoveCardRequestOptions]; - "GET /projects/:project_id/collaborators": [ProjectsListCollaboratorsEndpoint, ProjectsListCollaboratorsRequestOptions]; - "GET /projects/:project_id/collaborators/:username/permission": [ProjectsReviewUserPermissionLevelEndpoint, ProjectsReviewUserPermissionLevelRequestOptions]; - "PUT /projects/:project_id/collaborators/:username": [ProjectsAddCollaboratorEndpoint, ProjectsAddCollaboratorRequestOptions]; - "DELETE /projects/:project_id/collaborators/:username": [ProjectsRemoveCollaboratorEndpoint, ProjectsRemoveCollaboratorRequestOptions]; - "GET /projects/:project_id/columns": [ProjectsListColumnsEndpoint, ProjectsListColumnsRequestOptions]; - "GET /projects/columns/:column_id": [ProjectsGetColumnEndpoint, ProjectsGetColumnRequestOptions]; - "POST /projects/:project_id/columns": [ProjectsCreateColumnEndpoint, ProjectsCreateColumnRequestOptions]; - "PATCH /projects/columns/:column_id": [ProjectsUpdateColumnEndpoint, ProjectsUpdateColumnRequestOptions]; - "DELETE /projects/columns/:column_id": [ProjectsDeleteColumnEndpoint, ProjectsDeleteColumnRequestOptions]; - "POST /projects/columns/:column_id/moves": [ProjectsMoveColumnEndpoint, ProjectsMoveColumnRequestOptions]; - "GET /repos/:owner/:repo/pulls": [PullsListEndpoint, PullsListRequestOptions]; - "GET /repos/:owner/:repo/pulls/:pull_number": [PullsGetEndpoint, PullsGetRequestOptions]; - "POST /repos/:owner/:repo/pulls": [PullsCreateEndpoint | PullsCreateFromIssueEndpoint, PullsCreateRequestOptions | PullsCreateFromIssueRequestOptions]; - "PUT /repos/:owner/:repo/pulls/:pull_number/update-branch": [PullsUpdateBranchEndpoint, PullsUpdateBranchRequestOptions]; - "PATCH /repos/:owner/:repo/pulls/:pull_number": [PullsUpdateEndpoint, PullsUpdateRequestOptions]; - "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]; - "PUT /repos/:owner/:repo/pulls/:pull_number/merge": [PullsMergeEndpoint, PullsMergeRequestOptions]; - "GET /repos/:owner/:repo/pulls/:pull_number/comments": [PullsListCommentsEndpoint, PullsListCommentsRequestOptions]; - "GET /repos/:owner/:repo/pulls/comments": [PullsListCommentsForRepoEndpoint, PullsListCommentsForRepoRequestOptions]; - "GET /repos/:owner/:repo/pulls/comments/:comment_id": [PullsGetCommentEndpoint, PullsGetCommentRequestOptions]; - "POST /repos/:owner/:repo/pulls/:pull_number/comments": [PullsCreateCommentEndpoint | PullsCreateCommentReplyEndpoint, PullsCreateCommentRequestOptions | PullsCreateCommentReplyRequestOptions]; - "PATCH /repos/:owner/:repo/pulls/comments/:comment_id": [PullsUpdateCommentEndpoint, PullsUpdateCommentRequestOptions]; - "DELETE /repos/:owner/:repo/pulls/comments/:comment_id": [PullsDeleteCommentEndpoint, PullsDeleteCommentRequestOptions]; - "GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": [PullsListReviewRequestsEndpoint, PullsListReviewRequestsRequestOptions]; - "POST /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": [PullsCreateReviewRequestEndpoint, PullsCreateReviewRequestRequestOptions]; - "DELETE /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": [PullsDeleteReviewRequestEndpoint, PullsDeleteReviewRequestRequestOptions]; - "GET /repos/:owner/:repo/pulls/:pull_number/reviews": [PullsListReviewsEndpoint, PullsListReviewsRequestOptions]; - "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": [PullsGetReviewEndpoint, PullsGetReviewRequestOptions]; - "DELETE /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": [PullsDeletePendingReviewEndpoint, PullsDeletePendingReviewRequestOptions]; - "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments": [PullsGetCommentsForReviewEndpoint, PullsGetCommentsForReviewRequestOptions]; - "POST /repos/:owner/:repo/pulls/:pull_number/reviews": [PullsCreateReviewEndpoint, PullsCreateReviewRequestOptions]; - "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": [PullsUpdateReviewEndpoint, PullsUpdateReviewRequestOptions]; - "POST /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events": [PullsSubmitReviewEndpoint, PullsSubmitReviewRequestOptions]; - "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals": [PullsDismissReviewEndpoint, PullsDismissReviewRequestOptions]; - "GET /rate_limit": [RateLimitGetEndpoint, RateLimitGetRequestOptions]; - "GET /repos/:owner/:repo/comments/:comment_id/reactions": [ReactionsListForCommitCommentEndpoint, ReactionsListForCommitCommentRequestOptions]; - "POST /repos/:owner/:repo/comments/:comment_id/reactions": [ReactionsCreateForCommitCommentEndpoint, ReactionsCreateForCommitCommentRequestOptions]; - "GET /repos/:owner/:repo/issues/:issue_number/reactions": [ReactionsListForIssueEndpoint, ReactionsListForIssueRequestOptions]; - "POST /repos/:owner/:repo/issues/:issue_number/reactions": [ReactionsCreateForIssueEndpoint, ReactionsCreateForIssueRequestOptions]; - "GET /repos/:owner/:repo/issues/comments/:comment_id/reactions": [ReactionsListForIssueCommentEndpoint, ReactionsListForIssueCommentRequestOptions]; - "POST /repos/:owner/:repo/issues/comments/:comment_id/reactions": [ReactionsCreateForIssueCommentEndpoint, ReactionsCreateForIssueCommentRequestOptions]; - "GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions": [ReactionsListForPullRequestReviewCommentEndpoint, ReactionsListForPullRequestReviewCommentRequestOptions]; - "POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions": [ReactionsCreateForPullRequestReviewCommentEndpoint, ReactionsCreateForPullRequestReviewCommentRequestOptions]; - "GET /teams/:team_id/discussions/:discussion_number/reactions": [ReactionsListForTeamDiscussionEndpoint, ReactionsListForTeamDiscussionRequestOptions]; - "POST /teams/:team_id/discussions/:discussion_number/reactions": [ReactionsCreateForTeamDiscussionEndpoint, ReactionsCreateForTeamDiscussionRequestOptions]; - "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": [ReactionsListForTeamDiscussionCommentEndpoint, ReactionsListForTeamDiscussionCommentRequestOptions]; - "POST /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": [ReactionsCreateForTeamDiscussionCommentEndpoint, ReactionsCreateForTeamDiscussionCommentRequestOptions]; - "DELETE /reactions/:reaction_id": [ReactionsDeleteEndpoint, ReactionsDeleteRequestOptions]; - "GET /user/repos": [ReposListEndpoint, ReposListRequestOptions]; - "GET /users/:username/repos": [ReposListForUserEndpoint, ReposListForUserRequestOptions]; - "GET /orgs/:org/repos": [ReposListForOrgEndpoint, ReposListForOrgRequestOptions]; - "GET /repositories": [ReposListPublicEndpoint, ReposListPublicRequestOptions]; - "POST /user/repos": [ReposCreateForAuthenticatedUserEndpoint, ReposCreateForAuthenticatedUserRequestOptions]; - "POST /orgs/:org/repos": [ReposCreateInOrgEndpoint, ReposCreateInOrgRequestOptions]; - "POST /repos/:template_owner/:template_repo/generate": [ReposCreateUsingTemplateEndpoint, ReposCreateUsingTemplateRequestOptions]; - "GET /repos/:owner/:repo": [ReposGetEndpoint, ReposGetRequestOptions]; - "PATCH /repos/:owner/:repo": [ReposUpdateEndpoint, ReposUpdateRequestOptions]; - "GET /repos/:owner/:repo/topics": [ReposListTopicsEndpoint, ReposListTopicsRequestOptions]; - "PUT /repos/:owner/:repo/topics": [ReposReplaceTopicsEndpoint, ReposReplaceTopicsRequestOptions]; - "GET /repos/:owner/:repo/vulnerability-alerts": [ReposCheckVulnerabilityAlertsEndpoint, ReposCheckVulnerabilityAlertsRequestOptions]; - "PUT /repos/:owner/:repo/vulnerability-alerts": [ReposEnableVulnerabilityAlertsEndpoint, ReposEnableVulnerabilityAlertsRequestOptions]; - "DELETE /repos/:owner/:repo/vulnerability-alerts": [ReposDisableVulnerabilityAlertsEndpoint, ReposDisableVulnerabilityAlertsRequestOptions]; - "PUT /repos/:owner/:repo/automated-security-fixes": [ReposEnableAutomatedSecurityFixesEndpoint, ReposEnableAutomatedSecurityFixesRequestOptions]; - "DELETE /repos/:owner/:repo/automated-security-fixes": [ReposDisableAutomatedSecurityFixesEndpoint, ReposDisableAutomatedSecurityFixesRequestOptions]; - "GET /repos/:owner/:repo/contributors": [ReposListContributorsEndpoint, ReposListContributorsRequestOptions]; - "GET /repos/:owner/:repo/languages": [ReposListLanguagesEndpoint, ReposListLanguagesRequestOptions]; - "GET /repos/:owner/:repo/teams": [ReposListTeamsEndpoint, ReposListTeamsRequestOptions]; - "GET /repos/:owner/:repo/tags": [ReposListTagsEndpoint, ReposListTagsRequestOptions]; - "DELETE /repos/:owner/:repo": [ReposDeleteEndpoint, ReposDeleteRequestOptions]; - "POST /repos/:owner/:repo/transfer": [ReposTransferEndpoint, ReposTransferRequestOptions]; - "GET /repos/:owner/:repo/branches": [ReposListBranchesEndpoint, ReposListBranchesRequestOptions]; - "GET /repos/:owner/:repo/branches/:branch": [ReposGetBranchEndpoint, ReposGetBranchRequestOptions]; - "GET /repos/:owner/:repo/branches/:branch/protection": [ReposGetBranchProtectionEndpoint, ReposGetBranchProtectionRequestOptions]; - "PUT /repos/:owner/:repo/branches/:branch/protection": [ReposUpdateBranchProtectionEndpoint, ReposUpdateBranchProtectionRequestOptions]; - "DELETE /repos/:owner/:repo/branches/:branch/protection": [ReposRemoveBranchProtectionEndpoint, ReposRemoveBranchProtectionRequestOptions]; - "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks": [ReposGetProtectedBranchRequiredStatusChecksEndpoint, ReposGetProtectedBranchRequiredStatusChecksRequestOptions]; - "PATCH /repos/:owner/:repo/branches/:branch/protection/required_status_checks": [ReposUpdateProtectedBranchRequiredStatusChecksEndpoint, ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions]; - "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks": [ReposRemoveProtectedBranchRequiredStatusChecksEndpoint, ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions]; - "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ReposListProtectedBranchRequiredStatusChecksContextsEndpoint, ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions]; - "PUT /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint, ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions]; - "POST /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint, ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions]; - "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint, ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions]; - "GET /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": [ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint, ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions]; - "PATCH /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": [ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint, ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions]; - "DELETE /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": [ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint, ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions]; - "GET /repos/:owner/:repo/branches/:branch/protection/required_signatures": [ReposGetProtectedBranchRequiredSignaturesEndpoint, ReposGetProtectedBranchRequiredSignaturesRequestOptions]; - "POST /repos/:owner/:repo/branches/:branch/protection/required_signatures": [ReposAddProtectedBranchRequiredSignaturesEndpoint, ReposAddProtectedBranchRequiredSignaturesRequestOptions]; - "DELETE /repos/:owner/:repo/branches/:branch/protection/required_signatures": [ReposRemoveProtectedBranchRequiredSignaturesEndpoint, ReposRemoveProtectedBranchRequiredSignaturesRequestOptions]; - "GET /repos/:owner/:repo/branches/:branch/protection/enforce_admins": [ReposGetProtectedBranchAdminEnforcementEndpoint, ReposGetProtectedBranchAdminEnforcementRequestOptions]; - "POST /repos/:owner/:repo/branches/:branch/protection/enforce_admins": [ReposAddProtectedBranchAdminEnforcementEndpoint, ReposAddProtectedBranchAdminEnforcementRequestOptions]; - "DELETE /repos/:owner/:repo/branches/:branch/protection/enforce_admins": [ReposRemoveProtectedBranchAdminEnforcementEndpoint, ReposRemoveProtectedBranchAdminEnforcementRequestOptions]; - "GET /repos/:owner/:repo/branches/:branch/protection/restrictions": [ReposGetProtectedBranchRestrictionsEndpoint, ReposGetProtectedBranchRestrictionsRequestOptions]; - "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions": [ReposRemoveProtectedBranchRestrictionsEndpoint, ReposRemoveProtectedBranchRestrictionsRequestOptions]; - "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ReposListProtectedBranchTeamRestrictionsEndpoint, ReposListProtectedBranchTeamRestrictionsRequestOptions]; - "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ReposReplaceProtectedBranchTeamRestrictionsEndpoint, ReposReplaceProtectedBranchTeamRestrictionsRequestOptions]; - "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ReposAddProtectedBranchTeamRestrictionsEndpoint, ReposAddProtectedBranchTeamRestrictionsRequestOptions]; - "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ReposRemoveProtectedBranchTeamRestrictionsEndpoint, ReposRemoveProtectedBranchTeamRestrictionsRequestOptions]; - "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ReposListProtectedBranchUserRestrictionsEndpoint, ReposListProtectedBranchUserRestrictionsRequestOptions]; - "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ReposReplaceProtectedBranchUserRestrictionsEndpoint, ReposReplaceProtectedBranchUserRestrictionsRequestOptions]; - "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ReposAddProtectedBranchUserRestrictionsEndpoint, ReposAddProtectedBranchUserRestrictionsRequestOptions]; - "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ReposRemoveProtectedBranchUserRestrictionsEndpoint, ReposRemoveProtectedBranchUserRestrictionsRequestOptions]; - "GET /repos/:owner/:repo/collaborators": [ReposListCollaboratorsEndpoint, ReposListCollaboratorsRequestOptions]; - "GET /repos/:owner/:repo/collaborators/:username": [ReposCheckCollaboratorEndpoint, ReposCheckCollaboratorRequestOptions]; - "GET /repos/:owner/:repo/collaborators/:username/permission": [ReposGetCollaboratorPermissionLevelEndpoint, ReposGetCollaboratorPermissionLevelRequestOptions]; - "PUT /repos/:owner/:repo/collaborators/:username": [ReposAddCollaboratorEndpoint, ReposAddCollaboratorRequestOptions]; - "DELETE /repos/:owner/:repo/collaborators/:username": [ReposRemoveCollaboratorEndpoint, ReposRemoveCollaboratorRequestOptions]; - "GET /repos/:owner/:repo/comments": [ReposListCommitCommentsEndpoint, ReposListCommitCommentsRequestOptions]; - "GET /repos/:owner/:repo/commits/:commit_sha/comments": [ReposListCommentsForCommitEndpoint, ReposListCommentsForCommitRequestOptions]; - "POST /repos/:owner/:repo/commits/:commit_sha/comments": [ReposCreateCommitCommentEndpoint, ReposCreateCommitCommentRequestOptions]; - "GET /repos/:owner/:repo/comments/:comment_id": [ReposGetCommitCommentEndpoint, ReposGetCommitCommentRequestOptions]; - "PATCH /repos/:owner/:repo/comments/:comment_id": [ReposUpdateCommitCommentEndpoint, ReposUpdateCommitCommentRequestOptions]; - "DELETE /repos/:owner/:repo/comments/:comment_id": [ReposDeleteCommitCommentEndpoint, ReposDeleteCommitCommentRequestOptions]; - "GET /repos/:owner/:repo/commits": [ReposListCommitsEndpoint, ReposListCommitsRequestOptions]; - "GET /repos/:owner/:repo/commits/:ref": [ReposGetCommitEndpoint | ReposGetCommitRefShaEndpoint, ReposGetCommitRequestOptions | ReposGetCommitRefShaRequestOptions]; - "GET /repos/:owner/:repo/compare/:base...:head": [ReposCompareCommitsEndpoint, ReposCompareCommitsRequestOptions]; - "GET /repos/:owner/:repo/commits/:commit_sha/branches-where-head": [ReposListBranchesForHeadCommitEndpoint, ReposListBranchesForHeadCommitRequestOptions]; - "GET /repos/:owner/:repo/commits/:commit_sha/pulls": [ReposListPullRequestsAssociatedWithCommitEndpoint, ReposListPullRequestsAssociatedWithCommitRequestOptions]; - "GET /repos/:owner/:repo/community/profile": [ReposRetrieveCommunityProfileMetricsEndpoint, ReposRetrieveCommunityProfileMetricsRequestOptions]; - "GET /repos/:owner/:repo/readme": [ReposGetReadmeEndpoint, ReposGetReadmeRequestOptions]; - "GET /repos/:owner/:repo/contents/:path": [ReposGetContentsEndpoint, ReposGetContentsRequestOptions]; - "PUT /repos/:owner/:repo/contents/:path": [ReposCreateOrUpdateFileEndpoint | ReposCreateFileEndpoint | ReposUpdateFileEndpoint, ReposCreateOrUpdateFileRequestOptions | ReposCreateFileRequestOptions | ReposUpdateFileRequestOptions]; - "DELETE /repos/:owner/:repo/contents/:path": [ReposDeleteFileEndpoint, ReposDeleteFileRequestOptions]; - "GET /repos/:owner/:repo/:archive_format/:ref": [ReposGetArchiveLinkEndpoint, ReposGetArchiveLinkRequestOptions]; - "GET /repos/:owner/:repo/deployments": [ReposListDeploymentsEndpoint, ReposListDeploymentsRequestOptions]; - "GET /repos/:owner/:repo/deployments/:deployment_id": [ReposGetDeploymentEndpoint, ReposGetDeploymentRequestOptions]; - "POST /repos/:owner/:repo/deployments": [ReposCreateDeploymentEndpoint, ReposCreateDeploymentRequestOptions]; - "GET /repos/:owner/:repo/deployments/:deployment_id/statuses": [ReposListDeploymentStatusesEndpoint, ReposListDeploymentStatusesRequestOptions]; - "GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id": [ReposGetDeploymentStatusEndpoint, ReposGetDeploymentStatusRequestOptions]; - "POST /repos/:owner/:repo/deployments/:deployment_id/statuses": [ReposCreateDeploymentStatusEndpoint, ReposCreateDeploymentStatusRequestOptions]; - "GET /repos/:owner/:repo/downloads": [ReposListDownloadsEndpoint, ReposListDownloadsRequestOptions]; - "GET /repos/:owner/:repo/downloads/:download_id": [ReposGetDownloadEndpoint, ReposGetDownloadRequestOptions]; - "DELETE /repos/:owner/:repo/downloads/:download_id": [ReposDeleteDownloadEndpoint, ReposDeleteDownloadRequestOptions]; - "GET /repos/:owner/:repo/forks": [ReposListForksEndpoint, ReposListForksRequestOptions]; - "POST /repos/:owner/:repo/forks": [ReposCreateForkEndpoint, ReposCreateForkRequestOptions]; - "GET /repos/:owner/:repo/hooks": [ReposListHooksEndpoint, ReposListHooksRequestOptions]; - "GET /repos/:owner/:repo/hooks/:hook_id": [ReposGetHookEndpoint, ReposGetHookRequestOptions]; - "POST /repos/:owner/:repo/hooks": [ReposCreateHookEndpoint, ReposCreateHookRequestOptions]; - "PATCH /repos/:owner/:repo/hooks/:hook_id": [ReposUpdateHookEndpoint, ReposUpdateHookRequestOptions]; - "POST /repos/:owner/:repo/hooks/:hook_id/tests": [ReposTestPushHookEndpoint, ReposTestPushHookRequestOptions]; - "POST /repos/:owner/:repo/hooks/:hook_id/pings": [ReposPingHookEndpoint, ReposPingHookRequestOptions]; - "DELETE /repos/:owner/:repo/hooks/:hook_id": [ReposDeleteHookEndpoint, ReposDeleteHookRequestOptions]; - "GET /repos/:owner/:repo/invitations": [ReposListInvitationsEndpoint, ReposListInvitationsRequestOptions]; - "DELETE /repos/:owner/:repo/invitations/:invitation_id": [ReposDeleteInvitationEndpoint, ReposDeleteInvitationRequestOptions]; - "PATCH /repos/:owner/:repo/invitations/:invitation_id": [ReposUpdateInvitationEndpoint, ReposUpdateInvitationRequestOptions]; - "GET /user/repository_invitations": [ReposListInvitationsForAuthenticatedUserEndpoint, ReposListInvitationsForAuthenticatedUserRequestOptions]; - "PATCH /user/repository_invitations/:invitation_id": [ReposAcceptInvitationEndpoint, ReposAcceptInvitationRequestOptions]; - "DELETE /user/repository_invitations/:invitation_id": [ReposDeclineInvitationEndpoint, ReposDeclineInvitationRequestOptions]; - "GET /repos/:owner/:repo/keys": [ReposListDeployKeysEndpoint, ReposListDeployKeysRequestOptions]; - "GET /repos/:owner/:repo/keys/:key_id": [ReposGetDeployKeyEndpoint, ReposGetDeployKeyRequestOptions]; - "POST /repos/:owner/:repo/keys": [ReposAddDeployKeyEndpoint, ReposAddDeployKeyRequestOptions]; - "DELETE /repos/:owner/:repo/keys/:key_id": [ReposRemoveDeployKeyEndpoint, ReposRemoveDeployKeyRequestOptions]; - "POST /repos/:owner/:repo/merges": [ReposMergeEndpoint, ReposMergeRequestOptions]; - "GET /repos/:owner/:repo/pages": [ReposGetPagesEndpoint, ReposGetPagesRequestOptions]; - "POST /repos/:owner/:repo/pages": [ReposEnablePagesSiteEndpoint, ReposEnablePagesSiteRequestOptions]; - "DELETE /repos/:owner/:repo/pages": [ReposDisablePagesSiteEndpoint, ReposDisablePagesSiteRequestOptions]; - "PUT /repos/:owner/:repo/pages": [ReposUpdateInformationAboutPagesSiteEndpoint, ReposUpdateInformationAboutPagesSiteRequestOptions]; - "POST /repos/:owner/:repo/pages/builds": [ReposRequestPageBuildEndpoint, ReposRequestPageBuildRequestOptions]; - "GET /repos/:owner/:repo/pages/builds": [ReposListPagesBuildsEndpoint, ReposListPagesBuildsRequestOptions]; - "GET /repos/:owner/:repo/pages/builds/latest": [ReposGetLatestPagesBuildEndpoint, ReposGetLatestPagesBuildRequestOptions]; - "GET /repos/:owner/:repo/pages/builds/:build_id": [ReposGetPagesBuildEndpoint, ReposGetPagesBuildRequestOptions]; - "GET /repos/:owner/:repo/releases": [ReposListReleasesEndpoint, ReposListReleasesRequestOptions]; - "GET /repos/:owner/:repo/releases/:release_id": [ReposGetReleaseEndpoint, ReposGetReleaseRequestOptions]; - "GET /repos/:owner/:repo/releases/latest": [ReposGetLatestReleaseEndpoint, ReposGetLatestReleaseRequestOptions]; - "GET /repos/:owner/:repo/releases/tags/:tag": [ReposGetReleaseByTagEndpoint, ReposGetReleaseByTagRequestOptions]; - "POST /repos/:owner/:repo/releases": [ReposCreateReleaseEndpoint, ReposCreateReleaseRequestOptions]; - "PATCH /repos/:owner/:repo/releases/:release_id": [ReposUpdateReleaseEndpoint, ReposUpdateReleaseRequestOptions]; - "DELETE /repos/:owner/:repo/releases/:release_id": [ReposDeleteReleaseEndpoint, ReposDeleteReleaseRequestOptions]; - "GET /repos/:owner/:repo/releases/:release_id/assets": [ReposListAssetsForReleaseEndpoint, ReposListAssetsForReleaseRequestOptions]; - "POST :url": [ReposUploadReleaseAssetEndpoint, ReposUploadReleaseAssetRequestOptions]; - "GET /repos/:owner/:repo/releases/assets/:asset_id": [ReposGetReleaseAssetEndpoint, ReposGetReleaseAssetRequestOptions]; - "PATCH /repos/:owner/:repo/releases/assets/:asset_id": [ReposUpdateReleaseAssetEndpoint, ReposUpdateReleaseAssetRequestOptions]; - "DELETE /repos/:owner/:repo/releases/assets/:asset_id": [ReposDeleteReleaseAssetEndpoint, ReposDeleteReleaseAssetRequestOptions]; - "GET /repos/:owner/:repo/stats/contributors": [ReposGetContributorsStatsEndpoint, ReposGetContributorsStatsRequestOptions]; - "GET /repos/:owner/:repo/stats/commit_activity": [ReposGetCommitActivityStatsEndpoint, ReposGetCommitActivityStatsRequestOptions]; - "GET /repos/:owner/:repo/stats/code_frequency": [ReposGetCodeFrequencyStatsEndpoint, ReposGetCodeFrequencyStatsRequestOptions]; - "GET /repos/:owner/:repo/stats/participation": [ReposGetParticipationStatsEndpoint, ReposGetParticipationStatsRequestOptions]; - "GET /repos/:owner/:repo/stats/punch_card": [ReposGetPunchCardStatsEndpoint, ReposGetPunchCardStatsRequestOptions]; - "POST /repos/:owner/:repo/statuses/:sha": [ReposCreateStatusEndpoint, ReposCreateStatusRequestOptions]; - "GET /repos/:owner/:repo/commits/:ref/statuses": [ReposListStatusesForRefEndpoint, ReposListStatusesForRefRequestOptions]; - "GET /repos/:owner/:repo/commits/:ref/status": [ReposGetCombinedStatusForRefEndpoint, ReposGetCombinedStatusForRefRequestOptions]; - "GET /repos/:owner/:repo/traffic/popular/referrers": [ReposGetTopReferrersEndpoint, ReposGetTopReferrersRequestOptions]; - "GET /repos/:owner/:repo/traffic/popular/paths": [ReposGetTopPathsEndpoint, ReposGetTopPathsRequestOptions]; - "GET /repos/:owner/:repo/traffic/views": [ReposGetViewsEndpoint, ReposGetViewsRequestOptions]; - "GET /repos/:owner/:repo/traffic/clones": [ReposGetClonesEndpoint, ReposGetClonesRequestOptions]; - "GET /scim/v2/organizations/:org/Users": [ScimListProvisionedIdentitiesEndpoint, ScimListProvisionedIdentitiesRequestOptions]; - "GET /scim/v2/organizations/:org/Users/:scim_user_id": [ScimGetProvisioningDetailsForUserEndpoint, ScimGetProvisioningDetailsForUserRequestOptions]; - "POST /scim/v2/organizations/:org/Users": [ScimProvisionAndInviteUsersEndpoint | ScimProvisionInviteUsersEndpoint, ScimProvisionAndInviteUsersRequestOptions | ScimProvisionInviteUsersRequestOptions]; - "PUT /scim/v2/organizations/:org/Users/:scim_user_id": [ScimReplaceProvisionedUserInformationEndpoint | ScimUpdateProvisionedOrgMembershipEndpoint, ScimReplaceProvisionedUserInformationRequestOptions | ScimUpdateProvisionedOrgMembershipRequestOptions]; - "PATCH /scim/v2/organizations/:org/Users/:scim_user_id": [ScimUpdateUserAttributeEndpoint, ScimUpdateUserAttributeRequestOptions]; - "DELETE /scim/v2/organizations/:org/Users/:scim_user_id": [ScimRemoveUserFromOrgEndpoint, ScimRemoveUserFromOrgRequestOptions]; - "GET /search/repositories": [SearchReposEndpoint, SearchReposRequestOptions]; - "GET /search/commits": [SearchCommitsEndpoint, SearchCommitsRequestOptions]; - "GET /search/code": [SearchCodeEndpoint, SearchCodeRequestOptions]; - "GET /search/issues": [SearchIssuesAndPullRequestsEndpoint | SearchIssuesEndpoint, SearchIssuesAndPullRequestsRequestOptions | SearchIssuesRequestOptions]; - "GET /search/users": [SearchUsersEndpoint, SearchUsersRequestOptions]; - "GET /search/topics": [SearchTopicsEndpoint, SearchTopicsRequestOptions]; - "GET /search/labels": [SearchLabelsEndpoint, SearchLabelsRequestOptions]; - "GET /legacy/issues/search/:owner/:repository/:state/:keyword": [SearchIssuesLegacyEndpoint, SearchIssuesLegacyRequestOptions]; - "GET /legacy/repos/search/:keyword": [SearchReposLegacyEndpoint, SearchReposLegacyRequestOptions]; - "GET /legacy/user/search/:keyword": [SearchUsersLegacyEndpoint, SearchUsersLegacyRequestOptions]; - "GET /legacy/user/email/:email": [SearchEmailLegacyEndpoint, SearchEmailLegacyRequestOptions]; - "GET /orgs/:org/teams": [TeamsListEndpoint, TeamsListRequestOptions]; - "GET /teams/:team_id": [TeamsGetEndpoint, TeamsGetRequestOptions]; - "GET /orgs/:org/teams/:team_slug": [TeamsGetByNameEndpoint, TeamsGetByNameRequestOptions]; - "POST /orgs/:org/teams": [TeamsCreateEndpoint, TeamsCreateRequestOptions]; - "PATCH /teams/:team_id": [TeamsUpdateEndpoint, TeamsUpdateRequestOptions]; - "DELETE /teams/:team_id": [TeamsDeleteEndpoint, TeamsDeleteRequestOptions]; - "GET /teams/:team_id/teams": [TeamsListChildEndpoint, TeamsListChildRequestOptions]; - "GET /teams/:team_id/repos": [TeamsListReposEndpoint, TeamsListReposRequestOptions]; - "GET /teams/:team_id/repos/:owner/:repo": [TeamsCheckManagesRepoEndpoint, TeamsCheckManagesRepoRequestOptions]; - "PUT /teams/:team_id/repos/:owner/:repo": [TeamsAddOrUpdateRepoEndpoint, TeamsAddOrUpdateRepoRequestOptions]; - "DELETE /teams/:team_id/repos/:owner/:repo": [TeamsRemoveRepoEndpoint, TeamsRemoveRepoRequestOptions]; - "GET /user/teams": [TeamsListForAuthenticatedUserEndpoint, TeamsListForAuthenticatedUserRequestOptions]; - "GET /teams/:team_id/projects": [TeamsListProjectsEndpoint, TeamsListProjectsRequestOptions]; - "GET /teams/:team_id/projects/:project_id": [TeamsReviewProjectEndpoint, TeamsReviewProjectRequestOptions]; - "PUT /teams/:team_id/projects/:project_id": [TeamsAddOrUpdateProjectEndpoint, TeamsAddOrUpdateProjectRequestOptions]; - "DELETE /teams/:team_id/projects/:project_id": [TeamsRemoveProjectEndpoint, TeamsRemoveProjectRequestOptions]; - "GET /teams/:team_id/discussions/:discussion_number/comments": [TeamsListDiscussionCommentsEndpoint, TeamsListDiscussionCommentsRequestOptions]; - "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number": [TeamsGetDiscussionCommentEndpoint, TeamsGetDiscussionCommentRequestOptions]; - "POST /teams/:team_id/discussions/:discussion_number/comments": [TeamsCreateDiscussionCommentEndpoint, TeamsCreateDiscussionCommentRequestOptions]; - "PATCH /teams/:team_id/discussions/:discussion_number/comments/:comment_number": [TeamsUpdateDiscussionCommentEndpoint, TeamsUpdateDiscussionCommentRequestOptions]; - "DELETE /teams/:team_id/discussions/:discussion_number/comments/:comment_number": [TeamsDeleteDiscussionCommentEndpoint, TeamsDeleteDiscussionCommentRequestOptions]; - "GET /teams/:team_id/discussions": [TeamsListDiscussionsEndpoint, TeamsListDiscussionsRequestOptions]; - "GET /teams/:team_id/discussions/:discussion_number": [TeamsGetDiscussionEndpoint, TeamsGetDiscussionRequestOptions]; - "POST /teams/:team_id/discussions": [TeamsCreateDiscussionEndpoint, TeamsCreateDiscussionRequestOptions]; - "PATCH /teams/:team_id/discussions/:discussion_number": [TeamsUpdateDiscussionEndpoint, TeamsUpdateDiscussionRequestOptions]; - "DELETE /teams/:team_id/discussions/:discussion_number": [TeamsDeleteDiscussionEndpoint, TeamsDeleteDiscussionRequestOptions]; - "GET /teams/:team_id/members": [TeamsListMembersEndpoint, TeamsListMembersRequestOptions]; - "GET /teams/:team_id/members/:username": [TeamsGetMemberEndpoint, TeamsGetMemberRequestOptions]; - "PUT /teams/:team_id/members/:username": [TeamsAddMemberEndpoint, TeamsAddMemberRequestOptions]; - "DELETE /teams/:team_id/members/:username": [TeamsRemoveMemberEndpoint, TeamsRemoveMemberRequestOptions]; - "GET /teams/:team_id/memberships/:username": [TeamsGetMembershipEndpoint, TeamsGetMembershipRequestOptions]; - "PUT /teams/:team_id/memberships/:username": [TeamsAddOrUpdateMembershipEndpoint, TeamsAddOrUpdateMembershipRequestOptions]; - "DELETE /teams/:team_id/memberships/:username": [TeamsRemoveMembershipEndpoint, TeamsRemoveMembershipRequestOptions]; - "GET /teams/:team_id/invitations": [TeamsListPendingInvitationsEndpoint, TeamsListPendingInvitationsRequestOptions]; - "GET /orgs/:org/team-sync/groups": [TeamsListIdPGroupsForOrgEndpoint, TeamsListIdPGroupsForOrgRequestOptions]; - "GET /teams/:team_id/team-sync/group-mappings": [TeamsListIdPGroupsEndpoint, TeamsListIdPGroupsRequestOptions]; - "PATCH /teams/:team_id/team-sync/group-mappings": [TeamsCreateOrUpdateIdPGroupConnectionsEndpoint, TeamsCreateOrUpdateIdPGroupConnectionsRequestOptions]; - "GET /users/:username": [UsersGetByUsernameEndpoint, UsersGetByUsernameRequestOptions]; - "GET /user": [UsersGetAuthenticatedEndpoint, UsersGetAuthenticatedRequestOptions]; - "PATCH /user": [UsersUpdateAuthenticatedEndpoint, UsersUpdateAuthenticatedRequestOptions]; - "GET /users/:username/hovercard": [UsersGetContextForUserEndpoint, UsersGetContextForUserRequestOptions]; - "GET /users": [UsersListEndpoint, UsersListRequestOptions]; - "GET /user/blocks": [UsersListBlockedEndpoint, UsersListBlockedRequestOptions]; - "GET /user/blocks/:username": [UsersCheckBlockedEndpoint, UsersCheckBlockedRequestOptions]; - "PUT /user/blocks/:username": [UsersBlockEndpoint, UsersBlockRequestOptions]; - "DELETE /user/blocks/:username": [UsersUnblockEndpoint, UsersUnblockRequestOptions]; - "GET /user/emails": [UsersListEmailsEndpoint, UsersListEmailsRequestOptions]; - "GET /user/public_emails": [UsersListPublicEmailsEndpoint, UsersListPublicEmailsRequestOptions]; - "POST /user/emails": [UsersAddEmailsEndpoint, UsersAddEmailsRequestOptions]; - "DELETE /user/emails": [UsersDeleteEmailsEndpoint, UsersDeleteEmailsRequestOptions]; - "PATCH /user/email/visibility": [UsersTogglePrimaryEmailVisibilityEndpoint, UsersTogglePrimaryEmailVisibilityRequestOptions]; - "GET /users/:username/followers": [UsersListFollowersForUserEndpoint, UsersListFollowersForUserRequestOptions]; - "GET /user/followers": [UsersListFollowersForAuthenticatedUserEndpoint, UsersListFollowersForAuthenticatedUserRequestOptions]; - "GET /users/:username/following": [UsersListFollowingForUserEndpoint, UsersListFollowingForUserRequestOptions]; - "GET /user/following": [UsersListFollowingForAuthenticatedUserEndpoint, UsersListFollowingForAuthenticatedUserRequestOptions]; - "GET /user/following/:username": [UsersCheckFollowingEndpoint, UsersCheckFollowingRequestOptions]; - "GET /users/:username/following/:target_user": [UsersCheckFollowingForUserEndpoint, UsersCheckFollowingForUserRequestOptions]; - "PUT /user/following/:username": [UsersFollowEndpoint, UsersFollowRequestOptions]; - "DELETE /user/following/:username": [UsersUnfollowEndpoint, UsersUnfollowRequestOptions]; - "GET /users/:username/gpg_keys": [UsersListGpgKeysForUserEndpoint, UsersListGpgKeysForUserRequestOptions]; - "GET /user/gpg_keys": [UsersListGpgKeysEndpoint, UsersListGpgKeysRequestOptions]; - "GET /user/gpg_keys/:gpg_key_id": [UsersGetGpgKeyEndpoint, UsersGetGpgKeyRequestOptions]; - "POST /user/gpg_keys": [UsersCreateGpgKeyEndpoint, UsersCreateGpgKeyRequestOptions]; - "DELETE /user/gpg_keys/:gpg_key_id": [UsersDeleteGpgKeyEndpoint, UsersDeleteGpgKeyRequestOptions]; - "GET /users/:username/keys": [UsersListPublicKeysForUserEndpoint, UsersListPublicKeysForUserRequestOptions]; - "GET /user/keys": [UsersListPublicKeysEndpoint, UsersListPublicKeysRequestOptions]; - "GET /user/keys/:key_id": [UsersGetPublicKeyEndpoint, UsersGetPublicKeyRequestOptions]; - "POST /user/keys": [UsersCreatePublicKeyEndpoint, UsersCreatePublicKeyRequestOptions]; - "DELETE /user/keys/:key_id": [UsersDeletePublicKeyEndpoint, UsersDeletePublicKeyRequestOptions]; -} -declare type ActivityListPublicEventsEndpoint = { - per_page?: number; - page?: number; -}; -declare type ActivityListPublicEventsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListRepoEventsEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ActivityListRepoEventsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListPublicEventsForRepoNetworkEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ActivityListPublicEventsForRepoNetworkRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListPublicEventsForOrgEndpoint = { - org: string; - per_page?: number; - page?: number; -}; -declare type ActivityListPublicEventsForOrgRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListReceivedEventsForUserEndpoint = { - username: string; - per_page?: number; - page?: number; -}; -declare type ActivityListReceivedEventsForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListReceivedPublicEventsForUserEndpoint = { - username: string; - per_page?: number; - page?: number; -}; -declare type ActivityListReceivedPublicEventsForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListEventsForUserEndpoint = { - username: string; - per_page?: number; - page?: number; -}; -declare type ActivityListEventsForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListPublicEventsForUserEndpoint = { - username: string; - per_page?: number; - page?: number; -}; -declare type ActivityListPublicEventsForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListEventsForOrgEndpoint = { - username: string; - org: string; - per_page?: number; - page?: number; -}; -declare type ActivityListEventsForOrgRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListFeedsEndpoint = {}; -declare type ActivityListFeedsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListNotificationsEndpoint = { - all?: boolean; - participating?: boolean; - since?: string; - before?: string; - per_page?: number; - page?: number; -}; -declare type ActivityListNotificationsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListNotificationsForRepoEndpoint = { - owner: string; - repo: string; - all?: boolean; - participating?: boolean; - since?: string; - before?: string; - per_page?: number; - page?: number; -}; -declare type ActivityListNotificationsForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityMarkAsReadEndpoint = { - last_read_at?: string; -}; -declare type ActivityMarkAsReadRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityMarkNotificationsAsReadForRepoEndpoint = { - owner: string; - repo: string; - last_read_at?: string; -}; -declare type ActivityMarkNotificationsAsReadForRepoRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityGetThreadEndpoint = { - thread_id: number; -}; -declare type ActivityGetThreadRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityMarkThreadAsReadEndpoint = { - thread_id: number; -}; -declare type ActivityMarkThreadAsReadRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityGetThreadSubscriptionEndpoint = { - thread_id: number; -}; -declare type ActivityGetThreadSubscriptionRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivitySetThreadSubscriptionEndpoint = { - thread_id: number; - ignored?: boolean; -}; -declare type ActivitySetThreadSubscriptionRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityDeleteThreadSubscriptionEndpoint = { - thread_id: number; -}; -declare type ActivityDeleteThreadSubscriptionRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListStargazersForRepoEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ActivityListStargazersForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListReposStarredByUserEndpoint = { - username: string; - sort?: string; - direction?: string; - per_page?: number; - page?: number; -}; -declare type ActivityListReposStarredByUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListReposStarredByAuthenticatedUserEndpoint = { - sort?: string; - direction?: string; - per_page?: number; - page?: number; -}; -declare type ActivityListReposStarredByAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityCheckStarringRepoEndpoint = { - owner: string; - repo: string; -}; -declare type ActivityCheckStarringRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityStarRepoEndpoint = { - owner: string; - repo: string; -}; -declare type ActivityStarRepoRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityUnstarRepoEndpoint = { - owner: string; - repo: string; -}; -declare type ActivityUnstarRepoRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListWatchersForRepoEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ActivityListWatchersForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListReposWatchedByUserEndpoint = { - username: string; - per_page?: number; - page?: number; -}; -declare type ActivityListReposWatchedByUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityListWatchedReposForAuthenticatedUserEndpoint = { - per_page?: number; - page?: number; -}; -declare type ActivityListWatchedReposForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityGetRepoSubscriptionEndpoint = { - owner: string; - repo: string; -}; -declare type ActivityGetRepoSubscriptionRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivitySetRepoSubscriptionEndpoint = { - owner: string; - repo: string; - subscribed?: boolean; - ignored?: boolean; -}; -declare type ActivitySetRepoSubscriptionRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityDeleteRepoSubscriptionEndpoint = { - owner: string; - repo: string; -}; -declare type ActivityDeleteRepoSubscriptionRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityCheckWatchingRepoLegacyEndpoint = { - owner: string; - repo: string; -}; -declare type ActivityCheckWatchingRepoLegacyRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityWatchRepoLegacyEndpoint = { - owner: string; - repo: string; -}; -declare type ActivityWatchRepoLegacyRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ActivityStopWatchingRepoLegacyEndpoint = { - owner: string; - repo: string; -}; -declare type ActivityStopWatchingRepoLegacyRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsGetBySlugEndpoint = { - app_slug: string; -}; -declare type AppsGetBySlugRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsGetAuthenticatedEndpoint = {}; -declare type AppsGetAuthenticatedRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsListInstallationsEndpoint = { - per_page?: number; - page?: number; -}; -declare type AppsListInstallationsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsGetInstallationEndpoint = { - installation_id: number; -}; -declare type AppsGetInstallationRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsDeleteInstallationEndpoint = { - installation_id: number; -}; -declare type AppsDeleteInstallationRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsCreateInstallationTokenEndpoint = { - installation_id: number; - repository_ids?: number[]; - permissions?: object; -}; -declare type AppsCreateInstallationTokenRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsGetOrgInstallationEndpoint = { - org: string; -}; -declare type AppsGetOrgInstallationRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsFindOrgInstallationEndpoint = { - org: string; -}; -declare type AppsFindOrgInstallationRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsGetRepoInstallationEndpoint = { - owner: string; - repo: string; -}; -declare type AppsGetRepoInstallationRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsFindRepoInstallationEndpoint = { - owner: string; - repo: string; -}; -declare type AppsFindRepoInstallationRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsGetUserInstallationEndpoint = { - username: string; -}; -declare type AppsGetUserInstallationRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsFindUserInstallationEndpoint = { - username: string; -}; -declare type AppsFindUserInstallationRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsCreateFromManifestEndpoint = { - code: string; -}; -declare type AppsCreateFromManifestRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsListReposEndpoint = { - per_page?: number; - page?: number; -}; -declare type AppsListReposRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsListInstallationsForAuthenticatedUserEndpoint = { - per_page?: number; - page?: number; -}; -declare type AppsListInstallationsForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsListInstallationReposForAuthenticatedUserEndpoint = { - installation_id: number; - per_page?: number; - page?: number; -}; -declare type AppsListInstallationReposForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsAddRepoToInstallationEndpoint = { - installation_id: number; - repository_id: number; -}; -declare type AppsAddRepoToInstallationRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsRemoveRepoFromInstallationEndpoint = { - installation_id: number; - repository_id: number; -}; -declare type AppsRemoveRepoFromInstallationRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsCreateContentAttachmentEndpoint = { - content_reference_id: number; - title: string; - body: string; -}; -declare type AppsCreateContentAttachmentRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsListPlansEndpoint = { - per_page?: number; - page?: number; -}; -declare type AppsListPlansRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsListPlansStubbedEndpoint = { - per_page?: number; - page?: number; -}; -declare type AppsListPlansStubbedRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsListAccountsUserOrOrgOnPlanEndpoint = { - plan_id: number; - sort?: string; - direction?: string; - per_page?: number; - page?: number; -}; -declare type AppsListAccountsUserOrOrgOnPlanRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsListAccountsUserOrOrgOnPlanStubbedEndpoint = { - plan_id: number; - sort?: string; - direction?: string; - per_page?: number; - page?: number; -}; -declare type AppsListAccountsUserOrOrgOnPlanStubbedRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsCheckAccountIsAssociatedWithAnyEndpoint = { - account_id: number; - per_page?: number; - page?: number; -}; -declare type AppsCheckAccountIsAssociatedWithAnyRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsCheckAccountIsAssociatedWithAnyStubbedEndpoint = { - account_id: number; - per_page?: number; - page?: number; -}; -declare type AppsCheckAccountIsAssociatedWithAnyStubbedRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsListMarketplacePurchasesForAuthenticatedUserEndpoint = { - per_page?: number; - page?: number; -}; -declare type AppsListMarketplacePurchasesForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedEndpoint = { - per_page?: number; - page?: number; -}; -declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ChecksCreateEndpoint = { - owner: string; - repo: string; - name: string; - head_sha: string; - details_url?: string; - external_id?: string; - status?: string; - started_at?: string; - conclusion?: string; - completed_at?: string; - output?: object; - "output.title": string; - "output.summary": string; - "output.text"?: string; - "output.annotations"?: object[]; - "output.annotations[].path": string; - "output.annotations[].start_line": number; - "output.annotations[].end_line": number; - "output.annotations[].start_column"?: number; - "output.annotations[].end_column"?: number; - "output.annotations[].annotation_level": string; - "output.annotations[].message": string; - "output.annotations[].title"?: string; - "output.annotations[].raw_details"?: string; - "output.images"?: object[]; - "output.images[].alt": string; - "output.images[].image_url": string; - "output.images[].caption"?: string; - actions?: object[]; - "actions[].label": string; - "actions[].description": string; - "actions[].identifier": string; -}; -declare type ChecksCreateRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ChecksUpdateEndpoint = { - owner: string; - repo: string; - check_run_id: number; - name?: string; - details_url?: string; - external_id?: string; - started_at?: string; - status?: string; - conclusion?: string; - completed_at?: string; - output?: object; - "output.title"?: string; - "output.summary": string; - "output.text"?: string; - "output.annotations"?: object[]; - "output.annotations[].path": string; - "output.annotations[].start_line": number; - "output.annotations[].end_line": number; - "output.annotations[].start_column"?: number; - "output.annotations[].end_column"?: number; - "output.annotations[].annotation_level": string; - "output.annotations[].message": string; - "output.annotations[].title"?: string; - "output.annotations[].raw_details"?: string; - "output.images"?: object[]; - "output.images[].alt": string; - "output.images[].image_url": string; - "output.images[].caption"?: string; - actions?: object[]; - "actions[].label": string; - "actions[].description": string; - "actions[].identifier": string; -}; -declare type ChecksUpdateRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ChecksListForRefEndpoint = { - owner: string; - repo: string; - ref: string; - check_name?: string; - status?: string; - filter?: string; - per_page?: number; - page?: number; -}; -declare type ChecksListForRefRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ChecksListForSuiteEndpoint = { - owner: string; - repo: string; - check_suite_id: number; - check_name?: string; - status?: string; - filter?: string; - per_page?: number; - page?: number; -}; -declare type ChecksListForSuiteRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ChecksGetEndpoint = { - owner: string; - repo: string; - check_run_id: number; -}; -declare type ChecksGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ChecksListAnnotationsEndpoint = { - owner: string; - repo: string; - check_run_id: number; - per_page?: number; - page?: number; -}; -declare type ChecksListAnnotationsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ChecksGetSuiteEndpoint = { - owner: string; - repo: string; - check_suite_id: number; -}; -declare type ChecksGetSuiteRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ChecksListSuitesForRefEndpoint = { - owner: string; - repo: string; - ref: string; - app_id?: number; - check_name?: string; - per_page?: number; - page?: number; -}; -declare type ChecksListSuitesForRefRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ChecksSetSuitesPreferencesEndpoint = { - owner: string; - repo: string; - auto_trigger_checks?: object[]; - "auto_trigger_checks[].app_id": number; - "auto_trigger_checks[].setting": boolean; -}; -declare type ChecksSetSuitesPreferencesRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ChecksCreateSuiteEndpoint = { - owner: string; - repo: string; - head_sha: string; -}; -declare type ChecksCreateSuiteRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ChecksRerequestSuiteEndpoint = { - owner: string; - repo: string; - check_suite_id: number; -}; -declare type ChecksRerequestSuiteRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type CodesOfConductListConductCodesEndpoint = {}; -declare type CodesOfConductListConductCodesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type CodesOfConductGetConductCodeEndpoint = { - key: string; -}; -declare type CodesOfConductGetConductCodeRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type CodesOfConductGetForRepoEndpoint = { - owner: string; - repo: string; -}; -declare type CodesOfConductGetForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type EmojisGetEndpoint = {}; -declare type EmojisGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsListPublicForUserEndpoint = { - username: string; - since?: string; - per_page?: number; - page?: number; -}; -declare type GistsListPublicForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsListEndpoint = { - since?: string; - per_page?: number; - page?: number; -}; -declare type GistsListRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsListPublicEndpoint = { - since?: string; - per_page?: number; - page?: number; -}; -declare type GistsListPublicRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsListStarredEndpoint = { - since?: string; - per_page?: number; - page?: number; -}; -declare type GistsListStarredRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsGetEndpoint = { - gist_id: string; -}; -declare type GistsGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsGetRevisionEndpoint = { - gist_id: string; - sha: string; -}; -declare type GistsGetRevisionRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsCreateEndpoint = { - files: object; - "files.content"?: string; - description?: string; - public?: boolean; -}; -declare type GistsCreateRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsUpdateEndpoint = { - gist_id: string; - description?: string; - files?: object; - "files.content"?: string; - "files.filename"?: string; -}; -declare type GistsUpdateRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsListCommitsEndpoint = { - gist_id: string; - per_page?: number; - page?: number; -}; -declare type GistsListCommitsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsStarEndpoint = { - gist_id: string; -}; -declare type GistsStarRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsUnstarEndpoint = { - gist_id: string; -}; -declare type GistsUnstarRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsCheckIsStarredEndpoint = { - gist_id: string; -}; -declare type GistsCheckIsStarredRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsForkEndpoint = { - gist_id: string; -}; -declare type GistsForkRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsListForksEndpoint = { - gist_id: string; - per_page?: number; - page?: number; -}; -declare type GistsListForksRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsDeleteEndpoint = { - gist_id: string; -}; -declare type GistsDeleteRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsListCommentsEndpoint = { - gist_id: string; - per_page?: number; - page?: number; -}; -declare type GistsListCommentsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsGetCommentEndpoint = { - gist_id: string; - comment_id: number; -}; -declare type GistsGetCommentRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsCreateCommentEndpoint = { - gist_id: string; - body: string; -}; -declare type GistsCreateCommentRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsUpdateCommentEndpoint = { - gist_id: string; - comment_id: number; - body: string; -}; -declare type GistsUpdateCommentRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GistsDeleteCommentEndpoint = { - gist_id: string; - comment_id: number; -}; -declare type GistsDeleteCommentRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitGetBlobEndpoint = { - owner: string; - repo: string; - file_sha: string; -}; -declare type GitGetBlobRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitCreateBlobEndpoint = { - owner: string; - repo: string; - content: string; - encoding?: string; -}; -declare type GitCreateBlobRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitGetCommitEndpoint = { - owner: string; - repo: string; - commit_sha: string; -}; -declare type GitGetCommitRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitCreateCommitEndpoint = { - owner: string; - repo: string; - message: string; - tree: string; - parents: string[]; - author?: object; - "author.name"?: string; - "author.email"?: string; - "author.date"?: string; - committer?: object; - "committer.name"?: string; - "committer.email"?: string; - "committer.date"?: string; - signature?: string; -}; -declare type GitCreateCommitRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitGetRefEndpoint = { - owner: string; - repo: string; - ref: string; -}; -declare type GitGetRefRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitListRefsEndpoint = { - owner: string; - repo: string; - namespace?: string; - per_page?: number; - page?: number; -}; -declare type GitListRefsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitCreateRefEndpoint = { - owner: string; - repo: string; - ref: string; - sha: string; -}; -declare type GitCreateRefRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitUpdateRefEndpoint = { - owner: string; - repo: string; - ref: string; - sha: string; - force?: boolean; -}; -declare type GitUpdateRefRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitDeleteRefEndpoint = { - owner: string; - repo: string; - ref: string; -}; -declare type GitDeleteRefRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitGetTagEndpoint = { - owner: string; - repo: string; - tag_sha: string; -}; -declare type GitGetTagRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitCreateTagEndpoint = { - owner: string; - repo: string; - tag: string; - message: string; - object: string; - type: string; - tagger?: object; - "tagger.name"?: string; - "tagger.email"?: string; - "tagger.date"?: string; -}; -declare type GitCreateTagRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitGetTreeEndpoint = { - owner: string; - repo: string; - tree_sha: string; - recursive?: number; -}; -declare type GitGetTreeRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitCreateTreeEndpoint = { - owner: string; - repo: string; - tree: object[]; - "tree[].path"?: string; - "tree[].mode"?: string; - "tree[].type"?: string; - "tree[].sha"?: string; - "tree[].content"?: string; - base_tree?: string; -}; -declare type GitCreateTreeRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitignoreListTemplatesEndpoint = {}; -declare type GitignoreListTemplatesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type GitignoreGetTemplateEndpoint = { - name: string; -}; -declare type GitignoreGetTemplateRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type InteractionsGetRestrictionsForOrgEndpoint = { - org: string; -}; -declare type InteractionsGetRestrictionsForOrgRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type InteractionsAddOrUpdateRestrictionsForOrgEndpoint = { - org: string; - limit: string; -}; -declare type InteractionsAddOrUpdateRestrictionsForOrgRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type InteractionsRemoveRestrictionsForOrgEndpoint = { - org: string; -}; -declare type InteractionsRemoveRestrictionsForOrgRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type InteractionsGetRestrictionsForRepoEndpoint = { - owner: string; - repo: string; -}; -declare type InteractionsGetRestrictionsForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type InteractionsAddOrUpdateRestrictionsForRepoEndpoint = { - owner: string; - repo: string; - limit: string; -}; -declare type InteractionsAddOrUpdateRestrictionsForRepoRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type InteractionsRemoveRestrictionsForRepoEndpoint = { - owner: string; - repo: string; -}; -declare type InteractionsRemoveRestrictionsForRepoRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListEndpoint = { - filter?: string; - state?: string; - labels?: string; - sort?: string; - direction?: string; - since?: string; - per_page?: number; - page?: number; -}; -declare type IssuesListRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListForAuthenticatedUserEndpoint = { - filter?: string; - state?: string; - labels?: string; - sort?: string; - direction?: string; - since?: string; - per_page?: number; - page?: number; -}; -declare type IssuesListForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListForOrgEndpoint = { - org: string; - filter?: string; - state?: string; - labels?: string; - sort?: string; - direction?: string; - since?: string; - per_page?: number; - page?: number; -}; -declare type IssuesListForOrgRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListForRepoEndpoint = { - owner: string; - repo: string; - milestone?: string; - state?: string; - assignee?: string; - creator?: string; - mentioned?: string; - labels?: string; - sort?: string; - direction?: string; - since?: string; - per_page?: number; - page?: number; -}; -declare type IssuesListForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesGetEndpoint = { - owner: string; - repo: string; - issue_number: number; - number?: number; -}; -declare type IssuesGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesCreateEndpoint = { - owner: string; - repo: string; - title: string; - body?: string; - assignee?: string; - milestone?: number; - labels?: string[]; - assignees?: string[]; -}; -declare type IssuesCreateRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesUpdateEndpoint = { - owner: string; - repo: string; - issue_number: number; - title?: string; - body?: string; - assignee?: string; - state?: string; - milestone?: number | null; - labels?: string[]; - assignees?: string[]; - number?: number; -}; -declare type IssuesUpdateRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesLockEndpoint = { - owner: string; - repo: string; - issue_number: number; - lock_reason?: string; - number?: number; -}; -declare type IssuesLockRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesUnlockEndpoint = { - owner: string; - repo: string; - issue_number: number; - number?: number; -}; -declare type IssuesUnlockRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListAssigneesEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type IssuesListAssigneesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesCheckAssigneeEndpoint = { - owner: string; - repo: string; - assignee: string; -}; -declare type IssuesCheckAssigneeRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesAddAssigneesEndpoint = { - owner: string; - repo: string; - issue_number: number; - assignees?: string[]; - number?: number; -}; -declare type IssuesAddAssigneesRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesRemoveAssigneesEndpoint = { - owner: string; - repo: string; - issue_number: number; - assignees?: string[]; - number?: number; -}; -declare type IssuesRemoveAssigneesRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListCommentsEndpoint = { - owner: string; - repo: string; - issue_number: number; - since?: string; - per_page?: number; - page?: number; - number?: number; -}; -declare type IssuesListCommentsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListCommentsForRepoEndpoint = { - owner: string; - repo: string; - sort?: string; - direction?: string; - since?: string; -}; -declare type IssuesListCommentsForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesGetCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; - per_page?: number; - page?: number; -}; -declare type IssuesGetCommentRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesCreateCommentEndpoint = { - owner: string; - repo: string; - issue_number: number; - body: string; - number?: number; -}; -declare type IssuesCreateCommentRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesUpdateCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; - body: string; -}; -declare type IssuesUpdateCommentRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesDeleteCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; -}; -declare type IssuesDeleteCommentRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListEventsEndpoint = { - owner: string; - repo: string; - issue_number: number; - per_page?: number; - page?: number; - number?: number; -}; -declare type IssuesListEventsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListEventsForRepoEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type IssuesListEventsForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesGetEventEndpoint = { - owner: string; - repo: string; - event_id: number; -}; -declare type IssuesGetEventRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListLabelsForRepoEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type IssuesListLabelsForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesGetLabelEndpoint = { - owner: string; - repo: string; - name: string; -}; -declare type IssuesGetLabelRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesCreateLabelEndpoint = { - owner: string; - repo: string; - name: string; - color: string; - description?: string; -}; -declare type IssuesCreateLabelRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesUpdateLabelEndpoint = { - owner: string; - repo: string; - current_name: string; - name?: string; - color?: string; - description?: string; -}; -declare type IssuesUpdateLabelRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesDeleteLabelEndpoint = { - owner: string; - repo: string; - name: string; -}; -declare type IssuesDeleteLabelRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListLabelsOnIssueEndpoint = { - owner: string; - repo: string; - issue_number: number; - per_page?: number; - page?: number; - number?: number; -}; -declare type IssuesListLabelsOnIssueRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesAddLabelsEndpoint = { - owner: string; - repo: string; - issue_number: number; - labels: string[]; - number?: number; -}; -declare type IssuesAddLabelsRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesRemoveLabelEndpoint = { - owner: string; - repo: string; - issue_number: number; - name: string; - number?: number; -}; -declare type IssuesRemoveLabelRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesReplaceLabelsEndpoint = { - owner: string; - repo: string; - issue_number: number; - labels?: string[]; - number?: number; -}; -declare type IssuesReplaceLabelsRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesRemoveLabelsEndpoint = { - owner: string; - repo: string; - issue_number: number; - number?: number; -}; -declare type IssuesRemoveLabelsRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListLabelsForMilestoneEndpoint = { - owner: string; - repo: string; - milestone_number: number; - per_page?: number; - page?: number; - number?: number; -}; -declare type IssuesListLabelsForMilestoneRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListMilestonesForRepoEndpoint = { - owner: string; - repo: string; - state?: string; - sort?: string; - direction?: string; - per_page?: number; - page?: number; -}; -declare type IssuesListMilestonesForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesGetMilestoneEndpoint = { - owner: string; - repo: string; - milestone_number: number; - number?: number; -}; -declare type IssuesGetMilestoneRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesCreateMilestoneEndpoint = { - owner: string; - repo: string; - title: string; - state?: string; - description?: string; - due_on?: string; -}; -declare type IssuesCreateMilestoneRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesUpdateMilestoneEndpoint = { - owner: string; - repo: string; - milestone_number: number; - title?: string; - state?: string; - description?: string; - due_on?: string; - number?: number; -}; -declare type IssuesUpdateMilestoneRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesDeleteMilestoneEndpoint = { - owner: string; - repo: string; - milestone_number: number; - number?: number; -}; -declare type IssuesDeleteMilestoneRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type IssuesListEventsForTimelineEndpoint = { - owner: string; - repo: string; - issue_number: number; - per_page?: number; - page?: number; - number?: number; -}; -declare type IssuesListEventsForTimelineRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type LicensesListCommonlyUsedEndpoint = {}; -declare type LicensesListCommonlyUsedRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type LicensesListEndpoint = {}; -declare type LicensesListRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type LicensesGetEndpoint = { - license: string; -}; -declare type LicensesGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type LicensesGetForRepoEndpoint = { - owner: string; - repo: string; -}; -declare type LicensesGetForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MarkdownRenderEndpoint = { - text: string; - mode?: string; - context?: string; -}; -declare type MarkdownRenderRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MarkdownRenderRawEndpoint = { - data: string; -}; -declare type MarkdownRenderRawRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MetaGetEndpoint = {}; -declare type MetaGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsStartForOrgEndpoint = { - org: string; - repositories: string[]; - lock_repositories?: boolean; - exclude_attachments?: boolean; -}; -declare type MigrationsStartForOrgRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsListForOrgEndpoint = { - org: string; - per_page?: number; - page?: number; -}; -declare type MigrationsListForOrgRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsGetStatusForOrgEndpoint = { - org: string; - migration_id: number; -}; -declare type MigrationsGetStatusForOrgRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsGetArchiveForOrgEndpoint = { - org: string; - migration_id: number; -}; -declare type MigrationsGetArchiveForOrgRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsDeleteArchiveForOrgEndpoint = { - org: string; - migration_id: number; -}; -declare type MigrationsDeleteArchiveForOrgRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsUnlockRepoForOrgEndpoint = { - org: string; - migration_id: number; - repo_name: string; -}; -declare type MigrationsUnlockRepoForOrgRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsStartImportEndpoint = { - owner: string; - repo: string; - vcs_url: string; - vcs?: string; - vcs_username?: string; - vcs_password?: string; - tfvc_project?: string; -}; -declare type MigrationsStartImportRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsGetImportProgressEndpoint = { - owner: string; - repo: string; -}; -declare type MigrationsGetImportProgressRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsUpdateImportEndpoint = { - owner: string; - repo: string; - vcs_username?: string; - vcs_password?: string; -}; -declare type MigrationsUpdateImportRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsGetCommitAuthorsEndpoint = { - owner: string; - repo: string; - since?: string; -}; -declare type MigrationsGetCommitAuthorsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsMapCommitAuthorEndpoint = { - owner: string; - repo: string; - author_id: number; - email?: string; - name?: string; -}; -declare type MigrationsMapCommitAuthorRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsSetLfsPreferenceEndpoint = { - owner: string; - repo: string; - use_lfs: string; -}; -declare type MigrationsSetLfsPreferenceRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsGetLargeFilesEndpoint = { - owner: string; - repo: string; -}; -declare type MigrationsGetLargeFilesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsCancelImportEndpoint = { - owner: string; - repo: string; -}; -declare type MigrationsCancelImportRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsStartForAuthenticatedUserEndpoint = { - repositories: string[]; - lock_repositories?: boolean; - exclude_attachments?: boolean; -}; -declare type MigrationsStartForAuthenticatedUserRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsListForAuthenticatedUserEndpoint = { - per_page?: number; - page?: number; -}; -declare type MigrationsListForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsGetStatusForAuthenticatedUserEndpoint = { - migration_id: number; -}; -declare type MigrationsGetStatusForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsGetArchiveForAuthenticatedUserEndpoint = { - migration_id: number; -}; -declare type MigrationsGetArchiveForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsDeleteArchiveForAuthenticatedUserEndpoint = { - migration_id: number; -}; -declare type MigrationsDeleteArchiveForAuthenticatedUserRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type MigrationsUnlockRepoForAuthenticatedUserEndpoint = { - migration_id: number; - repo_name: string; -}; -declare type MigrationsUnlockRepoForAuthenticatedUserRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsListGrantsEndpoint = { - per_page?: number; - page?: number; -}; -declare type OauthAuthorizationsListGrantsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsGetGrantEndpoint = { - grant_id: number; -}; -declare type OauthAuthorizationsGetGrantRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsDeleteGrantEndpoint = { - grant_id: number; -}; -declare type OauthAuthorizationsDeleteGrantRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsListAuthorizationsEndpoint = { - per_page?: number; - page?: number; -}; -declare type OauthAuthorizationsListAuthorizationsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsGetAuthorizationEndpoint = { - authorization_id: number; -}; -declare type OauthAuthorizationsGetAuthorizationRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsCreateAuthorizationEndpoint = { - scopes?: string[]; - note: string; - note_url?: string; - client_id?: string; - client_secret?: string; - fingerprint?: string; -}; -declare type OauthAuthorizationsCreateAuthorizationRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint = { - client_id: string; - client_secret: string; - scopes?: string[]; - note?: string; - note_url?: string; - fingerprint?: string; -}; -declare type OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint = { - client_id: string; - fingerprint: string; - client_secret: string; - scopes?: string[]; - note?: string; - note_url?: string; -}; -declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintEndpoint = { - client_id: string; - fingerprint: string; - client_secret: string; - scopes?: string[]; - note?: string; - note_url?: string; -}; -declare type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsUpdateAuthorizationEndpoint = { - authorization_id: number; - scopes?: string[]; - add_scopes?: string[]; - remove_scopes?: string[]; - note?: string; - note_url?: string; - fingerprint?: string; -}; -declare type OauthAuthorizationsUpdateAuthorizationRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsDeleteAuthorizationEndpoint = { - authorization_id: number; -}; -declare type OauthAuthorizationsDeleteAuthorizationRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsCheckAuthorizationEndpoint = { - client_id: string; - access_token: string; -}; -declare type OauthAuthorizationsCheckAuthorizationRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsResetAuthorizationEndpoint = { - client_id: string; - access_token: string; -}; -declare type OauthAuthorizationsResetAuthorizationRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsRevokeAuthorizationForApplicationEndpoint = { - client_id: string; - access_token: string; -}; -declare type OauthAuthorizationsRevokeAuthorizationForApplicationRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OauthAuthorizationsRevokeGrantForApplicationEndpoint = { - client_id: string; - access_token: string; -}; -declare type OauthAuthorizationsRevokeGrantForApplicationRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListForAuthenticatedUserEndpoint = { - per_page?: number; - page?: number; -}; -declare type OrgsListForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListEndpoint = { - since?: string; - per_page?: number; - page?: number; -}; -declare type OrgsListRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListForUserEndpoint = { - username: string; - per_page?: number; - page?: number; -}; -declare type OrgsListForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsGetEndpoint = { - org: string; -}; -declare type OrgsGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsUpdateEndpoint = { - org: string; - billing_email?: string; - company?: string; - email?: string; - location?: string; - name?: string; - description?: string; - has_organization_projects?: boolean; - has_repository_projects?: boolean; - default_repository_permission?: string; - members_can_create_repositories?: boolean; - members_allowed_repository_creation_type?: string; -}; -declare type OrgsUpdateRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListCredentialAuthorizationsEndpoint = { - org: string; -}; -declare type OrgsListCredentialAuthorizationsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsRemoveCredentialAuthorizationEndpoint = { - org: string; - credential_id: number; -}; -declare type OrgsRemoveCredentialAuthorizationRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListBlockedUsersEndpoint = { - org: string; -}; -declare type OrgsListBlockedUsersRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsCheckBlockedUserEndpoint = { - org: string; - username: string; -}; -declare type OrgsCheckBlockedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsBlockUserEndpoint = { - org: string; - username: string; -}; -declare type OrgsBlockUserRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsUnblockUserEndpoint = { - org: string; - username: string; -}; -declare type OrgsUnblockUserRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListHooksEndpoint = { - org: string; - per_page?: number; - page?: number; -}; -declare type OrgsListHooksRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsGetHookEndpoint = { - org: string; - hook_id: number; -}; -declare type OrgsGetHookRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsCreateHookEndpoint = { - org: string; - name: string; - config: object; - "config.url": string; - "config.content_type"?: string; - "config.secret"?: string; - "config.insecure_ssl"?: string; - events?: string[]; - active?: boolean; -}; -declare type OrgsCreateHookRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsUpdateHookEndpoint = { - org: string; - hook_id: number; - config?: object; - "config.url": string; - "config.content_type"?: string; - "config.secret"?: string; - "config.insecure_ssl"?: string; - events?: string[]; - active?: boolean; -}; -declare type OrgsUpdateHookRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsPingHookEndpoint = { - org: string; - hook_id: number; -}; -declare type OrgsPingHookRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsDeleteHookEndpoint = { - org: string; - hook_id: number; -}; -declare type OrgsDeleteHookRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListMembersEndpoint = { - org: string; - filter?: string; - role?: string; - per_page?: number; - page?: number; -}; -declare type OrgsListMembersRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsCheckMembershipEndpoint = { - org: string; - username: string; -}; -declare type OrgsCheckMembershipRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsRemoveMemberEndpoint = { - org: string; - username: string; -}; -declare type OrgsRemoveMemberRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListPublicMembersEndpoint = { - org: string; - per_page?: number; - page?: number; -}; -declare type OrgsListPublicMembersRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsCheckPublicMembershipEndpoint = { - org: string; - username: string; -}; -declare type OrgsCheckPublicMembershipRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsPublicizeMembershipEndpoint = { - org: string; - username: string; -}; -declare type OrgsPublicizeMembershipRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsConcealMembershipEndpoint = { - org: string; - username: string; -}; -declare type OrgsConcealMembershipRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsGetMembershipEndpoint = { - org: string; - username: string; -}; -declare type OrgsGetMembershipRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsAddOrUpdateMembershipEndpoint = { - org: string; - username: string; - role?: string; -}; -declare type OrgsAddOrUpdateMembershipRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsRemoveMembershipEndpoint = { - org: string; - username: string; -}; -declare type OrgsRemoveMembershipRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListInvitationTeamsEndpoint = { - org: string; - invitation_id: number; - per_page?: number; - page?: number; -}; -declare type OrgsListInvitationTeamsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListPendingInvitationsEndpoint = { - org: string; - per_page?: number; - page?: number; -}; -declare type OrgsListPendingInvitationsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsCreateInvitationEndpoint = { - org: string; - invitee_id?: number; - email?: string; - role?: string; - team_ids?: number[]; -}; -declare type OrgsCreateInvitationRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListMembershipsEndpoint = { - state?: string; - per_page?: number; - page?: number; -}; -declare type OrgsListMembershipsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsGetMembershipForAuthenticatedUserEndpoint = { - org: string; -}; -declare type OrgsGetMembershipForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsUpdateMembershipEndpoint = { - org: string; - state: string; -}; -declare type OrgsUpdateMembershipRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsListOutsideCollaboratorsEndpoint = { - org: string; - filter?: string; - per_page?: number; - page?: number; -}; -declare type OrgsListOutsideCollaboratorsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsRemoveOutsideCollaboratorEndpoint = { - org: string; - username: string; -}; -declare type OrgsRemoveOutsideCollaboratorRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type OrgsConvertMemberToOutsideCollaboratorEndpoint = { - org: string; - username: string; -}; -declare type OrgsConvertMemberToOutsideCollaboratorRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsListForRepoEndpoint = { - owner: string; - repo: string; - state?: string; - per_page?: number; - page?: number; -}; -declare type ProjectsListForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsListForOrgEndpoint = { - org: string; - state?: string; - per_page?: number; - page?: number; -}; -declare type ProjectsListForOrgRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsListForUserEndpoint = { - username: string; - state?: string; - per_page?: number; - page?: number; -}; -declare type ProjectsListForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsGetEndpoint = { - project_id: number; - per_page?: number; - page?: number; -}; -declare type ProjectsGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsCreateForRepoEndpoint = { - owner: string; - repo: string; - name: string; - body?: string; - per_page?: number; - page?: number; -}; -declare type ProjectsCreateForRepoRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsCreateForOrgEndpoint = { - org: string; - name: string; - body?: string; - per_page?: number; - page?: number; -}; -declare type ProjectsCreateForOrgRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsCreateForAuthenticatedUserEndpoint = { - name: string; - body?: string; - per_page?: number; - page?: number; -}; -declare type ProjectsCreateForAuthenticatedUserRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsUpdateEndpoint = { - project_id: number; - name?: string; - body?: string; - state?: string; - organization_permission?: string; - private?: boolean; - per_page?: number; - page?: number; -}; -declare type ProjectsUpdateRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsDeleteEndpoint = { - project_id: number; -}; -declare type ProjectsDeleteRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsListCardsEndpoint = { - column_id: number; - archived_state?: string; - per_page?: number; - page?: number; -}; -declare type ProjectsListCardsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsGetCardEndpoint = { - card_id: number; -}; -declare type ProjectsGetCardRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsCreateCardEndpoint = { - column_id: number; - note?: string; - content_id?: number; - content_type?: string; -}; -declare type ProjectsCreateCardRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsUpdateCardEndpoint = { - card_id: number; - note?: string; - archived?: boolean; -}; -declare type ProjectsUpdateCardRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsDeleteCardEndpoint = { - card_id: number; -}; -declare type ProjectsDeleteCardRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsMoveCardEndpoint = { - card_id: number; - position: string; - column_id?: number; -}; -declare type ProjectsMoveCardRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsListCollaboratorsEndpoint = { - project_id: number; - affiliation?: string; - per_page?: number; - page?: number; -}; -declare type ProjectsListCollaboratorsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsReviewUserPermissionLevelEndpoint = { - project_id: number; - username: string; -}; -declare type ProjectsReviewUserPermissionLevelRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsAddCollaboratorEndpoint = { - project_id: number; - username: string; - permission?: string; -}; -declare type ProjectsAddCollaboratorRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsRemoveCollaboratorEndpoint = { - project_id: number; - username: string; -}; -declare type ProjectsRemoveCollaboratorRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsListColumnsEndpoint = { - project_id: number; - per_page?: number; - page?: number; -}; -declare type ProjectsListColumnsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsGetColumnEndpoint = { - column_id: number; -}; -declare type ProjectsGetColumnRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsCreateColumnEndpoint = { - project_id: number; - name: string; -}; -declare type ProjectsCreateColumnRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsUpdateColumnEndpoint = { - column_id: number; - name: string; -}; -declare type ProjectsUpdateColumnRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsDeleteColumnEndpoint = { - column_id: number; -}; -declare type ProjectsDeleteColumnRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ProjectsMoveColumnEndpoint = { - column_id: number; - position: string; -}; -declare type ProjectsMoveColumnRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsListEndpoint = { - owner: string; - repo: string; - state?: string; - head?: string; - base?: string; - sort?: string; - direction?: string; - per_page?: number; - page?: number; -}; -declare type PullsListRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsGetEndpoint = { - owner: string; - repo: string; - pull_number: number; - number?: number; -}; -declare type PullsGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsCreateEndpoint = { - owner: string; - repo: string; - title: string; - head: string; - base: string; - body?: string; - maintainer_can_modify?: boolean; - draft?: boolean; -}; -declare type PullsCreateRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsCreateFromIssueEndpoint = { - owner: string; - repo: string; - issue: number; - head: string; - base: string; - maintainer_can_modify?: boolean; - draft?: boolean; -}; -declare type PullsCreateFromIssueRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsUpdateBranchEndpoint = { - owner: string; - repo: string; - pull_number: number; - expected_head_sha?: string; -}; -declare type PullsUpdateBranchRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsUpdateEndpoint = { - owner: string; - repo: string; - pull_number: number; - title?: string; - body?: string; - state?: string; - base?: string; - maintainer_can_modify?: boolean; - number?: number; -}; -declare type PullsUpdateRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsListCommitsEndpoint = { - owner: string; - repo: string; - pull_number: number; - per_page?: number; - page?: number; - number?: number; -}; -declare type PullsListCommitsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsListFilesEndpoint = { - owner: string; - repo: string; - pull_number: number; - per_page?: number; - page?: number; - number?: number; -}; -declare type PullsListFilesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsCheckIfMergedEndpoint = { - owner: string; - repo: string; - pull_number: number; - number?: number; -}; -declare type PullsCheckIfMergedRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsMergeEndpoint = { - owner: string; - repo: string; - pull_number: number; - commit_title?: string; - commit_message?: string; - sha?: string; - merge_method?: string; - number?: number; -}; -declare type PullsMergeRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsListCommentsEndpoint = { - owner: string; - repo: string; - pull_number: number; - sort?: string; - direction?: string; - since?: string; - per_page?: number; - page?: number; - number?: number; -}; -declare type PullsListCommentsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsListCommentsForRepoEndpoint = { - owner: string; - repo: string; - sort?: string; - direction?: string; - since?: string; - per_page?: number; - page?: number; -}; -declare type PullsListCommentsForRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsGetCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; -}; -declare type PullsGetCommentRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsCreateCommentEndpoint = { - owner: string; - repo: string; - pull_number: number; - body: string; - commit_id: string; - path: string; - position: number; - number?: number; -}; -declare type PullsCreateCommentRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsCreateCommentReplyEndpoint = { - owner: string; - repo: string; - pull_number: number; - body: string; - in_reply_to: number; - number?: number; -}; -declare type PullsCreateCommentReplyRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsUpdateCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; - body: string; -}; -declare type PullsUpdateCommentRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsDeleteCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; -}; -declare type PullsDeleteCommentRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsListReviewRequestsEndpoint = { - owner: string; - repo: string; - pull_number: number; - per_page?: number; - page?: number; - number?: number; -}; -declare type PullsListReviewRequestsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsCreateReviewRequestEndpoint = { - owner: string; - repo: string; - pull_number: number; - reviewers?: string[]; - team_reviewers?: string[]; - number?: number; -}; -declare type PullsCreateReviewRequestRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsDeleteReviewRequestEndpoint = { - owner: string; - repo: string; - pull_number: number; - reviewers?: string[]; - team_reviewers?: string[]; - number?: number; -}; -declare type PullsDeleteReviewRequestRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsListReviewsEndpoint = { - owner: string; - repo: string; - pull_number: number; - per_page?: number; - page?: number; - number?: number; -}; -declare type PullsListReviewsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsGetReviewEndpoint = { - owner: string; - repo: string; - pull_number: number; - review_id: number; - number?: number; -}; -declare type PullsGetReviewRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsDeletePendingReviewEndpoint = { - owner: string; - repo: string; - pull_number: number; - review_id: number; - number?: number; -}; -declare type PullsDeletePendingReviewRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsGetCommentsForReviewEndpoint = { - owner: string; - repo: string; - pull_number: number; - review_id: number; - per_page?: number; - page?: number; - number?: number; -}; -declare type PullsGetCommentsForReviewRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsCreateReviewEndpoint = { - owner: string; - repo: string; - pull_number: number; - commit_id?: string; - body?: string; - event?: string; - comments?: object[]; - "comments[].path": string; - "comments[].position": number; - "comments[].body": string; - number?: number; -}; -declare type PullsCreateReviewRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsUpdateReviewEndpoint = { - owner: string; - repo: string; - pull_number: number; - review_id: number; - body: string; - number?: number; -}; -declare type PullsUpdateReviewRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsSubmitReviewEndpoint = { - owner: string; - repo: string; - pull_number: number; - review_id: number; - body?: string; - event: string; - number?: number; -}; -declare type PullsSubmitReviewRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type PullsDismissReviewEndpoint = { - owner: string; - repo: string; - pull_number: number; - review_id: number; - message: string; - number?: number; -}; -declare type PullsDismissReviewRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type RateLimitGetEndpoint = {}; -declare type RateLimitGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsListForCommitCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; - content?: string; - per_page?: number; - page?: number; -}; -declare type ReactionsListForCommitCommentRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsCreateForCommitCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; - content: string; -}; -declare type ReactionsCreateForCommitCommentRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsListForIssueEndpoint = { - owner: string; - repo: string; - issue_number: number; - content?: string; - per_page?: number; - page?: number; - number?: number; -}; -declare type ReactionsListForIssueRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsCreateForIssueEndpoint = { - owner: string; - repo: string; - issue_number: number; - content: string; - number?: number; -}; -declare type ReactionsCreateForIssueRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsListForIssueCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; - content?: string; - per_page?: number; - page?: number; -}; -declare type ReactionsListForIssueCommentRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsCreateForIssueCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; - content: string; -}; -declare type ReactionsCreateForIssueCommentRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsListForPullRequestReviewCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; - content?: string; - per_page?: number; - page?: number; -}; -declare type ReactionsListForPullRequestReviewCommentRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsCreateForPullRequestReviewCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; - content: string; -}; -declare type ReactionsCreateForPullRequestReviewCommentRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsListForTeamDiscussionEndpoint = { - team_id: number; - discussion_number: number; - content?: string; - per_page?: number; - page?: number; -}; -declare type ReactionsListForTeamDiscussionRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsCreateForTeamDiscussionEndpoint = { - team_id: number; - discussion_number: number; - content: string; -}; -declare type ReactionsCreateForTeamDiscussionRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsListForTeamDiscussionCommentEndpoint = { - team_id: number; - discussion_number: number; - comment_number: number; - content?: string; - per_page?: number; - page?: number; -}; -declare type ReactionsListForTeamDiscussionCommentRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsCreateForTeamDiscussionCommentEndpoint = { - team_id: number; - discussion_number: number; - comment_number: number; - content: string; -}; -declare type ReactionsCreateForTeamDiscussionCommentRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReactionsDeleteEndpoint = { - reaction_id: number; -}; -declare type ReactionsDeleteRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListEndpoint = { - visibility?: string; - affiliation?: string; - type?: string; - sort?: string; - direction?: string; - per_page?: number; - page?: number; -}; -declare type ReposListRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListForUserEndpoint = { - username: string; - type?: string; - sort?: string; - direction?: string; - per_page?: number; - page?: number; -}; -declare type ReposListForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListForOrgEndpoint = { - org: string; - type?: string; - sort?: string; - direction?: string; - per_page?: number; - page?: number; -}; -declare type ReposListForOrgRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListPublicEndpoint = { - since?: string; - per_page?: number; - page?: number; -}; -declare type ReposListPublicRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateForAuthenticatedUserEndpoint = { - name: string; - description?: string; - homepage?: string; - private?: boolean; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - is_template?: boolean; - team_id?: number; - auto_init?: boolean; - gitignore_template?: string; - license_template?: string; - allow_squash_merge?: boolean; - allow_merge_commit?: boolean; - allow_rebase_merge?: boolean; -}; -declare type ReposCreateForAuthenticatedUserRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateInOrgEndpoint = { - org: string; - name: string; - description?: string; - homepage?: string; - private?: boolean; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - is_template?: boolean; - team_id?: number; - auto_init?: boolean; - gitignore_template?: string; - license_template?: string; - allow_squash_merge?: boolean; - allow_merge_commit?: boolean; - allow_rebase_merge?: boolean; -}; -declare type ReposCreateInOrgRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateUsingTemplateEndpoint = { - template_owner: string; - template_repo: string; - owner?: string; - name: string; - description?: string; - private?: boolean; -}; -declare type ReposCreateUsingTemplateRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetEndpoint = { - owner: string; - repo: string; -}; -declare type ReposGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUpdateEndpoint = { - owner: string; - repo: string; - name?: string; - description?: string; - homepage?: string; - private?: boolean; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - is_template?: boolean; - default_branch?: string; - allow_squash_merge?: boolean; - allow_merge_commit?: boolean; - allow_rebase_merge?: boolean; - archived?: boolean; -}; -declare type ReposUpdateRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListTopicsEndpoint = { - owner: string; - repo: string; -}; -declare type ReposListTopicsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposReplaceTopicsEndpoint = { - owner: string; - repo: string; - names: string[]; -}; -declare type ReposReplaceTopicsRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCheckVulnerabilityAlertsEndpoint = { - owner: string; - repo: string; -}; -declare type ReposCheckVulnerabilityAlertsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposEnableVulnerabilityAlertsEndpoint = { - owner: string; - repo: string; -}; -declare type ReposEnableVulnerabilityAlertsRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDisableVulnerabilityAlertsEndpoint = { - owner: string; - repo: string; -}; -declare type ReposDisableVulnerabilityAlertsRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposEnableAutomatedSecurityFixesEndpoint = { - owner: string; - repo: string; -}; -declare type ReposEnableAutomatedSecurityFixesRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDisableAutomatedSecurityFixesEndpoint = { - owner: string; - repo: string; -}; -declare type ReposDisableAutomatedSecurityFixesRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListContributorsEndpoint = { - owner: string; - repo: string; - anon?: string; - per_page?: number; - page?: number; -}; -declare type ReposListContributorsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListLanguagesEndpoint = { - owner: string; - repo: string; -}; -declare type ReposListLanguagesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListTeamsEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ReposListTeamsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListTagsEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ReposListTagsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDeleteEndpoint = { - owner: string; - repo: string; -}; -declare type ReposDeleteRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposTransferEndpoint = { - owner: string; - repo: string; - new_owner?: string; - team_ids?: number[]; -}; -declare type ReposTransferRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListBranchesEndpoint = { - owner: string; - repo: string; - protected?: boolean; - per_page?: number; - page?: number; -}; -declare type ReposListBranchesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetBranchEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposGetBranchRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetBranchProtectionEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposGetBranchProtectionRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUpdateBranchProtectionEndpoint = { - owner: string; - repo: string; - branch: string; - required_status_checks: object | null; - "required_status_checks.strict": boolean; - "required_status_checks.contexts": string[]; - enforce_admins: boolean | null; - required_pull_request_reviews: object | null; - "required_pull_request_reviews.dismissal_restrictions"?: object; - "required_pull_request_reviews.dismissal_restrictions.users"?: string[]; - "required_pull_request_reviews.dismissal_restrictions.teams"?: string[]; - "required_pull_request_reviews.dismiss_stale_reviews"?: boolean; - "required_pull_request_reviews.require_code_owner_reviews"?: boolean; - "required_pull_request_reviews.required_approving_review_count"?: number; - restrictions: object | null; - "restrictions.users"?: string[]; - "restrictions.teams"?: string[]; -}; -declare type ReposUpdateBranchProtectionRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRemoveBranchProtectionEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposRemoveBranchProtectionRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetProtectedBranchRequiredStatusChecksEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposGetProtectedBranchRequiredStatusChecksRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUpdateProtectedBranchRequiredStatusChecksEndpoint = { - owner: string; - repo: string; - branch: string; - strict?: boolean; - contexts?: string[]; -}; -declare type ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRemoveProtectedBranchRequiredStatusChecksEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListProtectedBranchRequiredStatusChecksContextsEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint = { - owner: string; - repo: string; - branch: string; - contexts: string[]; -}; -declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint = { - owner: string; - repo: string; - branch: string; - contexts: string[]; -}; -declare type ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint = { - owner: string; - repo: string; - branch: string; - contexts: string[]; -}; -declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint = { - owner: string; - repo: string; - branch: string; - dismissal_restrictions?: object; - "dismissal_restrictions.users"?: string[]; - "dismissal_restrictions.teams"?: string[]; - dismiss_stale_reviews?: boolean; - require_code_owner_reviews?: boolean; - required_approving_review_count?: number; -}; -declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetProtectedBranchRequiredSignaturesEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposGetProtectedBranchRequiredSignaturesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposAddProtectedBranchRequiredSignaturesEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposAddProtectedBranchRequiredSignaturesRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRemoveProtectedBranchRequiredSignaturesEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposRemoveProtectedBranchRequiredSignaturesRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetProtectedBranchAdminEnforcementEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposGetProtectedBranchAdminEnforcementRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposAddProtectedBranchAdminEnforcementEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposAddProtectedBranchAdminEnforcementRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRemoveProtectedBranchAdminEnforcementEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposRemoveProtectedBranchAdminEnforcementRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetProtectedBranchRestrictionsEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposGetProtectedBranchRestrictionsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRemoveProtectedBranchRestrictionsEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposRemoveProtectedBranchRestrictionsRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListProtectedBranchTeamRestrictionsEndpoint = { - owner: string; - repo: string; - branch: string; - per_page?: number; - page?: number; -}; -declare type ReposListProtectedBranchTeamRestrictionsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposReplaceProtectedBranchTeamRestrictionsEndpoint = { - owner: string; - repo: string; - branch: string; - teams: string[]; -}; -declare type ReposReplaceProtectedBranchTeamRestrictionsRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposAddProtectedBranchTeamRestrictionsEndpoint = { - owner: string; - repo: string; - branch: string; - teams: string[]; -}; -declare type ReposAddProtectedBranchTeamRestrictionsRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRemoveProtectedBranchTeamRestrictionsEndpoint = { - owner: string; - repo: string; - branch: string; - teams: string[]; -}; -declare type ReposRemoveProtectedBranchTeamRestrictionsRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListProtectedBranchUserRestrictionsEndpoint = { - owner: string; - repo: string; - branch: string; -}; -declare type ReposListProtectedBranchUserRestrictionsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposReplaceProtectedBranchUserRestrictionsEndpoint = { - owner: string; - repo: string; - branch: string; - users: string[]; -}; -declare type ReposReplaceProtectedBranchUserRestrictionsRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposAddProtectedBranchUserRestrictionsEndpoint = { - owner: string; - repo: string; - branch: string; - users: string[]; -}; -declare type ReposAddProtectedBranchUserRestrictionsRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRemoveProtectedBranchUserRestrictionsEndpoint = { - owner: string; - repo: string; - branch: string; - users: string[]; -}; -declare type ReposRemoveProtectedBranchUserRestrictionsRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListCollaboratorsEndpoint = { - owner: string; - repo: string; - affiliation?: string; - per_page?: number; - page?: number; -}; -declare type ReposListCollaboratorsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCheckCollaboratorEndpoint = { - owner: string; - repo: string; - username: string; -}; -declare type ReposCheckCollaboratorRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetCollaboratorPermissionLevelEndpoint = { - owner: string; - repo: string; - username: string; -}; -declare type ReposGetCollaboratorPermissionLevelRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposAddCollaboratorEndpoint = { - owner: string; - repo: string; - username: string; - permission?: string; -}; -declare type ReposAddCollaboratorRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRemoveCollaboratorEndpoint = { - owner: string; - repo: string; - username: string; -}; -declare type ReposRemoveCollaboratorRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListCommitCommentsEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ReposListCommitCommentsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListCommentsForCommitEndpoint = { - owner: string; - repo: string; - commit_sha: string; - per_page?: number; - page?: number; - ref?: string; -}; -declare type ReposListCommentsForCommitRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateCommitCommentEndpoint = { - owner: string; - repo: string; - commit_sha: string; - body: string; - path?: string; - position?: number; - line?: number; - sha?: string; -}; -declare type ReposCreateCommitCommentRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetCommitCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; -}; -declare type ReposGetCommitCommentRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUpdateCommitCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; - body: string; -}; -declare type ReposUpdateCommitCommentRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDeleteCommitCommentEndpoint = { - owner: string; - repo: string; - comment_id: number; -}; -declare type ReposDeleteCommitCommentRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListCommitsEndpoint = { - owner: string; - repo: string; - sha?: string; - path?: string; - author?: string; - since?: string; - until?: string; - per_page?: number; - page?: number; -}; -declare type ReposListCommitsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetCommitEndpoint = { - owner: string; - repo: string; - ref: string; - sha?: string; - commit_sha?: string; -}; -declare type ReposGetCommitRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetCommitRefShaEndpoint = { - owner: string; - repo: string; - ref: string; -}; -declare type ReposGetCommitRefShaRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCompareCommitsEndpoint = { - owner: string; - repo: string; - base: string; - head: string; -}; -declare type ReposCompareCommitsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListBranchesForHeadCommitEndpoint = { - owner: string; - repo: string; - commit_sha: string; -}; -declare type ReposListBranchesForHeadCommitRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListPullRequestsAssociatedWithCommitEndpoint = { - owner: string; - repo: string; - commit_sha: string; - per_page?: number; - page?: number; -}; -declare type ReposListPullRequestsAssociatedWithCommitRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRetrieveCommunityProfileMetricsEndpoint = { - owner: string; - repo: string; -}; -declare type ReposRetrieveCommunityProfileMetricsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetReadmeEndpoint = { - owner: string; - repo: string; - ref?: string; -}; -declare type ReposGetReadmeRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetContentsEndpoint = { - owner: string; - repo: string; - path: string; - ref?: string; -}; -declare type ReposGetContentsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateOrUpdateFileEndpoint = { - owner: string; - repo: string; - path: string; - message: string; - content: string; - sha?: string; - branch?: string; - committer?: object; - "committer.name": string; - "committer.email": string; - author?: object; - "author.name": string; - "author.email": string; -}; -declare type ReposCreateOrUpdateFileRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateFileEndpoint = { - owner: string; - repo: string; - path: string; - message: string; - content: string; - sha?: string; - branch?: string; - committer?: object; - "committer.name": string; - "committer.email": string; - author?: object; - "author.name": string; - "author.email": string; -}; -declare type ReposCreateFileRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUpdateFileEndpoint = { - owner: string; - repo: string; - path: string; - message: string; - content: string; - sha?: string; - branch?: string; - committer?: object; - "committer.name": string; - "committer.email": string; - author?: object; - "author.name": string; - "author.email": string; -}; -declare type ReposUpdateFileRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDeleteFileEndpoint = { - owner: string; - repo: string; - path: string; - message: string; - sha: string; - branch?: string; - committer?: object; - "committer.name"?: string; - "committer.email"?: string; - author?: object; - "author.name"?: string; - "author.email"?: string; -}; -declare type ReposDeleteFileRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetArchiveLinkEndpoint = { - owner: string; - repo: string; - archive_format: string; - ref: string; -}; -declare type ReposGetArchiveLinkRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListDeploymentsEndpoint = { - owner: string; - repo: string; - sha?: string; - ref?: string; - task?: string; - environment?: string; - per_page?: number; - page?: number; -}; -declare type ReposListDeploymentsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetDeploymentEndpoint = { - owner: string; - repo: string; - deployment_id: number; -}; -declare type ReposGetDeploymentRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateDeploymentEndpoint = { - owner: string; - repo: string; - ref: string; - task?: string; - auto_merge?: boolean; - required_contexts?: string[]; - payload?: string; - environment?: string; - description?: string; - transient_environment?: boolean; - production_environment?: boolean; -}; -declare type ReposCreateDeploymentRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListDeploymentStatusesEndpoint = { - owner: string; - repo: string; - deployment_id: number; - per_page?: number; - page?: number; -}; -declare type ReposListDeploymentStatusesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetDeploymentStatusEndpoint = { - owner: string; - repo: string; - deployment_id: number; - status_id: number; -}; -declare type ReposGetDeploymentStatusRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateDeploymentStatusEndpoint = { - owner: string; - repo: string; - deployment_id: number; - state: string; - target_url?: string; - log_url?: string; - description?: string; - environment?: string; - environment_url?: string; - auto_inactive?: boolean; -}; -declare type ReposCreateDeploymentStatusRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListDownloadsEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ReposListDownloadsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetDownloadEndpoint = { - owner: string; - repo: string; - download_id: number; -}; -declare type ReposGetDownloadRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDeleteDownloadEndpoint = { - owner: string; - repo: string; - download_id: number; -}; -declare type ReposDeleteDownloadRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListForksEndpoint = { - owner: string; - repo: string; - sort?: string; - per_page?: number; - page?: number; -}; -declare type ReposListForksRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateForkEndpoint = { - owner: string; - repo: string; - organization?: string; -}; -declare type ReposCreateForkRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListHooksEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ReposListHooksRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetHookEndpoint = { - owner: string; - repo: string; - hook_id: number; -}; -declare type ReposGetHookRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateHookEndpoint = { - owner: string; - repo: string; - name?: string; - config: object; - "config.url": string; - "config.content_type"?: string; - "config.secret"?: string; - "config.insecure_ssl"?: string; - events?: string[]; - active?: boolean; -}; -declare type ReposCreateHookRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUpdateHookEndpoint = { - owner: string; - repo: string; - hook_id: number; - config?: object; - "config.url": string; - "config.content_type"?: string; - "config.secret"?: string; - "config.insecure_ssl"?: string; - events?: string[]; - add_events?: string[]; - remove_events?: string[]; - active?: boolean; -}; -declare type ReposUpdateHookRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposTestPushHookEndpoint = { - owner: string; - repo: string; - hook_id: number; -}; -declare type ReposTestPushHookRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposPingHookEndpoint = { - owner: string; - repo: string; - hook_id: number; -}; -declare type ReposPingHookRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDeleteHookEndpoint = { - owner: string; - repo: string; - hook_id: number; -}; -declare type ReposDeleteHookRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListInvitationsEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ReposListInvitationsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDeleteInvitationEndpoint = { - owner: string; - repo: string; - invitation_id: number; -}; -declare type ReposDeleteInvitationRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUpdateInvitationEndpoint = { - owner: string; - repo: string; - invitation_id: number; - permissions?: string; -}; -declare type ReposUpdateInvitationRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListInvitationsForAuthenticatedUserEndpoint = { - per_page?: number; - page?: number; -}; -declare type ReposListInvitationsForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposAcceptInvitationEndpoint = { - invitation_id: number; -}; -declare type ReposAcceptInvitationRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDeclineInvitationEndpoint = { - invitation_id: number; -}; -declare type ReposDeclineInvitationRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListDeployKeysEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ReposListDeployKeysRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetDeployKeyEndpoint = { - owner: string; - repo: string; - key_id: number; -}; -declare type ReposGetDeployKeyRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposAddDeployKeyEndpoint = { - owner: string; - repo: string; - title?: string; - key: string; - read_only?: boolean; -}; -declare type ReposAddDeployKeyRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRemoveDeployKeyEndpoint = { - owner: string; - repo: string; - key_id: number; -}; -declare type ReposRemoveDeployKeyRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposMergeEndpoint = { - owner: string; - repo: string; - base: string; - head: string; - commit_message?: string; -}; -declare type ReposMergeRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetPagesEndpoint = { - owner: string; - repo: string; -}; -declare type ReposGetPagesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposEnablePagesSiteEndpoint = { - owner: string; - repo: string; - source?: object; - "source.branch"?: string; - "source.path"?: string; -}; -declare type ReposEnablePagesSiteRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDisablePagesSiteEndpoint = { - owner: string; - repo: string; -}; -declare type ReposDisablePagesSiteRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUpdateInformationAboutPagesSiteEndpoint = { - owner: string; - repo: string; - cname?: string; - source?: string; -}; -declare type ReposUpdateInformationAboutPagesSiteRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposRequestPageBuildEndpoint = { - owner: string; - repo: string; -}; -declare type ReposRequestPageBuildRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListPagesBuildsEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ReposListPagesBuildsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetLatestPagesBuildEndpoint = { - owner: string; - repo: string; -}; -declare type ReposGetLatestPagesBuildRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetPagesBuildEndpoint = { - owner: string; - repo: string; - build_id: number; -}; -declare type ReposGetPagesBuildRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListReleasesEndpoint = { - owner: string; - repo: string; - per_page?: number; - page?: number; -}; -declare type ReposListReleasesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetReleaseEndpoint = { - owner: string; - repo: string; - release_id: number; -}; -declare type ReposGetReleaseRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetLatestReleaseEndpoint = { - owner: string; - repo: string; -}; -declare type ReposGetLatestReleaseRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetReleaseByTagEndpoint = { - owner: string; - repo: string; - tag: string; -}; -declare type ReposGetReleaseByTagRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateReleaseEndpoint = { - owner: string; - repo: string; - tag_name: string; - target_commitish?: string; - name?: string; - body?: string; - draft?: boolean; - prerelease?: boolean; -}; -declare type ReposCreateReleaseRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUpdateReleaseEndpoint = { - owner: string; - repo: string; - release_id: number; - tag_name?: string; - target_commitish?: string; - name?: string; - body?: string; - draft?: boolean; - prerelease?: boolean; -}; -declare type ReposUpdateReleaseRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDeleteReleaseEndpoint = { - owner: string; - repo: string; - release_id: number; -}; -declare type ReposDeleteReleaseRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListAssetsForReleaseEndpoint = { - owner: string; - repo: string; - release_id: number; - per_page?: number; - page?: number; -}; -declare type ReposListAssetsForReleaseRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUploadReleaseAssetEndpoint = { - url: string; - headers: object; - "headers.content-length": number; - "headers.content-type": string; - name: string; - label?: string; - file: string | object; -}; -declare type ReposUploadReleaseAssetRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetReleaseAssetEndpoint = { - owner: string; - repo: string; - asset_id: number; -}; -declare type ReposGetReleaseAssetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposUpdateReleaseAssetEndpoint = { - owner: string; - repo: string; - asset_id: number; - name?: string; - label?: string; -}; -declare type ReposUpdateReleaseAssetRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposDeleteReleaseAssetEndpoint = { - owner: string; - repo: string; - asset_id: number; -}; -declare type ReposDeleteReleaseAssetRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetContributorsStatsEndpoint = { - owner: string; - repo: string; -}; -declare type ReposGetContributorsStatsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetCommitActivityStatsEndpoint = { - owner: string; - repo: string; -}; -declare type ReposGetCommitActivityStatsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetCodeFrequencyStatsEndpoint = { - owner: string; - repo: string; -}; -declare type ReposGetCodeFrequencyStatsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetParticipationStatsEndpoint = { - owner: string; - repo: string; -}; -declare type ReposGetParticipationStatsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetPunchCardStatsEndpoint = { - owner: string; - repo: string; -}; -declare type ReposGetPunchCardStatsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposCreateStatusEndpoint = { - owner: string; - repo: string; - sha: string; - state: string; - target_url?: string; - description?: string; - context?: string; -}; -declare type ReposCreateStatusRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposListStatusesForRefEndpoint = { - owner: string; - repo: string; - ref: string; - per_page?: number; - page?: number; -}; -declare type ReposListStatusesForRefRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetCombinedStatusForRefEndpoint = { - owner: string; - repo: string; - ref: string; -}; -declare type ReposGetCombinedStatusForRefRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetTopReferrersEndpoint = { - owner: string; - repo: string; -}; -declare type ReposGetTopReferrersRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetTopPathsEndpoint = { - owner: string; - repo: string; -}; -declare type ReposGetTopPathsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetViewsEndpoint = { - owner: string; - repo: string; - per?: string; -}; -declare type ReposGetViewsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ReposGetClonesEndpoint = { - owner: string; - repo: string; - per?: string; -}; -declare type ReposGetClonesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ScimListProvisionedIdentitiesEndpoint = { - org: string; - startIndex?: number; - count?: number; - filter?: string; -}; -declare type ScimListProvisionedIdentitiesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ScimGetProvisioningDetailsForUserEndpoint = { - org: string; - scim_user_id: number; - external_identity_guid?: number; -}; -declare type ScimGetProvisioningDetailsForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ScimProvisionAndInviteUsersEndpoint = { - org: string; -}; -declare type ScimProvisionAndInviteUsersRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ScimProvisionInviteUsersEndpoint = { - org: string; -}; -declare type ScimProvisionInviteUsersRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ScimReplaceProvisionedUserInformationEndpoint = { - org: string; - scim_user_id: number; - external_identity_guid?: number; -}; -declare type ScimReplaceProvisionedUserInformationRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ScimUpdateProvisionedOrgMembershipEndpoint = { - org: string; - scim_user_id: number; - external_identity_guid?: number; -}; -declare type ScimUpdateProvisionedOrgMembershipRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ScimUpdateUserAttributeEndpoint = { - org: string; - scim_user_id: number; - external_identity_guid?: number; -}; -declare type ScimUpdateUserAttributeRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type ScimRemoveUserFromOrgEndpoint = { - org: string; - scim_user_id: number; - external_identity_guid?: number; -}; -declare type ScimRemoveUserFromOrgRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchReposEndpoint = { - q: string; - sort?: string; - order?: string; - per_page?: number; - page?: number; -}; -declare type SearchReposRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchCommitsEndpoint = { - q: string; - sort?: string; - order?: string; - per_page?: number; - page?: number; -}; -declare type SearchCommitsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchCodeEndpoint = { - q: string; - sort?: string; - order?: string; - per_page?: number; - page?: number; -}; -declare type SearchCodeRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchIssuesAndPullRequestsEndpoint = { - q: string; - sort?: string; - order?: string; - per_page?: number; - page?: number; -}; -declare type SearchIssuesAndPullRequestsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchIssuesEndpoint = { - q: string; - sort?: string; - order?: string; - per_page?: number; - page?: number; -}; -declare type SearchIssuesRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchUsersEndpoint = { - q: string; - sort?: string; - order?: string; - per_page?: number; - page?: number; -}; -declare type SearchUsersRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchTopicsEndpoint = { - q: string; -}; -declare type SearchTopicsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchLabelsEndpoint = { - repository_id: number; - q: string; - sort?: string; - order?: string; -}; -declare type SearchLabelsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchIssuesLegacyEndpoint = { - owner: string; - repository: string; - state: string; - keyword: string; -}; -declare type SearchIssuesLegacyRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchReposLegacyEndpoint = { - keyword: string; - language?: string; - start_page?: string; - sort?: string; - order?: string; -}; -declare type SearchReposLegacyRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchUsersLegacyEndpoint = { - keyword: string; - start_page?: string; - sort?: string; - order?: string; -}; -declare type SearchUsersLegacyRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type SearchEmailLegacyEndpoint = { - email: string; -}; -declare type SearchEmailLegacyRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsListEndpoint = { - org: string; - per_page?: number; - page?: number; -}; -declare type TeamsListRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsGetEndpoint = { - team_id: number; -}; -declare type TeamsGetRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsGetByNameEndpoint = { - org: string; - team_slug: string; -}; -declare type TeamsGetByNameRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsCreateEndpoint = { - org: string; - name: string; - description?: string; - maintainers?: string[]; - repo_names?: string[]; - privacy?: string; - permission?: string; - parent_team_id?: number; -}; -declare type TeamsCreateRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsUpdateEndpoint = { - team_id: number; - name: string; - description?: string; - privacy?: string; - permission?: string; - parent_team_id?: number; -}; -declare type TeamsUpdateRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsDeleteEndpoint = { - team_id: number; -}; -declare type TeamsDeleteRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsListChildEndpoint = { - team_id: number; - per_page?: number; - page?: number; -}; -declare type TeamsListChildRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsListReposEndpoint = { - team_id: number; - per_page?: number; - page?: number; -}; -declare type TeamsListReposRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsCheckManagesRepoEndpoint = { - team_id: number; - owner: string; - repo: string; -}; -declare type TeamsCheckManagesRepoRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsAddOrUpdateRepoEndpoint = { - team_id: number; - owner: string; - repo: string; - permission?: string; -}; -declare type TeamsAddOrUpdateRepoRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsRemoveRepoEndpoint = { - team_id: number; - owner: string; - repo: string; -}; -declare type TeamsRemoveRepoRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsListForAuthenticatedUserEndpoint = { - per_page?: number; - page?: number; -}; -declare type TeamsListForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsListProjectsEndpoint = { - team_id: number; - per_page?: number; - page?: number; -}; -declare type TeamsListProjectsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsReviewProjectEndpoint = { - team_id: number; - project_id: number; -}; -declare type TeamsReviewProjectRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsAddOrUpdateProjectEndpoint = { - team_id: number; - project_id: number; - permission?: string; -}; -declare type TeamsAddOrUpdateProjectRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsRemoveProjectEndpoint = { - team_id: number; - project_id: number; -}; -declare type TeamsRemoveProjectRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsListDiscussionCommentsEndpoint = { - team_id: number; - discussion_number: number; - direction?: string; - per_page?: number; - page?: number; -}; -declare type TeamsListDiscussionCommentsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsGetDiscussionCommentEndpoint = { - team_id: number; - discussion_number: number; - comment_number: number; -}; -declare type TeamsGetDiscussionCommentRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsCreateDiscussionCommentEndpoint = { - team_id: number; - discussion_number: number; - body: string; -}; -declare type TeamsCreateDiscussionCommentRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsUpdateDiscussionCommentEndpoint = { - team_id: number; - discussion_number: number; - comment_number: number; - body: string; -}; -declare type TeamsUpdateDiscussionCommentRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsDeleteDiscussionCommentEndpoint = { - team_id: number; - discussion_number: number; - comment_number: number; -}; -declare type TeamsDeleteDiscussionCommentRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsListDiscussionsEndpoint = { - team_id: number; - direction?: string; - per_page?: number; - page?: number; -}; -declare type TeamsListDiscussionsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsGetDiscussionEndpoint = { - team_id: number; - discussion_number: number; -}; -declare type TeamsGetDiscussionRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsCreateDiscussionEndpoint = { - team_id: number; - title: string; - body: string; - private?: boolean; -}; -declare type TeamsCreateDiscussionRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsUpdateDiscussionEndpoint = { - team_id: number; - discussion_number: number; - title?: string; - body?: string; -}; -declare type TeamsUpdateDiscussionRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsDeleteDiscussionEndpoint = { - team_id: number; - discussion_number: number; -}; -declare type TeamsDeleteDiscussionRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsListMembersEndpoint = { - team_id: number; - role?: string; - per_page?: number; - page?: number; -}; -declare type TeamsListMembersRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsGetMemberEndpoint = { - team_id: number; - username: string; -}; -declare type TeamsGetMemberRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsAddMemberEndpoint = { - team_id: number; - username: string; -}; -declare type TeamsAddMemberRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsRemoveMemberEndpoint = { - team_id: number; - username: string; -}; -declare type TeamsRemoveMemberRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsGetMembershipEndpoint = { - team_id: number; - username: string; -}; -declare type TeamsGetMembershipRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsAddOrUpdateMembershipEndpoint = { - team_id: number; - username: string; - role?: string; -}; -declare type TeamsAddOrUpdateMembershipRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsRemoveMembershipEndpoint = { - team_id: number; - username: string; -}; -declare type TeamsRemoveMembershipRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsListPendingInvitationsEndpoint = { - team_id: number; - per_page?: number; - page?: number; -}; -declare type TeamsListPendingInvitationsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsListIdPGroupsForOrgEndpoint = { - org: string; - per_page?: number; - page?: number; -}; -declare type TeamsListIdPGroupsForOrgRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsListIdPGroupsEndpoint = { - team_id: number; -}; -declare type TeamsListIdPGroupsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type TeamsCreateOrUpdateIdPGroupConnectionsEndpoint = { - team_id: number; - groups: object[]; - "groups[].group_id": string; - "groups[].group_name": string; - "groups[].group_description": string; -}; -declare type TeamsCreateOrUpdateIdPGroupConnectionsRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersGetByUsernameEndpoint = { - username: string; -}; -declare type UsersGetByUsernameRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersGetAuthenticatedEndpoint = {}; -declare type UsersGetAuthenticatedRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersUpdateAuthenticatedEndpoint = { - name?: string; - email?: string; - blog?: string; - company?: string; - location?: string; - hireable?: boolean; - bio?: string; -}; -declare type UsersUpdateAuthenticatedRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersGetContextForUserEndpoint = { - username: string; - subject_type?: string; - subject_id?: string; -}; -declare type UsersGetContextForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListEndpoint = { - since?: string; - per_page?: number; - page?: number; -}; -declare type UsersListRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListBlockedEndpoint = {}; -declare type UsersListBlockedRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersCheckBlockedEndpoint = { - username: string; -}; -declare type UsersCheckBlockedRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersBlockEndpoint = { - username: string; -}; -declare type UsersBlockRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersUnblockEndpoint = { - username: string; -}; -declare type UsersUnblockRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListEmailsEndpoint = { - per_page?: number; - page?: number; -}; -declare type UsersListEmailsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListPublicEmailsEndpoint = { - per_page?: number; - page?: number; -}; -declare type UsersListPublicEmailsRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersAddEmailsEndpoint = { - emails: string[]; -}; -declare type UsersAddEmailsRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersDeleteEmailsEndpoint = { - emails: string[]; -}; -declare type UsersDeleteEmailsRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersTogglePrimaryEmailVisibilityEndpoint = { - email: string; - visibility: string; -}; -declare type UsersTogglePrimaryEmailVisibilityRequestOptions = { - method: "PATCH"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListFollowersForUserEndpoint = { - username: string; - per_page?: number; - page?: number; -}; -declare type UsersListFollowersForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListFollowersForAuthenticatedUserEndpoint = { - per_page?: number; - page?: number; -}; -declare type UsersListFollowersForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListFollowingForUserEndpoint = { - username: string; - per_page?: number; - page?: number; -}; -declare type UsersListFollowingForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListFollowingForAuthenticatedUserEndpoint = { - per_page?: number; - page?: number; -}; -declare type UsersListFollowingForAuthenticatedUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersCheckFollowingEndpoint = { - username: string; -}; -declare type UsersCheckFollowingRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersCheckFollowingForUserEndpoint = { - username: string; - target_user: string; -}; -declare type UsersCheckFollowingForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersFollowEndpoint = { - username: string; -}; -declare type UsersFollowRequestOptions = { - method: "PUT"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersUnfollowEndpoint = { - username: string; -}; -declare type UsersUnfollowRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListGpgKeysForUserEndpoint = { - username: string; - per_page?: number; - page?: number; -}; -declare type UsersListGpgKeysForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListGpgKeysEndpoint = { - per_page?: number; - page?: number; -}; -declare type UsersListGpgKeysRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersGetGpgKeyEndpoint = { - gpg_key_id: number; -}; -declare type UsersGetGpgKeyRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersCreateGpgKeyEndpoint = { - armored_public_key?: string; -}; -declare type UsersCreateGpgKeyRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersDeleteGpgKeyEndpoint = { - gpg_key_id: number; -}; -declare type UsersDeleteGpgKeyRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListPublicKeysForUserEndpoint = { - username: string; - per_page?: number; - page?: number; -}; -declare type UsersListPublicKeysForUserRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersListPublicKeysEndpoint = { - per_page?: number; - page?: number; -}; -declare type UsersListPublicKeysRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersGetPublicKeyEndpoint = { - key_id: number; -}; -declare type UsersGetPublicKeyRequestOptions = { - method: "GET"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersCreatePublicKeyEndpoint = { - title?: string; - key?: string; -}; -declare type UsersCreatePublicKeyRequestOptions = { - method: "POST"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -declare type UsersDeletePublicKeyEndpoint = { - key_id: number; -}; -declare type UsersDeletePublicKeyRequestOptions = { - method: "DELETE"; - url: Url; - headers: Headers; - request: EndpointRequestOptions; -}; -export {}; diff --git a/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@octokit/endpoint/dist-types/index.d.ts index 9977f09..1ede136 100644 --- a/node_modules/@octokit/endpoint/dist-types/index.d.ts +++ b/node_modules/@octokit/endpoint/dist-types/index.d.ts @@ -1 +1 @@ -export declare const endpoint: import("./types").endpoint; +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 index 966470f..b75a15e 100644 --- a/node_modules/@octokit/endpoint/dist-types/merge.d.ts +++ b/node_modules/@octokit/endpoint/dist-types/merge.d.ts @@ -1,2 +1,2 @@ -import { Defaults, Route, Parameters } from "./types"; -export declare function merge(defaults: Defaults | null, route?: Route | Parameters, options?: Parameters): Defaults; +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 index 3bc65d6..fbe2144 100644 --- a/node_modules/@octokit/endpoint/dist-types/parse.d.ts +++ b/node_modules/@octokit/endpoint/dist-types/parse.d.ts @@ -1,2 +1,2 @@ -import { Defaults, RequestOptions } from "./types"; -export declare function parse(options: Defaults): RequestOptions; +import { EndpointDefaults, RequestOptions } from "@octokit/types"; +export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/@octokit/endpoint/dist-types/types.d.ts b/node_modules/@octokit/endpoint/dist-types/types.d.ts deleted file mode 100644 index 979c064..0000000 --- a/node_modules/@octokit/endpoint/dist-types/types.d.ts +++ /dev/null @@ -1,150 +0,0 @@ -import { Routes as KnownRoutes } from "./generated/routes"; -export interface endpoint { - /** - * 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: Endpoint): 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 KnownRoutes | R, options?: R extends keyof KnownRoutes ? KnownRoutes[R][0] & Parameters : Parameters): R extends keyof KnownRoutes ? KnownRoutes[R][1] : RequestOptions; - /** - * Object with current default route and parameters - */ - DEFAULTS: Defaults; - /** - * Returns a new `endpoint` with updated route and parameters - */ - defaults: (newDefaults: Parameters) => endpoint; - 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?: Parameters): Defaults; - /** - * 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: Parameters): Defaults; - /** - * Returns current default options. - * - * @deprecated use endpoint.DEFAULTS instead - */ - (): Defaults; - }; - /** - * 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: Defaults) => RequestOptions; -} -/** - * Request method + URL. Example: `'GET /orgs/:org'` - */ -export declare type Route = string; -/** - * 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"; -/** - * Endpoint parameters - */ -export declare type Parameters = { - /** - * 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 resulting - * `RequestOptions.url` will be `https://enterprise.acme-inc.com/api/v3/orgs/:org`. - */ - baseUrl?: string; - /** - * HTTP headers. Use lowercase keys. - */ - headers?: Headers; - /** - * 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?: EndpointRequestOptions; - /** - * 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; -}; -export declare type Endpoint = Parameters & { - method: Method; - url: Url; -}; -export declare type Defaults = Parameters & { - method: Method; - baseUrl: string; - headers: Headers & { - accept: string; - "user-agent": string; - }; - mediaType: { - format: string; - previews: string[]; - }; -}; -export declare type RequestOptions = { - method: Method; - url: Url; - headers: Headers; - body?: any; - request?: EndpointRequestOptions; -}; -export declare type Headers = { - /** - * 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 declare type EndpointRequestOptions = { - [option: string]: any; -}; diff --git a/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts new file mode 100644 index 0000000..92d8d85 --- /dev/null +++ b/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts @@ -0,0 +1 @@ +export declare function removeUndefinedProperties(obj: any): any; diff --git a/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/endpoint/dist-types/version.d.ts index 15711f0..330d47a 100644 --- a/node_modules/@octokit/endpoint/dist-types/version.d.ts +++ b/node_modules/@octokit/endpoint/dist-types/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "0.0.0-development"; +export declare const VERSION = "6.0.12"; diff --git a/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts index bdbb3c5..6f5afd1 100644 --- a/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts +++ b/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts @@ -1,2 +1,2 @@ -import { Defaults, endpoint, Parameters } from "./types"; -export declare function withDefaults(oldDefaults: Defaults | null, newDefaults: Parameters): endpoint; +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 index cb6a4bf..e152163 100644 --- a/node_modules/@octokit/endpoint/dist-web/index.js +++ b/node_modules/@octokit/endpoint/dist-web/index.js @@ -1,4 +1,4 @@ -import isPlainObject from 'is-plain-object'; +import { isPlainObject } from 'is-plain-object'; import { getUserAgent } from 'universal-user-agent'; function lowercaseKeys(object) { @@ -13,7 +13,7 @@ function lowercaseKeys(object) { function mergeDeep(defaults, options) { const result = Object.assign({}, defaults); - Object.keys(options).forEach(key => { + Object.keys(options).forEach((key) => { if (isPlainObject(options[key])) { if (!(key in defaults)) Object.assign(result, { [key]: options[key] }); @@ -27,21 +27,33 @@ function mergeDeep(defaults, options) { return result; } +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + return obj; +} + 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 = route || {}; + options = Object.assign({}, route); } // lowercase header names before merging with defaults to avoid duplicates options.headers = lowercaseKeys(options.headers); + // remove properties with undefined values before merging + removeUndefinedProperties(options); + removeUndefinedProperties(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)) + .filter((preview) => !mergedOptions.mediaType.previews.includes(preview)) .concat(mergedOptions.mediaType.previews); } mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, "")); @@ -57,13 +69,9 @@ function addQueryParameters(url, parameters) { return (url + separator + names - .map(name => { + .map((name) => { if (name === "q") { - return ("q=" + - parameters - .q.split("+") - .map(encodeURIComponent) - .join("+")); + return ("q=" + parameters.q.split("+").map(encodeURIComponent).join("+")); } return `${name}=${encodeURIComponent(parameters[name])}`; }) @@ -84,7 +92,7 @@ function extractUrlVariableNames(url) { function omit(object, keysToOmit) { return Object.keys(object) - .filter(option => !keysToOmit.includes(option)) + .filter((option) => !keysToOmit.includes(option)) .reduce((obj, key) => { obj[key] = object[key]; return obj; @@ -122,9 +130,7 @@ function encodeReserved(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, "]"); + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); } return part; }) @@ -132,11 +138,7 @@ function encodeReserved(str) { } function encodeUnreserved(str) { return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return ("%" + - c - .charCodeAt(0) - .toString(16) - .toUpperCase()); + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); }); } function encodeValue(operator, value, key) { @@ -225,7 +227,7 @@ function getValues(context, operator, key, modifier) { } function parseUrl(template) { return { - expand: expand.bind(null, template) + expand: expand.bind(null, template), }; } function expand(template, context) { @@ -266,7 +268,7 @@ 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 url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); let headers = Object.assign({}, options.headers); let body; let parameters = omit(options, [ @@ -275,7 +277,7 @@ function parse(options) { "url", "headers", "request", - "mediaType" + "mediaType", ]); // extract variable names from URL to calculate remaining variables later const urlVariableNames = extractUrlVariableNames(url); @@ -284,23 +286,23 @@ function parse(options) { url = options.baseUrl + url; } const omittedParameters = Object.keys(options) - .filter(option => urlVariableNames.includes(option)) + .filter((option) => urlVariableNames.includes(option)) .concat("baseUrl"); const remainingParameters = omit(parameters, omittedParameters); - const isBinaryRequset = /application\/octet-stream/i.test(headers.accept); - if (!isBinaryRequset) { + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { 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}`)) + .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 => { + .map((preview) => { const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; @@ -351,24 +353,26 @@ function withDefaults(oldDefaults, newDefaults) { DEFAULTS, defaults: withDefaults.bind(null, DEFAULTS), merge: merge.bind(null, DEFAULTS), - parse + parse, }); } -const VERSION = "0.0.0-development"; +const VERSION = "6.0.12"; 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 + "user-agent": userAgent, }, mediaType: { format: "", - previews: [] - } + previews: [], + }, }; const endpoint = withDefaults(null, DEFAULTS); diff --git a/node_modules/@octokit/endpoint/dist-web/index.js.map b/node_modules/@octokit/endpoint/dist-web/index.js.map index 1d52186..1d60d02 100644 --- a/node_modules/@octokit/endpoint/dist-web/index.js.map +++ b/node_modules/@octokit/endpoint/dist-web/index.js.map @@ -1 +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 = 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 = \"0.0.0-development\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\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,KAAK,IAAI,EAAE,CAAC;KACzB;;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,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvD,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;AACrE,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;;ACZU,MAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;;;;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/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","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\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 // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(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=\" + parameters.q.split(\"+\").map(encodeURIComponent).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).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\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 isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\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 = \"6.0.12\";\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;AACtC,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AACvD,QAAQ,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAChD,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;;ACPO,SAAS,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;AAC7C,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC1C,QAAQ,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AACzC,YAAY,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC;AAClC,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC/D;AACA,gBAAgB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,SAAS;AACT,aAAa;AACb,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3D,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;;ACfM,SAAS,yBAAyB,CAAC,GAAG,EAAE;AAC/C,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AAC3B,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;AACpC,YAAY,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,CAAC;;ACJM,SAAS,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AAChD,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7C,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;AAClF,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC3C,KAAK;AACL;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD;AACA,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACvC,IAAI,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/C,IAAI,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7D;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;AACxD,QAAQ,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ;AACtE,aAAa,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrF,aAAa,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,KAAK;AACL,IAAI,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;AAC1H,IAAI,OAAO,aAAa,CAAC;AACzB,CAAC;;ACzBM,SAAS,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE;AACpD,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AACjD,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK;AACL,IAAI,QAAQ,GAAG;AACf,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,aAAa,GAAG,CAAC,CAAC,IAAI,KAAK;AAC3B,YAAY,IAAI,IAAI,KAAK,GAAG,EAAE;AAC9B,gBAAgB,QAAQ,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC1F,aAAa;AACb,YAAY,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,SAAS,CAAC;AACV,aAAa,IAAI,CAAC,GAAG,CAAC,EAAE;AACxB,CAAC;;AChBD,MAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,SAAS,cAAc,CAAC,YAAY,EAAE;AACtC,IAAI,OAAO,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AACD,AAAO,SAAS,uBAAuB,CAAC,GAAG,EAAE;AAC7C,IAAI,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAChD,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,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;AACzE,CAAC;;ACVM,SAAS,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;AACzC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9B,SAAS,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzD,SAAS,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AAC9B,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,IAAI,OAAO,GAAG;AACd,SAAS,KAAK,CAAC,oBAAoB,CAAC;AACpC,SAAS,GAAG,CAAC,UAAU,IAAI,EAAE;AAC7B,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACxC,YAAY,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC7E,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AACD,SAAS,gBAAgB,CAAC,GAAG,EAAE;AAC/B,IAAI,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;AACpE,QAAQ,OAAO,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAChE,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;AAC3C,IAAI,KAAK;AACT,QAAQ,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG;AAC5C,cAAc,cAAc,CAAC,KAAK,CAAC;AACnC,cAAc,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACtC,IAAI,IAAI,GAAG,EAAE;AACb,QAAQ,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;AACnD,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,CAAC;AACD,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACjD,CAAC;AACD,SAAS,aAAa,CAAC,QAAQ,EAAE;AACjC,IAAI,OAAO,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;AACpE,CAAC;AACD,SAAS,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;AACrD,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;AAC1C,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE;AAC1C,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;AACrC,YAAY,OAAO,KAAK,KAAK,QAAQ;AACrC,YAAY,OAAO,KAAK,KAAK,SAAS,EAAE;AACxC,YAAY,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AACrC,YAAY,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9C,gBAAgB,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AACnE,aAAa;AACb,YAAY,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1F,SAAS;AACT,aAAa;AACb,YAAY,IAAI,QAAQ,KAAK,GAAG,EAAE;AAClC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1C,oBAAoB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACrE,wBAAwB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACtG,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC5D,wBAAwB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,4BAA4B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5E,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,aAAa;AACb,iBAAiB;AACjB,gBAAgB,MAAM,GAAG,GAAG,EAAE,CAAC;AAC/B,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1C,oBAAoB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACrE,wBAAwB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/D,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC5D,wBAAwB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,4BAA4B,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,4BAA4B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACjF,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,gBAAgB,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;AAC7C,oBAAoB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,iBAAiB;AACjB,qBAAqB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,oBAAoB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL,SAAS;AACT,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9B,YAAY,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AAClC,gBAAgB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,aAAa;AACb,SAAS;AACT,aAAa,IAAI,KAAK,KAAK,EAAE,KAAK,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC,EAAE;AACzE,YAAY,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACrD,SAAS;AACT,aAAa,IAAI,KAAK,KAAK,EAAE,EAAE;AAC/B,YAAY,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,AAAO,SAAS,QAAQ,CAAC,QAAQ,EAAE;AACnC,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC3C,KAAK,CAAC;AACN,CAAC;AACD,SAAS,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE;AACnC,IAAI,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxD,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,4BAA4B,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE;AAC5F,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,IAAI,QAAQ,GAAG,EAAE,CAAC;AAC9B,YAAY,MAAM,MAAM,GAAG,EAAE,CAAC;AAC9B,YAAY,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAChE,gBAAgB,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChD,gBAAgB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,aAAa;AACb,YAAY,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;AAC/D,gBAAgB,IAAI,GAAG,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrE,gBAAgB,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;AACpF,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9C,gBAAgB,IAAI,SAAS,GAAG,GAAG,CAAC;AACpC,gBAAgB,IAAI,QAAQ,KAAK,GAAG,EAAE;AACtC,oBAAoB,SAAS,GAAG,GAAG,CAAC;AACpC,iBAAiB;AACjB,qBAAqB,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC3C,oBAAoB,SAAS,GAAG,QAAQ,CAAC;AACzC,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtF,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AAC3C,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;;AC/JM,SAAS,KAAK,CAAC,OAAO,EAAE;AAC/B;AACA,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9C;AACA,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACnE,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,IAAI,IAAI,IAAI,CAAC;AACb,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE;AACnC,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,QAAQ,SAAS;AACjB,QAAQ,SAAS;AACjB,QAAQ,WAAW;AACnB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;AAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC5B,QAAQ,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;AACpC,KAAK;AACL,IAAI,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAClD,SAAS,MAAM,CAAC,CAAC,MAAM,KAAK,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9D,SAAS,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,IAAI,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AACpE,IAAI,MAAM,eAAe,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9E,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;AACtC;AACA,YAAY,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AAC3C,iBAAiB,KAAK,CAAC,GAAG,CAAC;AAC3B,iBAAiB,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,kDAAkD,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzJ,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC/C,YAAY,MAAM,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;AAC/F,YAAY,OAAO,CAAC,MAAM,GAAG,wBAAwB;AACrD,iBAAiB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnD,iBAAiB,GAAG,CAAC,CAAC,OAAO,KAAK;AAClC,gBAAgB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM;AACvD,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpD,sBAAsB,OAAO,CAAC;AAC9B,gBAAgB,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5E,aAAa,CAAC;AACd,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1C,QAAQ,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AAC3D,KAAK;AACL,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE;AAC3C,YAAY,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC;AAC5C,SAAS;AACT,aAAa;AACb,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE;AACzD,gBAAgB,IAAI,GAAG,mBAAmB,CAAC;AAC3C,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC9C,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AACjE,QAAQ,OAAO,CAAC,cAAc,CAAC,GAAG,iCAAiC,CAAC;AACpE,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AAC1E,QAAQ,IAAI,GAAG,EAAE,CAAC;AAClB,KAAK;AACL;AACA,IAAI,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;AACzJ,CAAC;;AC9EM,SAAS,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AAC/D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC;;ACDM,SAAS,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE;AACvD,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACrD,IAAI,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC/D,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;AACnC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACnD,QAAQ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACzC,QAAQ,KAAK;AACb,KAAK,CAAC,CAAC;AACP,CAAC;;ACZM,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACE3C,MAAM,SAAS,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;AACrE;AACA;AACA,AAAO,MAAM,QAAQ,GAAG;AACxB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,OAAO,EAAE,wBAAwB;AACrC,IAAI,OAAO,EAAE;AACb,QAAQ,MAAM,EAAE,gCAAgC;AAChD,QAAQ,YAAY,EAAE,SAAS;AAC/B,KAAK;AACL,IAAI,SAAS,EAAE;AACf,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,QAAQ,EAAE,EAAE;AACpB,KAAK;AACL,CAAC,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/universal-user-agent/README.md b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/README.md index d00d14c..170ae0c 100644 --- a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/README.md +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/README.md @@ -3,7 +3,7 @@ > 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) +[![Build Status](https://github.com/gr2m/universal-user-agent/workflows/Test/badge.svg)](https://github.com/gr2m/universal-user-agent/actions?query=workflow%3ATest+branch%3Amaster) [![Greenkeeper](https://badges.greenkeeper.io/gr2m/universal-user-agent.svg)](https://greenkeeper.io/) ```js 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 index 80a0710..8865c7c 100644 --- 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 @@ -2,20 +2,16 @@ 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 "; - } + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } - throw error; + if (typeof process === "object" && process.version !== undefined) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; } + + return ""; } exports.getUserAgent = getUserAgent; 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 index aff09ec..0a2cead 100644 --- 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 @@ -1 +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 +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n if (typeof process === \"object\" && process.version !== undefined) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n return \"\";\n}\n"],"names":["getUserAgent","navigator","userAgent","process","version","undefined","substr","platform","arch"],"mappings":";;;;AAAO,SAASA,YAAT,GAAwB;AAC3B,MAAI,OAAOC,SAAP,KAAqB,QAArB,IAAiC,eAAeA,SAApD,EAA+D;AAC3D,WAAOA,SAAS,CAACC,SAAjB;AACH;;AACD,MAAI,OAAOC,OAAP,KAAmB,QAAnB,IAA+BA,OAAO,CAACC,OAAR,KAAoBC,SAAvD,EAAkE;AAC9D,WAAQ,WAAUF,OAAO,CAACC,OAAR,CAAgBE,MAAhB,CAAuB,CAAvB,CAA0B,KAAIH,OAAO,CAACI,QAAS,KAAIJ,OAAO,CAACK,IAAK,GAAlF;AACH;;AACD,SAAO,4BAAP;AACH;;;;"} \ 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 deleted file mode 100644 index 6f52232..0000000 --- a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/browser.js +++ /dev/null @@ -1,3 +0,0 @@ -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 index c6253f5..3006e37 100644 --- 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 @@ -1 +1,9 @@ -export { getUserAgent } from "./node"; +export function getUserAgent() { + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + if (typeof process === "object" && process.version !== undefined) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + return ""; +} 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 deleted file mode 100644 index 8b70a03..0000000 --- a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-src/node.js +++ /dev/null @@ -1,12 +0,0 @@ -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 deleted file mode 100644 index a7bb1c4..0000000 --- a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/browser.d.ts +++ /dev/null @@ -1 +0,0 @@ -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 index c6253f5..a7bb1c4 100644 --- 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 @@ -1 +1 @@ -export { getUserAgent } from "./node"; +export declare function getUserAgent(): string; 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 deleted file mode 100644 index a7bb1c4..0000000 --- a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/dist-types/node.d.ts +++ /dev/null @@ -1 +0,0 @@ -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 index 11ec79b..fc742b9 100644 --- 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 @@ -1,5 +1,11 @@ function getUserAgent() { - return navigator.userAgent; + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + if (typeof process === "object" && process.version !== undefined) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + return ""; } export { getUserAgent }; 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 index 549407e..2cdf193 100644 --- 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 @@ -1 +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 +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n if (typeof process === \"object\" && process.version !== undefined) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n return \"\";\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAG;AAC/B,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,WAAW,IAAI,SAAS,EAAE;AACnE,QAAQ,OAAO,SAAS,CAAC,SAAS,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;AACtE,QAAQ,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7F,KAAK;AACL,IAAI,OAAO,4BAA4B,CAAC;AACxC;;;;"} \ 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 index 4a43790..c386163 100644 --- a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json @@ -1,7 +1,7 @@ { "name": "universal-user-agent", "description": "Get a user agent string in both browser and node", - "version": "4.0.0", + "version": "6.0.1", "license": "ISC", "files": [ "dist-*/", @@ -11,27 +11,21 @@ "sideEffects": false, "keywords": [], "repository": "https://github.com/gr2m/universal-user-agent.git", - "dependencies": { - "os-name": "^3.1.0" - }, + "dependencies": {}, "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", + "@pika/plugin-build-node": "^0.9.1", + "@pika/plugin-ts-standard-pkg": "^0.9.1", + "@types/jest": "^25.1.0", "jest": "^24.9.0", - "prettier": "^1.18.2", - "semantic-release": "^15.9.15", - "ts-jest": "^24.0.2", + "prettier": "^2.0.0", + "semantic-release": "^17.0.5", + "ts-jest": "^26.0.0", "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 index 4194ab8..4e4d425 100644 --- a/node_modules/@octokit/endpoint/package.json +++ b/node_modules/@octokit/endpoint/package.json @@ -1,7 +1,7 @@ { "name": "@octokit/endpoint", "description": "Turns REST API endpoints into generic request options", - "version": "5.3.5", + "version": "6.0.12", "license": "MIT", "files": [ "dist-*/", @@ -15,35 +15,24 @@ "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" - }, + "repository": "github:octokit/endpoint.js", "dependencies": { - "is-plain-object": "^3.0.0", - "universal-user-agent": "^4.0.0" + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" }, "devDependencies": { - "@octokit/routes": "20.9.2", "@pika/pack": "^0.5.0", - "@pika/plugin-build-node": "^0.6.0", - "@pika/plugin-build-web": "^0.6.0", - "@pika/plugin-ts-standard-pkg": "^0.6.0", - "@types/jest": "^24.0.11", - "handlebars": "^4.1.2", - "jest": "^24.7.1", - "lodash.set": "^4.3.2", - "pascal-case": "^2.0.1", - "prettier": "1.18.2", - "semantic-release": "^15.13.8", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/jest": "^26.0.0", + "jest": "^27.0.0", + "prettier": "2.3.1", + "semantic-release": "^17.0.0", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "string-to-jsdoc-comment": "^1.0.0", - "ts-jest": "^24.0.2", - "typescript": "^3.4.5" + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.2" }, "publishConfig": { "access": "public" @@ -52,8 +41,4 @@ "types": "dist-types/index.d.ts", "main": "dist-node/index.js", "module": "dist-web/index.js" - -,"_resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.3.5.tgz" -,"_integrity": "sha512-f8KqzIrnzPLiezDsZZPB+K8v8YSv6aKFl7eOu59O46lmlW4HagWl1U6NWl6LmT8d1w7NsKBI3paVtzcnRGO1gw==" -,"_from": "@octokit/endpoint@5.3.5" -} \ No newline at end of file +} diff --git a/node_modules/@octokit/graphql/README.md b/node_modules/@octokit/graphql/README.md index 4e44592..53e8bc3 100644 --- a/node_modules/@octokit/graphql/README.md +++ b/node_modules/@octokit/graphql/README.md @@ -2,199 +2,289 @@ > 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/) +[![@latest](https://img.shields.io/npm/v/@octokit-next/graphql.svg)](https://www.npmjs.com/package/@octokit-next/graphql) +[![Build Status](https://github.com/octokit-next/graphql.js/workflows/Test/badge.svg)](https://github.com/octokit-next/graphql.js/actions?query=workflow%3ATest+branch%3Amaster) - +## Usage -- [Usage](#usage) -- [Errors](#errors) -- [Writing tests](#writing-tests) -- [License](#license) + + + + + + +
+Browsers + - +Load `@octokit-next/graphql` directly from [cdn.skypack.dev](https://cdn.skypack.dev) -## Usage +```html + +``` -Send a simple query +
+Node + + +Install with npm install @octokit-next/graphql ```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` - } -}) +import { graphql } from "@octokit-next/graphql"; ``` -⚠️ 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: +
+Deno + + +Load @octokit-next/graphql directly from cdn.skypack.dev, including types. ```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 { +import { graphql } from "https://cdn.skypack.dev/octokit?dts"; +``` + +
+ +### Send a simple query + +```js +const { repository } = await graphql( + ` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + nodes { title } } } } - }`, { - owner: 'octokit', - repo: 'graphql.js' + `, + { headers: { - authorization: `token secret123` - } + authorization: `token secret123`, + }, } -}) +); ``` -Create two new clients and set separate default configs for them. +### Authentication -```js -const graphql1 = require('@octokit/graphql').defaults({ - headers: { - authorization: `token secret123` - } -}) +The simplest way to authenticate a request is to set the `Authorization` header, e.g. to a [personal access token](https://github.com/settings/tokens/). -const graphql2 = require('@octokit/graphql').defaults({ +```js +const graphqlWithAuth = graphql.defaults({ headers: { - authorization: `token foobar` + authorization: `token secret123`, + }, +}); +const { repository } = await graphqlWithAuth(` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + nodes { + title + } + } + } } -}) +`); ``` -Create two clients, the second inherits config from the first. +For more complex authentication strategies such as GitHub Apps, we recommend to use an [authentication strategy plugin](https://github.com/octokit/auth.js). ```js -const graphql1 = require('@octokit/graphql').defaults({ - headers: { - authorization: `token secret123` - } -}) +const { createAppAuth } = require("@octokit-next/auth-app"); +const auth = createAppAuth({ + appId: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const graphqlWithAuth = graphql.defaults({ + request: { + hook: auth.hook, + }, +}); -const graphql2 = graphql1.defaults({ - headers: { - 'user-agent': 'my-user-agent/v1.2.3' - } -}) +const { repository } = await graphqlWithAuth( + `{ + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + nodes { + title + } + } + } + }` +); ``` -Create a new client with default options and run query +### Variables + +> **Warning** +> 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-next/graphql.js/issues/2)). Use variables instead: ```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 +const { repository } = await graphql( + ` + query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner: $owner, name: $repo) { + issues(last: $num) { + nodes { + title + } } } } + `, + { + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, } -}`) +); ``` -Pass query together with headers and variables +### Pass query together with headers and variables ```js -const graphql = require('@octokit/graphql') -const { lastIssues } = await graphql({ +const { graphql } = require("@octokit-next/graphql"); +const { repository } = await graphql({ query: `query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { repository(owner:$owner, name:$repo) { issues(last:$num) { - edges { - node { - title - } + nodes { + title } } } }`, - owner: 'octokit', - repo: 'graphql.js' + owner: "octokit", + repo: "graphql.js", headers: { - authorization: `token secret123` - } -}) + authorization: `token secret123`, + }, +}); ``` -Use with GitHub Enterprise +### Use with GitHub Enterprise ```js -const graphql = require('@octokit/graphql').defaults({ - baseUrl: 'https://github-enterprise.acme-inc.com/api', +let { graphql } = require("@octokit-next/graphql"); +graphql = graphql.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api", headers: { - authorization: `token secret123` + authorization: `token secret123`, + }, +}); +const { repository } = await graphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + nodes { + title + } + } + } } -}) -const { repository } = await graphql(`{ - repository(owner:"acme-project", name:"acme-repo") { - issues(last:3) { - edges { - node { +`); +``` + +### Use custom `@octokit-next/request` instance + +```js +const { request } = require("@octokit-next/request"); +const { withCustomRequest } = require("@octokit-next/graphql"); + +let requestCounter = 0; +const myRequest = request.defaults({ + headers: { + authentication: "token secret123", + }, + request: { + hook(request, options) { + requestCounter++; + return request(options); + }, + }, +}); +const myGraphql = withCustomRequest(myRequest); +await request("/"); +await myGraphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + nodes { title } } } } -}`) +`); +// requestCounter is now 2 +``` + +## TypeScript + +`@octokit-next/graphql` is exposing proper types for its usage with TypeScript projects. + +### Additional Types + +Additionally, `GraphQlQueryResponseData` has been exposed to users: + +```ts +import type { GraphQlQueryResponseData } from "@octokit-next/graphql"; ``` ## 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. +In case of a GraphQL error, `error.message` is set to a combined message describing all errors returned by the endpoint. +All errors can be accessed at `error.errors`. `error.request` has the request options such as query, variables and headers set for easier debugging. ```js -const graphql = require('@octokit/graphql').defaults({ +let { graphql, GraphqlResponseError } = require("@octokit-next/graphql"); +graphql = graphql.defaults({ headers: { - authorization: `token secret123` - } -}) + authorization: `token secret123`, + }, +}); const query = `{ viewer { bioHtml } -}` +}`; try { - const result = await graphql(query) + 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' + if (error instanceof GraphqlResponseError) { + // do something with the error, allowing you to detect a graphql response error, + // compared to accidentally catching unrelated errors. + + // server responds with an object like the following (as an example) + // class GraphqlResponseError { + // "headers": { + // "status": "403", + // }, + // "data": null, + // "errors": [{ + // "message": "Field 'bioHtml' doesn't exist on type 'User'", + // "locations": [{ + // "line": 3, + // "column": 5 + // }] + // }] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // Field 'bioHtml' doesn't exist on type 'User' + } else { + // handle non-GraphQL error + } } ``` @@ -203,11 +293,12 @@ try { 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({ +let { graphql } = require("@octokit-next/graphql"); +graphql = graphql.defaults({ headers: { - authorization: `token secret123` - } -}) + authorization: `token secret123`, + }, +}); const query = `{ repository(name: "probot", owner: "probot") { name @@ -223,42 +314,42 @@ const query = `{ } } } -}` +}`; try { - const result = await graphql(query) + 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 } } + // { + // "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 } } } ``` @@ -267,24 +358,29 @@ try { 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 assert = require("assert"); +const fetchMock = require("fetch-mock/es5/server"); -const graphql = require('@octokit/graphql') +const { graphql } = require("@octokit-next/graphql"); -graphql('{ viewer { login } }', { +graphql("{ viewer { login } }", { headers: { - authorization: 'token secret123' + 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: {} } - }) - } -}) + 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 diff --git a/node_modules/@octokit/graphql/error.js b/node_modules/@octokit/graphql/error.js new file mode 100644 index 0000000..524c2b8 --- /dev/null +++ b/node_modules/@octokit/graphql/error.js @@ -0,0 +1,25 @@ +function _buildMessageForResponseErrors(data) { + return ( + `Request failed due to following response errors:\n` + + data.errors.map((e) => ` - ${e.message}`).join("\n") + ); +} + +export class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + // Expose the errors and response data in their shorthand properties. + this.errors = response.errors; + this.data = response.data; + + // Maintains proper stack trace (only available on V8) + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +} diff --git a/node_modules/@octokit/graphql/graphql.js b/node_modules/@octokit/graphql/graphql.js new file mode 100644 index 0000000..5127cc8 --- /dev/null +++ b/node_modules/@octokit/graphql/graphql.js @@ -0,0 +1,70 @@ +import { GraphqlResponseError } from "./error.js"; + +const NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType", +]; + +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; + +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; + +export function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject( + new Error(`[@octokit/graphql] "query" cannot be used as variable name`) + ); + } + + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + + return Promise.reject( + new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`) + ); + } + } + + const parsedOptions = + typeof query === "string" ? Object.assign({ query }, options) : query; + + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + + if (!result.variables) { + result.variables = {}; + } + + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + + // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + + return request(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + + return response.data.data; + }); +} diff --git a/node_modules/@octokit/graphql/index.d.ts b/node_modules/@octokit/graphql/index.d.ts new file mode 100644 index 0000000..39e414a --- /dev/null +++ b/node_modules/@octokit/graphql/index.d.ts @@ -0,0 +1,111 @@ +import { Octokit } from "@octokit-next/types"; +import { endpoint } from "@octokit-next/endpoint"; +import { + EndpointInterface, + RequestInterface, + KnownEndpointParameters, +} from "@octokit-next/types"; + +type GLOBAL_ENDPOINT_DEFAULTS = typeof endpoint.DEFAULTS; +type GRAPHQL_DEFAULTS = Omit & { + method: "POST"; + url: "/graphql"; +}; + +export declare const graphql: GraphqlInterface; +interface GraphqlInterface< + TVersion extends keyof Octokit.ApiVersions = "github.com", + TDefaults extends KnownEndpointParameters = GRAPHQL_DEFAULTS +> { + /** + * Sends a GraphQL query request based on endpoint options + * The GraphQL query must be specified in `options`. + * + * @param {object} endpoint must set `query` and can optionally set additional variables. It can also set default request options, such as `method`, `url`, `baseUrl`, `headers`, and `request` + */ + ( + options: GraphQlEndpointOptions + ): GraphQlResponse; + + /** + * Sends a GraphQL query request based on endpoint options + * + * @param {string} query GraphQL query. Example: `'query { viewer { login } }'`. + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + ( + query: Query, + parameters?: Partial & Record + ): GraphQlResponse; + + /** + /** + * Override or set default options + * + * @todo implement inheriting the request version and .DEFAULTS from the options passed + */ + defaults>( + options: TOptions + ): GraphqlInterface; + + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} + +export declare type GraphQlQueryResponseData = Record; + +export declare function withCustomRequest( + customRequest: RequestInterface +): GraphqlInterface; + +export declare class GraphqlResponseError< + TResponseData extends GraphQlQueryResponseData = GraphQlQueryResponseData +> extends Error { + readonly request: Octokit.EndpointOptions; + readonly headers: Octokit.ResponseHeaders; + readonly response: ServerResponseData; + name: string; + readonly errors: GraphQlQueryResponse["errors"]; + readonly data: TResponseData; + + constructor( + request: Octokit.EndpointOptions, + headers: Octokit.ResponseHeaders, + response: ServerResponseData + ); +} + +declare type Variables = Record; +declare type GraphQlEndpointOptions = Partial & { + query: string; + variables?: Variables; + [key: string]: unknown; +}; + +declare type Query = string; + +declare type GraphQlResponse = Promise; + +declare type GraphQlQueryResponse = { + data: ResponseData; + errors?: [ + { + type: string; + message: string; + path: [string]; + extensions: { + [key: string]: unknown; + }; + locations: [ + { + line: number; + column: number; + } + ]; + } + ]; +}; + +declare type ServerResponseData = Required>; diff --git a/node_modules/@octokit/graphql/index.js b/node_modules/@octokit/graphql/index.js index 7f8278c..b0e29d5 100644 --- a/node_modules/@octokit/graphql/index.js +++ b/node_modules/@octokit/graphql/index.js @@ -1,15 +1,23 @@ -const { request } = require('@octokit/request') -const getUserAgent = require('universal-user-agent') +import { request } from "@octokit-next/request"; +import { getUserAgent } from "universal-user-agent"; -const version = require('./package.json').version -const userAgent = `octokit-graphql.js/${version} ${getUserAgent()}` +import { VERSION } from "./version.js"; -const withDefaults = require('./lib/with-defaults') +import { withDefaults } from "./with-defaults.js"; -module.exports = withDefaults(request, { - method: 'POST', - url: '/graphql', +export const graphql = withDefaults(request, { headers: { - 'user-agent': userAgent - } -}) + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`, + }, + method: "POST", + url: "/graphql", +}); + +export { GraphqlResponseError } from "./error.js"; + +export function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql", + }); +} diff --git a/node_modules/@octokit/graphql/index.test-d.ts b/node_modules/@octokit/graphql/index.test-d.ts new file mode 100644 index 0000000..4d9232d --- /dev/null +++ b/node_modules/@octokit/graphql/index.test-d.ts @@ -0,0 +1,98 @@ +import { expectType } from "tsd"; + +import { graphql } from "./index.js"; + +export async function readmeExampleSimple() { + const result = await graphql<{ + repository: { issues: { nodes: { title: string }[] } }; + }>( + ` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + nodes { + title + } + } + } + } + `, + { + headers: { + authorization: `token secret123`, + }, + } + ); + expectType(result.repository.issues.nodes[0].title); +} + +export async function readmeExampleAuthentication() { + const graphqlWithAuth = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, + }); + + const result = await graphqlWithAuth(` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + nodes { + title + } + } + } + } + `); + + expectType>(result); + expectType(graphqlWithAuth.endpoint.DEFAULTS.headers.authorization); +} + +export async function readmeExampleVariables() { + const result = await graphql( + ` + query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner: $owner, name: $repo) { + issues(last: $num) { + nodes { + title + } + } + } + } + `, + { + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, + } + ); + + expectType>(result); +} + +export async function readmeExampleQueryWithHeadersAndVariables() { + const result = await graphql({ + query: `query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner:$owner, name:$repo) { + issues(last:$num) { + nodes { + title + } + } + } + }`, + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, + }); + + expectType>(result); +} + +// TOOD: add tests for "Use with GitHub Enterprise" and "Use custom `@octokit-next/request` instance" diff --git a/node_modules/@octokit/graphql/lib/error.js b/node_modules/@octokit/graphql/lib/error.js deleted file mode 100644 index 4478abd..0000000 --- a/node_modules/@octokit/graphql/lib/error.js +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index 4a5b211..0000000 --- a/node_modules/@octokit/graphql/lib/graphql.js +++ /dev/null @@ -1,36 +0,0 @@ -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 deleted file mode 100644 index a5b1493..0000000 --- a/node_modules/@octokit/graphql/lib/with-defaults.js +++ /dev/null @@ -1,13 +0,0 @@ -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 index 83cbd52..dca77ac 100644 --- a/node_modules/@octokit/graphql/package.json +++ b/node_modules/@octokit/graphql/package.json @@ -1,94 +1,41 @@ { "name": "@octokit/graphql", - "version": "2.1.3", + "version": "2.3.0", "publishConfig": { "access": "public" }, + "type": "module", "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" - }, + "exports": "./index.js", + "types": "./index.d.ts", "repository": { "type": "git", - "url": "https://github.com/octokit/graphql.js.git" + "url": "https://github.com/octokit/octokit-next.js.git", + "directory": "packages/endpoint" }, + "homepage": "https://github.com/octokit/octokit-next.js/tree/main/packages/endpoint#readme", "keywords": [ "octokit", "github", - "api", - "graphql" + "api" ], - "author": "Gregor Martynus (https://github.com/gr2m)", + "author": "Gregor Martynus (https://twitter.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" + "@octokit-next/types": "2.3.0", + "@octokit-next/request": "2.3.0", + "universal-user-agent": "^7.0.1" }, - "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 + "scripts": { + "test": "npm run test:code && npm run test:types", + "test:code": "c8 uvu test", + "test:types": "tsd" + }, + "c8": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100, + "statements": 100 + } +} diff --git a/node_modules/@octokit/graphql/test/defaults.test.js b/node_modules/@octokit/graphql/test/defaults.test.js new file mode 100644 index 0000000..7455a86 --- /dev/null +++ b/node_modules/@octokit/graphql/test/defaults.test.js @@ -0,0 +1,216 @@ +import { suite } from "uvu"; +import * as assert from "uvu/assert"; + +import fetchMock from "fetch-mock"; +import { getUserAgent } from "universal-user-agent"; + +import { VERSION } from "../version.js"; +import { graphql } from "../index.js"; + +const userAgent = `octokit-graphql.js/${VERSION} ${getUserAgent()}`; + +const test = suite("graphql.defaults()"); + +test("is a function", () => { + assert.instance(graphql.defaults, Function); +}); + +test("README example", () => { + const mockData = { + repository: { + issues: { + edges: [ + { + node: { + title: "Foo", + }, + }, + { + node: { + title: "Bar", + }, + }, + { + node: { + title: "Baz", + }, + }, + ], + }, + }, + }; + + const authenticatedGraphql = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, + request: { + fetch: fetchMock.sandbox().post( + "https://api.github.com/graphql", + { data: mockData }, + { + headers: { + authorization: "token secret123", + }, + } + ), + }, + }); + return authenticatedGraphql(`{ + repository(owner:"octokit", name:"graphql.js") { + issues(last:3) { + edges { + node { + title + } + } + } + } + }`).then((result) => { + assert.equal(result, mockData); + }); +}); + +test("repeated defaults", () => { + const mockData = { + repository: { + issues: { + edges: [ + { + node: { + title: "Foo", + }, + }, + { + node: { + title: "Bar", + }, + }, + { + node: { + title: "Baz", + }, + }, + ], + }, + }, + }; + + const authenticatedGraphql = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, + request: { + fetch: fetchMock.sandbox().post( + "https://github.acme-inc.com/api/graphql", + { data: mockData }, + { + headers: { + authorization: "token secret123", + }, + } + ), + }, + }); + const acmeGraphql = authenticatedGraphql.defaults({ + baseUrl: "https://github.acme-inc.com/api", + }); + return acmeGraphql(`{ + repository(owner:"octokit", name:"graphql.js") { + issues(last:3) { + edges { + node { + title + } + } + } + } + }`).then((result) => { + assert.equal(result, mockData); + }); +}); + +test("handle baseUrl set with /api/v3 suffix", () => { + const ghesGraphQl = graphql.defaults({ + baseUrl: "https://github.acme-inc.com/api/v3", + headers: { + authorization: `token secret123`, + }, + request: { + fetch: fetchMock.sandbox().post( + "https://github.acme-inc.com/api/graphql", + { data: { ok: true } }, + { + headers: { + authorization: "token secret123", + }, + } + ), + }, + }); + + return ghesGraphQl(`query { + viewer { + login + } + }`); +}); + +test("set defaults on .endpoint", () => { + const mockData = { + repository: { + issues: { + edges: [ + { + node: { + title: "Foo", + }, + }, + { + node: { + title: "Bar", + }, + }, + { + node: { + title: "Baz", + }, + }, + ], + }, + }, + }; + + const authenticatedGraphql = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, + request: { + fetch: fetchMock.sandbox().post( + "https://github.acme-inc.com/api/graphql", + { data: mockData }, + { + headers: { + authorization: "token secret123", + }, + } + ), + }, + }); + + const { request: _request, ...requestOptions } = + // @ts-expect-error - TODO: expects to set { url } but it really shouldn't + authenticatedGraphql.endpoint(); + assert.equal(requestOptions, { + method: "POST", + url: "https://api.github.com/graphql", + headers: { + accept: "application/vnd.github.v3+json", + authorization: "token secret123", + "user-agent": userAgent, + "content-length": 0, + }, + }); +}); + +test.run(); diff --git a/node_modules/@octokit/graphql/test/error.test.js b/node_modules/@octokit/graphql/test/error.test.js new file mode 100644 index 0000000..fae939b --- /dev/null +++ b/node_modules/@octokit/graphql/test/error.test.js @@ -0,0 +1,195 @@ +import { suite } from "uvu"; +import * as assert from "uvu/assert"; +import fetchMock from "fetch-mock"; + +import { graphql, GraphqlResponseError } from "../index.js"; + +const test = suite("errors"); + +test("Invalid query", () => { + const query = `{ + viewer { + bioHtml + } +}`; + const mockResponse = { + data: null, + errors: [ + { + locations: [ + { + column: 5, + line: 3, + }, + ], + message: "Field 'bioHtml' doesn't exist on type 'User'", + }, + ], + }; + + return graphql(query, { + headers: { + authorization: `token secret123`, + }, + request: { + fetch: fetchMock + .sandbox() + .post("https://api.github.com/graphql", mockResponse), + }, + }) + .then((result) => { + throw new Error("Should not resolve"); + }) + + .catch((error) => { + assert.equal( + error.message, + "Request failed due to following response errors:\n" + + " - Field 'bioHtml' doesn't exist on type 'User'" + ); + assert.equal(error.errors, mockResponse.errors); + assert.equal(error.request.query, query); + }); +}); + +test("Should be able check if an error is instance of a GraphQL response error", () => { + const query = `{ + repository { + name + } + }`; + + const mockResponse = { + data: null, + errors: [ + { + locations: [ + { + column: 5, + line: 3, + }, + ], + message: "Some error message", + }, + ], + }; + + return graphql(query, { + headers: { + authorization: `token secret123`, + }, + request: { + fetch: fetchMock + .sandbox() + .post("https://api.github.com/graphql", mockResponse), + }, + }) + .then((result) => { + throw new Error("Should not resolve"); + }) + + .catch((error) => { + assert.instance(error, GraphqlResponseError); + }); +}); + +test("Should throw an error for a partial response accompanied by errors", () => { + const query = `{ + repository(name: "probot", owner: "probot") { + name + ref(qualifiedName: "master") { + target { + ... on Commit { + history(first: 25, after: "invalid cursor") { + nodes { + message + } + } + } + } + } + } + }`; + + const mockResponse = { + data: { + repository: { + name: "probot", + ref: null, + }, + }, + errors: [ + { + locations: [ + { + column: 11, + line: 7, + }, + ], + message: "`invalid cursor` does not appear to be a valid cursor.", + path: ["repository", "ref", "target", "history"], + type: "INVALID_CURSOR_ARGUMENTS", + }, + ], + }; + + return graphql(query, { + headers: { + authorization: `token secret123`, + }, + request: { + fetch: fetchMock.sandbox().post("https://api.github.com/graphql", { + body: mockResponse, + headers: { + "x-github-request-id": "C5E6:259A:1351B40:2E88B87:5F1F9C41", + }, + }), + }, + }) + .then((result) => { + throw new Error("Should not resolve"); + }) + .catch((error) => { + assert.equal( + error.message, + "Request failed due to following response errors:\n" + + " - `invalid cursor` does not appear to be a valid cursor." + ); + assert.equal(error.errors, mockResponse.errors); + assert.equal(error.request.query, query); + assert.equal(error.data, mockResponse.data); + assert.ok( + "x-github-request-id" in error.headers, + '"x-github-request-id" header is set' + ); + assert.equal( + error.headers["x-github-request-id"], + "C5E6:259A:1351B40:2E88B87:5F1F9C41" + ); + }); +}); + +test("Should throw for server error", () => { + const query = `{ + viewer { + login + } + }`; + + return graphql(query, { + headers: { + authorization: `token secret123`, + }, + request: { + fetch: fetchMock.sandbox().post("https://api.github.com/graphql", 500), + }, + }) + .then((result) => { + throw new Error("Should not resolve"); + }) + .catch((error) => { + assert.equal(error.status, 500); + }); +}); + +test.run(); diff --git a/node_modules/@octokit/graphql/test/graphql.test.js b/node_modules/@octokit/graphql/test/graphql.test.js new file mode 100644 index 0000000..05edde6 --- /dev/null +++ b/node_modules/@octokit/graphql/test/graphql.test.js @@ -0,0 +1,314 @@ +import { suite } from "uvu"; +import * as assert from "uvu/assert"; +import fetchMock from "fetch-mock"; +import { getUserAgent } from "universal-user-agent"; + +import { graphql } from "../index.js"; +import { VERSION } from "../version.js"; + +const userAgent = `octokit-graphql.js/${VERSION} ${getUserAgent()}`; + +const test = suite("graphql()"); + +test("is a function", () => { + assert.instance(graphql, Function); +}); + +test("README simple query example", () => { + const mockData = { + repository: { + issues: { + edges: [ + { + node: { + title: "Foo", + }, + }, + { + node: { + title: "Bar", + }, + }, + { + node: { + title: "Baz", + }, + }, + ], + }, + }, + }; + + return graphql( + ` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } + `, + { + headers: { + authorization: `token secret123`, + }, + request: { + fetch: fetchMock.sandbox().post( + "https://api.github.com/graphql", + { data: mockData }, + { + headers: { + accept: "application/vnd.github.v3+json", + authorization: "token secret123", + "user-agent": userAgent, + }, + } + ), + }, + } + ).then((result) => { + assert.equal(result, mockData); + }); +}); + +test("Variables", () => { + const query = `query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner:$owner, name:$repo) { + issues(last:$num) { + edges { + node { + title + } + } + } + } + }`; + + return graphql(query, { + headers: { + authorization: `token secret123`, + }, + owner: "octokit", + repo: "graphql.js", + request: { + fetch: fetchMock + .sandbox() + .post("https://api.github.com/graphql", (url, options) => { + const body = JSON.parse(options.body); + assert.equal(body.query, query); + assert.equal(body.variables, { + owner: "octokit", + repo: "graphql.js", + }); + + return { data: {} }; + }), + }, + }); +}); + +test("Pass headers together with variables as 2nd argument", () => { + const query = `query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner:$owner, name:$repo) { + issues(last:$num) { + edges { + node { + title + } + } + } + } + }`; + + const options = { + headers: { + authorization: `token secret123`, + "x-custom": "value", + }, + owner: "octokit", + repo: "graphql.js", + request: { + fetch: fetchMock + .sandbox() + .post("https://api.github.com/graphql", (url, options) => { + const body = JSON.parse(options.body); + assert.equal(body.query, query); + assert.equal(body.variables, { + owner: "octokit", + repo: "graphql.js", + }); + assert.equal(options.headers["authorization"], "token secret123"); + assert.equal(options.headers["x-custom"], "value"); + + return { data: {} }; + }), + }, + }; + + return graphql(query, options); +}); + +test("Pass query together with headers and variables", () => { + const query = `query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner:$owner, name:$repo) { + issues(last:$num) { + edges { + node { + title + } + } + } + } + }`; + + const options = { + headers: { + authorization: `token secret123`, + }, + owner: "octokit", + query, + repo: "graphql.js", + request: { + fetch: fetchMock + .sandbox() + .post("https://api.github.com/graphql", (url, options) => { + const body = JSON.parse(options.body); + assert.equal(body.query, query); + assert.equal(body.variables, { + owner: "octokit", + repo: "graphql.js", + }); + + return { data: {} }; + }), + }, + }; + + return graphql(options); +}); + +test("Don’t send empty variables object", () => { + const query = "{ viewer { login } }"; + + return graphql(query, { + headers: { + authorization: `token secret123`, + }, + request: { + fetch: fetchMock + .sandbox() + .post("https://api.github.com/graphql", (url, options) => { + const body = JSON.parse(options.body); + assert.equal(body.query, query); + assert.equal(body.variables, undefined); + + return { data: {} }; + }), + }, + }); +}); + +test("MediaType previews are added to header", () => { + const query = `{ viewer { login } }`; + + return graphql(query, { + headers: { + authorization: `token secret123`, + }, + owner: "octokit", + repo: "graphql.js", + mediaType: { previews: ["antiope", "testpkg"] }, + request: { + fetch: fetchMock + .sandbox() + .post("https://api.github.com/graphql", (url, options) => { + assert.match(options.headers.accept, /antiope-preview/); + assert.match(options.headers.accept, /testpkg-preview/); + return { data: {} }; + }), + }, + }); +}); + +test("query variable (#166)", () => { + const query = `query search($query: String!) { + search(query: $query, first: 10, type: ISSUE) { + edges { + node { + ... on PullRequest { + title + } + } + } + } + }`; + + return graphql(query, { + headers: { + authorization: `token secret123`, + }, + query: "test", + }) + .then(() => { + assert.unreachable("should not resolve"); + }) + .catch((error) => { + assert.equal( + error.message, + `[@octokit/graphql] "query" cannot be used as variable name` + ); + }); +}); + +test("url variable (#264)", () => { + const query = `query GetCommitStatus($url: URI!) { + resource(url: $url) { + ... on Commit { + status { + state + } + } + } + }`; + + return graphql(query, { + url: "https://example.com", + }) + .then(() => { + assert.unreachable("should not resolve"); + }) + .catch((error) => { + assert.equal( + error.message, + `[@octokit/graphql] "url" cannot be used as variable name` + ); + }); +}); + +test("method variable", () => { + const query = `query($method:String!){ + search(query:$method,type:ISSUE) { + codeCount + } + }`; + + return graphql(query, { + method: "test", + }) + .then(() => { + assert.unreachable("should not resolve"); + }) + .catch((error) => { + assert.equal( + error.message, + `[@octokit/graphql] "method" cannot be used as variable name` + ); + }); +}); + +test.run(); diff --git a/node_modules/@octokit/graphql/test/with-custom-request.test.js b/node_modules/@octokit/graphql/test/with-custom-request.test.js new file mode 100644 index 0000000..072a9b7 --- /dev/null +++ b/node_modules/@octokit/graphql/test/with-custom-request.test.js @@ -0,0 +1,80 @@ +import { suite } from "uvu"; +import * as assert from "uvu/assert"; +import fetchMock from "fetch-mock"; +import { request } from "@octokit-next/request"; + +import { withCustomRequest } from "../index.js"; + +const test = suite("withCustomRequest()"); + +test("README example", () => { + const myRequest = request.defaults({ + headers: { + authorization: "token secret123", + "user-agent": "test", + }, + }); + const myGraphql = withCustomRequest(myRequest); + + const mockData = { + repository: { + issues: { + edges: [ + { + node: { + title: "Foo", + }, + }, + { + node: { + title: "Bar", + }, + }, + { + node: { + title: "Baz", + }, + }, + ], + }, + }, + }; + + return myGraphql( + ` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } + `, + { + headers: { + authorization: `token secret123`, + }, + request: { + fetch: fetchMock.sandbox().post( + "https://api.github.com/graphql", + { data: mockData }, + { + headers: { + accept: "application/vnd.github.v3+json", + authorization: "token secret123", + "user-agent": "test", + }, + } + ), + }, + } + ).then((result) => { + assert.equal(result, mockData); + }); +}); + +test.run(); diff --git a/node_modules/@octokit/graphql/version.js b/node_modules/@octokit/graphql/version.js new file mode 100644 index 0000000..86383b1 --- /dev/null +++ b/node_modules/@octokit/graphql/version.js @@ -0,0 +1 @@ +export const VERSION = "0.0.0-development"; diff --git a/node_modules/@octokit/graphql/with-defaults.js b/node_modules/@octokit/graphql/with-defaults.js new file mode 100644 index 0000000..8d02896 --- /dev/null +++ b/node_modules/@octokit/graphql/with-defaults.js @@ -0,0 +1,13 @@ +import { graphql } from "./graphql.js"; + +export function withDefaults(oldRequest, newDefaults) { + const newRequest = oldRequest.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: newRequest.endpoint, + }); +} diff --git a/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@octokit/openapi-types/LICENSE new file mode 100644 index 0000000..c61fbbe --- /dev/null +++ b/node_modules/@octokit/openapi-types/LICENSE @@ -0,0 +1,7 @@ +Copyright 2020 Gregor Martynus + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@octokit/openapi-types/README.md b/node_modules/@octokit/openapi-types/README.md new file mode 100644 index 0000000..9da833c --- /dev/null +++ b/node_modules/@octokit/openapi-types/README.md @@ -0,0 +1,17 @@ +# @octokit/openapi-types + +> Generated TypeScript definitions based on GitHub's OpenAPI spec + +This package is continously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) + +## Usage + +```ts +import { components } from "@octokit/openapi-types"; + +type Repository = components["schemas"]["full-repository"]; +``` + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/openapi-types/package.json new file mode 100644 index 0000000..24484a5 --- /dev/null +++ b/node_modules/@octokit/openapi-types/package.json @@ -0,0 +1,20 @@ +{ + "name": "@octokit/openapi-types", + "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", + "repository": { + "type": "git", + "url": "https://github.com/octokit/openapi-types.ts.git", + "directory": "packages/openapi-types" + }, + "publishConfig": { + "access": "public" + }, + "version": "12.11.0", + "main": "", + "types": "types.d.ts", + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "octokit": { + "openapi-version": "6.8.0" + } +} diff --git a/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/openapi-types/types.d.ts new file mode 100644 index 0000000..88dc62d --- /dev/null +++ b/node_modules/@octokit/openapi-types/types.d.ts @@ -0,0 +1,47095 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/": { + /** Get Hypermedia links to resources accessible in GitHub's REST API */ + get: operations["meta/root"]; + }; + "/app": { + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-authenticated"]; + }; + "/app-manifests/{code}/conversions": { + /** Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */ + post: operations["apps/create-from-manifest"]; + }; + "/app/hook/config": { + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-config-for-app"]; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + patch: operations["apps/update-webhook-config-for-app"]; + }; + "/app/hook/deliveries": { + /** + * Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/list-webhook-deliveries"]; + }; + "/app/hook/deliveries/{delivery_id}": { + /** + * Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-delivery"]; + }; + "/app/hook/deliveries/{delivery_id}/attempts": { + /** + * Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/redeliver-webhook-delivery"]; + }; + "/app/installations": { + /** + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + get: operations["apps/list-installations"]; + }; + "/app/installations/{installation_id}": { + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-installation"]; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/delete-installation"]; + }; + "/app/installations/{installation_id}/access_tokens": { + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/create-installation-access-token"]; + }; + "/app/installations/{installation_id}/suspended": { + /** + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + put: operations["apps/suspend-installation"]; + /** + * Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/unsuspend-installation"]; + }; + "/applications/grants": { + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-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://docs.github.com/rest/reference/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"]`. + */ + get: operations["oauth-authorizations/list-grants"]; + }; + "/applications/grants/{grant_id}": { + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/get-grant"]; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-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). + */ + delete: operations["oauth-authorizations/delete-grant"]; + }; + "/applications/{client_id}/grant": { + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an 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). + */ + delete: operations["apps/delete-authorization"]; + }; + "/applications/{client_id}/token": { + /** OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ + post: operations["apps/check-token"]; + /** OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. */ + delete: operations["apps/delete-token"]; + /** 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://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + patch: operations["apps/reset-token"]; + }; + "/applications/{client_id}/token/scoped": { + /** Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + post: operations["apps/scope-token"]; + }; + "/apps/{app_slug}": { + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + get: operations["apps/get-by-slug"]; + }; + "/authorizations": { + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/list-authorizations"]; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#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://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * 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://docs.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + */ + post: operations["oauth-authorizations/create-authorization"]; + }; + "/authorizations/clients/{client_id}": { + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + put: operations["oauth-authorizations/get-or-create-authorization-for-app"]; + }; + "/authorizations/clients/{client_id}/{fingerprint}": { + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + */ + put: operations["oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint"]; + }; + "/authorizations/{authorization_id}": { + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/get-authorization"]; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + delete: operations["oauth-authorizations/delete-authorization"]; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-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://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + */ + patch: operations["oauth-authorizations/update-authorization"]; + }; + "/codes_of_conduct": { + get: operations["codes-of-conduct/get-all-codes-of-conduct"]; + }; + "/codes_of_conduct/{key}": { + get: operations["codes-of-conduct/get-conduct-code"]; + }; + "/emojis": { + /** Lists all the emojis available to use on GitHub. */ + get: operations["emojis/get"]; + }; + "/enterprise-installation/{enterprise_or_org}/server-statistics": { + /** + * Returns aggregate usage metrics for your GitHub Enterprise Server 3.5+ instance for a specified time period up to 365 days. + * + * To use this endpoint, your GitHub Enterprise Server instance must be connected to GitHub Enterprise Cloud using GitHub Connect. You must enable Server Statistics, and for the API request provide your enterprise account name or organization name connected to the GitHub Enterprise Server. For more information, see "[Enabling Server Statistics for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)" in the GitHub Enterprise Server documentation. + * + * You'll need to use a personal access token: + * - If you connected your GitHub Enterprise Server to an enterprise account and enabled Server Statistics, you'll need a personal access token with the `read:enterprise` permission. + * - If you connected your GitHub Enterprise Server to an organization account and enabled Server Statistics, you'll need a personal access token with the `read:org` permission. + * + * For more information on creating a personal access token, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + */ + get: operations["enterprise-admin/get-server-statistics"]; + }; + "/enterprises/{enterprise}/actions/cache/usage": { + /** + * Gets the total GitHub Actions cache usage for an enterprise. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/oidc/customization/issuer": { + /** + * Sets the GitHub Actions OpenID Connect (OIDC) custom issuer policy for an enterprise. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + put: operations["actions/set-actions-oidc-custom-issuer-policy-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions": { + /** + * Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-github-actions-permissions-enterprise"]; + /** + * Sets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-github-actions-permissions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/organizations": { + /** + * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise"]; + /** + * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}": { + /** + * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/enable-selected-organization-github-actions-enterprise"]; + /** + * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/disable-selected-organization-github-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/selected-actions": { + /** + * Gets the selected actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-allowed-actions-enterprise"]; + /** + * Sets the actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-allowed-actions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/permissions/workflow": { + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-enterprise"]; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, and sets + * whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups": { + /** + * Lists all self-hosted runner groups for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-self-hosted-runner-groups-for-enterprise"]; + /** + * Creates a new self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + post: operations["enterprise-admin/create-self-hosted-runner-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": { + /** + * Gets a specific self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-self-hosted-runner-group-for-enterprise"]; + /** + * Deletes a self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/delete-self-hosted-runner-group-from-enterprise"]; + /** + * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + patch: operations["enterprise-admin/update-self-hosted-runner-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": { + /** + * Lists the organizations with access to a self-hosted runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise"]; + /** + * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": { + /** + * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise"]; + /** + * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": { + /** + * Lists the self-hosted runners that are in a specific enterprise group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-self-hosted-runners-in-group-for-enterprise"]; + /** + * Replaces the list of self-hosted runners that are part of an enterprise runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-self-hosted-runners-in-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + /** + * Adds a self-hosted runner to a runner group configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` + * scope to use this endpoint. + */ + put: operations["enterprise-admin/add-self-hosted-runner-to-group-for-enterprise"]; + /** + * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners": { + /** + * Lists all self-hosted runners configured for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-self-hosted-runners-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/downloads": { + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-runner-applications-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/registration-token": { + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN + * ``` + */ + post: operations["enterprise-admin/create-registration-token-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/remove-token": { + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + post: operations["enterprise-admin/create-remove-token-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/{runner_id}": { + /** + * Gets a specific self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/get-self-hosted-runner-for-enterprise"]; + /** + * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/delete-self-hosted-runner-from-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/{runner_id}/labels": { + /** + * Lists all labels for a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + get: operations["enterprise-admin/list-labels-for-self-hosted-runner-for-enterprise"]; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + put: operations["enterprise-admin/set-custom-labels-for-self-hosted-runner-for-enterprise"]; + /** + * Add custom labels to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + post: operations["enterprise-admin/add-custom-labels-to-self-hosted-runner-for-enterprise"]; + /** + * Remove all custom labels from a self-hosted runner configured in an + * enterprise. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-all-custom-labels-from-self-hosted-runner-for-enterprise"]; + }; + "/enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner configured + * in an enterprise. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + delete: operations["enterprise-admin/remove-custom-label-from-self-hosted-runner-for-enterprise"]; + }; + "/enterprises/{enterprise}/audit-log": { + /** Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ + get: operations["enterprise-admin/get-audit-log"]; + }; + "/enterprises/{enterprise}/code-scanning/alerts": { + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be a member of the enterprise, + * and you must use an access token with the `repo` scope or `security_events` scope. + */ + get: operations["code-scanning/list-alerts-for-enterprise"]; + }; + "/enterprises/{enterprise}/secret-scanning/alerts": { + /** + * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + */ + get: operations["secret-scanning/list-alerts-for-enterprise"]; + }; + "/enterprises/{enterprise}/settings/billing/actions": { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * The authenticated user must be an enterprise admin. + */ + get: operations["billing/get-github-actions-billing-ghe"]; + }; + "/enterprises/{enterprise}/settings/billing/advanced-security": { + /** + * Gets the GitHub Advanced Security active committers for an enterprise per repository. + * + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of active_users for each repository. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + get: operations["billing/get-github-advanced-security-billing-ghe"]; + }; + "/enterprises/{enterprise}/settings/billing/packages": { + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + get: operations["billing/get-github-packages-billing-ghe"]; + }; + "/enterprises/{enterprise}/settings/billing/shared-storage": { + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + get: operations["billing/get-shared-storage-billing-ghe"]; + }; + "/events": { + /** We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ + get: operations["activity/list-public-events"]; + }; + "/feeds": { + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + get: operations["activity/get-feeds"]; + }; + "/gists": { + /** Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */ + get: operations["gists/list"]; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + post: operations["gists/create"]; + }; + "/gists/public": { + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + get: operations["gists/list-public"]; + }; + "/gists/starred": { + /** List the authenticated user's starred gists: */ + get: operations["gists/list-starred"]; + }; + "/gists/{gist_id}": { + get: operations["gists/get"]; + delete: operations["gists/delete"]; + /** 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. */ + patch: operations["gists/update"]; + }; + "/gists/{gist_id}/comments": { + get: operations["gists/list-comments"]; + post: operations["gists/create-comment"]; + }; + "/gists/{gist_id}/comments/{comment_id}": { + get: operations["gists/get-comment"]; + delete: operations["gists/delete-comment"]; + patch: operations["gists/update-comment"]; + }; + "/gists/{gist_id}/commits": { + get: operations["gists/list-commits"]; + }; + "/gists/{gist_id}/forks": { + get: operations["gists/list-forks"]; + /** **Note**: This was previously `/gists/:gist_id/fork`. */ + post: operations["gists/fork"]; + }; + "/gists/{gist_id}/star": { + get: operations["gists/check-is-starred"]; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + put: operations["gists/star"]; + delete: operations["gists/unstar"]; + }; + "/gists/{gist_id}/{sha}": { + get: operations["gists/get-revision"]; + }; + "/gitignore/templates": { + /** List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). */ + get: operations["gitignore/get-all-templates"]; + }; + "/gitignore/templates/{name}": { + /** + * The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + get: operations["gitignore/get-template"]; + }; + "/installation/repositories": { + /** + * List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + get: operations["apps/list-repos-accessible-to-installation"]; + }; + "/installation/token": { + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + delete: operations["apps/revoke-installation-access-token"]; + }; + "/issues": { + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API 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://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list"]; + }; + "/licenses": { + get: operations["licenses/get-all-commonly-used"]; + }; + "/licenses/{license}": { + get: operations["licenses/get"]; + }; + "/markdown": { + post: operations["markdown/render"]; + }; + "/markdown/raw": { + /** You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. */ + post: operations["markdown/render-raw"]; + }; + "/marketplace_listing/accounts/{account_id}": { + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account"]; + }; + "/marketplace_listing/plans": { + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans"]; + }; + "/marketplace_listing/plans/{plan_id}/accounts": { + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan"]; + }; + "/marketplace_listing/stubbed/accounts/{account_id}": { + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account-stubbed"]; + }; + "/marketplace_listing/stubbed/plans": { + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans-stubbed"]; + }; + "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan-stubbed"]; + }; + "/meta": { + /** + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. + */ + get: operations["meta/get"]; + }; + "/networks/{owner}/{repo}/events": { + get: operations["activity/list-public-events-for-repo-network"]; + }; + "/notifications": { + /** List all notifications for the current user, sorted by most recently updated. */ + get: operations["activity/list-notifications-for-authenticated-user"]; + /** Marks all notifications 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 notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + put: operations["activity/mark-notifications-as-read"]; + }; + "/notifications/threads/{thread_id}": { + get: operations["activity/get-thread"]; + patch: operations["activity/mark-thread-as-read"]; + }; + "/notifications/threads/{thread_id}/subscription": { + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + get: operations["activity/get-thread-subscription-for-authenticated-user"]; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + */ + put: operations["activity/set-thread-subscription"]; + /** Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. */ + delete: operations["activity/delete-thread-subscription"]; + }; + "/octocat": { + /** Get the octocat as ASCII art */ + get: operations["meta/get-octocat"]; + }; + "/organizations": { + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + */ + get: operations["orgs/list"]; + }; + "/organizations/{organization_id}/custom_roles": { + /** + * List the custom repository roles available in this organization. In order to see custom + * repository roles in an organization, the authenticated user must be an organization owner. + * + * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". + */ + get: operations["orgs/list-custom-roles"]; + }; + "/orgs/{org}": { + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + */ + get: operations["orgs/get"]; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + patch: operations["orgs/update"]; + }; + "/orgs/{org}/actions/cache/usage": { + /** + * Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-for-org"]; + }; + "/orgs/{org}/actions/cache/usage-by-repository": { + /** + * Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; + }; + "/orgs/{org}/actions/oidc/customization/sub": { + /** + * Gets the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + */ + get: operations["oidc/get-oidc-custom-sub-template-for-org"]; + /** + * Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `write:org` scope to use this endpoint. + * GitHub Apps must have the `admin:org` permission to use this endpoint. + */ + put: operations["oidc/update-oidc-custom-sub-template-for-org"]; + }; + "/orgs/{org}/actions/permissions": { + /** + * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-github-actions-permissions-organization"]; + /** + * Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-github-actions-permissions-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories": { + /** + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; + /** + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + /** + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/enable-selected-repository-github-actions-organization"]; + /** + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + delete: operations["actions/disable-selected-repository-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/selected-actions": { + /** + * Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-allowed-actions-organization"]; + /** + * Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * If the organization belongs to an enterprise that has `selected` actions and reusable workflows set at the enterprise level, then you cannot override any of the enterprise's allowed actions and reusable workflows settings. + * + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-allowed-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/workflow": { + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; + }; + "/orgs/{org}/actions/runner-groups": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runner-groups-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Creates a new self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + post: operations["actions/create-self-hosted-runner-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Gets a specific self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-group-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Deletes a self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-group-from-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + patch: operations["actions/update-self-hosted-runner-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + put: operations["actions/add-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists self-hosted runners that are in a specific organization group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-in-group-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of self-hosted runners that are part of an organization runner group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-self-hosted-runners-in-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a self-hosted runner to a runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + put: operations["actions/add-self-hosted-runner-to-group-for-org"]; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-self-hosted-runner-from-group-for-org"]; + }; + "/orgs/{org}/actions/runners": { + /** + * Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-for-org"]; + }; + "/orgs/{org}/actions/runners/downloads": { + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-runner-applications-for-org"]; + }; + "/orgs/{org}/actions/runners/registration-token": { + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + post: operations["actions/create-registration-token-for-org"]; + }; + "/orgs/{org}/actions/runners/remove-token": { + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + post: operations["actions/create-remove-token-for-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}": { + /** + * Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-for-org"]; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels": { + /** + * Lists all labels for a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; + /** + * Add custom labels to a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-org"]; + /** + * Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/secrets": { + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/list-org-secrets"]; + }; + "/orgs/{org}/actions/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/get-org-public-key"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}": { + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/get-org-secret"]; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-org-secret"]; + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + delete: operations["actions/delete-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + get: operations["actions/list-selected-repos-for-org-secret"]; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + put: operations["actions/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + put: operations["actions/add-selected-repo-to-org-secret"]; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + delete: operations["actions/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/audit-log": { + /** + * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." + * + * This endpoint is available for organizations on GitHub Enterprise Cloud. To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + * + * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." + * + * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination)." + */ + get: operations["orgs/get-audit-log"]; + }; + "/orgs/{org}/blocks": { + /** List the users blocked by an organization. */ + get: operations["orgs/list-blocked-users"]; + }; + "/orgs/{org}/blocks/{username}": { + get: operations["orgs/check-blocked-user"]; + put: operations["orgs/block-user"]; + delete: operations["orgs/unblock-user"]; + }; + "/orgs/{org}/code-scanning/alerts": { + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/list-alerts-for-org"]; + }; + "/orgs/{org}/codespaces": { + /** + * Lists the codespaces associated to a specified organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-in-organization"]; + }; + "/orgs/{org}/credential-authorizations": { + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://docs.github.com/en/articles/about-authentication-with-saml-single-sign-on). + */ + get: operations["orgs/list-saml-sso-authorizations"]; + }; + "/orgs/{org}/credential-authorizations/{credential_id}": { + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. + */ + delete: operations["orgs/remove-saml-sso-authorization"]; + }; + "/orgs/{org}/dependabot/secrets": { + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/list-org-secrets"]; + }; + "/orgs/{org}/dependabot/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/get-org-public-key"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}": { + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/get-org-secret"]; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["dependabot/create-or-update-org-secret"]; + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + delete: operations["dependabot/delete-org-secret"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + get: operations["dependabot/list-selected-repos-for-org-secret"]; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + put: operations["dependabot/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + put: operations["dependabot/add-selected-repo-to-org-secret"]; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + delete: operations["dependabot/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/events": { + get: operations["activity/list-public-org-events"]; + }; + "/orgs/{org}/external-group/{group_id}": { + /** + * Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + get: operations["teams/external-idp-group-info-for-org"]; + }; + "/orgs/{org}/external-groups": { + /** + * Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + get: operations["teams/list-external-idp-groups-for-org"]; + }; + "/orgs/{org}/failed_invitations": { + /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ + get: operations["orgs/list-failed-invitations"]; + }; + "/orgs/{org}/hooks": { + get: operations["orgs/list-webhooks"]; + /** Here's how you can create a hook that posts payloads in JSON format: */ + post: operations["orgs/create-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}": { + /** Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." */ + get: operations["orgs/get-webhook"]; + delete: operations["orgs/delete-webhook"]; + /** Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." */ + patch: operations["orgs/update-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}/config": { + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + get: operations["orgs/get-webhook-config-for-org"]; + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + patch: operations["orgs/update-webhook-config-for-org"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries": { + /** Returns a list of webhook deliveries for a webhook configured in an organization. */ + get: operations["orgs/list-webhook-deliveries"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** Returns a delivery for a webhook configured in an organization. */ + get: operations["orgs/get-webhook-delivery"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** Redeliver a delivery for a webhook configured in an organization. */ + post: operations["orgs/redeliver-webhook-delivery"]; + }; + "/orgs/{org}/hooks/{hook_id}/pings": { + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + post: operations["orgs/ping-webhook"]; + }; + "/orgs/{org}/installation": { + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-org-installation"]; + }; + "/orgs/{org}/installations": { + /** Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ + get: operations["orgs/list-app-installations"]; + }; + "/orgs/{org}/interaction-limits": { + /** Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. */ + get: operations["interactions/get-restrictions-for-org"]; + /** Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. */ + put: operations["interactions/set-restrictions-for-org"]; + /** Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */ + delete: operations["interactions/remove-restrictions-for-org"]; + }; + "/orgs/{org}/invitations": { + /** The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ + get: operations["orgs/list-pending-invitations"]; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["orgs/create-invitation"]; + }; + "/orgs/{org}/invitations/{invitation_id}": { + /** + * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + delete: operations["orgs/cancel-invitation"]; + }; + "/orgs/{org}/invitations/{invitation_id}/teams": { + /** List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ + get: operations["orgs/list-invitation-teams"]; + }; + "/orgs/{org}/issues": { + /** + * List issues in an organization assigned to the authenticated user. + * + * **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://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-org"]; + }; + "/orgs/{org}/members": { + /** List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. */ + get: operations["orgs/list-members"]; + }; + "/orgs/{org}/members/{username}": { + /** Check if a user is, publicly or privately, a member of the organization. */ + get: operations["orgs/check-membership-for-user"]; + /** Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ + delete: operations["orgs/remove-member"]; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { + /** + * Deletes a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-from-organization"]; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { + /** + * Stops a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/stop-in-organization"]; + }; + "/orgs/{org}/memberships/{username}": { + /** In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */ + get: operations["orgs/get-membership-for-user"]; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + put: operations["orgs/set-membership-for-user"]; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + delete: operations["orgs/remove-membership-for-user"]; + }; + "/orgs/{org}/migrations": { + /** Lists the most recent migrations. */ + get: operations["migrations/list-for-org"]; + /** Initiates the generation of a migration archive. */ + post: operations["migrations/start-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}": { + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + get: operations["migrations/get-status-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/archive": { + /** Fetches the URL to a migration archive. */ + get: operations["migrations/download-archive-for-org"]; + /** Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ + delete: operations["migrations/delete-archive-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { + /** Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. */ + delete: operations["migrations/unlock-repo-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repositories": { + /** List all the repositories for this organization migration. */ + get: operations["migrations/list-repos-for-org"]; + }; + "/orgs/{org}/outside_collaborators": { + /** List all users who are outside collaborators of an organization. */ + get: operations["orgs/list-outside-collaborators"]; + }; + "/orgs/{org}/outside_collaborators/{username}": { + /** When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + put: operations["orgs/convert-member-to-outside-collaborator"]; + /** Removing a user from this list will remove them from all the organization's repositories. */ + delete: operations["orgs/remove-outside-collaborator"]; + }; + "/orgs/{org}/packages": { + /** + * Lists all packages in an organization readable by the user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-organization"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}": { + /** + * Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-organization"]; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/restore": { + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-organization"]; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-version-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-version-for-org"]; + }; + "/orgs/{org}/projects": { + /** Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + get: operations["projects/list-for-org"]; + /** Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + post: operations["projects/create-for-org"]; + }; + "/orgs/{org}/public_members": { + /** Members of an organization can choose to have their membership publicized or not. */ + get: operations["orgs/list-public-members"]; + }; + "/orgs/{org}/public_members/{username}": { + get: operations["orgs/check-public-membership-for-user"]; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["orgs/set-public-membership-for-authenticated-user"]; + delete: operations["orgs/remove-public-membership-for-authenticated-user"]; + }; + "/orgs/{org}/repos": { + /** Lists repositories for the specified organization. */ + get: operations["repos/list-for-org"]; + /** + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + post: operations["repos/create-in-org"]; + }; + "/orgs/{org}/secret-scanning/alerts": { + /** + * Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-org"]; + }; + "/orgs/{org}/settings/billing/actions": { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-github-actions-billing-org"]; + }; + "/orgs/{org}/settings/billing/advanced-security": { + /** + * Gets the GitHub Advanced Security active committers for an organization per repository. + * + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of advanced_security_committers for each repository. + * + * If this organization defers to an enterprise for billing, the `total_advanced_security_committers` returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + get: operations["billing/get-github-advanced-security-billing-org"]; + }; + "/orgs/{org}/settings/billing/packages": { + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-github-packages-billing-org"]; + }; + "/orgs/{org}/settings/billing/shared-storage": { + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-shared-storage-billing-org"]; + }; + "/orgs/{org}/team-sync/groups": { + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + */ + get: operations["teams/list-idp-groups-for-org"]; + }; + "/orgs/{org}/teams": { + /** Lists all teams in an organization that are visible to the authenticated user. */ + get: operations["teams/list"]; + /** + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + post: operations["teams/create"]; + }; + "/orgs/{org}/teams/{team_slug}": { + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + get: operations["teams/get-by-name"]; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + delete: operations["teams/delete-in-org"]; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + patch: operations["teams/update-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions": { + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + */ + get: operations["teams/list-discussions-in-org"]; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + */ + post: operations["teams/create-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + get: operations["teams/get-discussion-in-org"]; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + delete: operations["teams/delete-discussion-in-org"]; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + patch: operations["teams/update-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + get: operations["teams/list-discussion-comments-in-org"]; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + post: operations["teams/create-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + get: operations["teams/get-discussion-comment-in-org"]; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + delete: operations["teams/delete-discussion-comment-in-org"]; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + patch: operations["teams/update-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + get: operations["reactions/list-for-team-discussion-comment-in-org"]; + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + post: operations["reactions/create-for-team-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["reactions/delete-for-team-discussion-comment"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + /** + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + get: operations["reactions/list-for-team-discussion-in-org"]; + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + post: operations["reactions/create-for-team-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["reactions/delete-for-team-discussion"]; + }; + "/orgs/{org}/teams/{team_slug}/external-groups": { + /** + * Lists a connection between a team and an external group. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + get: operations["teams/list-linked-external-idp-groups-to-team-for-org"]; + /** + * Deletes a connection between a team and an external group. + * + * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["teams/unlink-external-idp-group-from-team-for-org"]; + /** + * Creates a connection between a team and an external group. Only one external group can be linked to a team. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + patch: operations["teams/link-external-idp-group-to-team-for-org"]; + }; + "/orgs/{org}/teams/{team_slug}/invitations": { + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + get: operations["teams/list-pending-invitations-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/members": { + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/list-members-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/memberships/{username}": { + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-in-org"]; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + put: operations["teams/add-or-update-membership-for-user-in-org"]; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + delete: operations["teams/remove-membership-for-user-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects": { + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + get: operations["teams/list-projects-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + get: operations["teams/check-permissions-for-project-in-org"]; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + put: operations["teams/add-or-update-project-permissions-in-org"]; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + delete: operations["teams/remove-project-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos": { + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + get: operations["teams/list-repos-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + get: operations["teams/check-permissions-for-repo-in-org"]; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + put: operations["teams/add-or-update-repo-permissions-in-org"]; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + delete: operations["teams/remove-repo-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/team-sync/group-mappings": { + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + get: operations["teams/list-idp-groups-in-org"]; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + patch: operations["teams/create-or-update-idp-group-connections-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/teams": { + /** + * Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + get: operations["teams/list-child-in-org"]; + }; + "/projects/columns/cards/{card_id}": { + get: operations["projects/get-card"]; + delete: operations["projects/delete-card"]; + patch: operations["projects/update-card"]; + }; + "/projects/columns/cards/{card_id}/moves": { + post: operations["projects/move-card"]; + }; + "/projects/columns/{column_id}": { + get: operations["projects/get-column"]; + delete: operations["projects/delete-column"]; + patch: operations["projects/update-column"]; + }; + "/projects/columns/{column_id}/cards": { + get: operations["projects/list-cards"]; + post: operations["projects/create-card"]; + }; + "/projects/columns/{column_id}/moves": { + post: operations["projects/move-column"]; + }; + "/projects/{project_id}": { + /** Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + get: operations["projects/get"]; + /** Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ + delete: operations["projects/delete"]; + /** Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + patch: operations["projects/update"]; + }; + "/projects/{project_id}/collaborators": { + /** Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */ + get: operations["projects/list-collaborators"]; + }; + "/projects/{project_id}/collaborators/{username}": { + /** Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */ + put: operations["projects/add-collaborator"]; + /** Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ + delete: operations["projects/remove-collaborator"]; + }; + "/projects/{project_id}/collaborators/{username}/permission": { + /** Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ + get: operations["projects/get-permission-for-user"]; + }; + "/projects/{project_id}/columns": { + get: operations["projects/list-columns"]; + post: operations["projects/create-column"]; + }; + "/rate_limit": { + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: operations["rate-limit/get"]; + }; + "/repos/{owner}/{repo}": { + /** 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: operations["repos/get"]; + /** + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + */ + delete: operations["repos/delete"]; + /** **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. */ + patch: operations["repos/update"]; + }; + "/repos/{owner}/{repo}/actions/artifacts": { + /** Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/list-artifacts-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + /** Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-artifact"]; + /** Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + delete: operations["actions/delete-artifact"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-artifact"]; + }; + "/repos/{owner}/{repo}/actions/cache/usage": { + /** + * Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage"]; + }; + "/repos/{owner}/{repo}/actions/caches": { + /** + * Lists the GitHub Actions caches for a repository. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-list"]; + /** + * Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-key"]; + }; + "/repos/{owner}/{repo}/actions/caches/{cache_id}": { + /** + * Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-id"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + /** Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-job-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-job-logs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { + /** Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + post: operations["actions/re-run-job-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/oidc/customization/sub": { + /** + * Gets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. + */ + get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; + /** + * Sets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/permissions": { + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + get: operations["actions/get-github-actions-permissions-repository"]; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + put: operations["actions/set-github-actions-permissions-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/access": { + /** + * Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + get: operations["actions/get-workflow-access-to-repository"]; + /** + * Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + put: operations["actions/set-workflow-access-to-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + /** + * Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + get: operations["actions/get-allowed-actions-repository"]; + /** + * Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * If the repository belongs to an organization or enterprise that has `selected` actions and reusable workflows set at the organization or enterprise levels, then you cannot override any of the allowed actions and reusable workflows settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + put: operations["actions/set-allowed-actions-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/workflow": { + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; + }; + "/repos/{owner}/{repo}/actions/runners": { + /** Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + get: operations["actions/list-self-hosted-runners-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/downloads": { + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + get: operations["actions/list-runner-applications-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/registration-token": { + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate + * using an access token with the `repo` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN + * ``` + */ + post: operations["actions/create-registration-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/remove-token": { + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + post: operations["actions/create-remove-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + /** + * Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + get: operations["actions/get-self-hosted-runner-for-repo"]; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` + * scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { + /** + * Lists all labels for a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; + /** + * Add custom labels to a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-repo"]; + /** + * Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs": { + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/list-workflow-runs-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + /** Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-workflow-run"]; + /** + * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ + delete: operations["actions/delete-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-reviews-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { + /** + * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/approve-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + /** Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/list-workflow-run-artifacts"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { + /** + * Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. + */ + get: operations["actions/get-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + /** Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + get: operations["actions/list-jobs-for-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { + /** + * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-workflow-run-attempt-logs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + /** Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + post: operations["actions/cancel-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + /** Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + get: operations["actions/list-jobs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-workflow-run-logs"]; + /** Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + delete: operations["actions/delete-workflow-run-logs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-pending-deployments-for-run"]; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. + */ + post: operations["actions/review-pending-deployments-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + /** Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + post: operations["actions/re-run-workflow"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { + /** Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + post: operations["actions/re-run-workflow-failed-jobs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + /** + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-run-usage"]; + }; + "/repos/{owner}/{repo}/actions/secrets": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/actions/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-repo-secret"]; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-repo-secret"]; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + delete: operations["actions/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/actions/workflows": { + /** Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/list-repo-workflows"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + /** Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/disable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + post: operations["actions/create-workflow-dispatch"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/enable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + get: operations["actions/list-workflow-runs"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + /** + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-usage"]; + }; + "/repos/{owner}/{repo}/assignees": { + /** Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ + get: operations["issues/list-assignees"]; + }; + "/repos/{owner}/{repo}/assignees/{assignee}": { + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned"]; + }; + "/repos/{owner}/{repo}/autolinks": { + /** + * This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/list-autolinks"]; + /** Users with admin access to the repository can create an autolink. */ + post: operations["repos/create-autolink"]; + }; + "/repos/{owner}/{repo}/autolinks/{autolink_id}": { + /** + * This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/get-autolink"]; + /** + * This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + delete: operations["repos/delete-autolink"]; + }; + "/repos/{owner}/{repo}/automated-security-fixes": { + /** Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ + put: operations["repos/enable-automated-security-fixes"]; + /** Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ + delete: operations["repos/disable-automated-security-fixes"]; + }; + "/repos/{owner}/{repo}/branches": { + get: operations["repos/list-branches"]; + }; + "/repos/{owner}/{repo}/branches/{branch}": { + get: operations["repos/get-branch"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-branch-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + put: operations["repos/update-branch-protection"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/delete-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-admin-branch-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + post: operations["repos/set-admin-branch-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + delete: operations["repos/delete-admin-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-pull-request-review-protection"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/delete-pull-request-review-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + patch: operations["repos/update-pull-request-review-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + get: operations["repos/get-commit-signature-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + post: operations["repos/create-commit-signature-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + delete: operations["repos/delete-commit-signature-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-status-checks-protection"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/remove-status-check-protection"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + patch: operations["repos/update-status-check-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["repos/get-all-status-check-contexts"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + put: operations["repos/set-status-check-contexts"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + post: operations["repos/add-status-check-contexts"]; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["repos/remove-status-check-contexts"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + get: operations["repos/get-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + delete: operations["repos/delete-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + get: operations["repos/get-apps-with-access-to-protected-branch"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | 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. | + */ + put: operations["repos/set-app-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | 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. | + */ + post: operations["repos/add-app-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | 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. | + */ + delete: operations["repos/remove-app-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + get: operations["repos/get-teams-with-access-to-protected-branch"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | 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. | + */ + put: operations["repos/set-team-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | 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. | + */ + post: operations["repos/add-team-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | 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. | + */ + delete: operations["repos/remove-team-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + get: operations["repos/get-users-with-access-to-protected-branch"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + put: operations["repos/set-user-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + post: operations["repos/add-user-access-restrictions"]; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + delete: operations["repos/remove-user-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/rename": { + /** + * Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The permissions required to use this endpoint depends on whether you are renaming the default branch. + * + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. + */ + post: operations["repos/rename-branch"]; + }; + "/repos/{owner}/{repo}/check-runs": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + post: operations["checks/create"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: operations["checks/get"]; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + */ + patch: operations["checks/update"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + /** Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ + get: operations["checks/list-annotations"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { + /** + * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + post: operations["checks/rerequest-run"]; + }; + "/repos/{owner}/{repo}/check-suites": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + post: operations["checks/create-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/preferences": { + /** Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */ + patch: operations["checks/set-suites-preferences"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + get: operations["checks/get-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: operations["checks/list-for-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + post: operations["checks/rerequest-suite"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts": { + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + get: operations["code-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + /** + * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. + */ + get: operations["code-scanning/get-alert"]; + /** Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. */ + patch: operations["code-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + /** + * Lists all instances of the specified code scanning alert. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/list-alert-instances"]; + }; + "/repos/{owner}/{repo}/code-scanning/analyses": { + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + get: operations["code-scanning/list-recent-analyses"]; + }; + "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { + /** + * Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + */ + get: operations["code-scanning/get-analysis"]; + /** + * Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` scope. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `analysis_key` + * * `environment` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + delete: operations["code-scanning/delete-analysis"]; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs": { + /** + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." + */ + post: operations["code-scanning/upload-sarif"]; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { + /** Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */ + get: operations["code-scanning/get-sarif"]; + }; + "/repos/{owner}/{repo}/codeowners/errors": { + /** + * List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + get: operations["repos/codeowners-errors"]; + }; + "/repos/{owner}/{repo}/codespaces": { + /** + * Lists the codespaces associated to a specified repository and the authenticated user. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/list-in-repository-for-authenticated-user"]; + /** + * Creates a codespace owned by the authenticated user in the specified repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-with-repo-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/devcontainers": { + /** + * Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/machines": { + /** + * List the machine types available for a given repository based on its configuration. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/repo-machines-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/new": { + /** + * Gets the default attributes for codespaces created by the user with the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + get: operations["codespaces/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + get: operations["codespaces/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + get: operations["codespaces/get-repo-secret"]; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository + * permission to use this endpoint. + * + * #### Example of encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example of encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example of encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example of encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["codespaces/create-or-update-repo-secret"]; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + delete: operations["codespaces/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/collaborators": { + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + get: operations["repos/list-collaborators"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}": { + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + get: operations["repos/check-collaborator"]; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + put: operations["repos/add-collaborator"]; + delete: operations["repos/remove-collaborator"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + /** Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ + get: operations["repos/get-collaborator-permission-level"]; + }; + "/repos/{owner}/{repo}/comments": { + /** + * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + get: operations["repos/list-commit-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}": { + get: operations["repos/get-commit-comment"]; + delete: operations["repos/delete-commit-comment"]; + patch: operations["repos/update-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + /** List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ + get: operations["reactions/list-for-commit-comment"]; + /** Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */ + post: operations["reactions/create-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + delete: operations["reactions/delete-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits": { + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/list-commits"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + get: operations["repos/list-branches-for-head-commit"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { + /** Use the `:commit_sha` to specify the commit that will have its comments listed. */ + get: operations["repos/list-comments-for-commit"]; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["repos/create-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + /** Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. */ + get: operations["repos/list-pull-requests-associated-with-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}": { + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/get-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-runs": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: operations["checks/list-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-suites": { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + get: operations["checks/list-suites-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/status": { + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + get: operations["repos/get-combined-status-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + get: operations["repos/list-commit-statuses-for-ref"]; + }; + "/repos/{owner}/{repo}/community/profile": { + /** + * 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. + * + * The `health_percentage` score is defined as a percentage of how many of + * these four documents are present: README, CONTRIBUTING, LICENSE, and + * CODE_OF_CONDUCT. For example, if all four documents are present, then + * the `health_percentage` is `100`. If only one is present, then the + * `health_percentage` is `25`. + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + get: operations["repos/get-community-profile-metrics"]; + }; + "/repos/{owner}/{repo}/compare/{basehead}": { + /** + * The `basehead` param is comprised of two parts: `base` and `head`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits-with-basehead"]; + }; + "/repos/{owner}/{repo}/contents/{path}": { + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/reference/repos#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://docs.github.com/rest/reference/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://docs.github.com/rest/reference/git#get-a-tree). + * + * #### Size limits + * If the requested file's size is: + * * 1 MB or smaller: All features of this endpoint are supported. + * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * * Greater than 100 MB: This endpoint is not supported. + * + * #### If the content is a directory + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * #### If the content is a symlink + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * #### If the content is a submodule + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + get: operations["repos/get-content"]; + /** Creates a new file or replaces an existing file in a repository. */ + put: operations["repos/create-or-update-file-contents"]; + /** + * 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. + */ + delete: operations["repos/delete-file"]; + }; + "/repos/{owner}/{repo}/contributors": { + /** + * 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. + */ + get: operations["repos/list-contributors"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets": { + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + get: operations["dependabot/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets/public-key": { + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + get: operations["dependabot/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + get: operations["dependabot/get-repo-secret"]; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["dependabot/create-or-update-repo-secret"]; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + delete: operations["dependabot/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { + /** Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ + get: operations["dependency-graph/diff-range"]; + }; + "/repos/{owner}/{repo}/dependency-graph/snapshots": { + /** Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. */ + post: operations["dependency-graph/create-repository-snapshot"]; + }; + "/repos/{owner}/{repo}/deployments": { + /** Simple filtering of deployments is available via query parameters: */ + get: operations["repos/list-deployments"]; + /** + * Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * #### Merged branch response + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * #### Merge conflict response + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * #### Failed commit status checks + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + post: operations["repos/create-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}": { + get: operations["repos/get-deployment"]; + /** + * If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." + */ + delete: operations["repos/delete-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + /** Users with pull access can view deployment statuses for a deployment: */ + get: operations["repos/list-deployment-statuses"]; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + post: operations["repos/create-deployment-status"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { + /** Users with pull access can view a deployment status for a deployment: */ + get: operations["repos/get-deployment-status"]; + }; + "/repos/{owner}/{repo}/dispatches": { + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + post: operations["repos/create-dispatch-event"]; + }; + "/repos/{owner}/{repo}/environments": { + /** + * Get all environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/get-all-environments"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}": { + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["repos/get-environment"]; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)." + * + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + /** You must authenticate using an access token with the repo scope to use this endpoint. */ + delete: operations["repos/delete-an-environment"]; + }; + "/repos/{owner}/{repo}/events": { + get: operations["activity/list-repo-events"]; + }; + "/repos/{owner}/{repo}/forks": { + get: operations["repos/list-forks"]; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + */ + post: operations["repos/create-fork"]; + }; + "/repos/{owner}/{repo}/git/blobs": { + post: operations["git/create-blob"]; + }; + "/repos/{owner}/{repo}/git/blobs/{file_sha}": { + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + get: operations["git/get-blob"]; + }; + "/repos/{owner}/{repo}/git/commits": { + /** + * Creates a new 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: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on 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. | + */ + post: operations["git/create-commit"]; + }; + "/repos/{owner}/{repo}/git/commits/{commit_sha}": { + /** + * 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: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-commit"]; + }; + "/repos/{owner}/{repo}/git/matching-refs/{ref}": { + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + get: operations["git/list-matching-refs"]; + }; + "/repos/{owner}/{repo}/git/ref/{ref}": { + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + get: operations["git/get-ref"]; + }; + "/repos/{owner}/{repo}/git/refs": { + /** Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. */ + post: operations["git/create-ref"]; + }; + "/repos/{owner}/{repo}/git/refs/{ref}": { + delete: operations["git/delete-ref"]; + patch: operations["git/update-ref"]; + }; + "/repos/{owner}/{repo}/git/tags": { + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on 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. | + */ + post: operations["git/create-tag"]; + }; + "/repos/{owner}/{repo}/git/tags/{tag_sha}": { + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-tag"]; + }; + "/repos/{owner}/{repo}/git/trees": { + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + */ + post: operations["git/create-tree"]; + }; + "/repos/{owner}/{repo}/git/trees/{tree_sha}": { + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + */ + get: operations["git/get-tree"]; + }; + "/repos/{owner}/{repo}/hooks": { + get: operations["repos/list-webhooks"]; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + post: operations["repos/create-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}": { + /** Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." */ + get: operations["repos/get-webhook"]; + delete: operations["repos/delete-webhook"]; + /** Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." */ + patch: operations["repos/update-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/config": { + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + get: operations["repos/get-webhook-config-for-repo"]; + /** + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." + * + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + */ + patch: operations["repos/update-webhook-config-for-repo"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + /** Returns a list of webhook deliveries for a webhook configured in a repository. */ + get: operations["repos/list-webhook-deliveries"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** Returns a delivery for a webhook configured in a repository. */ + get: operations["repos/get-webhook-delivery"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** Redeliver a webhook delivery for a webhook configured in a repository. */ + post: operations["repos/redeliver-webhook-delivery"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + post: operations["repos/ping-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + post: operations["repos/test-push-webhook"]; + }; + "/repos/{owner}/{repo}/import": { + /** + * 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 an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + get: operations["migrations/get-import-status"]; + /** Start a source import to a GitHub repository using GitHub Importer. */ + put: operations["migrations/start-import"]; + /** Stop an import for a repository. */ + delete: operations["migrations/cancel-import"]; + /** + * 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. + */ + patch: operations["migrations/update-import"]; + }; + "/repos/{owner}/{repo}/import/authors": { + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. + */ + get: operations["migrations/get-commit-authors"]; + }; + "/repos/{owner}/{repo}/import/authors/{author_id}": { + /** Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. */ + patch: operations["migrations/map-commit-author"]; + }; + "/repos/{owner}/{repo}/import/large_files": { + /** List files larger than 100MB found during the import */ + get: operations["migrations/get-large-files"]; + }; + "/repos/{owner}/{repo}/import/lfs": { + /** 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://docs.github.com/articles/versioning-large-files/). */ + patch: operations["migrations/set-lfs-preference"]; + }; + "/repos/{owner}/{repo}/installation": { + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-repo-installation"]; + }; + "/repos/{owner}/{repo}/interaction-limits": { + /** Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. */ + get: operations["interactions/get-restrictions-for-repo"]; + /** Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + put: operations["interactions/set-restrictions-for-repo"]; + /** Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + delete: operations["interactions/remove-restrictions-for-repo"]; + }; + "/repos/{owner}/{repo}/invitations": { + /** When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ + get: operations["repos/list-invitations"]; + }; + "/repos/{owner}/{repo}/invitations/{invitation_id}": { + delete: operations["repos/delete-invitation"]; + patch: operations["repos/update-invitation"]; + }; + "/repos/{owner}/{repo}/issues": { + /** + * List issues in a repository. + * + * **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://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-repo"]; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["issues/create"]; + }; + "/repos/{owner}/{repo}/issues/comments": { + /** By default, Issue Comments are ordered by ascending ID. */ + get: operations["issues/list-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}": { + get: operations["issues/get-comment"]; + delete: operations["issues/delete-comment"]; + patch: operations["issues/update-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + /** List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ + get: operations["reactions/list-for-issue-comment"]; + /** Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */ + post: operations["reactions/create-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + delete: operations["reactions/delete-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/events": { + get: operations["issues/list-events-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/events/{event_id}": { + get: operations["issues/get-event"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}": { + /** + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API 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://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/get"]; + /** Issue owners and users with push access can edit an issue. */ + patch: operations["issues/update"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { + /** Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. */ + post: operations["issues/add-assignees"]; + /** Removes one or more assignees from an issue. */ + delete: operations["issues/remove-assignees"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/comments": { + /** Issue Comments are ordered by ascending ID. */ + get: operations["issues/list-comments"]; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + post: operations["issues/create-comment"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/events": { + get: operations["issues/list-events"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels": { + get: operations["issues/list-labels-on-issue"]; + /** Removes any previous labels and sets the new labels for an issue. */ + put: operations["issues/set-labels"]; + post: operations["issues/add-labels"]; + delete: operations["issues/remove-all-labels"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { + /** Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. */ + delete: operations["issues/remove-label"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/lock": { + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["issues/lock"]; + /** Users with push access can unlock an issue's conversation. */ + delete: operations["issues/unlock"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { + /** List the reactions to an [issue](https://docs.github.com/rest/reference/issues). */ + get: operations["reactions/list-for-issue"]; + /** Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. */ + post: operations["reactions/create-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + */ + delete: operations["reactions/delete-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { + get: operations["issues/list-events-for-timeline"]; + }; + "/repos/{owner}/{repo}/keys": { + get: operations["repos/list-deploy-keys"]; + /** You can create a read-only deploy key. */ + post: operations["repos/create-deploy-key"]; + }; + "/repos/{owner}/{repo}/keys/{key_id}": { + get: operations["repos/get-deploy-key"]; + /** Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */ + delete: operations["repos/delete-deploy-key"]; + }; + "/repos/{owner}/{repo}/labels": { + get: operations["issues/list-labels-for-repo"]; + post: operations["issues/create-label"]; + }; + "/repos/{owner}/{repo}/labels/{name}": { + get: operations["issues/get-label"]; + delete: operations["issues/delete-label"]; + patch: operations["issues/update-label"]; + }; + "/repos/{owner}/{repo}/languages": { + /** Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ + get: operations["repos/list-languages"]; + }; + "/repos/{owner}/{repo}/lfs": { + put: operations["repos/enable-lfs-for-repo"]; + delete: operations["repos/disable-lfs-for-repo"]; + }; + "/repos/{owner}/{repo}/license": { + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + */ + get: operations["licenses/get-for-repo"]; + }; + "/repos/{owner}/{repo}/merge-upstream": { + /** Sync a branch of a forked repository to keep it up-to-date with the upstream repository. */ + post: operations["repos/merge-upstream"]; + }; + "/repos/{owner}/{repo}/merges": { + post: operations["repos/merge"]; + }; + "/repos/{owner}/{repo}/milestones": { + get: operations["issues/list-milestones"]; + post: operations["issues/create-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}": { + get: operations["issues/get-milestone"]; + delete: operations["issues/delete-milestone"]; + patch: operations["issues/update-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + get: operations["issues/list-labels-for-milestone"]; + }; + "/repos/{owner}/{repo}/notifications": { + /** List all notifications for the current user. */ + get: operations["activity/list-repo-notifications-for-authenticated-user"]; + /** 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 repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + put: operations["activity/mark-repo-notifications-as-read"]; + }; + "/repos/{owner}/{repo}/pages": { + get: operations["repos/get-pages"]; + /** Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). */ + put: operations["repos/update-information-about-pages-site"]; + /** Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." */ + post: operations["repos/create-pages-site"]; + delete: operations["repos/delete-pages-site"]; + }; + "/repos/{owner}/{repo}/pages/builds": { + get: operations["repos/list-pages-builds"]; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + post: operations["repos/request-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/latest": { + get: operations["repos/get-latest-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/{build_id}": { + get: operations["repos/get-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/health": { + /** + * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint. + */ + get: operations["repos/get-pages-health-check"]; + }; + "/repos/{owner}/{repo}/projects": { + /** Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + get: operations["projects/list-for-repo"]; + /** Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + post: operations["projects/create-for-repo"]; + }; + "/repos/{owner}/{repo}/pulls": { + /** Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + get: operations["pulls/list"]; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + post: operations["pulls/create"]; + }; + "/repos/{owner}/{repo}/pulls/comments": { + /** Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */ + get: operations["pulls/list-review-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { + /** Provides details for a review comment. */ + get: operations["pulls/get-review-comment"]; + /** Deletes a review comment. */ + delete: operations["pulls/delete-review-comment"]; + /** Enables you to edit a review comment. */ + patch: operations["pulls/update-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + /** List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */ + get: operations["reactions/list-for-pull-request-review-comment"]; + /** Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */ + post: operations["reactions/create-for-pull-request-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + delete: operations["reactions/delete-for-pull-request-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}": { + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + get: operations["pulls/get"]; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + patch: operations["pulls/update"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { + /** + * Creates a codespace owned by the authenticated user for the specified pull request. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-with-pr-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { + /** Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ + get: operations["pulls/list-review-comments"]; + /** + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/create-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/create-reply-for-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { + /** Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. */ + get: operations["pulls/list-commits"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/files": { + /** **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */ + get: operations["pulls/list-files"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { + get: operations["pulls/check-if-merged"]; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + put: operations["pulls/merge"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + /** Lists the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. */ + get: operations["pulls/list-requested-reviewers"]; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + post: operations["pulls/request-reviewers"]; + delete: operations["pulls/remove-requested-reviewers"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + /** The list of reviews returns in chronological order. */ + get: operations["pulls/list-reviews"]; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. + * + * **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://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + post: operations["pulls/create-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { + get: operations["pulls/get-review"]; + /** Update the review summary comment with new text. */ + put: operations["pulls/update-review"]; + delete: operations["pulls/delete-pending-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + /** List comments for a specific pull request review. */ + get: operations["pulls/list-comments-for-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { + /** **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */ + put: operations["pulls/dismiss-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { + post: operations["pulls/submit-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { + /** Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ + put: operations["pulls/update-branch"]; + }; + "/repos/{owner}/{repo}/readme": { + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + get: operations["repos/get-readme"]; + }; + "/repos/{owner}/{repo}/readme/{dir}": { + /** + * Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + get: operations["repos/get-readme-in-directory"]; + }; + "/repos/{owner}/{repo}/releases": { + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + get: operations["repos/list-releases"]; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["repos/create-release"]; + }; + "/repos/{owner}/{repo}/releases/assets/{asset_id}": { + /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ + get: operations["repos/get-release-asset"]; + delete: operations["repos/delete-release-asset"]; + /** Users with push access to the repository can edit a release asset. */ + patch: operations["repos/update-release-asset"]; + }; + "/repos/{owner}/{repo}/releases/generate-notes": { + /** Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */ + post: operations["repos/generate-release-notes"]; + }; + "/repos/{owner}/{repo}/releases/latest": { + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + get: operations["repos/get-latest-release"]; + }; + "/repos/{owner}/{repo}/releases/tags/{tag}": { + /** Get a published release with the specified tag. */ + get: operations["repos/get-release-by-tag"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}": { + /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + get: operations["repos/get-release"]; + /** Users with push access to the repository can delete a release. */ + delete: operations["repos/delete-release"]; + /** Users with push access to the repository can edit a release. */ + patch: operations["repos/update-release"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/assets": { + get: operations["repos/list-release-assets"]; + /** + * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + post: operations["repos/upload-release-asset"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions": { + /** List the reactions to a [release](https://docs.github.com/rest/reference/repos#releases). */ + get: operations["reactions/list-for-release"]; + /** Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */ + post: operations["reactions/create-for-release"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). + */ + delete: operations["reactions/delete-for-release"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts": { + /** + * Lists secret scanning alerts for an eligible repository, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + /** + * Gets a single secret scanning alert detected in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/get-alert"]; + /** + * Updates the status of a secret scanning alert in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + patch: operations["secret-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + /** + * Lists all locations for a given secret scanning alert for an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-locations-for-alert"]; + }; + "/repos/{owner}/{repo}/stargazers": { + /** + * Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["activity/list-stargazers-for-repo"]; + }; + "/repos/{owner}/{repo}/stats/code_frequency": { + /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + get: operations["repos/get-code-frequency-stats"]; + }; + "/repos/{owner}/{repo}/stats/commit_activity": { + /** Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */ + get: operations["repos/get-commit-activity-stats"]; + }; + "/repos/{owner}/{repo}/stats/contributors": { + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + get: operations["repos/get-contributors-stats"]; + }; + "/repos/{owner}/{repo}/stats/participation": { + /** + * 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. + */ + get: operations["repos/get-participation-stats"]; + }; + "/repos/{owner}/{repo}/stats/punch_card": { + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + get: operations["repos/get-punch-card-stats"]; + }; + "/repos/{owner}/{repo}/statuses/{sha}": { + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + post: operations["repos/create-commit-status"]; + }; + "/repos/{owner}/{repo}/subscribers": { + /** Lists the people watching the specified repository. */ + get: operations["activity/list-watchers-for-repo"]; + }; + "/repos/{owner}/{repo}/subscription": { + get: operations["activity/get-repo-subscription"]; + /** If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. */ + put: operations["activity/set-repo-subscription"]; + /** This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). */ + delete: operations["activity/delete-repo-subscription"]; + }; + "/repos/{owner}/{repo}/tags": { + get: operations["repos/list-tags"]; + }; + "/repos/{owner}/{repo}/tags/protection": { + /** + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + get: operations["repos/list-tag-protection"]; + /** + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + post: operations["repos/create-tag-protection"]; + }; + "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { + /** + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + delete: operations["repos/delete-tag-protection"]; + }; + "/repos/{owner}/{repo}/tarball/{ref}": { + /** + * Gets a redirect URL to download a tar archive for a repository. 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. + */ + get: operations["repos/download-tarball-archive"]; + }; + "/repos/{owner}/{repo}/teams": { + get: operations["repos/list-teams"]; + }; + "/repos/{owner}/{repo}/topics": { + get: operations["repos/get-all-topics"]; + put: operations["repos/replace-all-topics"]; + }; + "/repos/{owner}/{repo}/traffic/clones": { + /** Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + get: operations["repos/get-clones"]; + }; + "/repos/{owner}/{repo}/traffic/popular/paths": { + /** Get the top 10 popular contents over the last 14 days. */ + get: operations["repos/get-top-paths"]; + }; + "/repos/{owner}/{repo}/traffic/popular/referrers": { + /** Get the top 10 referrers over the last 14 days. */ + get: operations["repos/get-top-referrers"]; + }; + "/repos/{owner}/{repo}/traffic/views": { + /** Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + get: operations["repos/get-views"]; + }; + "/repos/{owner}/{repo}/transfer": { + /** A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). */ + post: operations["repos/transfer"]; + }; + "/repos/{owner}/{repo}/vulnerability-alerts": { + /** Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + get: operations["repos/check-vulnerability-alerts"]; + /** Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + put: operations["repos/enable-vulnerability-alerts"]; + /** Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + delete: operations["repos/disable-vulnerability-alerts"]; + }; + "/repos/{owner}/{repo}/zipball/{ref}": { + /** + * Gets a redirect URL to download a zip archive for a repository. 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. + */ + get: operations["repos/download-zipball-archive"]; + }; + "/repos/{template_owner}/{template_repo}/generate": { + /** + * 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 a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + post: operations["repos/create-using-template"]; + }; + "/repositories": { + /** + * Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + */ + get: operations["repos/list-public"]; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets": { + /** Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/list-environment-secrets"]; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { + /** Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-environment-public-key"]; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { + /** Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + get: operations["actions/get-environment-secret"]; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-environment-secret"]; + /** Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + delete: operations["actions/delete-environment-secret"]; + }; + "/scim/v2/enterprises/{enterprise}/Groups": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/list-provisioned-groups-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. + */ + post: operations["enterprise-admin/provision-and-invite-enterprise-group"]; + }; + "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/get-provisioning-information-for-enterprise-group"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. + */ + put: operations["enterprise-admin/set-information-for-provisioned-enterprise-group"]; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + delete: operations["enterprise-admin/delete-scim-group-from-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + */ + patch: operations["enterprise-admin/update-attribute-for-enterprise-group"]; + }; + "/scim/v2/enterprises/{enterprise}/Users": { + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise. + * + * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place. + */ + get: operations["enterprise-admin/list-provisioned-identities-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision enterprise membership for a user, and send organization invitation emails to the email address. + * + * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. + */ + post: operations["enterprise-admin/provision-and-invite-enterprise-user"]; + }; + "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": { + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/get-provisioning-information-for-enterprise-user"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + put: operations["enterprise-admin/set-information-for-provisioned-enterprise-user"]; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + delete: operations["enterprise-admin/delete-user-from-enterprise"]; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + patch: operations["enterprise-admin/update-attribute-for-enterprise-user"]; + }; + "/scim/v2/organizations/{org}/Users": { + /** + * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub organization. + * + * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place. + */ + get: operations["scim/list-provisioned-identities"]; + /** Provision organization membership for a user, and send an activation email to the email address. */ + post: operations["scim/provision-and-invite-user"]; + }; + "/scim/v2/organizations/{org}/Users/{scim_user_id}": { + get: operations["scim/get-provisioning-information-for-user"]; + /** + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + put: operations["scim/set-information-for-provisioned-user"]; + delete: operations["scim/delete-user-from-org"]; + /** + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + patch: operations["scim/update-attribute-for-user"]; + }; + "/search/code": { + /** + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * #### Considerations for code search + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + */ + get: operations["search/code"]; + }; + "/search/commits": { + /** + * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + get: operations["search/commits"]; + }; + "/search/issues": { + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + get: operations["search/issues-and-pull-requests"]; + }; + "/search/labels": { + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + get: operations["search/labels"]; + }; + "/search/repositories": { + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + */ + get: operations["search/repos"]; + }; + "/search/topics": { + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + get: operations["search/topics"]; + }; + "/search/users": { + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + */ + get: operations["search/users"]; + }; + "/teams/{team_id}": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. */ + get: operations["teams/get-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + delete: operations["teams/delete-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + patch: operations["teams/update-legacy"]; + }; + "/teams/{team_id}/discussions": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/list-discussions-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["teams/create-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/get-discussion-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["teams/delete-discussion-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + patch: operations["teams/update-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/list-discussion-comments-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["teams/create-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/get-discussion-comment-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["teams/delete-discussion-comment-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + patch: operations["teams/update-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + */ + post: operations["reactions/create-for-team-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/reactions": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["reactions/list-for-team-discussion-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + */ + post: operations["reactions/create-for-team-discussion-legacy"]; + }; + "/teams/{team_id}/invitations": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + get: operations["teams/list-pending-invitations-legacy"]; + }; + "/teams/{team_id}/members": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + get: operations["teams/list-members-legacy"]; + }; + "/teams/{team_id}/members/{username}": { + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/get-member-legacy"]; + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["teams/add-member-legacy"]; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-member-legacy"]; + }; + "/teams/{team_id}/memberships/{username}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + put: operations["teams/add-or-update-membership-for-user-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-membership-for-user-legacy"]; + }; + "/teams/{team_id}/projects": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + */ + get: operations["teams/list-projects-legacy"]; + }; + "/teams/{team_id}/projects/{project_id}": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + */ + get: operations["teams/check-permissions-for-project-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + */ + put: operations["teams/add-or-update-project-permissions-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + */ + delete: operations["teams/remove-project-legacy"]; + }; + "/teams/{team_id}/repos": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. */ + get: operations["teams/list-repos-legacy"]; + }; + "/teams/{team_id}/repos/{owner}/{repo}": { + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["teams/check-permissions-for-repo-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["teams/add-or-update-repo-permissions-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + delete: operations["teams/remove-repo-legacy"]; + }; + "/teams/{team_id}/team-sync/group-mappings": { + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + */ + get: operations["teams/list-idp-groups-for-legacy"]; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + */ + patch: operations["teams/create-or-update-idp-group-connections-legacy"]; + }; + "/teams/{team_id}/teams": { + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. */ + get: operations["teams/list-child-legacy"]; + }; + "/user": { + /** + * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. + * + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + */ + get: operations["users/get-authenticated"]; + /** **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. */ + patch: operations["users/update-authenticated"]; + }; + "/user/blocks": { + /** List the users you've blocked on your personal account. */ + get: operations["users/list-blocked-by-authenticated-user"]; + }; + "/user/blocks/{username}": { + get: operations["users/check-blocked"]; + put: operations["users/block"]; + delete: operations["users/unblock"]; + }; + "/user/codespaces": { + /** + * Lists the authenticated user's codespaces. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/list-for-authenticated-user"]; + /** + * Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-for-authenticated-user"]; + }; + "/user/codespaces/secrets": { + /** + * Lists all secrets available for a user's Codespaces without revealing their + * encrypted values. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/list-secrets-for-authenticated-user"]; + }; + "/user/codespaces/secrets/public-key": { + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/get-public-key-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}": { + /** + * Gets a secret available to a user's codespaces without revealing its encrypted value. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/get-secret-for-authenticated-user"]; + /** + * Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; + /** + * Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + delete: operations["codespaces/delete-secret-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}/repositories": { + /** + * List the repositories that have been granted the ability to use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; + /** + * Select the repositories that will use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + /** + * Adds a repository to the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. + */ + put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; + /** + * Removes a repository from the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}": { + /** + * Gets information about a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/get-for-authenticated-user"]; + /** + * Deletes a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + delete: operations["codespaces/delete-for-authenticated-user"]; + /** + * Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + patch: operations["codespaces/update-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/exports": { + /** + * Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/export-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/exports/{export_id}": { + /** + * Gets information about an export of a codespace. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + get: operations["codespaces/get-export-details-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/machines": { + /** + * List the machine types a codespace can transition to use. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/codespace-machines-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/start": { + /** + * Starts a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/start-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/stop": { + /** + * Stops a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/stop-for-authenticated-user"]; + }; + "/user/email/visibility": { + /** Sets the visibility for your primary email addresses. */ + patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; + }; + "/user/emails": { + /** Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ + get: operations["users/list-emails-for-authenticated-user"]; + /** This endpoint is accessible with the `user` scope. */ + post: operations["users/add-email-for-authenticated-user"]; + /** This endpoint is accessible with the `user` scope. */ + delete: operations["users/delete-email-for-authenticated-user"]; + }; + "/user/followers": { + /** Lists the people following the authenticated user. */ + get: operations["users/list-followers-for-authenticated-user"]; + }; + "/user/following": { + /** Lists the people who the authenticated user follows. */ + get: operations["users/list-followed-by-authenticated-user"]; + }; + "/user/following/{username}": { + get: operations["users/check-person-is-followed-by-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://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + put: operations["users/follow"]; + /** Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ + delete: operations["users/unfollow"]; + }; + "/user/gpg_keys": { + /** Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/list-gpg-keys-for-authenticated-user"]; + /** Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + post: operations["users/create-gpg-key-for-authenticated-user"]; + }; + "/user/gpg_keys/{gpg_key_id}": { + /** View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/get-gpg-key-for-authenticated-user"]; + /** Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + delete: operations["users/delete-gpg-key-for-authenticated-user"]; + }; + "/user/installations": { + /** + * 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://docs.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. + */ + get: operations["apps/list-installations-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories": { + /** + * 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://docs.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. + */ + get: operations["apps/list-installation-repos-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories/{repository_id}": { + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + put: operations["apps/add-repo-to-installation-for-authenticated-user"]; + /** + * Remove a 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://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; + }; + "/user/interaction-limits": { + /** Shows which type of GitHub user can interact with your public repositories and when the restriction expires. */ + get: operations["interactions/get-restrictions-for-authenticated-user"]; + /** Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ + put: operations["interactions/set-restrictions-for-authenticated-user"]; + /** Removes any interaction restrictions from your public repositories. */ + delete: operations["interactions/remove-restrictions-for-authenticated-user"]; + }; + "/user/issues": { + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **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://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-authenticated-user"]; + }; + "/user/keys": { + /** Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/list-public-ssh-keys-for-authenticated-user"]; + /** Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + post: operations["users/create-public-ssh-key-for-authenticated-user"]; + }; + "/user/keys/{key_id}": { + /** View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + get: operations["users/get-public-ssh-key-for-authenticated-user"]; + /** Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; + }; + "/user/marketplace_purchases": { + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.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://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + get: operations["apps/list-subscriptions-for-authenticated-user"]; + }; + "/user/marketplace_purchases/stubbed": { + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.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://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; + }; + "/user/memberships/orgs": { + get: operations["orgs/list-memberships-for-authenticated-user"]; + }; + "/user/memberships/orgs/{org}": { + get: operations["orgs/get-membership-for-authenticated-user"]; + patch: operations["orgs/update-membership-for-authenticated-user"]; + }; + "/user/migrations": { + /** Lists all migrations a user has started. */ + get: operations["migrations/list-for-authenticated-user"]; + /** Initiates the generation of a user migration archive. */ + post: operations["migrations/start-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}": { + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). + */ + get: operations["migrations/get-status-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/archive": { + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + get: operations["migrations/get-archive-for-authenticated-user"]; + /** Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. */ + delete: operations["migrations/delete-archive-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + /** Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */ + delete: operations["migrations/unlock-repo-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repositories": { + /** Lists all the repositories for this user migration. */ + get: operations["migrations/list-repos-for-authenticated-user"]; + }; + "/user/orgs": { + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + get: operations["orgs/list-for-authenticated-user"]; + }; + "/user/packages": { + /** + * Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}": { + /** + * Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-authenticated-user"]; + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + delete: operations["packages/delete-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/restore": { + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + post: operations["packages/restore-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-authenticated-user"]; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + delete: operations["packages/delete-package-version-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + post: operations["packages/restore-package-version-for-authenticated-user"]; + }; + "/user/projects": { + /** Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + post: operations["projects/create-for-authenticated-user"]; + }; + "/user/public_emails": { + /** Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ + get: operations["users/list-public-emails-for-authenticated-user"]; + }; + "/user/repos": { + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + get: operations["repos/list-for-authenticated-user"]; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. + */ + post: operations["repos/create-for-authenticated-user"]; + }; + "/user/repository_invitations": { + /** When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ + get: operations["repos/list-invitations-for-authenticated-user"]; + }; + "/user/repository_invitations/{invitation_id}": { + delete: operations["repos/decline-invitation-for-authenticated-user"]; + patch: operations["repos/accept-invitation-for-authenticated-user"]; + }; + "/user/starred": { + /** + * Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["activity/list-repos-starred-by-authenticated-user"]; + }; + "/user/starred/{owner}/{repo}": { + get: operations["activity/check-repo-is-starred-by-authenticated-user"]; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + put: operations["activity/star-repo-for-authenticated-user"]; + delete: operations["activity/unstar-repo-for-authenticated-user"]; + }; + "/user/subscriptions": { + /** Lists repositories the authenticated user is watching. */ + get: operations["activity/list-watched-repos-for-authenticated-user"]; + }; + "/user/teams": { + /** List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). */ + get: operations["teams/list-for-authenticated-user"]; + }; + "/users": { + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + */ + get: operations["users/list"]; + }; + "/users/{username}": { + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + */ + get: operations["users/get-by-username"]; + }; + "/users/{username}/events": { + /** If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */ + get: operations["activity/list-events-for-authenticated-user"]; + }; + "/users/{username}/events/orgs/{org}": { + /** This is the user's organization dashboard. You must be authenticated as the user to view this. */ + get: operations["activity/list-org-events-for-authenticated-user"]; + }; + "/users/{username}/events/public": { + get: operations["activity/list-public-events-for-user"]; + }; + "/users/{username}/followers": { + /** Lists the people following the specified user. */ + get: operations["users/list-followers-for-user"]; + }; + "/users/{username}/following": { + /** Lists the people who the specified user follows. */ + get: operations["users/list-following-for-user"]; + }; + "/users/{username}/following/{target_user}": { + get: operations["users/check-following-for-user"]; + }; + "/users/{username}/gists": { + /** Lists public gists for the specified user: */ + get: operations["gists/list-for-user"]; + }; + "/users/{username}/gpg_keys": { + /** Lists the GPG keys for a user. This information is accessible by anyone. */ + get: operations["users/list-gpg-keys-for-user"]; + }; + "/users/{username}/hovercard": { + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + get: operations["users/get-context-for-user"]; + }; + "/users/{username}/installation": { + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-user-installation"]; + }; + "/users/{username}/keys": { + /** Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ + get: operations["users/list-public-keys-for-user"]; + }; + "/users/{username}/orgs": { + /** + * List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + get: operations["orgs/list-for-user"]; + }; + "/users/{username}/packages": { + /** + * Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/list-packages-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}": { + /** + * Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-for-user"]; + /** + * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/restore": { + /** + * Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions": { + /** + * Returns all package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + get: operations["packages/get-package-version-for-user"]; + /** + * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + delete: operations["packages/delete-package-version-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + post: operations["packages/restore-package-version-for-user"]; + }; + "/users/{username}/projects": { + get: operations["projects/list-for-user"]; + }; + "/users/{username}/received_events": { + /** These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */ + get: operations["activity/list-received-events-for-user"]; + }; + "/users/{username}/received_events/public": { + get: operations["activity/list-received-public-events-for-user"]; + }; + "/users/{username}/repos": { + /** Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ + get: operations["repos/list-for-user"]; + }; + "/users/{username}/settings/billing/actions": { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-actions-billing-user"]; + }; + "/users/{username}/settings/billing/packages": { + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-packages-billing-user"]; + }; + "/users/{username}/settings/billing/shared-storage": { + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-shared-storage-billing-user"]; + }; + "/users/{username}/starred": { + /** + * Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["activity/list-repos-starred-by-user"]; + }; + "/users/{username}/subscriptions": { + /** Lists repositories a user is watching. */ + get: operations["activity/list-repos-watched-by-user"]; + }; + "/zen": { + /** Get a random sentence from the Zen of GitHub */ + get: operations["meta/get-zen"]; + }; + "/repos/{owner}/{repo}/compare/{base}...{head}": { + /** + * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits"]; + }; +} + +export interface components { + schemas: { + root: { + /** Format: uri-template */ + current_user_url: string; + /** Format: uri-template */ + current_user_authorizations_html_url: string; + /** Format: uri-template */ + authorizations_url: string; + /** Format: uri-template */ + code_search_url: string; + /** Format: uri-template */ + commit_search_url: string; + /** Format: uri-template */ + emails_url: string; + /** Format: uri-template */ + emojis_url: string; + /** Format: uri-template */ + events_url: string; + /** Format: uri-template */ + feeds_url: string; + /** Format: uri-template */ + followers_url: string; + /** Format: uri-template */ + following_url: string; + /** Format: uri-template */ + gists_url: string; + /** Format: uri-template */ + hub_url: string; + /** Format: uri-template */ + issue_search_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + label_search_url: string; + /** Format: uri-template */ + notifications_url: string; + /** Format: uri-template */ + organization_url: string; + /** Format: uri-template */ + organization_repositories_url: string; + /** Format: uri-template */ + organization_teams_url: string; + /** Format: uri-template */ + public_gists_url: string; + /** Format: uri-template */ + rate_limit_url: string; + /** Format: uri-template */ + repository_url: string; + /** Format: uri-template */ + repository_search_url: string; + /** Format: uri-template */ + current_user_repositories_url: string; + /** Format: uri-template */ + starred_url: string; + /** Format: uri-template */ + starred_gists_url: string; + /** Format: uri-template */ + topic_search_url?: string; + /** Format: uri-template */ + user_url: string; + /** Format: uri-template */ + user_organizations_url: string; + /** Format: uri-template */ + user_repositories_url: string; + /** Format: uri-template */ + user_search_url: string; + }; + /** + * Simple User + * @description Simple User + */ + "nullable-simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + integration: { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + } & { [key: string]: string }; + /** + * @description The list of events for the GitHub app + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app + * @example 5 + */ + installations_count?: number; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ + client_secret?: string; + /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ + webhook_secret?: string | null; + /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ + pem?: string; + }; + /** + * Basic Error + * @description Basic Error + */ + "basic-error": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + /** + * Validation Error Simple + * @description Validation Error Simple + */ + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: string[]; + }; + /** + * Format: uri + * @description The URL to which the payloads will be delivered. + * @example https://example.com/webhook + */ + "webhook-config-url": string; + /** + * @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + * @example "json" + */ + "webhook-config-content-type": string; + /** + * @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). + * @example "********" + */ + "webhook-config-secret": string; + "webhook-config-insecure-ssl": string | number; + /** + * Webhook Configuration + * @description Configuration object of the webhook + */ + "webhook-config": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * Simple webhook delivery + * @description Delivery made by a webhook, without request and response information. + */ + "hook-delivery-item": { + /** + * @description Unique identifier of the webhook delivery. + * @example 42 + */ + id: number; + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the webhook delivery occurred. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the webhook delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Describes the response returned after attempting the delivery. + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + }; + /** + * Scim Error + * @description Scim Error + */ + "scim-error": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; + /** + * Validation Error + * @description Validation Error + */ + "validation-error": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + /** + * Webhook delivery + * @description Delivery made by a webhook. + */ + "hook-delivery": { + /** + * @description Unique identifier of the delivery. + * @example 42 + */ + id: number; + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the delivery was delivered. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Description of the status of the attempted delivery + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + /** + * @description The URL target of the delivery. + * @example https://www.example.com + */ + url?: string; + request: { + /** @description The request headers sent with the webhook delivery. */ + headers: { [key: string]: unknown } | null; + /** @description The webhook payload. */ + payload: { [key: string]: unknown } | null; + }; + response: { + /** @description The response headers received when the delivery was made. */ + headers: { [key: string]: unknown } | null; + /** @description The response payload received. */ + payload: string | null; + }; + }; + /** + * Simple User + * @description Simple User + */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** + * Enterprise + * @description An enterprise account + */ + enterprise: { + /** @description A short description of the enterprise. */ + description?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** + * @description Unique identifier of the enterprise + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the enterprise. + * @example Octo Business + */ + name: string; + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ + slug: string; + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }; + /** + * App Permissions + * @description The permissions granted to the user-to-server access token. + * @example { + * "contents": "read", + * "issues": "read", + * "deployments": "write", + * "single_file": "read" + * } + */ + "app-permissions": { + /** + * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + * @enum {string} + */ + actions?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + * @enum {string} + */ + administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for checks on code. + * @enum {string} + */ + checks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + * @enum {string} + */ + contents?: "read" | "write"; + /** + * @description The level of permission to grant the access token for deployments and deployment statuses. + * @enum {string} + */ + deployments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for managing repository environments. + * @enum {string} + */ + environments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + * @enum {string} + */ + issues?: "read" | "write"; + /** + * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + * @enum {string} + */ + metadata?: "read" | "write"; + /** + * @description The level of permission to grant the access token for packages published to GitHub Packages. + * @enum {string} + */ + packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + * @enum {string} + */ + pages?: "read" | "write"; + /** + * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + * @enum {string} + */ + pull_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + * @enum {string} + */ + repository_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository projects, columns, and cards. + * @enum {string} + */ + repository_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token to view and manage secret scanning alerts. + * @enum {string} + */ + secret_scanning_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository secrets. + * @enum {string} + */ + secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + * @enum {string} + */ + security_events?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage just a single file. + * @enum {string} + */ + single_file?: "read" | "write"; + /** + * @description The level of permission to grant the access token for commit statuses. + * @enum {string} + */ + statuses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot alerts. + * @enum {string} + */ + vulnerability_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to update GitHub Actions workflow files. + * @enum {string} + */ + workflows?: "write"; + /** + * @description The level of permission to grant the access token for organization teams and members. + * @enum {string} + */ + members?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage access to an organization. + * @enum {string} + */ + organization_administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + * @enum {string} + */ + organization_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing an organization's plan. + * @enum {string} + */ + organization_plan?: "read"; + /** + * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + * @enum {string} + */ + organization_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for organization packages published to GitHub Packages. + * @enum {string} + */ + organization_packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage organization secrets. + * @enum {string} + */ + organization_secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + * @enum {string} + */ + organization_self_hosted_runners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage users blocked by the organization. + * @enum {string} + */ + organization_user_blocking?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage team discussions and related comments. + * @enum {string} + */ + team_discussions?: "read" | "write"; + }; + /** + * Installation + * @description Installation + */ + installation: { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + account: + | (Partial & + Partial) + | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** + * Format: uri + * @example https://api.github.com/installations/1/access_tokens + */ + access_tokens_url: string; + /** + * Format: uri + * @example https://api.github.com/installation/repositories + */ + repositories_url: string; + /** + * Format: uri + * @example https://github.com/organizations/github/settings/installations/1 + */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + permissions: components["schemas"]["app-permissions"]; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + suspended_by: components["schemas"]["nullable-simple-user"]; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }; + /** + * License Simple + * @description License Simple + */ + "nullable-license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** + * Repository + * @description A git repository + */ + repository: { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @example 108 */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + }; + /** + * Installation Token + * @description Authentication token for a GitHub App installed on a user or org. + */ + "installation-token": { + token: string; + expires_at: string; + permissions?: components["schemas"]["app-permissions"]; + /** @enum {string} */ + repository_selection?: "all" | "selected"; + repositories?: components["schemas"]["repository"][]; + /** @example README.md */ + single_file?: string; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + }; + /** + * Application Grant + * @description The authorization associated with an OAuth Access. + */ + "application-grant": { + /** @example 1 */ + id: number; + /** + * Format: uri + * @example https://api.github.com/applications/grants/1 + */ + url: string; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * @example [ + * "public_repo" + * ] + */ + scopes: string[]; + user?: components["schemas"]["nullable-simple-user"]; + }; + /** Scoped Installation */ + "nullable-scoped-installation": { + permissions: components["schemas"]["app-permissions"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repositories_url: string; + account: components["schemas"]["simple-user"]; + } | null; + /** + * Authorization + * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. + */ + authorization: { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + user?: components["schemas"]["nullable-simple-user"]; + installation?: components["schemas"]["nullable-scoped-installation"]; + /** Format: date-time */ + expires_at: string | null; + }; + /** + * Code Of Conduct + * @description Code Of Conduct + */ + "code-of-conduct": { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** + * Format: uri + * @example https://api.github.com/codes_of_conduct/contributor_covenant + */ + url: string; + /** + * @example # Contributor Covenant Code of Conduct + * + * ## Our Pledge + * + * In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + * + * ## Our Standards + * + * Examples of behavior that contributes to creating a positive environment include: + * + * * Using welcoming and inclusive language + * * Being respectful of differing viewpoints and experiences + * * Gracefully accepting constructive criticism + * * Focusing on what is best for the community + * * Showing empathy towards other community members + * + * Examples of unacceptable behavior by participants include: + * + * * The use of sexualized language or imagery and unwelcome sexual attention or advances + * * Trolling, insulting/derogatory comments, and personal or political attacks + * * Public or private harassment + * * Publishing others' private information, such as a physical or electronic address, without explicit permission + * * Other conduct which could reasonably be considered inappropriate in a professional setting + * + * ## Our Responsibilities + * + * Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + * to any instances of unacceptable behavior. + * + * Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + * + * ## Scope + * + * This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + * posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + * + * ## Enforcement + * + * Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + * + * Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + * + * ## Attribution + * + * This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + * + * [homepage]: http://contributor-covenant.org + * [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + /** + * Server Statistics Proxy Endpoint + * @description Response of S4 Proxy endpoint that provides GHES statistics + */ + "server-statistics": { + server_id?: string; + collection_date?: string; + schema_version?: string; + ghes_version?: string; + host_name?: string; + github_connect?: { + features_enabled?: string[]; + }; + ghe_stats?: { + comments?: { + total_commit_comments?: number; + total_gist_comments?: number; + total_issue_comments?: number; + total_pull_request_comments?: number; + }; + gists?: { + total_gists?: number; + private_gists?: number; + public_gists?: number; + }; + hooks?: { + total_hooks?: number; + active_hooks?: number; + inactive_hooks?: number; + }; + issues?: { + total_issues?: number; + open_issues?: number; + closed_issues?: number; + }; + milestones?: { + total_milestones?: number; + open_milestones?: number; + closed_milestones?: number; + }; + orgs?: { + total_orgs?: number; + disabled_orgs?: number; + total_teams?: number; + total_team_members?: number; + }; + pages?: { + total_pages?: number; + }; + pulls?: { + total_pulls?: number; + merged_pulls?: number; + mergeable_pulls?: number; + unmergeable_pulls?: number; + }; + repos?: { + total_repos?: number; + root_repos?: number; + fork_repos?: number; + org_repos?: number; + total_pushes?: number; + total_wikis?: number; + }; + users?: { + total_users?: number; + admin_users?: number; + suspended_users?: number; + }; + }; + dormant_users?: { + total_dormant_users?: number; + dormancy_threshold?: string; + }; + }; + "actions-cache-usage-org-enterprise": { + /** @description The count of active caches across all repositories of an enterprise or an organization. */ + total_active_caches_count: number; + /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ + total_active_caches_size_in_bytes: number; + }; + "actions-oidc-custom-issuer-policy-for-enterprise": { + /** + * @description Whether the enterprise customer requested a custom issuer URL. + * @example true + */ + include_enterprise_slug?: boolean; + }; + /** + * @description The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-organizations": "all" | "none" | "selected"; + /** + * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. + * @enum {string} + */ + "allowed-actions": "all" | "local_only" | "selected"; + /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ + "selected-actions-url": string; + "actions-enterprise-permissions": { + enabled_organizations: components["schemas"]["enabled-organizations"]; + /** @description The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`. */ + selected_organizations_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + /** + * Organization Simple + * @description Organization Simple + */ + "organization-simple": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + }; + "selected-actions": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed?: boolean; + /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ + verified_allowed?: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed?: string[]; + }; + /** + * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. + * @enum {string} + */ + "actions-default-workflow-permissions": "read" | "write"; + /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ + "actions-can-approve-pull-request-reviews": boolean; + "actions-get-default-workflow-permissions": { + default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "actions-set-default-workflow-permissions": { + default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "runner-groups-enterprise": { + id: number; + name: string; + visibility: string; + default: boolean; + selected_organizations_url?: string; + runners_url: string; + allows_public_repositories: boolean; + /** + * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. + * @default false + */ + workflow_restrictions_read_only?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + /** + * Self hosted runner label + * @description A label for a self hosted runner + */ + "runner-label": { + /** @description Unique identifier of the label. */ + id?: number; + /** @description Name of the label. */ + name: string; + /** + * @description The type of label. Read-only labels are applied automatically when the runner is configured. + * @enum {string} + */ + type?: "read-only" | "custom"; + }; + /** + * Self hosted runners + * @description A self hosted runner + */ + runner: { + /** + * @description The id of the runner. + * @example 5 + */ + id: number; + /** + * @description The name of the runner. + * @example iMac + */ + name: string; + /** + * @description The Operating System of the runner. + * @example macos + */ + os: string; + /** + * @description The status of the runner. + * @example online + */ + status: string; + busy: boolean; + labels: components["schemas"]["runner-label"][]; + }; + /** + * Runner Application + * @description Runner Application + */ + "runner-application": { + os: string; + architecture: string; + download_url: string; + filename: string; + /** @description A short lived bearer token used to download the runner, if needed. */ + temp_download_token?: string; + sha256_checksum?: string; + }; + /** + * Authentication Token + * @description Authentication Token + */ + "authentication-token": { + /** + * @description The token used for authentication + * @example v1.1f699f1069f60xxx + */ + token: string; + /** + * Format: date-time + * @description The time this token expires + * @example 2016-07-11T22:14:10Z + */ + expires_at: string; + /** + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions?: { [key: string]: unknown }; + /** @description The repositories this token has access to */ + repositories?: components["schemas"]["repository"][]; + /** @example config.yaml */ + single_file?: string | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection?: "all" | "selected"; + }; + "audit-log-event": { + /** @description The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + "@timestamp"?: number; + /** @description The name of the action that was performed, for example `user.login` or `repo.create`. */ + action?: string; + active?: boolean; + active_was?: boolean; + /** @description The actor who performed the action. */ + actor?: string; + /** @description The id of the actor who performed the action. */ + actor_id?: number; + actor_location?: { + country_name?: string; + }; + data?: { [key: string]: unknown }; + org_id?: number; + /** @description The username of the account being blocked. */ + blocked_user?: string; + business?: string; + config?: { [key: string]: unknown }[]; + config_was?: { [key: string]: unknown }[]; + content_type?: string; + /** @description The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + created_at?: number; + deploy_key_fingerprint?: string; + /** @description A unique identifier for an audit event. */ + _document_id?: string; + emoji?: string; + events?: { [key: string]: unknown }[]; + events_were?: { [key: string]: unknown }[]; + explanation?: string; + fingerprint?: string; + hook_id?: number; + limited_availability?: boolean; + message?: string; + name?: string; + old_user?: string; + openssh_public_key?: string; + org?: string; + previous_visibility?: string; + read_only?: boolean; + /** @description The name of the repository. */ + repo?: string; + /** @description The name of the repository. */ + repository?: string; + repository_public?: boolean; + target_login?: string; + team?: string; + /** @description The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol?: number; + /** @description A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol_name?: string; + /** @description The user that was affected by the action performed (if available). */ + user?: string; + /** @description The repository visibility, for example `public` or `private`. */ + visibility?: string; + }; + /** @description The name of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-name": string; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + "code-scanning-analysis-tool-guid": string | null; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-state": "open" | "closed" | "dismissed" | "fixed"; + /** @description The security alert number. */ + "alert-number": number; + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-created-at": string; + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-updated-at": string; + /** + * Format: uri + * @description The REST API URL of the alert resource. + */ + "alert-url": string; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + "alert-html-url": string; + /** + * Format: uri + * @description The REST API URL for fetching the list of instances for an alert. + */ + "alert-instances-url": string; + /** + * Format: date-time + * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-alert-fixed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-alert-dismissed-at": string | null; + /** + * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. + * @enum {string|null} + */ + "code-scanning-alert-dismissed-reason": + | (null | "false positive" | "won't fix" | "used in tests") + | null; + /** @description The dismissal comment associated with the dismissal of the alert. */ + "code-scanning-alert-dismissed-comment": string | null; + "code-scanning-alert-rule": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: ("none" | "note" | "warning" | "error") | null; + /** + * @description The security severity of the alert. + * @enum {string|null} + */ + security_severity_level?: ("low" | "medium" | "high" | "critical") | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + /** @description description of the rule used to detect the alert. */ + full_description?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + help?: string | null; + }; + /** @description The version of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-version": string | null; + "code-scanning-analysis-tool": { + name?: components["schemas"]["code-scanning-analysis-tool-name"]; + version?: components["schemas"]["code-scanning-analysis-tool-version"]; + guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; + }; + /** + * @description The full Git reference, formatted as `refs/heads/`, + * `refs/pull//merge`, or `refs/pull//head`. + */ + "code-scanning-ref": string; + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + "code-scanning-analysis-analysis-key": string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + "code-scanning-alert-environment": string; + /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + "code-scanning-analysis-category": string; + /** @description Describe a region within a file for the alert. */ + "code-scanning-alert-location": { + path?: string; + start_line?: number; + end_line?: number; + start_column?: number; + end_column?: number; + }; + /** + * @description A classification of the file. For example to identify it as generated. + * @enum {string|null} + */ + "code-scanning-alert-classification": + | ("source" | "generated" | "test" | "library") + | null; + "code-scanning-alert-instance": { + ref?: components["schemas"]["code-scanning-ref"]; + analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment?: components["schemas"]["code-scanning-alert-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + state?: components["schemas"]["code-scanning-alert-state"]; + commit_sha?: string; + message?: { + text?: string; + }; + location?: components["schemas"]["code-scanning-alert-location"]; + html_url?: string; + /** + * @description Classifications that have been applied to the file that triggered the alert. + * For example identifying it as documentation, or a generated file. + */ + classifications?: components["schemas"]["code-scanning-alert-classification"][]; + }; + /** + * Simple Repository + * @description Simple Repository + */ + "simple-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ + node_id: string; + /** + * @description The name of the repository. + * @example Hello-World + */ + name: string; + /** + * @description The full, globally unique, name of the repository. + * @example octocat/Hello-World + */ + full_name: string; + owner: components["schemas"]["simple-user"]; + /** @description Whether the repository is private. */ + private: boolean; + /** + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** + * @description The repository description. + * @example This your first repo! + */ + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** + * Format: uri + * @description The URL to get more information about the repository from the GitHub API. + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** + * @description A template for the API URL to download the repository as an archive. + * @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + */ + archive_url: string; + /** + * @description A template for the API URL to list the available assignees for issues in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} + */ + assignees_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git blob in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + */ + blobs_url: string; + /** + * @description A template for the API URL to get information about branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} + */ + branches_url: string; + /** + * @description A template for the API URL to get information about collaborators of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + */ + collaborators_url: string; + /** + * @description A template for the API URL to get information about comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/comments{/number} + */ + comments_url: string; + /** + * @description A template for the API URL to get information about commits on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} + */ + commits_url: string; + /** + * @description A template for the API URL to compare two commits or refs. + * @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + */ + compare_url: string; + /** + * @description A template for the API URL to get the contents of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} + */ + contents_url: string; + /** + * Format: uri + * @description A template for the API URL to list the contributors to the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @description The API URL to list the deployments of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @description The API URL to list the downloads on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @description The API URL to list the events of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @description The API URL to list the forks of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** + * @description A template for the API URL to get information about Git commits of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + */ + git_commits_url: string; + /** + * @description A template for the API URL to get information about Git refs of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + */ + git_refs_url: string; + /** + * @description A template for the API URL to get information about Git tags of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + */ + git_tags_url: string; + /** + * @description A template for the API URL to get information about issue comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + */ + issue_comment_url: string; + /** + * @description A template for the API URL to get information about issue events on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + */ + issue_events_url: string; + /** + * @description A template for the API URL to get information about issues on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues{/number} + */ + issues_url: string; + /** + * @description A template for the API URL to get information about deploy keys on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} + */ + keys_url: string; + /** + * @description A template for the API URL to get information about labels of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/labels{/name} + */ + labels_url: string; + /** + * Format: uri + * @description The API URL to get information about the languages of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @description The API URL to merge branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** + * @description A template for the API URL to get information about milestones of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} + */ + milestones_url: string; + /** + * @description A template for the API URL to get information about notifications on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + */ + notifications_url: string; + /** + * @description A template for the API URL to get information about pull requests on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} + */ + pulls_url: string; + /** + * @description A template for the API URL to get information about releases on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/releases{/id} + */ + releases_url: string; + /** + * Format: uri + * @description The API URL to list the stargazers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** + * @description A template for the API URL to get information about statuses of a commit. + * @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} + */ + statuses_url: string; + /** + * Format: uri + * @description The API URL to list the subscribers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @description The API URL to subscribe to notifications for this repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @description The API URL to get information about tags on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @description The API URL to list the teams on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git tree of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + */ + trees_url: string; + /** + * Format: uri + * @description The API URL to list the hooks on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + }; + "code-scanning-organization-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["code-scanning-alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + repository: components["schemas"]["simple-repository"]; + }; + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "nullable-alert-updated-at": string | null; + /** + * @description Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`. + * @enum {string} + */ + "secret-scanning-alert-state": "open" | "resolved"; + /** + * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution": + | (null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests") + | null; + "organization-secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + repository?: components["schemas"]["simple-repository"]; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + }; + "actions-billing-usage": { + /** @description The sum of the free and paid GitHub Actions minutes used. */ + total_minutes_used: number; + /** @description The total paid GitHub Actions minutes used. */ + total_paid_minutes_used: number; + /** @description The amount of free GitHub Actions minutes available. */ + included_minutes: number; + minutes_used_breakdown: { + /** @description Total minutes used on Ubuntu runner machines. */ + UBUNTU?: number; + /** @description Total minutes used on macOS runner machines. */ + MACOS?: number; + /** @description Total minutes used on Windows runner machines. */ + WINDOWS?: number; + /** @description Total minutes used on Ubuntu 4 core runner machines. */ + ubuntu_4_core?: number; + /** @description Total minutes used on Ubuntu 8 core runner machines. */ + ubuntu_8_core?: number; + /** @description Total minutes used on Ubuntu 16 core runner machines. */ + ubuntu_16_core?: number; + /** @description Total minutes used on Ubuntu 32 core runner machines. */ + ubuntu_32_core?: number; + /** @description Total minutes used on Ubuntu 64 core runner machines. */ + ubuntu_64_core?: number; + /** @description Total minutes used on Windows 4 core runner machines. */ + windows_4_core?: number; + /** @description Total minutes used on Windows 8 core runner machines. */ + windows_8_core?: number; + /** @description Total minutes used on Windows 16 core runner machines. */ + windows_16_core?: number; + /** @description Total minutes used on Windows 32 core runner machines. */ + windows_32_core?: number; + /** @description Total minutes used on Windows 64 core runner machines. */ + windows_64_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; + }; + }; + "advanced-security-active-committers-user": { + user_login: string; + /** @example 2021-11-03 */ + last_pushed_date: string; + }; + "advanced-security-active-committers-repository": { + /** @example octocat/Hello-World */ + name: string; + /** @example 25 */ + advanced_security_committers: number; + advanced_security_committers_breakdown: components["schemas"]["advanced-security-active-committers-user"][]; + }; + "advanced-security-active-committers": { + /** @example 25 */ + total_advanced_security_committers?: number; + /** @example 2 */ + total_count?: number; + repositories: components["schemas"]["advanced-security-active-committers-repository"][]; + }; + "packages-billing-usage": { + /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ + total_gigabytes_bandwidth_used: number; + /** @description Total paid storage space (GB) for GitHuub Packages. */ + total_paid_gigabytes_bandwidth_used: number; + /** @description Free storage space (GB) for GitHub Packages. */ + included_gigabytes_bandwidth: number; + }; + "combined-billing-usage": { + /** @description Numbers of days left in billing cycle. */ + days_left_in_billing_cycle: number; + /** @description Estimated storage space (GB) used in billing cycle. */ + estimated_paid_storage_for_month: number; + /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ + estimated_storage_for_month: number; + }; + /** + * Actor + * @description Actor + */ + actor: { + id: number; + login: string; + display_login?: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + avatar_url: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + "nullable-milestone": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + */ + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; + /** + * @description The number of the milestone. + * @example 42 + */ + number: number; + /** + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** + * @description The title of the milestone. + * @example v1.0 + */ + title: string; + /** @example Tracking milestone for version 1.0 */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2013-02-12T13:22:01Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2012-10-09T23:39:01Z + */ + due_on: string | null; + } | null; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + "nullable-integration": { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + } & { [key: string]: string }; + /** + * @description The list of events for the GitHub app + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app + * @example 5 + */ + installations_count?: number; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ + client_secret?: string; + /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ + webhook_secret?: string | null; + /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ + pem?: string; + } | null; + /** + * author_association + * @description How the author is associated with the repository. + * @example OWNER + * @enum {string} + */ + "author-association": + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** Reaction Rollup */ + "reaction-rollup": { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + issue: { + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue + * @example https://api.github.com/repositories/42/issues/1 + */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** + * @description Number uniquely identifying the issue within its repository + * @example 42 + */ + number: number; + /** + * @description State of the issue; either 'open' or 'closed' + * @example open + */ + state: string; + /** + * @description The reason for the current state + * @example not_planned + */ + state_reason?: string | null; + /** + * @description Title of the issue + * @example Widget creation fails in Safari on OS X 10.8 + */ + title: string; + /** + * @description Contents of the issue + * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? + */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + * @example [ + * "bug", + * "registration" + * ] + */ + labels: ( + | string + | { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + } + )[]; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["nullable-milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + draft?: boolean; + closed_by?: components["schemas"]["nullable-simple-user"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Issue Comment + * @description Comments provide a way for people to collaborate on an issue. + */ + "issue-comment": { + /** + * @description Unique identifier of the issue comment + * @example 42 + */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue comment + * @example https://api.github.com/repositories/42/issues/comments/1 + */ + url: string; + /** + * @description Contents of the issue comment + * @example What version of Safari were you using when you observed this bug? + */ + body?: string; + body_text?: string; + body_html?: string; + /** Format: uri */ + html_url: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Event + * @description Event + */ + event: { + id: string; + type: string | null; + actor: components["schemas"]["actor"]; + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + org?: components["schemas"]["actor"]; + payload: { + action?: string; + issue?: components["schemas"]["issue"]; + comment?: components["schemas"]["issue-comment"]; + pages?: { + page_name?: string; + title?: string; + summary?: string | null; + action?: string; + sha?: string; + html_url?: string; + }[]; + }; + public: boolean; + /** Format: date-time */ + created_at: string | null; + }; + /** + * Link With Type + * @description Hypermedia Link with Type + */ + "link-with-type": { + href: string; + type: string; + }; + /** + * Feed + * @description Feed + */ + feed: { + /** @example https://github.com/timeline */ + timeline_url: string; + /** @example https://github.com/{user} */ + user_url: string; + /** @example https://github.com/octocat */ + current_user_public_url?: string; + /** @example https://github.com/octocat.private?token=abc123 */ + current_user_url?: string; + /** @example https://github.com/octocat.private.actor?token=abc123 */ + current_user_actor_url?: string; + /** @example https://github.com/octocat-org */ + current_user_organization_url?: string; + /** + * @example [ + * "https://github.com/organizations/github/octocat.private.atom?token=abc123" + * ] + */ + current_user_organization_urls?: string[]; + /** @example https://github.com/security-advisories */ + security_advisories_url?: string; + _links: { + timeline: components["schemas"]["link-with-type"]; + user: components["schemas"]["link-with-type"]; + security_advisories?: components["schemas"]["link-with-type"]; + current_user?: components["schemas"]["link-with-type"]; + current_user_public?: components["schemas"]["link-with-type"]; + current_user_actor?: components["schemas"]["link-with-type"]; + current_user_organization?: components["schemas"]["link-with-type"]; + current_user_organizations?: components["schemas"]["link-with-type"][]; + }; + }; + /** + * Base Gist + * @description Base Gist + */ + "base-gist": { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + user: components["schemas"]["nullable-simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + }; + /** + * Public User + * @description Public User + */ + "public-user": { + login: string; + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + events_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + /** Format: email */ + email: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + /** @example 1 */ + private_gists?: number; + /** @example 2 */ + total_private_repos?: number; + /** @example 2 */ + owned_private_repos?: number; + /** @example 1 */ + disk_usage?: number; + /** @example 3 */ + collaborators?: number; + }; + /** + * Gist History + * @description Gist History + */ + "gist-history": { + user?: components["schemas"]["nullable-simple-user"]; + version?: string; + /** Format: date-time */ + committed_at?: string; + change_status?: { + total?: number; + additions?: number; + deletions?: number; + }; + /** Format: uri */ + url?: string; + }; + /** + * Gist Simple + * @description Gist Simple + */ + "gist-simple": { + /** @deprecated */ + forks?: + | { + id?: string; + /** Format: uri */ + url?: string; + user?: components["schemas"]["public-user"]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }[] + | null; + /** @deprecated */ + history?: components["schemas"]["gist-history"][] | null; + /** + * Gist + * @description Gist + */ + fork_of?: { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + user: components["schemas"]["nullable-simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["nullable-simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + } | null; + url?: string; + forks_url?: string; + commits_url?: string; + id?: string; + node_id?: string; + git_pull_url?: string; + git_push_url?: string; + html_url?: string; + files?: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + truncated?: boolean; + content?: string; + } | null; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + user?: string | null; + comments_url?: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + }; + /** + * Gist Comment + * @description A comment made to a gist. + */ + "gist-comment": { + /** @example 1 */ + id: number; + /** @example MDExOkdpc3RDb21tZW50MQ== */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 + */ + url: string; + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-18T23:23:56Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-18T23:23:56Z + */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Gist Commit + * @description Gist Commit + */ + "gist-commit": { + /** + * Format: uri + * @example https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f + */ + url: string; + /** @example 57a7f021a713b1c5a6a199b54cc514735d2d462f */ + version: string; + user: components["schemas"]["nullable-simple-user"]; + change_status: { + total?: number; + additions?: number; + deletions?: number; + }; + /** + * Format: date-time + * @example 2010-04-14T02:15:15Z + */ + committed_at: string; + }; + /** + * Gitignore Template + * @description Gitignore Template + */ + "gitignore-template": { + /** @example C */ + name: string; + /** + * @example # Object files + * *.o + * + * # Libraries + * *.lib + * *.a + * + * # Shared objects (inc. Windows DLLs) + * *.dll + * *.so + * *.so.* + * *.dylib + * + * # Executables + * *.exe + * *.out + * *.app + */ + source: string; + }; + /** + * License Simple + * @description License Simple + */ + "license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + }; + /** + * License + * @description License + */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** @example MIT */ + spdx_id: string | null; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** + * Format: uri + * @example http://choosealicense.com/licenses/mit/ + */ + html_url: string; + /** @example A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty. */ + description: string; + /** @example Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders. */ + implementation: string; + /** + * @example [ + * "commercial-use", + * "modifications", + * "distribution", + * "sublicense", + * "private-use" + * ] + */ + permissions: string[]; + /** + * @example [ + * "include-copyright" + * ] + */ + conditions: string[]; + /** + * @example [ + * "no-liability" + * ] + */ + limitations: string[]; + /** + * @example + * + * The MIT License (MIT) + * + * Copyright (c) [year] [fullname] + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + body: string; + /** @example true */ + featured: boolean; + }; + /** + * Marketplace Listing Plan + * @description Marketplace Listing Plan + */ + "marketplace-listing-plan": { + /** + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313/accounts + */ + accounts_url: string; + /** @example 1313 */ + id: number; + /** @example 3 */ + number: number; + /** @example Pro */ + name: string; + /** @example A professional-grade CI solution */ + description: string; + /** @example 1099 */ + monthly_price_in_cents: number; + /** @example 11870 */ + yearly_price_in_cents: number; + /** @example flat-rate */ + price_model: string; + /** @example true */ + has_free_trial: boolean; + unit_name: string | null; + /** @example published */ + state: string; + /** + * @example [ + * "Up to 25 private repositories", + * "11 concurrent builds" + * ] + */ + bullets: string[]; + }; + /** + * Marketplace Purchase + * @description Marketplace Purchase + */ + "marketplace-purchase": { + url: string; + type: string; + id: number; + login: string; + organization_billing_email?: string; + email?: string | null; + marketplace_pending_change?: { + is_installed?: boolean; + effective_date?: string; + unit_count?: number | null; + id?: number; + plan?: components["schemas"]["marketplace-listing-plan"]; + } | null; + marketplace_purchase: { + billing_cycle?: string; + next_billing_date?: string | null; + is_installed?: boolean; + unit_count?: number | null; + on_free_trial?: boolean; + free_trial_ends_on?: string | null; + updated_at?: string; + plan?: components["schemas"]["marketplace-listing-plan"]; + }; + }; + /** + * Api Overview + * @description Api Overview + */ + "api-overview": { + /** @example true */ + verifiable_password_authentication: boolean; + ssh_key_fingerprints?: { + SHA256_RSA?: string; + SHA256_DSA?: string; + SHA256_ECDSA?: string; + SHA256_ED25519?: string; + }; + /** + * @example [ + * "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl" + * ] + */ + ssh_keys?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + hooks?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + web?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + api?: string[]; + /** + * @example [ + * "127.0.0.1/32" + * ] + */ + git?: string[]; + /** + * @example [ + * "13.65.0.0/16", + * "157.55.204.33/32", + * "2a01:111:f403:f90c::/62" + * ] + */ + packages?: string[]; + /** + * @example [ + * "192.30.252.153/32", + * "192.30.252.154/32" + * ] + */ + pages?: string[]; + /** + * @example [ + * "54.158.161.132", + * "54.226.70.38" + * ] + */ + importer?: string[]; + /** + * @example [ + * "13.64.0.0/16", + * "13.65.0.0/16" + * ] + */ + actions?: string[]; + /** + * @example [ + * "192.168.7.15/32", + * "192.168.7.16/32" + * ] + */ + dependabot?: string[]; + }; + /** + * Repository + * @description A git repository + */ + "nullable-repository": { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @example 108 */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + } | null; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + }; + /** + * Thread + * @description Thread + */ + thread: { + id: string; + repository: components["schemas"]["minimal-repository"]; + subject: { + title: string; + url: string; + latest_comment_url: string; + type: string; + }; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string | null; + url: string; + /** @example https://api.github.com/notifications/threads/2/subscription */ + subscription_url: string; + }; + /** + * Thread Subscription + * @description Thread Subscription + */ + "thread-subscription": { + /** @example true */ + subscribed: boolean; + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string | null; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1/subscription + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1 + */ + thread_url?: string; + /** + * Format: uri + * @example https://api.github.com/repos/1 + */ + repository_url?: string; + }; + /** + * Organization Custom Repository Role + * @description Custom repository roles created by organization administrators + */ + "organization-custom-repository-role": { + id: number; + name: string; + }; + /** + * Organization Full + * @description Organization Full + */ + "organization-full": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** + * Format: uri + * @example https://github.com/blog + */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** + * Format: email + * @example octocat@github.com + */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** + * Format: email + * @example org@example.com + */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** Format: date-time */ + updated_at: string; + }; + /** + * Actions Cache Usage by repository + * @description GitHub Actions Cache Usage by repository. + */ + "actions-cache-usage-by-repository": { + /** + * @description The repository owner and name for the cache usage being shown. + * @example octo-org/Hello-World + */ + full_name: string; + /** + * @description The sum of the size in bytes of all the active cache items in the repository. + * @example 2322142 + */ + active_caches_size_in_bytes: number; + /** + * @description The number of active caches in the repository. + * @example 3 + */ + active_caches_count: number; + }; + /** + * Actions OIDC Subject customization + * @description Actions OIDC Subject customization + */ + "oidc-custom-sub": { + include_claim_keys: string[]; + }; + /** + * Empty Object + * @description An object without any properties. + */ + "empty-object": { [key: string]: unknown }; + /** + * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-repositories": "all" | "none" | "selected"; + "actions-organization-permissions": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ + selected_repositories_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "runner-groups-org": { + id: number; + name: string; + visibility: string; + default: boolean; + /** @description Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected` */ + selected_repositories_url?: string; + runners_url: string; + inherited: boolean; + inherited_allows_public_repositories?: boolean; + allows_public_repositories: boolean; + /** + * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. + * @default false + */ + workflow_restrictions_read_only?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + /** + * Actions Secret for an Organization + * @description Secrets for GitHub Actions for an organization. + */ + "organization-actions-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/secrets/my_secret/repositories + */ + selected_repositories_url?: string; + }; + /** + * ActionsPublicKey + * @description The public key used for setting Actions Secrets. + */ + "actions-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ + url?: string; + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; + /** + * Codespace machine + * @description A description of the machine powering a codespace. + */ + "nullable-codespace-machine": { + /** + * @description The name of the machine. + * @example standardLinux + */ + name: string; + /** + * @description The display name of the machine includes cores, memory, and storage. + * @example 4 cores, 8 GB RAM, 64 GB storage + */ + display_name: string; + /** + * @description The operating system of the machine. + * @example linux + */ + operating_system: string; + /** + * @description How much storage is available to the codespace. + * @example 68719476736 + */ + storage_in_bytes: number; + /** + * @description How much memory is available to the codespace. + * @example 8589934592 + */ + memory_in_bytes: number; + /** + * @description How many cores are available to the codespace. + * @example 4 + */ + cpus: number; + /** + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @example ready + * @enum {string|null} + */ + prebuild_availability: ("none" | "ready" | "in_progress") | null; + } | null; + /** + * Codespace + * @description A codespace. + */ + codespace: { + /** @example 1 */ + id: number; + /** + * @description Automatically generated name of this codespace. + * @example monalisa-octocat-hello-world-g4wpq6h95q + */ + name: string; + /** + * @description Display name for this codespace. + * @example bookish space pancake + */ + display_name?: string | null; + /** + * @description UUID identifying this codespace's environment. + * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 + */ + environment_id: string | null; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["minimal-repository"]; + machine: components["schemas"]["nullable-codespace-machine"]; + /** + * @description Path to devcontainer.json from repo root used to create Codespace. + * @example .devcontainer/example/devcontainer.json + */ + devcontainer_path?: string | null; + /** + * @description Whether the codespace was created from a prebuild. + * @example false + */ + prebuild: boolean | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @description Last known time this codespace was started. + * @example 2011-01-26T19:01:12Z + */ + last_used_at: string; + /** + * @description State of this codespace. + * @example Available + * @enum {string} + */ + state: + | "Unknown" + | "Created" + | "Queued" + | "Provisioning" + | "Available" + | "Awaiting" + | "Unavailable" + | "Deleted" + | "Moved" + | "Shutdown" + | "Archived" + | "Starting" + | "ShuttingDown" + | "Failed" + | "Exporting" + | "Updating" + | "Rebuilding"; + /** + * Format: uri + * @description API URL for this codespace. + */ + url: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** + * @description The number of commits the local repository is ahead of the remote. + * @example 0 + */ + ahead?: number; + /** + * @description The number of commits the local repository is behind the remote. + * @example 0 + */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** + * @description The current branch (or SHA if in detached HEAD state) of the local repository. + * @example main + */ + ref?: string; + }; + /** + * @description The Azure region where this codespace is located. + * @example WestUs2 + * @enum {string} + */ + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; + /** + * @description The number of minutes of inactivity after which this codespace will be automatically stopped. + * @example 60 + */ + idle_timeout_minutes: number | null; + /** + * Format: uri + * @description URL to access this codespace on the web. + */ + web_url: string; + /** + * Format: uri + * @description API URL to access available alternate machine types for this codespace. + */ + machines_url: string; + /** + * Format: uri + * @description API URL to start this codespace. + */ + start_url: string; + /** + * Format: uri + * @description API URL to stop this codespace. + */ + stop_url: string; + /** + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. + */ + pulls_url: string | null; + recent_folders: string[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: string[] | null; + }; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: boolean | null; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: string | null; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: string | null; + }; + /** + * Credential Authorization + * @description Credential Authorization + */ + "credential-authorization": { + /** + * @description User login that owns the underlying credential. + * @example monalisa + */ + login: string; + /** + * @description Unique identifier for the credential. + * @example 1 + */ + credential_id: number; + /** + * @description Human-readable description of the credential type. + * @example SSH Key + */ + credential_type: string; + /** + * @description Last eight characters of the credential. Only included in responses with credential_type of personal access token. + * @example 12345678 + */ + token_last_eight?: string; + /** + * Format: date-time + * @description Date when the credential was authorized for use. + * @example 2011-01-26T19:06:43Z + */ + credential_authorized_at: string; + /** + * @description List of oauth scopes the token has been granted. + * @example [ + * "user", + * "repo" + * ] + */ + scopes?: string[]; + /** + * @description Unique string to distinguish the credential. Only included in responses with credential_type of SSH Key. + * @example jklmnop12345678 + */ + fingerprint?: string; + /** + * Format: date-time + * @description Date when the credential was last accessed. May be null if it was never accessed + * @example 2011-01-26T19:06:43Z + */ + credential_accessed_at: string | null; + /** @example 12345678 */ + authorized_credential_id: number | null; + /** + * @description The title given to the ssh key. This will only be present when the credential is an ssh key. + * @example my ssh key + */ + authorized_credential_title?: string | null; + /** + * @description The note given to the token. This will only be present when the credential is a token. + * @example my token + */ + authorized_credential_note?: string | null; + /** + * Format: date-time + * @description The expiry for the token. This will only be present when the credential is a token. + */ + authorized_credential_expires_at?: string | null; + }; + /** + * Dependabot Secret for an Organization + * @description Secrets for GitHub Dependabot for an organization. + */ + "organization-dependabot-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/dependabot/secrets/my_secret/repositories + */ + selected_repositories_url?: string; + }; + /** + * DependabotPublicKey + * @description The public key used for setting Dependabot Secrets. + */ + "dependabot-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + }; + /** + * ExternalGroup + * @description Information about an external group's usage and its members + */ + "external-group": { + /** + * @description The internal ID of the group + * @example 1 + */ + group_id: number; + /** + * @description The display name for the group + * @example group-azuread-test + */ + group_name: string; + /** + * @description The date when the group was last updated_at + * @example 2021-01-03 22:27:15:000 -700 + */ + updated_at?: string; + /** + * @description An array of teams linked to this group + * @example [ + * { + * "team_id": 1, + * "team_name": "team-test" + * }, + * { + * "team_id": 2, + * "team_name": "team-test2" + * } + * ] + */ + teams: { + /** + * @description The id for a team + * @example 1 + */ + team_id: number; + /** + * @description The name of the team + * @example team-test + */ + team_name: string; + }[]; + /** + * @description An array of external members linked to this group + * @example [ + * { + * "member_id": 1, + * "member_login": "mona-lisa_eocsaxrs", + * "member_name": "Mona Lisa", + * "member_email": "mona_lisa@github.com" + * }, + * { + * "member_id": 2, + * "member_login": "octo-lisa_eocsaxrs", + * "member_name": "Octo Lisa", + * "member_email": "octo_lisa@github.com" + * } + * ] + */ + members: { + /** + * @description The internal user ID of the identity + * @example 1 + */ + member_id: number; + /** + * @description The handle/login for the user + * @example mona-lisa_eocsaxrs + */ + member_login: string; + /** + * @description The user display name/profile name + * @example Mona Lisa + */ + member_name: string; + /** + * @description An email attached to a user + * @example mona_lisa@github.com + */ + member_email: string; + }[]; + }; + /** + * ExternalGroups + * @description A list of external groups available to be connected to a team + */ + "external-groups": { + /** + * @description An array of external groups available to be mapped to a team + * @example [ + * { + * "group_id": 1, + * "group_name": "group-azuread-test", + * "updated_at": "2021-01-03 22:27:15:000 -700" + * }, + * { + * "group_id": 2, + * "group_name": "group-azuread-test2", + * "updated_at": "2021-06-03 22:27:15:000 -700" + * } + * ] + */ + groups?: { + /** + * @description The internal ID of the group + * @example 1 + */ + group_id: number; + /** + * @description The display name of the group + * @example group-azuread-test + */ + group_name: string; + /** + * @description The time of the last update for this group + * @example 2019-06-03 22:27:15:000 -700 + */ + updated_at: string; + }[]; + }; + /** + * Organization Invitation + * @description Organization Invitation + */ + "organization-invitation": { + id: number; + login: string | null; + email: string | null; + role: string; + created_at: string; + failed_at?: string | null; + failed_reason?: string | null; + inviter: components["schemas"]["simple-user"]; + team_count: number; + /** @example "MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x" */ + node_id: string; + /** @example "https://api.github.com/organizations/16/invitations/1/teams" */ + invitation_teams_url: string; + }; + /** + * Org Hook + * @description Org Hook + */ + "org-hook": { + /** @example 1 */ + id: number; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/pings + */ + ping_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/deliveries + */ + deliveries_url?: string; + /** @example web */ + name: string; + /** + * @example [ + * "push", + * "pull_request" + * ] + */ + events: string[]; + /** @example true */ + active: boolean; + config: { + /** @example "http://example.com/2" */ + url?: string; + /** @example "0" */ + insecure_ssl?: string; + /** @example "form" */ + content_type?: string; + /** @example "********" */ + secret?: string; + }; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + type: string; + }; + /** + * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. + * @example collaborators_only + * @enum {string} + */ + "interaction-group": + | "existing_users" + | "contributors_only" + | "collaborators_only"; + /** + * Interaction Limits + * @description Interaction limit settings. + */ + "interaction-limit-response": { + limit: components["schemas"]["interaction-group"]; + /** @example repository */ + origin: string; + /** + * Format: date-time + * @example 2018-08-17T04:18:39Z + */ + expires_at: string; + }; + /** + * @description The duration of the interaction restriction. Default: `one_day`. + * @example one_month + * @enum {string} + */ + "interaction-expiry": + | "one_day" + | "three_days" + | "one_week" + | "one_month" + | "six_months"; + /** + * Interaction Restrictions + * @description Limit interactions to a specific type of user for a specified duration + */ + "interaction-limit": { + limit: components["schemas"]["interaction-group"]; + expiry?: components["schemas"]["interaction-expiry"]; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "nullable-team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * @description Name of the team + * @example Justice League + */ + name: string; + /** + * @description Description of the team + * @example A great team. + */ + description: string | null; + /** + * @description Permission that the team will have for its repositories + * @example admin + */ + permission: string; + /** + * @description The level of privacy this team should have + * @example closed + */ + privacy?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + } | null; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; + }; + /** Format: uri */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + members_url: string; + /** Format: uri */ + repositories_url: string; + parent: components["schemas"]["nullable-team-simple"]; + }; + /** + * Org Membership + * @description Org Membership + */ + "org-membership": { + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/memberships/defunkt + */ + url: string; + /** + * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. + * @example active + * @enum {string} + */ + state: "active" | "pending"; + /** + * @description The user's membership type in the organization. + * @example admin + * @enum {string} + */ + role: "admin" | "member" | "billing_manager"; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat + */ + organization_url: string; + organization: components["schemas"]["organization-simple"]; + user: components["schemas"]["nullable-simple-user"]; + permissions?: { + can_create_repository: boolean; + }; + }; + /** + * Migration + * @description A migration. + */ + migration: { + /** @example 79 */ + id: number; + owner: components["schemas"]["nullable-simple-user"]; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + guid: string; + /** @example pending */ + state: string; + /** @example true */ + lock_repositories: boolean; + exclude_metadata: boolean; + exclude_git_data: boolean; + exclude_attachments: boolean; + exclude_releases: boolean; + exclude_owner_projects: boolean; + org_metadata_only: boolean; + repositories: components["schemas"]["repository"][]; + /** + * Format: uri + * @example https://api.github.com/orgs/octo-org/migrations/79 + */ + url: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + updated_at: string; + node_id: string; + /** Format: uri */ + archive_url?: string; + exclude?: unknown[]; + }; + /** + * Minimal Repository + * @description Minimal Repository + */ + "nullable-minimal-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + } | null; + /** + * Package + * @description A software package + */ + package: { + /** + * @description Unique identifier of the package. + * @example 1 + */ + id: number; + /** + * @description The name of the package. + * @example super-linter + */ + name: string; + /** + * @example docker + * @enum {string} + */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** @example https://api.github.com/orgs/github/packages/container/super-linter */ + url: string; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + html_url: string; + /** + * @description The number of versions of the package. + * @example 1 + */ + version_count: number; + /** + * @example private + * @enum {string} + */ + visibility: "private" | "public"; + owner?: components["schemas"]["nullable-simple-user"]; + repository?: components["schemas"]["nullable-minimal-repository"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Package Version + * @description A version of a software package + */ + "package-version": { + /** + * @description Unique identifier of the package version. + * @example 1 + */ + id: number; + /** + * @description The name of the package version. + * @example latest + */ + name: string; + /** @example https://api.github.com/orgs/github/packages/container/super-linter/versions/786068 */ + url: string; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + package_html_url: string; + /** @example https://github.com/orgs/github/packages/container/super-linter/786068 */ + html_url?: string; + /** @example MIT */ + license?: string; + description?: string; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + deleted_at?: string; + /** Package Version Metadata */ + metadata?: { + /** + * @example docker + * @enum {string} + */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** Container Metadata */ + container?: { + tags: string[]; + }; + /** Docker Metadata */ + docker?: { + tag?: string[]; + } & { + tags: unknown; + }; + }; + }; + /** + * Project + * @description Projects are a way to organize columns and cards of work. + */ + project: { + /** + * Format: uri + * @example https://api.github.com/repos/api-playground/projects-test + */ + owner_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604 + */ + url: string; + /** + * Format: uri + * @example https://github.com/api-playground/projects-test/projects/12 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604/columns + */ + columns_url: string; + /** @example 1002604 */ + id: number; + /** @example MDc6UHJvamVjdDEwMDI2MDQ= */ + node_id: string; + /** + * @description Name of the project + * @example Week One Sprint + */ + name: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body: string | null; + /** @example 1 */ + number: number; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state: string; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ + private?: boolean; + }; + /** + * GroupMapping + * @description External Groups to be mapped to a team for membership + */ + "group-mapping": { + /** + * @description Array of groups to be mapped to this team + * @example [ + * { + * "group_id": "111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa", + * "group_name": "saml-azuread-test", + * "group_description": "A group of Developers working on AzureAD SAML SSO" + * }, + * { + * "group_id": "2bb2bb2b-bb22-22bb-2bb2-bb2bbb2bb2b2", + * "group_name": "saml-azuread-test2", + * "group_description": "Another group of Developers working on AzureAD SAML SSO" + * } + * ] + */ + groups?: { + /** + * @description The ID of the group + * @example 111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa + */ + group_id: string; + /** + * @description The name of the group + * @example saml-azuread-test + */ + group_name: string; + /** + * @description a description of the group + * @example A group of Developers working on AzureAD SAML SSO + */ + group_description: string; + /** + * @description synchronization status for this group mapping + * @example unsynced + */ + status?: string; + /** + * @description the time of the last sync for this group-mapping + * @example 2019-06-03 22:27:15:000 -700 + */ + synced_at?: string | null; + }[]; + }; + /** + * Full Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-full": { + /** + * @description Unique identifier of the team + * @example 42 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * @description Name of the team + * @example Developers + */ + name: string; + /** @example justice-league */ + slug: string; + /** @example A great team. */ + description: string | null; + /** + * @description The level of privacy this team should have + * @example closed + * @enum {string} + */ + privacy?: "closed" | "secret"; + /** + * @description Permission that the team will have for its repositories + * @example push + */ + permission: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + parent?: components["schemas"]["nullable-team-simple"]; + /** @example 3 */ + members_count: number; + /** @example 10 */ + repos_count: number; + /** + * Format: date-time + * @example 2017-07-14T16:53:42Z + */ + created_at: string; + /** + * Format: date-time + * @example 2017-08-17T12:37:15Z + */ + updated_at: string; + organization: components["schemas"]["organization-full"]; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + }; + /** + * Team Discussion + * @description A team discussion is a persistent record of a free-form conversation within a team. + */ + "team-discussion": { + author: components["schemas"]["nullable-simple-user"]; + /** + * @description The main text of the discussion. + * @example Please suggest improvements to our workflow in comments. + */ + body: string; + /** @example

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

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

Do you like apples?

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

comment body

" */ + body_html?: string; + /** @example "comment body" */ + body_text?: string; + }; + /** + * Timeline Line Commented Event + * @description Timeline Line Commented Event + */ + "timeline-line-commented-event": { + event?: string; + node_id?: string; + comments?: components["schemas"]["pull-request-review-comment"][]; + }; + /** + * Timeline Commit Commented Event + * @description Timeline Commit Commented Event + */ + "timeline-commit-commented-event": { + event?: string; + node_id?: string; + commit_id?: string; + comments?: components["schemas"]["commit-comment"][]; + }; + /** + * Timeline Assigned Issue Event + * @description Timeline Assigned Issue Event + */ + "timeline-assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * Timeline Unassigned Issue Event + * @description Timeline Unassigned Issue Event + */ + "timeline-unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * State Change Issue Event + * @description State Change Issue Event + */ + "state-change-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + state_reason?: string | null; + }; + /** + * Timeline Event + * @description Timeline Event + */ + "timeline-issue-events": Partial< + components["schemas"]["labeled-issue-event"] + > & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial & + Partial; + /** + * Deploy Key + * @description An SSH key granting access to a single repository. + */ + "deploy-key": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + }; + /** + * Language + * @description Language + */ + language: { [key: string]: number }; + /** + * License Content + * @description License Content + */ + "license-content": { + name: string; + path: string; + sha: string; + size: number; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + download_url: string | null; + type: string; + content: string; + encoding: string; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + license: components["schemas"]["nullable-license-simple"]; + }; + /** + * Merged upstream + * @description Results of a successful merge upstream request + */ + "merged-upstream": { + message?: string; + /** @enum {string} */ + merge_type?: "merge" | "fast-forward" | "none"; + base_branch?: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + */ + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; + /** + * @description The number of the milestone. + * @example 42 + */ + number: number; + /** + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** + * @description The title of the milestone. + * @example v1.0 + */ + title: string; + /** @example Tracking milestone for version 1.0 */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2013-02-12T13:22:01Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2012-10-09T23:39:01Z + */ + due_on: string | null; + }; + /** Pages Source Hash */ + "pages-source-hash": { + branch: string; + path: string; + }; + /** Pages Https Certificate */ + "pages-https-certificate": { + /** + * @example approved + * @enum {string} + */ + state: + | "new" + | "authorization_created" + | "authorization_pending" + | "authorized" + | "authorization_revoked" + | "issued" + | "uploaded" + | "approved" + | "errored" + | "bad_authz" + | "destroy_pending" + | "dns_changed"; + /** @example Certificate is approved */ + description: string; + /** + * @description Array of the domain set and its alternate name (if it is configured) + * @example [ + * "example.com", + * "www.example.com" + * ] + */ + domains: string[]; + /** Format: date */ + expires_at?: string; + }; + /** + * GitHub Pages + * @description The configuration for GitHub Pages for a repository. + */ + page: { + /** + * Format: uri + * @description The API address for accessing this Page resource. + * @example https://api.github.com/repos/github/hello-world/pages + */ + url: string; + /** + * @description The status of the most recent build of the Page. + * @example built + * @enum {string|null} + */ + status: ("built" | "building" | "errored") | null; + /** + * @description The Pages site's custom domain + * @example example.com + */ + cname: string | null; + /** + * @description The state if the domain is verified + * @example pending + * @enum {string|null} + */ + protected_domain_state?: ("pending" | "verified" | "unverified") | null; + /** + * Format: date-time + * @description The timestamp when a pending domain becomes unverified. + */ + pending_domain_unverified_at?: string | null; + /** + * @description Whether the Page has a custom 404 page. + * @default false + * @example false + */ + custom_404: boolean; + /** + * Format: uri + * @description The web address the Page can be accessed from. + * @example https://example.com + */ + html_url?: string; + /** + * @description The process in which the Page will be built. + * @example legacy + * @enum {string|null} + */ + build_type?: ("legacy" | "workflow") | null; + source?: components["schemas"]["pages-source-hash"]; + /** + * @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. + * @example true + */ + public: boolean; + https_certificate?: components["schemas"]["pages-https-certificate"]; + /** + * @description Whether https is enabled on the domain + * @example true + */ + https_enforced?: boolean; + }; + /** + * Page Build + * @description Page Build + */ + "page-build": { + /** Format: uri */ + url: string; + status: string; + error: { + message: string | null; + }; + pusher: components["schemas"]["nullable-simple-user"]; + commit: string; + duration: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Page Build Status + * @description Page Build Status + */ + "page-build-status": { + /** + * Format: uri + * @example https://api.github.com/repos/github/hello-world/pages/builds/latest + */ + url: string; + /** @example queued */ + status: string; + }; + /** + * Pages Health Check Status + * @description Pages Health Check Status + */ + "pages-health-check": { + domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + }; + alt_domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + } | null; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * @description Name of the team + * @example Justice League + */ + name: string; + /** + * @description Description of the team + * @example A great team. + */ + description: string | null; + /** + * @description Permission that the team will have for its repositories + * @example admin + */ + permission: string; + /** + * @description The level of privacy this team should have + * @example closed + */ + privacy?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + }; + /** + * Pull Request + * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. + */ + "pull-request": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 + */ + url: string; + /** @example 1 */ + id: number; + /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347 + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.patch + */ + patch_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + */ + commits_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + */ + review_comments_url: string; + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ + review_comment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + */ + comments_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + statuses_url: string; + /** + * @description Number uniquely identifying the pull request within its repository. + * @example 42 + */ + number: number; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** @example true */ + locked: boolean; + /** + * @description The title of the pull request. + * @example Amazing new feature + */ + title: string; + user: components["schemas"]["nullable-simple-user"]; + /** @example Please pull these awesome changes */ + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string | null; + color: string; + default: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + /** @example too heated */ + active_lock_reason?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + merged_at: string | null; + /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team-simple"][] | null; + head: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + /** Format: uri */ + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + /** Format: uri */ + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: uri */ + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: { + key: string; + name: string; + /** Format: uri */ + url: string | null; + spdx_id: string | null; + node_id: string; + } | null; + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + /** Format: uri */ + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + allow_forking?: boolean; + is_template?: boolean; + } | null; + sha: string; + user: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + }; + base: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + id: number; + is_template?: boolean; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + /** Format: uri */ + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + /** Format: uri */ + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: uri */ + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: components["schemas"]["nullable-license-simple"]; + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + /** Format: uri */ + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + allow_forking?: boolean; + }; + sha: string; + user: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** + * @description Indicates whether or not the pull request is a draft. + * @example false + */ + draft?: boolean; + merged: boolean; + /** @example true */ + mergeable: boolean | null; + /** @example true */ + rebaseable?: boolean | null; + /** @example clean */ + mergeable_state: string; + merged_by: components["schemas"]["nullable-simple-user"]; + /** @example 10 */ + comments: number; + /** @example 0 */ + review_comments: number; + /** + * @description Indicates whether maintainers can modify the pull request. + * @example true + */ + maintainer_can_modify: boolean; + /** @example 3 */ + commits: number; + /** @example 100 */ + additions: number; + /** @example 3 */ + deletions: number; + /** @example 5 */ + changed_files: number; + }; + /** + * Pull Request Merge Result + * @description Pull Request Merge Result + */ + "pull-request-merge-result": { + sha: string; + merged: boolean; + message: string; + }; + /** + * Pull Request Review Request + * @description Pull Request Review Request + */ + "pull-request-review-request": { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + }; + /** + * Pull Request Review + * @description Pull Request Reviews are reviews on pull requests. + */ + "pull-request-review": { + /** + * @description Unique identifier of the review + * @example 42 + */ + id: number; + /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description The text of the review. + * @example This looks great. + */ + body: string; + /** @example CHANGES_REQUESTED */ + state: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 + */ + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** Format: date-time */ + submitted_at?: string; + /** + * @description A commit SHA for the review. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 + */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Legacy Review Comment + * @description Legacy Review Comment + */ + "review-comment": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + url: string; + /** @example 42 */ + pull_request_review_id: number | null; + /** @example 10 */ + id: number; + /** @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw */ + node_id: string; + /** @example @@ -16,33 +16,40 @@ public class Connection : IConnection... */ + diff_hunk: string; + /** @example file1.txt */ + path: string; + /** @example 1 */ + position: number | null; + /** @example 4 */ + original_position: number; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_id: string; + /** @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 */ + original_commit_id: string; + /** @example 8 */ + in_reply_to_id?: number; + user: components["schemas"]["nullable-simple-user"]; + /** @example Great stuff */ + body: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: components["schemas"]["link"]; + html: components["schemas"]["link"]; + pull_request: components["schemas"]["link"]; + }; + body_text?: string; + body_html?: string; + reactions?: components["schemas"]["reaction-rollup"]; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side?: ("LEFT" | "RIGHT") | null; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + line?: number; + /** + * @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + original_line?: number; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + start_line?: number | null; + /** + * @description The original first line of the range for a multi-line comment. + * @example 2 + */ + original_start_line?: number | null; + }; + /** + * Release Asset + * @description Data related to a release. + */ + "release-asset": { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** + * @description The file name of the asset. + * @example Team Environment + */ + name: string; + label: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + uploader: components["schemas"]["nullable-simple-user"]; + }; + /** + * Release + * @description A release. + */ + release: { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** + * @description The name of the tag. + * @example v1.0.0 + */ + tag_name: string; + /** + * @description Specifies the commitish value that determines where the Git tag is created from. + * @example master + */ + target_commitish: string; + name: string | null; + body?: string | null; + /** + * @description true to create a draft (unpublished) release, false to create a published one. + * @example false + */ + draft: boolean; + /** + * @description Whether to identify the release as a prerelease or a full release. + * @example false + */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + author: components["schemas"]["simple-user"]; + assets: components["schemas"]["release-asset"][]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** + * Format: uri + * @description The URL of the release discussion. + */ + discussion_url?: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Generated Release Notes Content + * @description Generated name and body describing a release + */ + "release-notes-content": { + /** + * @description The generated name of the release + * @example Release v1.0.0 is now available! + */ + name: string; + /** @description The generated body describing the contents of the release supporting markdown formatting */ + body: string; + }; + "secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + }; + /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ + "secret-scanning-location-commit": { + /** + * @description The file path in the repository + * @example /example/secrets.txt + */ + path: string; + /** @description Line number at which the secret starts in the file */ + start_line: number; + /** @description Line number at which the secret ends in the file */ + end_line: number; + /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ + end_column: number; + /** + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + blob_sha: string; + /** @description The API URL to get the associated blob resource */ + blob_url: string; + /** + * @description SHA-1 hash ID of the associated commit + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + commit_sha: string; + /** @description The API URL to get the associated commit resource */ + commit_url: string; + }; + "secret-scanning-location": { + /** + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues), this field identifies the type of resource where the secret was found. + * @example commit + * @enum {string} + */ + type: "commit"; + details: components["schemas"]["secret-scanning-location-commit"]; + }; + /** + * Stargazer + * @description Stargazer + */ + stargazer: { + /** Format: date-time */ + starred_at: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** + * Code Frequency Stat + * @description Code Frequency Stat + */ + "code-frequency-stat": number[]; + /** + * Commit Activity + * @description Commit Activity + */ + "commit-activity": { + /** + * @example [ + * 0, + * 3, + * 26, + * 20, + * 39, + * 1, + * 0 + * ] + */ + days: number[]; + /** @example 89 */ + total: number; + /** @example 1336280400 */ + week: number; + }; + /** + * Contributor Activity + * @description Contributor Activity + */ + "contributor-activity": { + author: components["schemas"]["nullable-simple-user"]; + /** @example 135 */ + total: number; + /** + * @example [ + * { + * "w": "1367712000", + * "a": 6898, + * "d": 77, + * "c": 10 + * } + * ] + */ + weeks: { + w?: number; + a?: number; + d?: number; + c?: number; + }[]; + }; + /** Participation Stats */ + "participation-stats": { + all: number[]; + owner: number[]; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-subscription": { + /** + * @description Determines if notifications should be received from this repository. + * @example true + */ + subscribed: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/subscription + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + }; + /** + * Tag + * @description Tag + */ + tag: { + /** @example v0.1 */ + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/zipball/v0.1 + */ + zipball_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/tarball/v0.1 + */ + tarball_url: string; + node_id: string; + }; + /** + * Tag protection + * @description Tag protection + */ + "tag-protection": { + /** @example 2 */ + id?: number; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + /** @example 2011-01-26T19:01:12Z */ + updated_at?: string; + /** @example true */ + enabled?: boolean; + /** @example v1.* */ + pattern: string; + }; + /** + * Topic + * @description A topic aggregates entities that are related to a subject. + */ + topic: { + names: string[]; + }; + /** Traffic */ + traffic: { + /** Format: date-time */ + timestamp: string; + uniques: number; + count: number; + }; + /** + * Clone Traffic + * @description Clone Traffic + */ + "clone-traffic": { + /** @example 173 */ + count: number; + /** @example 128 */ + uniques: number; + clones: components["schemas"]["traffic"][]; + }; + /** + * Content Traffic + * @description Content Traffic + */ + "content-traffic": { + /** @example /github/hubot */ + path: string; + /** @example github/hubot: A customizable life embetterment robot. */ + title: string; + /** @example 3542 */ + count: number; + /** @example 2225 */ + uniques: number; + }; + /** + * Referrer Traffic + * @description Referrer Traffic + */ + "referrer-traffic": { + /** @example Google */ + referrer: string; + /** @example 4 */ + count: number; + /** @example 3 */ + uniques: number; + }; + /** + * View Traffic + * @description View Traffic + */ + "view-traffic": { + /** @example 14850 */ + count: number; + /** @example 3782 */ + uniques: number; + views: components["schemas"]["traffic"][]; + }; + "scim-group-list-enterprise": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + "scim-enterprise-group": { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + "scim-user-list-enterprise": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + primary?: boolean; + type?: string; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + "scim-enterprise-user": { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + type?: string; + primary?: boolean; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + /** + * SCIM /Users + * @description SCIM /Users provisioning endpoints + */ + "scim-user": { + /** @description SCIM schema used. */ + schemas: string[]; + /** + * @description Unique identifier of an external identity + * @example 1b78eada-9baa-11e6-9eb6-a431576d590e + */ + id: string; + /** + * @description The ID of the User. + * @example a7b0f98395 + */ + externalId: string | null; + /** + * @description Configured by the admin. Could be an email, login, or username + * @example someone@example.com + */ + userName: string | null; + /** + * @description The name of the user, suitable for display to end-users + * @example Jon Doe + */ + displayName?: string | null; + /** + * @example { + * "givenName": "Jane", + * "familyName": "User" + * } + */ + name: { + givenName: string | null; + familyName: string | null; + formatted?: string | null; + }; + /** + * @description user emails + * @example [ + * { + * "value": "someone@example.com", + * "primary": true + * }, + * { + * "value": "another@example.com", + * "primary": false + * } + * ] + */ + emails: { + value: string; + primary?: boolean; + }[]; + /** + * @description The active status of the User. + * @example true + */ + active: boolean; + meta: { + /** @example User */ + resourceType?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + created?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + lastModified?: string; + /** + * Format: uri + * @example https://api.github.com/scim/v2/organizations/myorg-123abc55141bfd8f/Users/c42772b5-2029-11e9-8543-9264a97dec8d + */ + location?: string; + }; + /** @description The ID of the organization. */ + organization_id?: number; + /** + * @description Set of operations to be performed + * @example [ + * { + * "op": "replace", + * "value": { + * "active": false + * } + * } + * ] + */ + operations?: { + /** @enum {string} */ + op: "add" | "remove" | "replace"; + path?: string; + value?: string | { [key: string]: unknown } | unknown[]; + }[]; + /** @description associated groups */ + groups?: { + value?: string; + display?: string; + }[]; + }; + /** + * SCIM User List + * @description SCIM User List + */ + "scim-user-list": { + /** @description SCIM schema used. */ + schemas: string[]; + /** @example 3 */ + totalResults: number; + /** @example 10 */ + itemsPerPage: number; + /** @example 1 */ + startIndex: number; + Resources: components["schemas"]["scim-user"][]; + }; + /** Search Result Text Matches */ + "search-result-text-matches": { + object_url?: string; + object_type?: string | null; + property?: string; + fragment?: string; + matches?: { + text?: string; + indices?: number[]; + }[]; + }[]; + /** + * Code Search Result Item + * @description Code Search Result Item + */ + "code-search-result-item": { + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string; + /** Format: uri */ + html_url: string; + repository: components["schemas"]["minimal-repository"]; + score: number; + file_size?: number; + language?: string | null; + /** Format: date-time */ + last_modified_at?: string; + /** + * @example [ + * "73..77", + * "77..78" + * ] + */ + line_numbers?: string[]; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Commit Search Result Item + * @description Commit Search Result Item + */ + "commit-search-result-item": { + /** Format: uri */ + url: string; + sha: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + comments_url: string; + commit: { + author: { + name: string; + email: string; + /** Format: date-time */ + date: string; + }; + committer: components["schemas"]["nullable-git-user"]; + comment_count: number; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["nullable-simple-user"]; + committer: components["schemas"]["nullable-git-user"]; + parents: { + url?: string; + html_url?: string; + sha?: string; + }[]; + repository: components["schemas"]["minimal-repository"]; + score: number; + node_id: string; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Issue Search Result Item + * @description Issue Search Result Item + */ + "issue-search-result-item": { + /** Format: uri */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + locked: boolean; + active_lock_reason?: string | null; + assignees?: components["schemas"]["simple-user"][] | null; + user: components["schemas"]["nullable-simple-user"]; + labels: { + /** Format: int64 */ + id?: number; + node_id?: string; + url?: string; + name?: string; + color?: string; + default?: boolean; + description?: string | null; + }[]; + state: string; + state_reason?: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + milestone: components["schemas"]["nullable-milestone"]; + comments: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + body?: string; + score: number; + author_association: components["schemas"]["author-association"]; + draft?: boolean; + repository?: components["schemas"]["repository"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Label Search Result Item + * @description Label Search Result Item + */ + "label-search-result-item": { + id: number; + node_id: string; + /** Format: uri */ + url: string; + name: string; + color: string; + default: boolean; + description: string | null; + score: number; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Repo Search Result Item + * @description Repo Search Result Item + */ + "repo-search-result-item": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["nullable-simple-user"]; + private: boolean; + /** Format: uri */ + html_url: string; + description: string | null; + fork: boolean; + /** Format: uri */ + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + pushed_at: string; + /** Format: uri */ + homepage: string | null; + size: number; + stargazers_count: number; + watchers_count: number; + language: string | null; + forks_count: number; + open_issues_count: number; + master_branch?: string; + default_branch: string; + score: number; + /** Format: uri */ + forks_url: string; + keys_url: string; + collaborators_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri */ + hooks_url: string; + issue_events_url: string; + /** Format: uri */ + events_url: string; + assignees_url: string; + branches_url: string; + /** Format: uri */ + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + /** Format: uri */ + merges_url: string; + archive_url: string; + /** Format: uri */ + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + /** Format: uri */ + deployments_url: string; + git_url: string; + ssh_url: string; + clone_url: string; + /** Format: uri */ + svn_url: string; + forks: number; + open_issues: number; + watchers: number; + topics?: string[]; + /** Format: uri */ + mirror_url: string | null; + has_issues: boolean; + has_projects: boolean; + has_pages: boolean; + has_wiki: boolean; + has_downloads: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + license: components["schemas"]["nullable-license-simple"]; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + text_matches?: components["schemas"]["search-result-text-matches"]; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_forking?: boolean; + is_template?: boolean; + }; + /** + * Topic Search Result Item + * @description Topic Search Result Item + */ + "topic-search-result-item": { + name: string; + display_name: string | null; + short_description: string | null; + description: string | null; + created_by: string | null; + released: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + featured: boolean; + curated: boolean; + score: number; + repository_count?: number | null; + /** Format: uri */ + logo_url?: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + related?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + aliases?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + }; + /** + * User Search Result Item + * @description User Search Result Item + */ + "user-search-result-item": { + login: string; + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + score: number; + following_url: string; + gists_url: string; + starred_url: string; + events_url: string; + public_repos?: number; + public_gists?: number; + followers?: number; + following?: number; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + name?: string | null; + bio?: string | null; + /** Format: email */ + email?: string | null; + location?: string | null; + site_admin: boolean; + hireable?: boolean | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + blog?: string | null; + company?: string | null; + /** Format: date-time */ + suspended_at?: string | null; + }; + /** + * Private User + * @description Private User + */ + "private-user": { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example monalisa octocat */ + name: string | null; + /** @example GitHub */ + company: string | null; + /** @example https://github.com/blog */ + blog: string | null; + /** @example San Francisco */ + location: string | null; + /** + * Format: email + * @example octocat@github.com + */ + email: string | null; + hireable: boolean | null; + /** @example There once was... */ + bio: string | null; + /** @example monalisa */ + twitter_username?: string | null; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + updated_at: string; + /** @example 81 */ + private_gists: number; + /** @example 100 */ + total_private_repos: number; + /** @example 100 */ + owned_private_repos: number; + /** @example 10000 */ + disk_usage: number; + /** @example 8 */ + collaborators: number; + /** @example true */ + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + business_plus?: boolean; + ldap_dn?: string; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME + */ + name: string; + /** + * Format: date-time + * @description Secret created at + */ + created_at: string; + /** + * Format: date-time + * @description Secret last updated at + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description API URL at which the list of repositories this secret is vicible can be retrieved + * @example https://api.github.com/user/secrets/SECRET_NAME/repositories + */ + selected_repositories_url: string; + }; + /** + * CodespacesUserPublicKey + * @description The public key used for setting user Codespaces' Secrets. + */ + "codespaces-user-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + }; + /** + * Fetches information about an export of a codespace. + * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest + */ + "codespace-export-details": { + /** + * @description State of the latest export + * @example succeeded | failed | in_progress + */ + state?: string | null; + /** + * Format: date-time + * @description Completion time of the last export operation + * @example 2021-01-01T19:01:12Z + */ + completed_at?: string | null; + /** + * @description Name of the exported branch + * @example codespace-monalisa-octocat-hello-world-g4wpq6h95q + */ + branch?: string | null; + /** + * @description Git commit SHA of the exported branch + * @example fd95a81ca01e48ede9f39c799ecbcef817b8a3b2 + */ + sha?: string | null; + /** + * @description Id for the export details + * @example latest + */ + id?: string; + /** + * @description Url for fetching export details + * @example https://api.github.com/user/codespaces/:name/exports/latest + */ + export_url?: string; + /** + * @description Web url for the exported branch + * @example https://github.com/octocat/hello-world/tree/:branch + */ + html_url?: string | null; + }; + /** + * Email + * @description Email + */ + email: { + /** + * Format: email + * @example octocat@github.com + */ + email: string; + /** @example true */ + primary: boolean; + /** @example true */ + verified: boolean; + /** @example public */ + visibility: string | null; + }; + /** + * GPG Key + * @description A unique encryption key + */ + "gpg-key": { + /** @example 3 */ + id: number; + /** @example Octocat's GPG Key */ + name?: string | null; + primary_key_id: number | null; + /** @example 3262EFF25BA0D270 */ + key_id: string; + /** @example xsBNBFayYZ... */ + public_key: string; + /** + * @example [ + * { + * "email": "octocat@users.noreply.github.com", + * "verified": true + * } + * ] + */ + emails: { + email?: string; + verified?: boolean; + }[]; + /** + * @example [ + * { + * "id": 4, + * "primary_key_id": 3, + * "key_id": "4A595D4C72EE49C7", + * "public_key": "zsBNBFayYZ...", + * "emails": [], + * "subkeys": [], + * "can_sign": false, + * "can_encrypt_comms": true, + * "can_encrypt_storage": true, + * "can_certify": false, + * "created_at": "2016-03-24T11:31:04-06:00", + * "expires_at": null, + * "revoked": false + * } + * ] + */ + subkeys: { + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: unknown[]; + subkeys?: unknown[]; + can_sign?: boolean; + can_encrypt_comms?: boolean; + can_encrypt_storage?: boolean; + can_certify?: boolean; + created_at?: string; + expires_at?: string | null; + raw_key?: string | null; + revoked?: boolean; + }[]; + /** @example true */ + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + /** @example true */ + can_certify: boolean; + /** + * Format: date-time + * @example 2016-03-24T11:31:04-06:00 + */ + created_at: string; + /** Format: date-time */ + expires_at: string | null; + /** @example true */ + revoked: boolean; + raw_key: string | null; + }; + /** + * Key + * @description Key + */ + key: { + key: string; + id: number; + url: string; + title: string; + /** Format: date-time */ + created_at: string; + verified: boolean; + read_only: boolean; + }; + /** Marketplace Account */ + "marketplace-account": { + /** Format: uri */ + url: string; + id: number; + type: string; + node_id?: string; + login: string; + /** Format: email */ + email?: string | null; + /** Format: email */ + organization_billing_email?: string | null; + }; + /** + * User Marketplace Purchase + * @description User Marketplace Purchase + */ + "user-marketplace-purchase": { + /** @example monthly */ + billing_cycle: string; + /** + * Format: date-time + * @example 2017-11-11T00:00:00Z + */ + next_billing_date: string | null; + unit_count: number | null; + /** @example true */ + on_free_trial: boolean; + /** + * Format: date-time + * @example 2017-11-11T00:00:00Z + */ + free_trial_ends_on: string | null; + /** + * Format: date-time + * @example 2017-11-02T01:12:12Z + */ + updated_at: string | null; + account: components["schemas"]["marketplace-account"]; + plan: components["schemas"]["marketplace-listing-plan"]; + }; + /** + * Starred Repository + * @description Starred Repository + */ + "starred-repository": { + /** Format: date-time */ + starred_at: string; + repo: components["schemas"]["repository"]; + }; + /** + * Hovercard + * @description Hovercard + */ + hovercard: { + contexts: { + message: string; + octicon: string; + }[]; + }; + /** + * Key Simple + * @description Key Simple + */ + "key-simple": { + id: number; + key: string; + }; + }; + responses: { + /** Resource not found */ + not_found: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Validation failed */ + validation_failed_simple: { + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; + }; + /** Bad Request */ + bad_request: { + content: { + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Validation failed */ + validation_failed: { + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + /** Accepted */ + accepted: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Forbidden */ + forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Requires authentication */ + requires_authentication: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Not modified */ + not_modified: unknown; + /** Gone */ + gone: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Response */ + actions_runner_labels: { + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** Response */ + actions_runner_labels_readonly: { + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Service unavailable */ + service_unavailable: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + /** Forbidden Gist */ + forbidden_gist: { + content: { + "application/json": { + block?: { + reason?: string; + created_at?: string; + html_url?: string | null; + }; + message?: string; + documentation_url?: string; + }; + }; + }; + /** Moved permanently */ + moved_permanently: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Conflict */ + conflict: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Internal Error */ + internal_error: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Temporary Redirect */ + temporary_redirect: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Response if the repository is archived or if github advanced security is not enabled for this repository */ + code_scanning_forbidden_write: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** Found */ + found: unknown; + /** A header with no content is returned. */ + no_content: unknown; + /** Resource not found */ + scim_not_found: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Forbidden */ + scim_forbidden: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Bad Request */ + scim_bad_request: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Too Many Requests */ + scim_too_many_requests: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Internal Error */ + scim_internal_error: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** Conflict */ + scim_conflict: { + content: { + "application/json": components["schemas"]["scim-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + }; + parameters: { + /** @description The number of results per page (max 100). */ + "per-page": number; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor: string; + "delivery-id": number; + /** @description Page number of the results to fetch. */ + page: number; + /** @description Only show 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; + /** @description The unique identifier of the installation. */ + "installation-id": number; + /** @description The unique identifier of the grant. */ + "grant-id": number; + /** @description The client ID of the GitHub app. */ + "client-id": string; + "app-slug": string; + /** @description The client ID of the OAuth app. */ + "oauth-client-id": string; + /** @description The unique identifier of the authorization. */ + "authorization-id": number; + /** @description The slug version of the enterprise name or the login of an organization. */ + "enterprise-or-org": string; + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description The unique identifier of the organization. */ + "org-id": number; + /** @description Only return runner groups that are allowed to be used by this organization. */ + "visible-to-organization": string; + /** @description Unique identifier of the self-hosted runner group. */ + "runner-group-id": number; + /** @description Unique identifier of the self-hosted runner. */ + "runner-id": number; + /** @description The name of a self-hosted runner's custom label. */ + "runner-label-name": string; + /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + "audit-log-phrase": string; + /** + * @description The event types to include: + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. + */ + "audit-log-include": "web" | "git" | "all"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + "audit-log-after": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + "audit-log-before": string; + /** + * @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + "audit-log-order": "desc" | "asc"; + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + "tool-name": components["schemas"]["code-scanning-analysis-tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + "tool-guid": components["schemas"]["code-scanning-analysis-tool-guid"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + "pagination-before": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + "pagination-after": string; + /** @description The direction to sort the results by. */ + direction: "asc" | "desc"; + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + "secret-scanning-alert-state": "open" | "resolved"; + /** + * @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + "secret-scanning-alert-secret-type": string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + "secret-scanning-alert-resolution": string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + "secret-scanning-alert-sort": "created" | "updated"; + /** @description The unique identifier of the gist. */ + "gist-id": string; + /** @description The unique identifier of the comment. */ + "comment-id": number; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels: string; + /** @description account_id parameter */ + "account-id": number; + /** @description The unique identifier of the plan. */ + "plan-id": number; + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort: "created" | "updated"; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description If `true`, show notifications marked as read. */ + all: boolean; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating: boolean; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before: string; + /** @description The unique identifier of the pull request thread. */ + "thread-id": number; + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + "since-org": number; + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The unique identifier of the repository. */ + "repository-id": number; + /** @description Only return runner groups that are allowed to be used by this repository. */ + "visible-to-repository": string; + /** @description The name of the secret. */ + "secret-name": string; + /** @description The handle for the GitHub user account. */ + username: string; + /** @description The unique identifier of the group. */ + "group-id": number; + /** @description The unique identifier of the hook. */ + "hook-id": number; + /** @description The unique identifier of the invitation. */ + "invitation-id": number; + /** @description The name of the codespace. */ + "codespace-name": string; + /** @description The unique identifier of the migration. */ + "migration-id": number; + /** @description repo_name parameter */ + "repo-name": string; + /** @description The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + "package-visibility": "public" | "private" | "internal"; + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + "package-type": + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** @description The name of the package. */ + "package-name": string; + /** @description Unique identifier of the package version. */ + "package-version-id": number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + "secret-scanning-pagination-before-org-repo": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + "secret-scanning-pagination-after-org-repo": string; + /** @description The slug of the team name. */ + "team-slug": string; + /** @description The number that identifies the discussion. */ + "discussion-number": number; + /** @description The number that identifies the comment. */ + "comment-number": number; + /** @description The unique identifier of the reaction. */ + "reaction-id": number; + /** @description The unique identifier of the project. */ + "project-id": number; + /** @description The unique identifier of the card. */ + "card-id": number; + /** @description The unique identifier of the column. */ + "column-id": number; + /** @description The unique identifier of the artifact. */ + "artifact-id": number; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + "git-ref": components["schemas"]["code-scanning-ref"]; + /** @description An explicit key or prefix for identifying the cache */ + "actions-cache-key": string; + /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + "actions-cache-list-sort": + | "created_at" + | "last_accessed_at" + | "size_in_bytes"; + /** @description A key for identifying the cache. */ + "actions-cache-key-required": string; + /** @description The unique identifier of the GitHub Actions cache. */ + "cache-id": number; + /** @description The unique identifier of the job. */ + "job-id": number; + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor: string; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + "workflow-run-branch": string; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event: string; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + "workflow-run-status": + | "completed" + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "skipped" + | "stale" + | "success" + | "timed_out" + | "in_progress" + | "queued" + | "requested" + | "waiting"; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created: string; + /** @description If `true` pull requests are omitted from the response (empty array). */ + "exclude-pull-requests": boolean; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + "workflow-run-check-suite-id": number; + /** @description The unique identifier of the workflow run. */ + "run-id": number; + /** @description The attempt number of the workflow run. */ + "attempt-number": number; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + "workflow-id": number | string; + /** @description The unique identifier of the autolink. */ + "autolink-id": number; + /** @description The name of the branch. */ + branch: string; + /** @description The unique identifier of the check run. */ + "check-run-id": number; + /** @description The unique identifier of the check suite. */ + "check-suite-id": number; + /** @description Returns check runs with the specified `name`. */ + "check-name": string; + /** @description Returns check runs with the specified `status`. */ + status: "queued" | "in_progress" | "completed"; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + "alert-number": components["schemas"]["alert-number"]; + /** @description The SHA of the commit. */ + "commit-sha": string; + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + "manifest-path": string; + /** @description deployment_id parameter */ + "deployment-id": number; + /** @description The name of the environment */ + "environment-name": string; + /** @description A user ID. Only return users with an ID greater than this ID. */ + "since-user": number; + /** @description The number that identifies the issue. */ + "issue-number": number; + /** @description The unique identifier of the key. */ + "key-id": number; + /** @description The number that identifies the milestone. */ + "milestone-number": number; + /** @description The number that identifies the pull request. */ + "pull-number": number; + /** @description The unique identifier of the review. */ + "review-id": number; + /** @description The unique identifier of the asset. */ + "asset-id": number; + /** @description The unique identifier of the release. */ + "release-id": number; + /** @description The unique identifier of the tag protection. */ + "tag-protection-id": number; + /** @description The time frame to display results for. */ + per: "" | "day" | "week"; + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + "since-repo": number; + /** @description Used for pagination: the index of the first result to return. */ + "start-index": number; + /** @description Used for pagination: the number of results to return. */ + count: number; + /** @description Identifier generated by the GitHub SCIM endpoint. */ + "scim-group-id": string; + /** @description The unique identifier of the SCIM user. */ + "scim-user-id": string; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order: "desc" | "asc"; + /** @description The unique identifier of the team. */ + "team-id": number; + /** @description ID of the Repository to filter on */ + "repository-id-in-query": number; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + "export-id": string; + /** @description The unique identifier of the GPG key. */ + "gpg-key-id": number; + }; + headers: { + link?: string; + "content-type"?: string; + "x-common-marker-version"?: string; + "x-rate-limit-limit"?: number; + "x-rate-limit-remaining"?: number; + "x-rate-limit-reset"?: number; + location?: string; + }; +} + +export interface operations { + /** Get Hypermedia links to resources accessible in GitHub's REST API */ + "meta/root": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["root"]; + }; + }; + }; + }; + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + }; + }; + /** Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */ + "apps/create-from-manifest": { + parameters: { + path: { + code: string; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["integration"] & + ({ + client_id: string; + client_secret: string; + webhook_secret: string | null; + pem: string; + } & { [key: string]: unknown }); + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-config-for-app": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/update-webhook-config-for-app": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + }; + /** + * Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/list-webhook-deliveries": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/redeliver-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + "apps/list-installations": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** 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?: components["parameters"]["since"]; + outdated?: string; + }; + }; + responses: { + /** The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["installation"][]; + }; + }; + }; + }; + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/delete-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/create-installation-access-token": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["installation-token"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository names that the token should have access to */ + repositories?: string[]; + /** + * @description List of repository IDs that the token should have access to + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + }; + /** + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/suspend-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/unsuspend-installation": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-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://docs.github.com/rest/reference/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"]`. + */ + "oauth-authorizations/list-grants": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The client ID of your GitHub app. */ + client_id?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["application-grant"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/get-grant": { + parameters: { + path: { + /** The unique identifier of the grant. */ + grant_id: components["parameters"]["grant-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["application-grant"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-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). + */ + "oauth-authorizations/delete-grant": { + parameters: { + path: { + /** The unique identifier of the grant. */ + grant_id: components["parameters"]["grant-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an 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). + */ + "apps/delete-authorization": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + }; + /** OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ + "apps/check-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth application. */ + access_token: string; + }; + }; + }; + }; + /** OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. */ + "apps/delete-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + }; + /** 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://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + "apps/reset-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth application. */ + access_token: string; + }; + }; + }; + }; + /** Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + "apps/scope-token": { + parameters: { + path: { + /** The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The OAuth access token used to authenticate to the GitHub API. + * @example e72e16c7e42f292c6912e7710c838347ae178b4a + */ + access_token: string; + /** + * @description The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified. + * @example octocat + */ + target?: string; + /** + * @description The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified. + * @example 1 + */ + target_id?: number; + /** @description The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified. */ + repositories?: string[]; + /** + * @description The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + }; + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/get-by-slug": { + parameters: { + path: { + app_slug: components["parameters"]["app-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/list-authorizations": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The client ID of your GitHub app. */ + client_id?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["authorization"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#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://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * 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://docs.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + */ + "oauth-authorizations/create-authorization": { + parameters: {}; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description The OAuth app client key for which to create the token. */ + client_id?: string; + /** @description The OAuth app client secret for which to create the token. */ + client_secret?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ + "oauth-authorizations/get-or-create-authorization-for-app": { + parameters: { + path: { + /** The client ID of the OAuth app. */ + client_id: components["parameters"]["oauth-client-id"]; + }; + }; + responses: { + /** if returning an existing token */ + 200: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth app client secret for which to create the token. */ + client_secret: string; + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + */ + "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint": { + parameters: { + path: { + /** The client ID of the OAuth app. */ + client_id: components["parameters"]["oauth-client-id"]; + fingerprint: string; + }; + }; + responses: { + /** if returning an existing token */ + 200: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + /** Response if returning a new token */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth app client secret for which to create the token. */ + client_secret: string; + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + }; + }; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/get-authorization": { + parameters: { + path: { + /** The unique identifier of the authorization. */ + authorization_id: components["parameters"]["authorization-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + "oauth-authorizations/delete-authorization": { + parameters: { + path: { + /** The unique identifier of the authorization. */ + authorization_id: components["parameters"]["authorization-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-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://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + */ + "oauth-authorizations/update-authorization": { + parameters: { + path: { + /** The unique identifier of the authorization. */ + authorization_id: components["parameters"]["authorization-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ + scopes?: string[] | null; + /** @description A list of scopes to add to this authorization. */ + add_scopes?: string[]; + /** @description A list of scopes to remove from this authorization. */ + remove_scopes?: string[]; + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + }; + "codes-of-conduct/get-all-codes-of-conduct": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "codes-of-conduct/get-conduct-code": { + parameters: { + path: { + key: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all the emojis available to use on GitHub. */ + "emojis/get": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": { [key: string]: string }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Returns aggregate usage metrics for your GitHub Enterprise Server 3.5+ instance for a specified time period up to 365 days. + * + * To use this endpoint, your GitHub Enterprise Server instance must be connected to GitHub Enterprise Cloud using GitHub Connect. You must enable Server Statistics, and for the API request provide your enterprise account name or organization name connected to the GitHub Enterprise Server. For more information, see "[Enabling Server Statistics for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)" in the GitHub Enterprise Server documentation. + * + * You'll need to use a personal access token: + * - If you connected your GitHub Enterprise Server to an enterprise account and enabled Server Statistics, you'll need a personal access token with the `read:enterprise` permission. + * - If you connected your GitHub Enterprise Server to an organization account and enabled Server Statistics, you'll need a personal access token with the `read:org` permission. + * + * For more information on creating a personal access token, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + */ + "enterprise-admin/get-server-statistics": { + parameters: { + path: { + /** The slug version of the enterprise name or the login of an organization. */ + enterprise_or_org: components["parameters"]["enterprise-or-org"]; + }; + query: { + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + date_start?: string; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + date_end?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["server-statistics"]; + }; + }; + }; + }; + /** + * Gets the total GitHub Actions cache usage for an enterprise. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "actions/get-actions-cache-usage-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; + }; + /** + * Sets the GitHub Actions OpenID Connect (OIDC) custom issuer policy for an enterprise. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + "actions/set-actions-oidc-custom-issuer-policy-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-oidc-custom-issuer-policy-for-enterprise"]; + }; + }; + }; + /** + * Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-github-actions-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-enterprise-permissions"]; + }; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise. + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-github-actions-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + enabled_organizations: components["schemas"]["enabled-organizations"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + }; + /** + * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + organizations: components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of organization IDs to enable for GitHub Actions. */ + selected_organization_ids: number[]; + }; + }; + }; + }; + /** + * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/enable-selected-organization-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/disable-selected-organization-github-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets the selected actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-allowed-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Sets the actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-allowed-actions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + "actions/get-github-actions-default-workflow-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Success response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, and sets + * whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ + "actions/set-github-actions-default-workflow-permissions-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Success response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + }; + /** + * Lists all self-hosted runner groups for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runner-groups-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Only return runner groups that are allowed to be used by this organization. */ + visible_to_organization?: components["parameters"]["visible-to-organization"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-enterprise"][]; + }; + }; + }; + }; + }; + /** + * Creates a new self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/create-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all organizations or select individual organization. + * @enum {string} + */ + visibility?: "selected" | "all"; + /** @description List of organization IDs that can access the runner group. */ + selected_organization_ids?: number[]; + /** @description List of runner IDs to add to the runner group. */ + runners?: number[]; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + }; + /** + * Deletes a self-hosted runner group for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/delete-self-hosted-runner-group-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/update-self-hosted-runner-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-enterprise"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name?: string; + /** + * @description Visibility of a runner group. You can select all organizations or select individual organizations. + * @default all + * @enum {string} + */ + visibility?: "selected" | "all"; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + }; + }; + }; + /** + * Lists the organizations with access to a self-hosted runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + organizations: components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of organization IDs that can access the runner group. */ + selected_organization_ids: number[]; + }; + }; + }; + }; + /** + * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)." + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the organization. */ + org_id: components["parameters"]["org-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists the self-hosted runners that are in a specific enterprise group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runners-in-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of self-hosted runners that are part of an enterprise runner group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-self-hosted-runners-in-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: number[]; + }; + }; + }; + }; + /** + * Adds a self-hosted runner to a runner group configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` + * scope to use this endpoint. + */ + "enterprise-admin/add-self-hosted-runner-to-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all self-hosted runners configured for an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-self-hosted-runners-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count?: number; + runners?: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-runner-applications-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN + * ``` + */ + "enterprise-admin/create-registration-token-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "enterprise-admin/create-remove-token-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/get-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/delete-self-hosted-runner-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all labels for a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/list-labels-for-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/set-custom-labels-for-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + }; + /** + * Add custom labels to a self-hosted runner configured in an enterprise. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/add-custom-labels-to-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + }; + /** + * Remove all custom labels from a self-hosted runner configured in an + * enterprise. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-all-custom-labels-from-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Remove a custom label from a self-hosted runner configured + * in an enterprise. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint. + */ + "enterprise-admin/remove-custom-label-from-self-hosted-runner-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ + "enterprise-admin/get-audit-log": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + phrase?: components["parameters"]["audit-log-phrase"]; + /** + * The event types to include: + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. + */ + include?: components["parameters"]["audit-log-include"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["audit-log-after"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["audit-log-before"]; + /** + * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + order?: components["parameters"]["audit-log-order"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["audit-log-event"][]; + }; + }; + }; + }; + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be a member of the enterprise, + * and you must use an access token with the `repo` scope or `security_events` scope. + */ + "code-scanning/list-alerts-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state"]; + /** The property by which to sort the results. */ + sort?: "created" | "updated"; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + */ + "secret-scanning/list-alerts-for-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** + * A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["pagination-after"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-github-actions-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the GitHub Advanced Security active committers for an enterprise per repository. + * + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of active_users for each repository. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + "billing/get-github-advanced-security-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Success */ + 200: { + content: { + "application/json": components["schemas"]["advanced-security-active-committers"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + }; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-github-packages-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * The authenticated user must be an enterprise admin. + */ + "billing/get-shared-storage-billing-ghe": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ + "activity/list-public-events": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + "activity/get-feeds": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["feed"]; + }; + }; + }; + }; + /** Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */ + "gists/list": { + parameters: { + query: { + /** 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?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + "gists/create": { + parameters: {}; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Description of the gist + * @example Example Ruby script + */ + description?: string; + /** + * @description Names and content for the files that make up the gist + * @example { + * "hello.rb": { + * "content": "puts \"Hello, World!\"" + * } + * } + */ + files: { + [key: string]: { + /** @description Content of the file */ + content: string; + }; + }; + public?: boolean | ("true" | "false"); + }; + }; + }; + }; + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + "gists/list-public": { + parameters: { + query: { + /** 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?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** List the authenticated user's starred gists: */ + "gists/list-starred": { + parameters: { + query: { + /** 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?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/get": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** 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. */ + "gists/update": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Description of the gist + * @example Example Ruby script + */ + description?: string; + /** + * @description Names of files to be updated + * @example { + * "hello.rb": { + * "content": "blah", + * "filename": "goodbye.rb" + * } + * } + */ + files?: { [key: string]: Partial<{ [key: string]: unknown }> }; + } | null; + }; + }; + }; + "gists/list-comments": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gist-comment"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/create-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + }; + "gists/get-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update-comment": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + }; + "gists/list-commits": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["gist-commit"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-forks": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gist-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note**: This was previously `/gists/:gist_id/fork`. */ + "gists/fork": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["base-gist"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/check-is-starred": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response if gist is starred */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + /** Not Found if gist is not starred */ + 404: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + }; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + "gists/star": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/unstar": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-revision": { + parameters: { + path: { + /** The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + sha: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). */ + "gitignore/get-all-templates": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + "gitignore/get-template": { + parameters: { + path: { + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gitignore-template"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/list-repos-accessible-to-installation": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + /** @example selected */ + repository_selection?: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/reference/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + "apps/revoke-installation-access-token": { + parameters: {}; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API 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://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list": { + parameters: { + query: { + /** Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** 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?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** 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?: components["parameters"]["since"]; + collab?: boolean; + orgs?: boolean; + owned?: boolean; + pulls?: boolean; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "licenses/get-all-commonly-used": { + parameters: { + query: { + featured?: boolean; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["license-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "licenses/get": { + parameters: { + path: { + license: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["license"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "markdown/render": { + parameters: {}; + responses: { + /** Response */ + 200: { + headers: { + "Content-Length"?: string; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The Markdown text to render in HTML. */ + text: string; + /** + * @description The rendering mode. Can be either `markdown` or `gfm`. + * @default markdown + * @example markdown + * @enum {string} + */ + mode?: "markdown" | "gfm"; + /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ + context?: string; + }; + }; + }; + }; + /** You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. */ + "markdown/render-raw": { + parameters: {}; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + requestBody: { + content: { + "text/plain": string; + "text/x-markdown": string; + }; + }; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account": { + parameters: { + path: { + /** account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** Not Found when the account has not purchased the listing */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan": { + parameters: { + path: { + /** The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account-stubbed": { + parameters: { + path: { + /** account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** Not Found when the account has not purchased the listing */ + 404: unknown; + }; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans-stubbed": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth Apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan-stubbed": { + parameters: { + path: { + /** The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses. + */ + "meta/get": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["api-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "activity/list-public-events-for-repo-network": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** List all notifications for the current user, sorted by most recently updated. */ + "activity/list-notifications-for-authenticated-user": { + parameters: { + query: { + /** If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** 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?: components["parameters"]["since"]; + /** 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?: components["parameters"]["before"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Marks all notifications 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 notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + "activity/mark-notifications-as-read": { + parameters: {}; + responses: { + /** Response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** Reset Content */ + 205: unknown; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + /** @description Whether the notification has been read. */ + read?: boolean; + }; + }; + }; + }; + "activity/get-thread": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/mark-thread-as-read": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Reset Content */ + 205: unknown; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + "activity/get-thread-subscription-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/reference/activity#delete-a-thread-subscription) endpoint. + */ + "activity/set-thread-subscription": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to block all notifications from a thread. + * @default false + */ + ignored?: boolean; + }; + }; + }; + }; + /** Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. */ + "activity/delete-thread-subscription": { + parameters: { + path: { + /** The unique identifier of the pull request thread. */ + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the octocat as ASCII art */ + "meta/get-octocat": { + parameters: { + query: { + /** The words to show in Octocat's speech bubble */ + s?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/octocat-stream": string; + }; + }; + }; + }; + /** + * Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations. + */ + "orgs/list": { + parameters: { + query: { + /** An organization ID. Only return organizations with an ID greater than this ID. */ + since?: components["parameters"]["since-org"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * List the custom repository roles available in this organization. In order to see custom + * repository roles in an organization, the authenticated user must be an organization owner. + * + * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". + */ + "orgs/list-custom-roles": { + parameters: { + path: { + organization_id: string; + }; + }; + responses: { + /** Response - list of custom role names */ + 200: { + content: { + "application/json": { + /** + * @description The number of custom roles in this organization + * @example 3 + */ + total_count?: number; + custom_roles?: components["schemas"]["organization-custom-repository-role"][]; + }; + }; + }; + }; + }; + /** + * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." + */ + "orgs/get": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + "orgs/update": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 409: components["responses"]["conflict"]; + /** Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Billing email address. This address is not publicized. */ + billing_email?: string; + /** @description The company name. */ + company?: string; + /** @description The publicly visible email address. */ + email?: string; + /** @description The Twitter username of the company. */ + twitter_username?: string; + /** @description The location. */ + location?: string; + /** @description The shorthand name of the company. */ + name?: string; + /** @description The description of the company. */ + description?: string; + /** @description Whether an organization can use organization projects. */ + has_organization_projects?: boolean; + /** @description Whether repositories that belong to the organization can use repository projects. */ + has_repository_projects?: boolean; + /** + * @description Default permission level members have for organization repositories. + * @default read + * @enum {string} + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + * @default true + */ + members_can_create_repositories?: boolean; + /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_internal_repositories?: boolean; + /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_private_repositories?: boolean; + /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_public_repositories?: boolean; + /** + * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + * @enum {string} + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** + * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_pages?: boolean; + /** + * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_public_pages?: boolean; + /** + * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_private_pages?: boolean; + /** + * @description Whether organization members can fork private organization repositories. + * @default false + */ + members_can_fork_private_repositories?: boolean; + /** @example "http://github.blog" */ + blog?: string; + }; + }; + }; + }; + /** + * Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + "actions/get-actions-cache-usage-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; + }; + /** + * Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + "actions/get-actions-cache-usage-by-repo-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; + }; + }; + }; + }; + }; + /** + * Gets the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + */ + "oidc/get-oidc-custom-sub-template-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** A JSON serialized template for OIDC subject claim customization */ + 200: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + }; + }; + /** + * Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `write:org` scope to use this endpoint. + * GitHub Apps must have the `admin:org` permission to use this endpoint. + */ + "oidc/update-oidc-custom-sub-template-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Empty response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + }; + /** + * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-github-actions-permissions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-organization-permissions"]; + }; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-github-actions-permissions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + }; + /** + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + }; + }; + /** + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-selected-repositories-enabled-github-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to enable for GitHub Actions. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/enable-selected-repository-github-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/disable-selected-repository-github-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-allowed-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * If the organization belongs to an enterprise that has `selected` actions and reusable workflows set at the enterprise level, then you cannot override any of the enterprise's allowed actions and reusable workflows settings. + * + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-allowed-actions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/get-github-actions-default-workflow-permissions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + "actions/set-github-actions-default-workflow-permissions-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Success response */ + 204: never; + /** Conflict response when changing a setting is prevented by the owning enterprise */ + 409: unknown; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runner-groups-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Only return runner groups that are allowed to be used by this repository. */ + visible_to_repository?: components["parameters"]["visible-to-repository"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-org"][]; + }; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Creates a new self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/create-self-hosted-runner-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. + * @default all + * @enum {string} + */ + visibility?: "selected" | "all" | "private"; + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids?: number[]; + /** @description List of runner IDs to add to the runner group. */ + runners?: number[]; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Gets a specific self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Deletes a self-hosted runner group for an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-group-from-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/update-self-hosted-runner-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. + * @enum {string} + */ + visibility?: "selected" | "all" | "private"; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/set-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + "actions/add-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Lists self-hosted runners that are in a specific organization group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-in-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * Replaces the list of self-hosted runners that are part of an organization runner group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/set-self-hosted-runners-in-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: number[]; + }; + }; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Adds a self-hosted runner to a runner group configured in an organization. + * + * You must authenticate using an access token with the `admin:org` + * scope to use this endpoint. + */ + "actions/add-self-hosted-runner-to-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)." + * + * + * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-self-hosted-runner-from-group-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner group. */ + runner_group_id: components["parameters"]["runner-group-id"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-runner-applications-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + "actions/create-registration-token-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "actions/create-remove-token-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all labels for a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/list-labels-for-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/set-custom-labels-for-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + }; + /** + * Add custom labels to a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/add-custom-labels-to-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + }; + /** + * Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "actions/remove-custom-label-from-self-hosted-runner-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/list-org-secrets": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-actions-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/get-org-public-key": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/get-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-actions-secret"]; + }; + }; + }; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (Partial & Partial)[]; + }; + }; + }; + }; + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/delete-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/list-selected-repos-for-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/set-selected-repos-for-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/add-selected-repo-to-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** No Content when repository was added to the selected list */ + 204: never; + /** Conflict when visibility type is not set to selected */ + 409: unknown; + }; + }; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */ + "actions/remove-selected-repo-from-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** Response when repository was removed from the selected list */ + 204: never; + /** Conflict when visibility type not set to selected */ + 409: unknown; + }; + }; + /** + * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." + * + * This endpoint is available for organizations on GitHub Enterprise Cloud. To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + * + * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." + * + * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination)." + */ + "orgs/get-audit-log": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + phrase?: components["parameters"]["audit-log-phrase"]; + /** + * The event types to include: + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. + */ + include?: components["parameters"]["audit-log-include"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["audit-log-after"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["audit-log-before"]; + /** + * The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + * + * The default is `desc`. + */ + order?: components["parameters"]["audit-log-order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["audit-log-event"][]; + }; + }; + }; + }; + /** List the users blocked by an organization. */ + "orgs/list-blocked-users": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "orgs/check-blocked-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** If the user is blocked: */ + 204: never; + /** If the user is not blocked: */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "orgs/block-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/unblock-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + "code-scanning/list-alerts-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state"]; + /** The property by which to sort the results. */ + sort?: "created" | "updated"; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Lists the codespaces associated to a specified organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "codespaces/list-in-organization": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://docs.github.com/en/articles/about-authentication-with-saml-single-sign-on). + */ + "orgs/list-saml-sso-authorizations": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page token */ + page?: number; + /** Limits the list of credentials authorizations for an organization to a specific login */ + login?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["credential-authorization"][]; + }; + }; + }; + }; + /** + * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products). + * + * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access. + */ + "orgs/remove-saml-sso-authorization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + credential_id: number; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/list-org-secrets": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-dependabot-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/get-org-public-key": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/get-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-dependabot-secret"]; + }; + }; + }; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "dependabot/create-or-update-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (Partial & Partial)[]; + }; + }; + }; + }; + /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/delete-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/list-selected-repos-for-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/set-selected-repos-for-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/add-selected-repo-to-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** No Content when repository was added to the selected list */ + 204: never; + /** Conflict when visibility type is not set to selected */ + 409: unknown; + }; + }; + /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ + "dependabot/remove-selected-repo-from-org-secret": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** Response when repository was removed from the selected list */ + 204: never; + /** Conflict when visibility type not set to selected */ + 409: unknown; + }; + }; + "activity/list-public-org-events": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + "teams/external-idp-group-info-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the group. */ + group_id: components["parameters"]["group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["external-group"]; + }; + }; + }; + }; + /** + * Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + "teams/list-external-idp-groups-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page token */ + page?: number; + /** Limits the list to groups containing the text in the group name */ + display_name?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["external-groups"]; + }; + }; + }; + }; + /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ + "orgs/list-failed-invitations": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-webhooks": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["org-hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Here's how you can create a hook that posts payloads in JSON format: */ + "orgs/create-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Must be passed as "web". */ + name: string; + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#create-hook-config-params). */ + config: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "kdaigle" */ + username?: string; + /** @example "password" */ + password?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + }; + }; + }; + }; + /** Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." */ + "orgs/get-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." */ + "orgs/update-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/orgs#update-hook-config-params). */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + /** @example "web" */ + name?: string; + }; + }; + }; + }; + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + "orgs/get-webhook-config-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + "orgs/update-webhook-config-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + }; + /** Returns a list of webhook deliveries for a webhook configured in an organization. */ + "orgs/list-webhook-deliveries": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns a delivery for a webhook configured in an organization. */ + "orgs/get-webhook-delivery": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Redeliver a delivery for a webhook configured in an organization. */ + "orgs/redeliver-webhook-delivery": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + "orgs/ping-webhook": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-org-installation": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + /** Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ + "orgs/list-app-installations": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + }; + }; + /** Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. */ + "interactions/get-restrictions-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; + }; + }; + }; + }; + /** Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. */ + "interactions/set-restrictions-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + }; + /** Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */ + "interactions/remove-restrictions-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** 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`. */ + "orgs/list-pending-invitations": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "orgs/create-invitation": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["organization-invitation"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ + invitee_id?: number; + /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ + email?: string; + /** + * @description The role for the new member. + * \* `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * \* `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * \* `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + * @default direct_member + * @enum {string} + */ + role?: "admin" | "direct_member" | "billing_manager"; + /** @description Specify IDs for the teams you want to invite new members to. */ + team_ids?: number[]; + }; + }; + }; + }; + /** + * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + "orgs/cancel-invitation": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ + "orgs/list-invitation-teams": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List issues in an organization assigned to the authenticated user. + * + * **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://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** 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?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** 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?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. */ + "orgs/list-members": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners. */ + filter?: "2fa_disabled" | "all"; + /** Filter members returned by their role. */ + role?: "all" | "admin" | "member"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + /** Response if requester is not an organization member */ + 302: never; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Check if a user is, publicly or privately, a member of the organization. */ + "orgs/check-membership-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response if requester is an organization member and user is a member */ + 204: never; + /** Response if requester is not an organization member */ + 302: never; + /** Not Found if requester is an organization member and user is not a member */ + 404: unknown; + }; + }; + /** Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ + "orgs/remove-member": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Deletes a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "codespaces/delete-from-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Stops a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + "codespaces/stop-in-organization": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */ + "orgs/get-membership-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + "orgs/set-membership-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The role to give the user in the organization. Can be one of: + * \* `admin` - The user will become an owner of the organization. + * \* `member` - The user will become a non-owner member of the organization. + * @default member + * @enum {string} + */ + role?: "admin" | "member"; + }; + }; + }; + }; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + "orgs/remove-membership-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the most recent migrations. */ + "migrations/list-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + }; + }; + /** Initiates the generation of a migration archive. */ + "migrations/start-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of arrays indicating which repositories should be migrated. */ + repositories: string[]; + /** + * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + * @default false + * @example true + */ + lock_repositories?: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @default false + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @default false + */ + exclude_git_data?: boolean; + /** + * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_attachments?: boolean; + /** + * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. + * @default false + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only?: boolean; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ + exclude?: "repositories"[]; + }; + }; + }; + }; + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + "migrations/get-status-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + /** Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + }; + responses: { + /** + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + 200: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Fetches the URL to a migration archive. */ + "migrations/download-archive-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ + "migrations/delete-archive-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. */ + "migrations/unlock-repo-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** List all the repositories for this organization migration. */ + "migrations/list-repos-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** List all users who are outside collaborators of an organization. */ + "orgs/list-outside-collaborators": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. */ + filter?: "2fa_disabled" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + "orgs/convert-member-to-outside-collaborator": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** User is getting converted asynchronously */ + 202: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** User was converted */ + 204: never; + /** Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + 403: unknown; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. + * @default false + */ + async?: boolean; + }; + }; + }; + }; + /** Removing a user from this list will remove them from all the organization's repositories. */ + "orgs/remove-outside-collaborator": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Unprocessable Entity if user is a member of the organization */ + 422: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + }; + /** + * Lists all packages in an organization readable by the user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/list-packages-for-organization": { + parameters: { + query: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-for-organization": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-for-org": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-for-org": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** package token */ + token?: string; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns all package versions for a package owned by an organization. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-all-package-versions-for-package-owned-by-org": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-version-for-organization": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-version-for-org": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-version-for-org": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/list-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/create-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + }; + /** Members of an organization can choose to have their membership publicized or not. */ + "orgs/list-public-members": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "orgs/check-public-membership-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response if user is a public member */ + 204: never; + /** Not Found if user is not a public member */ + 404: unknown; + }; + }; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "orgs/set-public-membership-for-authenticated-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + }; + }; + "orgs/remove-public-membership-for-authenticated-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists repositories for the specified organization. */ + "repos/list-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Specifies the types of repositories you want returned. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. However, the `internal` value is not yet supported when a GitHub App calls this API with an installation access token. */ + type?: + | "all" + | "public" + | "private" + | "forks" + | "sources" + | "member" + | "internal"; + /** The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + "repos/create-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the repository. */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. Note: For GitHub Enterprise Server and GitHub AE, this endpoint will only list repositories available to all users on the enterprise. For more information, see "[Creating an internal repository](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. + * @enum {string} + */ + visibility?: "public" | "private" | "internal"; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template?: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Pass `true` to create an initial commit with empty README. + * @default false + */ + auto_init?: boolean; + /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ + gitignore_template?: string; + /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ + license_template?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + }; + }; + }; + }; + /** + * Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/list-alerts-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** + * A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + "billing/get-github-actions-billing-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the GitHub Advanced Security active committers for an organization per repository. + * + * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of advanced_security_committers for each repository. + * + * If this organization defers to an enterprise for billing, the `total_advanced_security_committers` returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level. + * + * The total number of repositories with committer information is tracked by the `total_count` field. + */ + "billing/get-github-advanced-security-billing-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Success */ + 200: { + content: { + "application/json": components["schemas"]["advanced-security-active-committers"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + }; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + "billing/get-github-packages-billing-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + "billing/get-shared-storage-billing-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + */ + "teams/list-idp-groups-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page token */ + page?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + }; + /** Lists all teams in an organization that are visible to the authenticated user. */ + "teams/list": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + "teams/create": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** @description List GitHub IDs for organization members who will become team maintainers. */ + maintainers?: string[]; + /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ + repo_names?: string[]; + /** + * @description The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number; + }; + }; + }; + }; + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + "teams/get-by-name": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + "teams/delete-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + "teams/update-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name?: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + }; + /** + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + */ + "teams/list-discussions-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Pinned discussions only filter */ + pinned?: string; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + /** + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + */ + "teams/create-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private?: boolean; + }; + }; + }; + }; + /** + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/get-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/delete-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + "teams/update-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + }; + /** + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + "teams/list-discussion-comments-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + /** + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + "teams/create-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/get-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/delete-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + "teams/update-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + "reactions/list-for-team-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + "reactions/create-for-team-discussion-comment-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response when the reaction type has already been added to this team discussion comment */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/delete-for-team-discussion-comment": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + "reactions/list-for-team-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + "reactions/create-for-team-discussion-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/delete-for-team-discussion": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists a connection between a team and an external group. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + "teams/list-linked-external-idp-groups-to-team-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["external-groups"]; + }; + }; + }; + }; + /** + * Deletes a connection between a team and an external group. + * + * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "teams/unlink-external-idp-group-from-team-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Creates a connection between a team and an external group. Only one external group can be linked to a team. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ + "teams/link-external-idp-group-to-team-for-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["external-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description External Group Id + * @example 1 + */ + group_id: number; + }; + }; + }; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + "teams/list-pending-invitations-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/list-members-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + "teams/get-membership-for-user-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** if user has no team membership */ + 404: unknown; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/add-or-update-membership-for-user-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** Forbidden if team synchronization is set up */ + 403: unknown; + /** Unprocessable Entity if you attempt to add an organization to a team */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/remove-membership-for-user-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Forbidden if team synchronization is set up */ + 403: unknown; + }; + }; + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + "teams/list-projects-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + }; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/check-permissions-for-project-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** Not Found if project is not managed by this team */ + 404: unknown; + }; + }; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/add-or-update-project-permissions-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Forbidden if the project is not owned by the organization */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + }; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + "teams/remove-project-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + "teams/list-repos-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/check-permissions-for-repo-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Alternative response with repository permissions */ + 200: { + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ + 204: never; + /** Not Found if team does not have permission for the repository */ + 404: unknown; + }; + }; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + "teams/add-or-update-repo-permissions-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. In addition to the enumerated values, you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @default push + * @enum {string} + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; + }; + }; + }; + }; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/remove-repo-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + "teams/list-idp-groups-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`. + */ + "teams/create-or-update-idp-group-connections-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @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. */ + groups?: { + /** @description ID of the IdP group. */ + group_id: string; + /** @description Name of the IdP group. */ + group_name: string; + /** @description Description of the IdP group. */ + group_description: string; + }[]; + }; + }; + }; + }; + /** + * Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + "teams/list-child-in-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** if child teams exist */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + }; + "projects/get-card": { + parameters: { + path: { + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/delete-card": { + parameters: { + path: { + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "projects/update-card": { + parameters: { + path: { + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The project card's note + * @example Update all gems + */ + note?: string | null; + /** + * @description Whether or not the card is archived + * @example false + */ + archived?: boolean; + }; + }; + }; + }; + "projects/move-card": { + parameters: { + path: { + /** The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + resource?: string; + field?: string; + }[]; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + /** Response */ + 503: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. + * @example bottom + */ + position: string; + /** + * @description The unique identifier of the column the card should be moved to + * @example 42 + */ + column_id?: number; + }; + }; + }; + }; + "projects/get-column": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/delete-column": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/update-column": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + }; + "projects/list-cards": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + query: { + /** Filters the project cards that are returned by the card's state. */ + archived_state?: "all" | "archived" | "not_archived"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project-card"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-card": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; + }; + /** Response */ + 503: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": + | { + /** + * @description The project card's note + * @example Update all gems + */ + note: string | null; + } + | { + /** + * @description The unique identifier of the content associated with the card + * @example 42 + */ + content_id: number; + /** + * @description The piece of content associated with the card + * @example PullRequest + */ + content_type: string; + }; + }; + }; + }; + "projects/move-column": { + parameters: { + path: { + /** The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. + * @example last + */ + position: string; + }; + }; + }; + }; + /** Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/get": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ + "projects/delete": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Delete Success */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/update": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + /** Not Found if the authenticated user does not have access to the project */ + 404: unknown; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project + * @example Week One Sprint + */ + name?: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body?: string | null; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state?: string; + /** + * @description The baseline permission that all organization members have on this project + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. */ + private?: boolean; + }; + }; + }; + }; + /** Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */ + "projects/list-collaborators": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + query: { + /** Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */ + "projects/add-collaborator": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. + * @default write + * @example write + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + }; + /** Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ + "projects/remove-collaborator": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ + "projects/get-permission-for-user": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["project-collaborator-permission"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/list-columns": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project-column"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-column": { + parameters: { + path: { + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + }; + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + "rate-limit/get": { + parameters: {}; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["rate-limit-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** 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. */ + "repos/get": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + */ + "repos/delete": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 307: components["responses"]["temporary_redirect"]; + /** If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. */ + "repos/update": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 307: components["responses"]["temporary_redirect"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the repository. */ + name?: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + * @default false + */ + private?: boolean; + /** + * @description Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`." + * @enum {string} + */ + visibility?: "public" | "private" | "internal"; + /** @description Specify which security and analysis features to enable or disable. For example, to enable GitHub Advanced Security, use this data in the body of the PATCH request: `{"security_and_analysis": {"advanced_security": {"status": "enabled"}}}`. If you have admin permissions for a private repository covered by an Advanced Security license, you can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. */ + security_and_analysis?: { + /** @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ + advanced_security?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ + secret_scanning?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ + secret_scanning_push_protection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + } | null; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template?: boolean; + /** @description Updates the default branch for this repository. */ + default_branch?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. + * @default false + */ + allow_update_branch?: boolean; + /** + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + * @default false + */ + archived?: boolean; + /** + * @description Either `true` to allow private forks, or `false` to prevent private forks. + * @default false + */ + allow_forking?: boolean; + }; + }; + }; + }; + /** Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-artifacts-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + /** Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-artifact": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["artifact"]; + }; + }; + }; + }; + /** Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/delete-artifact": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/download-artifact": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + archive_format: string; + }; + }; + responses: { + /** Response */ + 302: never; + 410: components["responses"]["gone"]; + }; + }; + /** + * Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-actions-cache-usage": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-cache-usage-by-repository"]; + }; + }; + }; + }; + /** + * Lists the GitHub Actions caches for a repository. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-actions-cache-list": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + /** An explicit key or prefix for identifying the cache */ + key?: components["parameters"]["actions-cache-key"]; + /** The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + sort?: components["parameters"]["actions-cache-list-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + /** + * Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/delete-actions-cache-by-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** A key for identifying the cache. */ + key: components["parameters"]["actions-cache-key-required"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + /** + * Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/delete-actions-cache-by-id": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the GitHub Actions cache. */ + cache_id: components["parameters"]["cache-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-job-for-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["job"]; + }; + }; + }; + }; + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + "actions/download-job-logs-for-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/re-run-job-for-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + }; + /** + * Gets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. + */ + "actions/get-custom-oidc-sub-claim-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Status response */ + 200: { + content: { + "application/json": components["schemas"]["opt-out-oidc-custom-sub"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Sets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/set-custom-oidc-sub-claim-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Empty response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["opt-out-oidc-custom-sub"]; + }; + }; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/get-github-actions-permissions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-repository-permissions"]; + }; + }; + }; + }; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/set-github-actions-permissions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + }; + /** + * Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + "actions/get-workflow-access-to-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + }; + }; + /** + * Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + "actions/set-workflow-access-to-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + }; + /** + * Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/get-allowed-actions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * If the repository belongs to an organization or enterprise that has `selected` actions and reusable workflows set at the organization or enterprise levels, then you cannot override any of the allowed actions and reusable workflows settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + "actions/set-allowed-actions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + "actions/get-github-actions-default-workflow-permissions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + "actions/set-github-actions-default-workflow-permissions-repository": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Success response */ + 204: never; + /** Conflict response when changing a setting is prevented by the owning organization or enterprise */ + 409: unknown; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + }; + /** Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + "actions/list-self-hosted-runners-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + "actions/list-runner-applications-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate + * using an access token with the `repo` scope to use this endpoint. + * + * #### Example using registration token + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN + * ``` + */ + "actions/create-registration-token-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * #### Example using remove token + * + * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + "actions/create-remove-token-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/get-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` + * scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists all labels for a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/list-labels-for-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/set-custom-labels-for-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + }; + /** + * Add custom labels to a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/add-custom-labels-to-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + }; + /** + * Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. + */ + "actions/remove-custom-label-from-self-hosted-runner-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/list-workflow-runs-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + status?: components["parameters"]["workflow-run-status"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: components["parameters"]["created"]; + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + /** Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + query: { + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + /** + * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ + "actions/delete-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-reviews-for-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["environment-approvals"][]; + }; + }; + }; + }; + /** + * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/approve-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-workflow-run-artifacts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + /** + * Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. + */ + "actions/get-workflow-run-attempt": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + query: { + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + /** Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + "actions/list-jobs-for-workflow-run-attempt": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/download-workflow-run-attempt-logs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/cancel-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + /** Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ + "actions/list-jobs-for-workflow-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + query: { + /** Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ + filter?: "latest" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + }; + }; + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. + */ + "actions/download-workflow-run-logs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/delete-workflow-run-logs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-pending-deployments-for-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pending-deployment"][]; + }; + }; + }; + }; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. + */ + "actions/review-pending-deployments-for-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The list of environment ids to approve or reject + * @example [ + * 161171787, + * 161171795 + * ] + */ + environment_ids: number[]; + /** + * @description Whether to approve or reject deployment to the specified environments. + * @example approved + * @enum {string} + */ + state: "approved" | "rejected"; + /** + * @description A comment to accompany the deployment review + * @example Ship it! + */ + comment: string; + }; + }; + }; + }; + /** Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ + "actions/re-run-workflow": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + }; + /** Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. */ + "actions/re-run-workflow-failed-jobs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + }; + /** + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-workflow-run-usage": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run-usage"]; + }; + }; + }; + }; + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/list-repo-secrets": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-repo-public-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/actions#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + }; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/delete-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/list-repo-workflows": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + workflows: components["schemas"]["workflow"][]; + }; + }; + }; + }; + }; + /** Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "actions/get-workflow": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow"]; + }; + }; + }; + }; + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/disable-workflow": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + "actions/create-workflow-dispatch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The git reference for the workflow. The reference can be a branch or tag name. */ + ref: string; + /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ + inputs?: { [key: string]: string }; + }; + }; + }; + }; + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + "actions/enable-workflow": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + "actions/list-workflow-runs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + query: { + /** Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */ + status?: components["parameters"]["workflow-run-status"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: components["parameters"]["created"]; + /** If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + /** + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "actions/get-workflow-usage": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-usage"]; + }; + }; + }; + }; + /** Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ + "issues/list-assignees": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + "issues/check-user-can-be-assigned": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + assignee: string; + }; + }; + responses: { + /** If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ + 204: never; + /** Otherwise a `404` status code is returned. */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/list-autolinks": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["autolink"][]; + }; + }; + }; + }; + /** Users with admin access to the repository can create an autolink. */ + "repos/create-autolink": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The prefix appended by alphanumeric characters will generate a link any time it is found in an issue, pull request, or commit. */ + key_prefix: string; + /** @description The URL must contain `` for the reference number. `` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. */ + url_template: string; + }; + }; + }; + }; + /** + * This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/get-autolink": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/delete-autolink": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ + "repos/enable-automated-security-fixes": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */ + "repos/disable-automated-security-fixes": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "repos/list-branches": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ + protected?: boolean; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["short-branch"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-protection"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + "repos/update-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Require status checks to pass before merging. Set to `null` to disable. */ + required_status_checks: { + /** @description Require branches to be up to date before merging. */ + strict: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + } | null; + /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ + enforce_admins: boolean | null; + /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ + required_pull_request_reviews: { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ + require_code_owner_reviews?: boolean; + /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + } | null; + /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ + restrictions: { + /** @description The list of user `login`s with push access */ + users: string[]; + /** @description The list of team `slug`s with push access */ + teams: string[]; + /** @description The list of app `slug`s with push access */ + apps?: string[]; + } | null; + /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ + required_linear_history?: boolean; + /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ + allow_force_pushes?: boolean | null; + /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ + allow_deletions?: boolean; + /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ + block_creations?: boolean; + /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ + required_conversation_resolution?: boolean; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/delete-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-admin-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/set-admin-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/delete-admin-branch-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-pull-request-review-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/delete-pull-request-review-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + "repos/update-pull-request-review-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ + require_code_owner_reviews?: boolean; + /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + "repos/get-commit-signature-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/create-commit-signature-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/delete-commit-signature-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-status-checks-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/remove-status-check-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/update-status-check-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Require branches to be up to date before merging. */ + strict?: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts?: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/get-all-status-check-contexts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/set-status-check-contexts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description contexts parameter */ + contexts: string[]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/add-status-check-contexts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description contexts parameter */ + contexts: string[]; + }; + }; + }; + }; + /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "repos/remove-status-check-contexts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description contexts parameter */ + contexts: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + "repos/get-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-restriction-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + "repos/delete-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + "repos/get-apps-with-access-to-protected-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | 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. | + */ + "repos/set-app-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description apps parameter */ + apps: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | 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. | + */ + "repos/add-app-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description apps parameter */ + apps: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | 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. | + */ + "repos/remove-app-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description apps parameter */ + apps: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + "repos/get-teams-with-access-to-protected-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | 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. | + */ + "repos/set-team-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description teams parameter */ + teams: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | 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. | + */ + "repos/add-team-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description teams parameter */ + teams: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | 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. | + */ + "repos/remove-team-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description teams parameter */ + teams: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + "repos/get-users-with-access-to-protected-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-user-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description users parameter */ + users: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-user-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description users parameter */ + users: string[]; + }; + }; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-user-access-restrictions": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description users parameter */ + users: string[]; + }; + }; + }; + }; + /** + * Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The permissions required to use this endpoint depends on whether you are renaming the default branch. + * + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. + */ + "repos/rename-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the branch. */ + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The new name of the branch. */ + new_name: string; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + "checks/create": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + requestBody: { + content: { + "application/json": ( + | ({ + /** @enum {undefined} */ + status: "completed"; + } & { + conclusion: unknown; + } & { [key: string]: unknown }) + | ({ + /** @enum {undefined} */ + status?: "queued" | "in_progress"; + } & { [key: string]: unknown }) + ) & { + /** @description The name of the check. For example, "code-coverage". */ + name: string; + /** @description The SHA of the commit. */ + head_sha: string; + /** @description The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * @description The current status. + * @default queued + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Format: date-time + * @description The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object) description. */ + output?: { + /** @description The title of the check run. */ + title: string; + /** @description The summary of the check run. This parameter supports Markdown. */ + summary: string; + /** @description The details of the check run. This parameter supports Markdown. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object) description for details about how to use this parameter. */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#images-object) description for details. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/get": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + */ + "checks/update": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + requestBody: { + content: { + "application/json": (Partial< + { + /** @enum {undefined} */ + status?: "completed"; + } & { + conclusion: unknown; + } & { [key: string]: unknown } + > & + Partial< + { + /** @enum {undefined} */ + status?: "queued" | "in_progress"; + } & { [key: string]: unknown } + >) & { + /** @description The name of the check. For example, "code-coverage". */ + name?: string; + /** @description The URL of the integrator's site that has the full details of the check. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * Format: date-time + * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description The current status. + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed"; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/rest/reference/checks#output-object-1) description. */ + output?: { + /** @description **Required**. */ + title?: string; + /** @description Can contain Markdown. */ + summary: string; + /** @description Can contain Markdown. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details. */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/rest/reference/checks#annotations-object-1) description for details. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + }; + }; + }; + }; + /** Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ + "checks/list-annotations": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["check-annotation"][]; + }; + }; + }; + }; + /** + * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + "checks/rerequest-run": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ + 403: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** Validation error if the check run is not rerequestable */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + "checks/create-suite": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response when the suite already exists */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + /** Response when the suite was created */ + 201: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The sha of the head commit. */ + head_sha: string; + }; + }; + }; + }; + /** Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */ + "checks/set-suites-preferences": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite-preference"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the [`auto_trigger_checks` object](https://docs.github.com/rest/reference/checks#auto_trigger_checks-object) description for details. */ + auto_trigger_checks?: { + /** @description The `id` of the GitHub App. */ + app_id: number; + /** + * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. + * @default true + */ + setting: boolean; + }[]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + "checks/get-suite": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/list-for-suite": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + query: { + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + */ + "checks/rerequest-suite": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + }; + }; + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + "code-scanning/list-alerts-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The property by which to sort the results. . `number` is deprecated - we recommend that you use `created` instead. */ + sort?: "created" | "number" | "updated"; + /** Set to `open`, `closed, `fixed`, or `dismissed` to list code scanning alerts in a specific state. */ + state?: components["schemas"]["code-scanning-alert-state"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert-items"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`. + */ + "code-scanning/get-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. */ + "code-scanning/update-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["code-scanning-alert-set-state"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + }; + }; + }; + }; + /** + * Lists all instances of the specified code scanning alert. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + "code-scanning/list-alert-instances": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert-instance"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + "code-scanning/list-recent-analyses": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["schemas"]["code-scanning-ref"]; + /** Filter analyses belonging to the same SARIF upload. */ + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + */ + "code-scanning/get-analysis": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis"]; + "application/json+sarif": { [key: string]: unknown }; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` scope. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `analysis_key` + * * `environment` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + "code-scanning/delete-analysis": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + query: { + /** Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ + confirm_delete?: string | null; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis-deletion"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries. + * + * The `202 Accepted`, response includes an `id` value. + * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)." + */ + "code-scanning/upload-sarif": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; + }; + }; + /** Bad Request if the sarif field is invalid */ + 400: unknown; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** Payload Too Large if the sarif field is too large */ + 413: unknown; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-ref"]; + sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; + /** + * Format: uri + * @description The base directory used in the analysis, as it appears in the SARIF file. + * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. + * @example file:///github/workspace/ + */ + checkout_uri?: string; + /** + * Format: date-time + * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ + tool_name?: string; + }; + }; + }; + }; + /** Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */ + "code-scanning/get-sarif": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SARIF ID obtained after uploading. */ + sarif_id: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-sarifs-status"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + /** Not Found if the sarif id does not match any upload */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + "repos/codeowners-errors": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ + ref?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codeowners-errors"]; + }; + }; + /** Resource not found */ + 404: unknown; + }; + }; + /** + * Lists the codespaces associated to a specified repository and the authenticated user. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/list-in-repository-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Creates a codespace owned by the authenticated user in the specified repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/create-with-repo-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; + }; + /** + * Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + "codespaces/list-devcontainers-in-repository-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + devcontainers: { + path: string; + name?: string; + }[]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List the machine types available for a given repository based on its configuration. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. + */ + "codespaces/repo-machines-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The location to check for available machines. Assigned by IP if not provided. */ + location?: string; + /** IP for location auto-detection when proxying a request */ + client_ip?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Gets the default attributes for codespaces created by the user with the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/pre-flight-with-repo-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ + ref?: string; + /** An alternative IP for default location auto-detection, such as when proxying a request. */ + client_ip?: string; + }; + }; + responses: { + /** Response when a user is able to create codespaces from the repository. */ + 200: { + content: { + "application/json": { + billable_owner?: components["schemas"]["simple-user"]; + defaults?: { + location: string; + devcontainer_path: string | null; + }; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/list-repo-secrets": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["repo-codespaces-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/get-repo-public-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; + }; + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/get-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repo-codespaces-secret"]; + }; + }; + }; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository + * permission to use this endpoint. + * + * #### Example of encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example of encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example of encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example of encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "codespaces/create-or-update-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/codespaces#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + }; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */ + "codespaces/delete-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + "repos/list-collaborators": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["collaborator"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + "repos/check-collaborator": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response if user is a collaborator */ + 204: never; + /** Not Found if user is not a collaborator */ + 404: unknown; + }; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + "repos/add-collaborator": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response when a new invitation is created */ + 201: { + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + /** + * Response when: + * - an existing collaborator is added as a collaborator + * - an organization member is added as an individual collaborator + * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator + */ + 204: never; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** In addition to the enumerated values, you can also specify a custom repository role name, if the owning organization has defined any. + * @default push + * @enum {string} + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; + }; + }; + }; + }; + "repos/remove-collaborator": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ + "repos/get-collaborator-permission-level": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** if user has admin permissions */ + 200: { + content: { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + "repos/list-commit-comments-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + "repos/get-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment */ + body: string; + }; + }; + }; + }; + /** List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */ + "reactions/list-for-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a commit comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */ + "reactions/create-for-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the commit comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). + */ + "reactions/delete-for-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/list-commits": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** 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 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?: components["parameters"]["since"]; + /** 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; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + "repos/list-branches-for-head-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-short"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Use the `:commit_sha` to specify the commit that will have its comments listed. */ + "repos/list-comments-for-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "repos/create-commit-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + /** @description Relative path of the file to comment on. */ + path?: string; + /** @description Line index in the diff to comment on. */ + position?: number; + /** @description **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ + line?: number; + }; + }; + }; + }; + /** Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. */ + "repos/list-pull-requests-associated-with-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + }; + }; + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/get-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + "checks/list-for-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + app_id?: number; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + "checks/list-suites-for-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** Filters check suites by GitHub App `id`. */ + app_id?: number; + /** Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + check_suites: components["schemas"]["check-suite"][]; + }; + }; + }; + }; + }; + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + "repos/get-combined-status-for-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-commit-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + "repos/list-commit-statuses-for-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["status"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + }; + }; + /** + * 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. + * + * The `health_percentage` score is defined as a percentage of how many of + * these four documents are present: README, CONTRIBUTING, LICENSE, and + * CODE_OF_CONDUCT. For example, if all four documents are present, then + * the `health_percentage` is `100`. If only one is present, then the + * `health_percentage` is `25`. + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + "repos/get-community-profile-metrics": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["community-profile"]; + }; + }; + }; + }; + /** + * The `basehead` param is comprised of two parts: `base` and `head`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits-with-basehead": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The base branch and head branch to compare. This parameter expects the format `{base}...{head}`. */ + basehead: string; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/reference/repos#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://docs.github.com/rest/reference/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://docs.github.com/rest/reference/git#get-a-tree). + * + * #### Size limits + * If the requested file's size is: + * * 1 MB or smaller: All features of this endpoint are supported. + * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * * Greater than 100 MB: This endpoint is not supported. + * + * #### If the content is a directory + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * #### If the content is a symlink + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * #### If the content is a submodule + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + "repos/get-content": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** path parameter */ + path: string; + }; + query: { + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/vnd.github.v3.object": components["schemas"]["content-tree"]; + "application/json": + | components["schemas"]["content-directory"] + | components["schemas"]["content-file"] + | components["schemas"]["content-symlink"] + | components["schemas"]["content-submodule"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Creates a new file or replaces an existing file in a repository. */ + "repos/create-or-update-file-contents": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** path parameter */ + path: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The new file content, using Base64 encoding. */ + content: string; + /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ + sha?: string; + /** @description The branch name. Default: the repository’s default branch (usually `master`) */ + branch?: string; + /** @description The person that committed the file. Default: the authenticated user. */ + committer?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-05T13:13:22+05:00" */ + date?: string; + }; + /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ + author?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-15T17:13:22+05:00" */ + date?: string; + }; + }; + }; + }; + }; + /** + * 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. + */ + "repos/delete-file": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** path parameter */ + path: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The blob SHA of the file being replaced. */ + sha: string; + /** @description The branch name. Default: the repository’s default branch (usually `master`) */ + branch?: string; + /** @description object containing information about the committer. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + /** @description object containing information about the author. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + }; + }; + }; + }; + /** + * 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. + */ + "repos/list-contributors": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Set to `1` or `true` to include anonymous contributors in results. */ + anon?: string; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** if repository contains content */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["contributor"][]; + }; + }; + /** Response if repository is empty */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/list-repo-secrets": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["dependabot-secret"][]; + }; + }; + }; + }; + }; + /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/get-repo-public-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/get-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-secret"]; + }; + }; + }; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "dependabot/create-or-update-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/reference/dependabot#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + }; + /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ + "dependabot/delete-repo-secret": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ + "dependency-graph/diff-range": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ + basehead: string; + }; + query: { + /** The full path, relative to the repository root, of the dependency manifest file. */ + name?: components["parameters"]["manifest-path"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["dependency-graph-diff"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. */ + "dependency-graph/create-repository-snapshot": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": { + /** @description ID of the created snapshot. */ + id: number; + /** @description The time at which the snapshot was created. */ + created_at: string; + /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ + result: string; + /** @description A message providing further details about the result, such as why the dependencies were not updated. */ + message: string; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["snapshot"]; + }; + }; + }; + /** Simple filtering of deployments is available via query parameters: */ + "repos/list-deployments": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** 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 | null; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + }; + /** + * Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * #### Merged branch response + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * #### Merge conflict response + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * #### Failed commit status checks + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + "repos/create-deployment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + /** Merged branch response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** Conflict when there is a merge conflict or the commit's status checks failed */ + 409: unknown; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The ref to deploy. This can be a branch, tag, or SHA. */ + ref: string; + /** + * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + * @default deploy + */ + task?: string; + /** + * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + * @default true + */ + auto_merge?: boolean; + /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ + required_contexts?: string[]; + payload?: { [key: string]: unknown } | string; + /** + * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + * @default production + */ + environment?: string; + /** + * @description Short description of the deployment. + * @default + */ + description?: string | null; + /** + * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * @default false + */ + transient_environment?: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ + production_environment?: boolean; + }; + }; + }; + }; + "repos/get-deployment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)." + */ + "repos/delete-deployment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Users with pull access can view deployment statuses for a deployment: */ + "repos/list-deployment-statuses": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["deployment-status"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope. + */ + "repos/create-deployment-status": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. + * @enum {string} + */ + state: + | "error" + | "failure" + | "inactive" + | "in_progress" + | "queued" + | "pending" + | "success"; + /** + * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + * @default + */ + target_url?: string; + /** + * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * @default + */ + log_url?: string; + /** + * @description A short description of the status. The maximum description length is 140 characters. + * @default + */ + description?: string; + /** + * @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. + * @enum {string} + */ + environment?: "production" | "staging" | "qa"; + /** + * @description Sets the URL for accessing your environment. Default: `""` + * @default + */ + environment_url?: string; + /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ + auto_inactive?: boolean; + }; + }; + }; + }; + /** Users with pull access can view a deployment status for a deployment: */ + "repos/get-deployment-status": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + status_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + "repos/create-dispatch-event": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description A custom webhook event name. Must be 100 characters or fewer. */ + event_type: string; + /** @description JSON payload with extra information about the webhook event that your action or workflow may use. */ + client_payload?: { [key: string]: unknown }; + }; + }; + }; + }; + /** + * Get all environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + "repos/get-all-environments": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + /** + * @description The number of environments in this repository + * @example 5 + */ + total_count?: number; + environments?: components["schemas"]["environment"][]; + }; + }; + }; + }; + }; + /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + "repos/get-environment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; + }; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)." + * + * **Note:** To create or update secrets for an environment, see "[Secrets](/rest/reference/actions#secrets)." + * + * You must authenticate using an access token with the repo scope to use this endpoint. + */ + "repos/create-or-update-environment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + /** Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: + | { + type?: components["schemas"]["deployment-reviewer-type"]; + /** + * @description The id of the user or team who can review the deployment + * @example 4532992 + */ + id?: number; + }[] + | null; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy"]; + } | null; + }; + }; + }; + /** You must authenticate using an access token with the repo scope to use this endpoint. */ + "repos/delete-an-environment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Default response */ + 204: never; + }; + }; + "activity/list-repo-events": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "repos/list-forks": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The sort order. Can be either `newest`, `oldest`, or `stargazers`. */ + sort?: "newest" | "oldest" | "stargazers" | "watchers"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 400: components["responses"]["bad_request"]; + }; + }; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + */ + "repos/create-fork": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Optional parameter to specify the organization name if forking into an organization. */ + organization?: string; + /** @description When forking from an existing repository, a new name for the fork. */ + name?: string; + } | null; + }; + }; + }; + "git/create-blob": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["short-blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The new blob's content. */ + content: string; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding?: string; + }; + }; + }; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + "git/get-blob": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + file_sha: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Creates a new 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: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on 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. | + */ + "git/create-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message */ + message: string; + /** @description The SHA of the tree object this commit points to */ + tree: string; + /** @description The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ + parents?: string[]; + /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name: string; + /** @description The email of the author (or committer) of the commit */ + email: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ + signature?: string; + }; + }; + }; + }; + /** + * 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: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on 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. | + */ + "git/get-commit": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + "git/list-matching-refs": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + }; + }; + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + "git/get-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. */ + "git/create-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ + ref: string; + /** @description The SHA1 value for this reference. */ + sha: string; + /** @example "refs/heads/newbranch" */ + key?: string; + }; + }; + }; + }; + "git/delete-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + }; + responses: { + /** Response */ + 204: never; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/update-ref": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** ref parameter */ + ref: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The SHA1 value to set this reference to */ + sha: string; + /** + * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + * @default false + */ + force?: boolean; + }; + }; + }; + }; + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on 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. | + */ + "git/create-tag": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ + tag: string; + /** @description The tag message. */ + message: string; + /** @description The SHA of the git object this is tagging. */ + object: string; + /** + * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + * @enum {string} + */ + type: "commit" | "tree" | "blob"; + /** @description An object with information about the individual creating the tag. */ + tagger?: { + /** @description The name of the author of the tag */ + name: string; + /** @description The email of the author of the tag */ + email: string; + /** + * Format: date-time + * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + }; + }; + }; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/get-tag": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + tag_sha: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)." + */ + "git/create-tree": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ + tree: { + /** @description The file referenced in the tree. */ + path?: string; + /** + * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. + * @enum {string} + */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** + * @description Either `blob`, `tree`, or `commit`. + * @enum {string} + */ + type?: "blob" | "tree" | "commit"; + /** + * @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + sha?: string | null; + /** + * @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + content?: string; + }[]; + /** + * @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. + * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. + */ + base_tree?: string; + }; + }; + }; + }; + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + */ + "git/get-tree": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + tree_sha: string; + }; + query: { + /** Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ + recursive?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-webhooks": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + "repos/create-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ + name?: string; + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ + config?: { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "abc" */ + token?: string; + /** @example "sha256" */ + digest?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + } | null; + }; + }; + }; + /** Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." */ + "repos/get-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." */ + "repos/update-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. [These are defined below](https://docs.github.com/rest/reference/repos#create-hook-config-params). */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "bar@example.com" */ + address?: string; + /** @example "The Serious Room" */ + room?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ + add_events?: string[]; + /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ + remove_events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + }; + }; + }; + }; + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + "repos/get-webhook-config-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)." + * + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + */ + "repos/update-webhook-config-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + }; + /** Returns a list of webhook deliveries for a webhook configured in a repository. */ + "repos/list-webhook-deliveries": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns a delivery for a webhook configured in a repository. */ + "repos/get-webhook-delivery": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Redeliver a webhook delivery for a webhook configured in a repository. */ + "repos/redeliver-webhook-delivery": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ + "repos/ping-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + "repos/test-push-webhook": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the hook. */ + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** + * 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 an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + "migrations/get-import-status": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Start a source import to a GitHub repository using GitHub Importer. */ + "migrations/start-import": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The URL of the originating repository. */ + vcs_url: string; + /** + * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + * @enum {string} + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** @description If authentication is required, the username to provide to `vcs_url`. */ + vcs_username?: string; + /** @description If authentication is required, the password to provide to `vcs_url`. */ + vcs_password?: string; + /** @description For a tfvc import, the name of the project that is being imported. */ + tfvc_project?: string; + }; + }; + }; + }; + /** Stop an import for a repository. */ + "migrations/cancel-import": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * 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. + */ + "migrations/update-import": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username to provide to the originating repository. */ + vcs_username?: string; + /** @description The password to provide to the originating repository. */ + vcs_password?: string; + /** + * @description The type of version control system you are migrating from. + * @example "git" + * @enum {string} + */ + vcs?: "subversion" | "tfvc" | "git" | "mercurial"; + /** + * @description For a tfvc import, the name of the project that is being imported. + * @example "project1" + */ + tfvc_project?: string; + } | null; + }; + }; + }; + /** + * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information. + */ + "migrations/get-commit-authors": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-author"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. */ + "migrations/map-commit-author": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + author_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-author"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The new Git author email. */ + email?: string; + /** @description The new Git author name. */ + name?: string; + }; + }; + }; + }; + /** List files larger than 100MB found during the import */ + "migrations/get-large-files": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-large-file"][]; + }; + }; + }; + }; + /** 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://docs.github.com/articles/versioning-large-files/). */ + "migrations/set-lfs-preference": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. + * @enum {string} + */ + use_lfs: "opt_in" | "opt_out"; + }; + }; + }; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-repo-installation": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. */ + "interactions/get-restrictions-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; + }; + }; + }; + }; + /** Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + "interactions/set-restrictions-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + /** Response */ + 409: unknown; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + }; + /** Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ + "interactions/remove-restrictions-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Response */ + 409: unknown; + }; + }; + /** When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ + "repos/list-invitations": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + }; + }; + "repos/delete-invitation": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "repos/update-invitation": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + * @enum {string} + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; + }; + }; + }; + }; + /** + * List issues in a repository. + * + * **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://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** 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?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** 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?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "issues/create": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the issue. */ + title: string | number; + /** @description The contents of the issue. */ + body?: string; + /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ + assignee?: string | null; + milestone?: (string | number) | null; + /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ + labels?: ( + | string + | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + } + )[]; + /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: string[]; + }; + }; + }; + }; + /** By default, Issue Comments are ordered by ascending ID. */ + "issues/list-comments-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** Either `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** 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?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/update-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + }; + /** List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */ + "reactions/list-for-issue-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */ + "reactions/create-for-issue-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). + */ + "reactions/delete-for-issue-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/list-events-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-event"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-event": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + event_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-event"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API 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://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/get": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** Issue owners and users with push access can edit an issue. */ + "issues/update": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the issue. */ + title?: (string | number) | null; + /** @description The contents of the issue. */ + body?: string | null; + /** @description Login for the user that this issue should be assigned to. **This field is deprecated.** */ + assignee?: string | null; + /** + * @description State of the issue. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + milestone?: (string | number) | null; + /** @description Labels to associate with this issue. Pass one or more Labels to _replace_ the set of Labels on this Issue. Send an empty array (`[]`) to clear all Labels from the Issue. _NOTE: Only users with push access can set labels for issues. Labels are silently dropped otherwise._ */ + labels?: ( + | string + | { + id?: number; + name?: string; + description?: string | null; + color?: string | 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._ */ + assignees?: string[]; + }; + }; + }; + }; + /** Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. */ + "issues/add-assignees": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ + assignees?: string[]; + }; + }; + }; + }; + /** Removes one or more assignees from an issue. */ + "issues/remove-assignees": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ + assignees: string[]; + }; + }; + }; + }; + /** Issue Comments are ordered by ascending ID. */ + "issues/list-comments": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** 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?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "issues/create-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + }; + "issues/list-events": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue-event-for-issue"][]; + }; + }; + 410: components["responses"]["gone"]; + }; + }; + "issues/list-labels-on-issue": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 410: components["responses"]["gone"]; + }; + }; + /** Removes any previous labels and sets the new labels for an issue. */ + "issues/set-labels": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": + | { + /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/reference/issues#add-labels-to-an-issue)." */ + labels?: string[]; + } + | { + labels?: { + name: string; + }[]; + }; + }; + }; + }; + "issues/add-labels": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": + | { + /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/reference/issues#set-labels-for-an-issue)." */ + labels?: string[]; + } + | { + labels?: { + name: string; + }[]; + }; + }; + }; + }; + "issues/remove-all-labels": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 410: components["responses"]["gone"]; + }; + }; + /** Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. */ + "issues/remove-label": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "issues/lock": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * \* `off-topic` + * \* `too heated` + * \* `resolved` + * \* `spam` + * @enum {string} + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + } | null; + }; + }; + }; + /** Users with push access can unlock an issue's conversation. */ + "issues/unlock": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** List the reactions to an [issue](https://docs.github.com/rest/reference/issues). */ + "reactions/list-for-issue": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to an issue. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. */ + "reactions/create-for-issue": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the issue. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/reference/issues/). + */ + "reactions/delete-for-issue": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/list-events-for-timeline": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["timeline-issue-events"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "repos/list-deploy-keys": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["deploy-key"][]; + }; + }; + }; + }; + /** You can create a read-only deploy key. */ + "repos/create-deploy-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the key. */ + title?: string; + /** @description The contents of the key. */ + key: string; + /** + * @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; + }; + }; + }; + }; + "repos/get-deploy-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */ + "repos/delete-deploy-key": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/list-labels-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-label": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + name: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; + }; + }; + "issues/get-label": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-label": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "issues/update-label": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["label"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + new_name?: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; + }; + }; + /** Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ + "repos/list-languages": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["language"]; + }; + }; + }; + }; + "repos/enable-lfs-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + /** + * We will return a 403 with one of the following messages: + * + * - Git LFS support not enabled because Git LFS is globally disabled. + * - Git LFS support not enabled because Git LFS is disabled for the root repository in the network. + * - Git LFS support not enabled because Git LFS is disabled for . + */ + 403: unknown; + }; + }; + "repos/disable-lfs-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + */ + "licenses/get-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["license-content"]; + }; + }; + }; + }; + /** Sync a branch of a forked repository to keep it up-to-date with the upstream repository. */ + "repos/merge-upstream": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** The branch has been successfully synced with the upstream repository */ + 200: { + content: { + "application/json": components["schemas"]["merged-upstream"]; + }; + }; + /** The branch could not be synced because of a merge conflict */ + 409: unknown; + /** The branch could not be synced for some other reason */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the branch which should be updated to match upstream. */ + branch: string; + }; + }; + }; + }; + "repos/merge": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Successful Response (The resulting merge commit) */ + 201: { + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + /** Response when already merged */ + 204: never; + 403: components["responses"]["forbidden"]; + /** Not Found when the base or head does not exist */ + 404: unknown; + /** Conflict when there is a merge conflict */ + 409: unknown; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the base branch that the head will be merged into. */ + base: string; + /** @description The head to merge. This can be a branch name or a commit SHA1. */ + head: string; + /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ + commit_message?: string; + }; + }; + }; + }; + "issues/list-milestones": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** 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"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["milestone"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + }; + }; + "issues/get-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + "issues/update-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title?: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + }; + }; + "issues/list-labels-for-milestone": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + }; + }; + /** List all notifications for the current user. */ + "activity/list-repo-notifications-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** 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?: components["parameters"]["since"]; + /** 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?: components["parameters"]["before"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + }; + }; + /** 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 repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ + "activity/mark-repo-notifications-as-read": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + /** Reset Content */ + 205: unknown; + }; + requestBody: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + }; + }; + }; + }; + "repos/get-pages": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). */ + "repos/update-information-about-pages-site": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/articles/using-a-custom-domain-with-github-pages/)." */ + cname?: string | null; + /** @description Specify whether HTTPS should be enforced for the repository. */ + https_enforced?: boolean; + /** @description Configures access controls for the GitHub Pages site. If public is set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. This includes anyone in your Enterprise if the repository is set to `internal` visibility. This feature is only available to repositories in an organization on an Enterprise plan. */ + public?: boolean; + source?: Partial<"gh-pages" | "master" | "master /docs"> & + Partial<{ + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. + * @enum {string} + */ + path: "/" | "/docs"; + }>; + }; + }; + }; + }; + /** Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." */ + "repos/create-pages-site": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The source branch and directory used to publish your Pages site. */ + source?: { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` + * @default / + * @enum {string} + */ + path?: "/" | "/docs"; + }; + } | null; + }; + }; + }; + "repos/delete-pages-site": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-pages-builds": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["page-build"][]; + }; + }; + }; + }; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + "repos/request-pages-build": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["page-build-status"]; + }; + }; + }; + }; + "repos/get-latest-pages-build": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + "repos/get-pages-build": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + build_id: number; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + /** + * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint. + */ + "repos/get-pages-health-check": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pages-health-check"]; + }; + }; + /** Empty response */ + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Custom domains are not available for GitHub Pages */ + 400: unknown; + 404: components["responses"]["not_found"]; + /** There isn't a CNAME for this page */ + 422: unknown; + }; + }; + /** Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/list-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/create-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + }; + /** Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + "pulls/list": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** 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"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * You can create a new pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + "pulls/create": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the new pull request. */ + title?: string; + /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ + head: string; + /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ + base: string; + /** @description The contents of the pull request. */ + body?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/en/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ + draft?: boolean; + /** @example 1 */ + issue?: number; + }; + }; + }; + }; + /** Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */ + "pulls/list-review-comments-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + sort?: "created" | "updated" | "created_at"; + /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** 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?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + /** Provides details for a review comment. */ + "pulls/get-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Deletes a review comment. */ + "pulls/delete-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + }; + }; + /** Enables you to edit a review comment. */ + "pulls/update-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the reply to the review comment. */ + body: string; + }; + }; + }; + }; + /** List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */ + "reactions/list-for-pull-request-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/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"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */ + "reactions/create-for-pull-request-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the pull request review comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). + */ + "reactions/delete-for-pull-request-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + "pulls/get": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ + 200: { + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + "pulls/update": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the pull request. */ + title?: string; + /** @description The contents of the pull request. */ + body?: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ + base?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + }; + }; + }; + }; + /** + * Creates a codespace owned by the authenticated user for the specified pull request. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/create-with-pr-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; + }; + /** Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ + "pulls/list-review-comments": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** Can be either `asc` or `desc`. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** 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?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + /** + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "pulls/create-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ + commit_id?: string; + /** @description The relative path to the file that necessitates a comment. */ + path?: string; + /** + * @deprecated + * @description **This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + /** + * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/en/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** @description The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ + line?: number; + /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/en/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ + start_line?: number; + /** + * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/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 {string} + */ + start_side?: "LEFT" | "RIGHT" | "side"; + /** + * @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. + * @example 2 + */ + in_reply_to?: number; + }; + }; + }; + }; + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "pulls/create-reply-for-review-comment": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + }; + }; + }; + }; + /** Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. */ + "pulls/list-commits": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + }; + }; + /** **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */ + "pulls/list-files": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["diff-entry"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "pulls/check-if-merged": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response if pull request has been merged */ + 204: never; + /** Not Found if pull request has not been merged */ + 404: unknown; + }; + }; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "pulls/merge": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** if merge was successful */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-merge-result"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** Method Not Allowed if merge cannot be performed */ + 405: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + /** Conflict if sha was provided and pull request head did not match */ + 409: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Title for the automatic commit message. */ + commit_title?: string; + /** @description Extra detail to append to automatic commit message. */ + commit_message?: string; + /** @description SHA that pull request head must match to allow merge. */ + sha?: string; + /** + * @description Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. + * @enum {string} + */ + merge_method?: "merge" | "squash" | "rebase"; + } | null; + }; + }; + }; + /** Lists the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. */ + "pulls/list-requested-reviewers": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review-request"]; + }; + }; + }; + }; + /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + "pulls/request-reviewers": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** Unprocessable Entity if user is not a collaborator */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of user `login`s that will be requested. */ + reviewers?: string[]; + /** @description An array of team `slug`s that will be requested. */ + team_reviewers?: string[]; + }; + }; + }; + }; + "pulls/remove-requested-reviewers": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of user `login`s that will be removed. */ + reviewers: string[]; + /** @description An array of team `slug`s that will be removed. */ + team_reviewers?: string[]; + }; + }; + }; + }; + /** The list of reviews returns in chronological order. */ + "pulls/list-reviews": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** The list of reviews returns in chronological order. */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["pull-request-review"][]; + }; + }; + }; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response. + * + * **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://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + "pulls/create-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ + commit_id?: string; + /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request) when you are ready. + * @enum {string} + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ + comments?: { + /** @description The relative path to the file that necessitates a review comment. */ + path: string; + /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ + position?: number; + /** @description Text of the review comment. */ + body: string; + /** @example 28 */ + line?: number; + /** @example RIGHT */ + side?: string; + /** @example 26 */ + start_line?: number; + /** @example LEFT */ + start_side?: string; + }[]; + }; + }; + }; + }; + "pulls/get-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Update the review summary comment with new text. */ + "pulls/update-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review. */ + body: string; + }; + }; + }; + }; + "pulls/delete-pending-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** List comments for a specific pull request review. */ + "pulls/list-comments-for-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["review-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */ + "pulls/dismiss-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The message for the pull request review dismissal */ + message: string; + /** @example "APPROVE" */ + event?: string; + }; + }; + }; + }; + "pulls/submit-review": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + * @enum {string} + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + }; + }; + }; + }; + /** Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ + "pulls/update-branch": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/reference/repos#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ + expected_head_sha?: string; + } | null; + }; + }; + }; + /** + * Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + "repos/get-readme": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML. + */ + "repos/get-readme-in-directory": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The alternate path to look for a README file */ + dir: string; + }; + query: { + /** The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ + ref?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + "repos/list-releases": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["release"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "repos/create-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** + * @description `true` to create a draft (unpublished) release, `false` to create a published one. + * @default false + */ + draft?: boolean; + /** + * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. + * @default false + */ + prerelease?: boolean; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + /** + * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. + * @default false + */ + generate_release_notes?: boolean; + }; + }; + }; + }; + /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ + "repos/get-release-asset": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ + 200: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + 302: components["responses"]["found"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-release-asset": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Users with push access to the repository can edit a release asset. */ + "repos/update-release-asset": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The file name of the asset. */ + name?: string; + /** @description An alternate short description of the asset. Used in place of the filename. */ + label?: string; + /** @example "uploaded" */ + state?: string; + }; + }; + }; + }; + /** Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */ + "repos/generate-release-notes": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Name and body of generated release notes */ + 200: { + content: { + "application/json": components["schemas"]["release-notes-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag name for the release. This can be an existing tag or a new one. */ + tag_name: string; + /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ + target_commitish?: string; + /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ + previous_tag_name?: string; + /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ + configuration_file_path?: string; + }; + }; + }; + }; + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + "repos/get-latest-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + }; + }; + /** Get a published release with the specified tag. */ + "repos/get-release-by-tag": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** tag parameter */ + tag: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + "repos/get-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Users with push access to the repository can delete a release. */ + "repos/delete-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Users with push access to the repository can edit a release. */ + "repos/update-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name?: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** @description `true` makes the release a draft, and `false` publishes the release. */ + draft?: boolean; + /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ + prerelease?: boolean; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + }; + }; + }; + }; + "repos/list-release-assets": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["release-asset"][]; + }; + }; + }; + }; + /** + * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + "repos/upload-release-asset": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + query: { + name: string; + label?: string; + }; + }; + responses: { + /** Response for successful upload */ + 201: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + /** Response if you upload an asset with the same filename as another uploaded asset */ + 422: unknown; + }; + requestBody: { + content: { + "*/*": string; + }; + }; + }; + /** List the reactions to a [release](https://docs.github.com/rest/reference/repos#releases). */ + "reactions/list-for-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a release. */ + content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */ + "reactions/create-for-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the release. + * @enum {string} + */ + content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). + */ + "reactions/delete-for-release": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + /** The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Lists secret scanning alerts for an eligible repository, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/list-alerts-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** + * A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. + */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + /** A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"][]; + }; + }; + /** Repository is public or secret scanning is disabled for the repository */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Gets a single secret scanning alert detected in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/get-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Updates the status of a secret scanning alert in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + "secret-scanning/update-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: unknown; + /** State does not match the resolution */ + 422: unknown; + 503: components["responses"]["service_unavailable"]; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + }; + }; + }; + }; + /** + * Lists all locations for a given secret scanning alert for an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + "secret-scanning/list-locations-for-alert": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["secret-scanning-location"][]; + }; + }; + /** Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: unknown; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-stargazers-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": Partial & + Partial; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + "repos/get-code-frequency-stats": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + 200: { + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */ + "repos/get-commit-activity-stats": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + "repos/get-contributors-stats": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** + * * `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 + */ + 200: { + content: { + "application/json": components["schemas"]["contributor-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** + * 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. + */ + "repos/get-participation-stats": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** The array order is oldest week (index 0) to most recent week. */ + 200: { + content: { + "application/json": components["schemas"]["participation-stats"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + "repos/get-punch-card-stats": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ + 200: { + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + "repos/create-commit-status": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + sha: string; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["status"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. + * @enum {string} + */ + state: "error" | "failure" | "pending" | "success"; + /** + * @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string; + /** @description A short description of the status. */ + description?: string; + /** + * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. + * @default default + */ + context?: string; + }; + }; + }; + }; + /** Lists the people watching the specified repository. */ + "activity/list-watchers-for-repo": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "activity/get-repo-subscription": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** if you subscribe to the repository */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** Not Found if you don't subscribe to the repository */ + 404: unknown; + }; + }; + /** If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. */ + "activity/set-repo-subscription": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Determines if notifications should be received from this repository. */ + subscribed?: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored?: boolean; + }; + }; + }; + }; + /** This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). */ + "activity/delete-repo-subscription": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + "repos/list-tags": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["tag"][]; + }; + }; + }; + }; + /** + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + "repos/list-tag-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["tag-protection"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + "repos/create-tag-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["tag-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description An optional glob pattern to match against when enforcing tag protection. */ + pattern: string; + }; + }; + }; + }; + /** + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + "repos/delete-tag-protection": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** The unique identifier of the tag protection. */ + tag_protection_id: components["parameters"]["tag-protection-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a redirect URL to download a tar archive for a repository. 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. + */ + "repos/download-tarball-archive": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + "repos/list-teams": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + }; + "repos/get-all-topics": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/replace-all-topics": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ + names: string[]; + }; + }; + }; + }; + /** Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + "repos/get-clones": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["clone-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the top 10 popular contents over the last 14 days. */ + "repos/get-top-paths": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["content-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the top 10 referrers over the last 14 days. */ + "repos/get-top-referrers": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["referrer-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ + "repos/get-views": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + query: { + /** The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["view-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). */ + "repos/transfer": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["minimal-repository"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username or organization name the repository will be transferred to. */ + new_owner: string; + /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ + team_ids?: number[]; + }; + }; + }; + }; + /** Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/check-vulnerability-alerts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response if repository is enabled with vulnerability alerts */ + 204: never; + /** Not Found if repository is not enabled with vulnerability alerts */ + 404: unknown; + }; + }; + /** Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/enable-vulnerability-alerts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */ + "repos/disable-vulnerability-alerts": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. 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. + */ + "repos/download-zipball-archive": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** Response */ + 302: never; + }; + }; + /** + * 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 a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + "repos/create-using-template": { + parameters: { + path: { + template_owner: string; + template_repo: string; + }; + }; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ + owner?: string; + /** @description The name of the new repository. */ + name: string; + /** @description A short description of the new repository. */ + description?: string; + /** + * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. + * @default false + */ + include_all_branches?: boolean; + /** + * @description Either `true` to create a new private repository or `false` to create a new public one. + * @default false + */ + private?: boolean; + }; + }; + }; + }; + /** + * Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + */ + "repos/list-public": { + parameters: { + query: { + /** A repository ID. Only return repositories with an ID greater than this ID. */ + since?: components["parameters"]["since-repo"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/list-environment-secrets": { + parameters: { + path: { + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-environment-public-key": { + parameters: { + path: { + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/get-environment-secret": { + parameters: { + path: { + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use + * this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-environment-secret": { + parameters: { + path: { + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** Response when updating a secret */ + 204: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/reference/actions#get-an-environment-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + }; + /** Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */ + "actions/delete-environment-secret": { + parameters: { + path: { + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** The name of the environment */ + environment_name: components["parameters"]["environment-name"]; + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Default response */ + 204: never; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/list-provisioned-groups-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** Used for pagination: the index of the first result to return. */ + startIndex?: components["parameters"]["start-index"]; + /** Used for pagination: the number of results to return. */ + count?: components["parameters"]["count"]; + /** filter results */ + filter?: string; + /** attributes to exclude */ + excludedAttributes?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-group-list-enterprise"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. + */ + "enterprise-admin/provision-and-invite-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ + displayName: string; + members?: { + /** @description The SCIM user ID for a user. */ + value: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/get-provisioning-information-for-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + query: { + /** Attributes to exclude. */ + excludedAttributes?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. + */ + "enterprise-admin/set-information-for-provisioned-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ + displayName: string; + members?: { + /** @description The SCIM user ID for a user. */ + value: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/delete-scim-group-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + */ + "enterprise-admin/update-attribute-for-enterprise-group": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: components["parameters"]["scim-group-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-group"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + Operations: { + /** @enum {string} */ + op: "add" | "Add" | "remove" | "Remove" | "replace" | "Replace"; + path?: string; + /** @description Can be any value - string, number, array or object. */ + value?: unknown; + }[]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise. + * + * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place. + */ + "enterprise-admin/list-provisioned-identities-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + query: { + /** Used for pagination: the index of the first result to return. */ + startIndex?: components["parameters"]["start-index"]; + /** Used for pagination: the number of results to return. */ + count?: components["parameters"]["count"]; + /** filter results */ + filter?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-user-list-enterprise"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision enterprise membership for a user, and send organization invitation emails to the email address. + * + * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. + */ + "enterprise-admin/provision-and-invite-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The username for the user. */ + userName: string; + name: { + /** @description The first name of the user. */ + givenName: string; + /** @description The last name of the user. */ + familyName: string; + }; + /** @description List of user emails. */ + emails: { + /** @description The email address. */ + value: string; + /** @description The type of email address. */ + type: string; + /** @description Whether this email address is the primary address. */ + primary: boolean; + }[]; + /** @description List of SCIM group IDs the user is a member of. */ + groups?: { + value?: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/get-provisioning-information-for-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + "enterprise-admin/set-information-for-provisioned-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The username for the user. */ + userName: string; + name: { + /** @description The first name of the user. */ + givenName: string; + /** @description The last name of the user. */ + familyName: string; + }; + /** @description List of user emails. */ + emails: { + /** @description The email address. */ + value: string; + /** @description The type of email address. */ + type: string; + /** @description Whether this email address is the primary address. */ + primary: boolean; + }[]; + /** @description List of SCIM group IDs the user is a member of. */ + groups?: { + value?: string; + }[]; + }; + }; + }; + }; + /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + "enterprise-admin/delete-user-from-enterprise": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + "enterprise-admin/update-attribute-for-enterprise-user": { + parameters: { + path: { + /** The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["scim-enterprise-user"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + Operations: { [key: string]: unknown }[]; + }; + }; + }; + }; + /** + * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub organization. + * + * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account: + * - If the user signs in, their GitHub account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place. + */ + "scim/list-provisioned-identities": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** 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\"`. + * + * To filter results for the identity with the email `octocat@github.com`, you would use this query: + * + * `?filter=emails%20eq%20\"octocat@github.com\"`. + */ + filter?: string; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user-list"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + 429: components["responses"]["scim_too_many_requests"]; + }; + }; + /** Provision organization membership for a user, and send an activation email to the email address. */ + "scim/provision-and-invite-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + 409: components["responses"]["scim_conflict"]; + 500: components["responses"]["scim_internal_error"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Configured by the admin. Could be an email, login, or username + * @example someone@example.com + */ + userName: string; + /** + * @description The name of the user, suitable for display to end-users + * @example Jon Doe + */ + displayName?: string; + /** + * @example { + * "givenName": "Jane", + * "familyName": "User" + * } + */ + name: { + givenName: string; + familyName: string; + formatted?: string; + }; + /** + * @description user emails + * @example [ + * { + * "value": "someone@example.com", + * "primary": true + * }, + * { + * "value": "another@example.com", + * "primary": false + * } + * ] + */ + emails: { + value: string; + primary?: boolean; + type?: string; + }[]; + schemas?: string[]; + externalId?: string; + groups?: string[]; + active?: boolean; + }; + }; + }; + }; + "scim/get-provisioning-information-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + }; + }; + /** + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ + "scim/set-information-for-provisioned-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + }; + requestBody: { + content: { + "application/json": { + schemas?: string[]; + /** + * @description The name of the user, suitable for display to end-users + * @example Jon Doe + */ + displayName?: string; + externalId?: string; + groups?: string[]; + active?: boolean; + /** + * @description Configured by the admin. Could be an email, login, or username + * @example someone@example.com + */ + userName: string; + /** + * @example { + * "givenName": "Jane", + * "familyName": "User" + * } + */ + name: { + givenName: string; + familyName: string; + formatted?: string; + }; + /** + * @description user emails + * @example [ + * { + * "value": "someone@example.com", + * "primary": true + * }, + * { + * "value": "another@example.com", + * "primary": false + * } + * ] + */ + emails: { + type?: string; + value: string; + primary?: boolean; + }[]; + }; + }; + }; + }; + "scim/delete-user-from-org": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + }; + }; + /** + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ + "scim/update-attribute-for-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** The unique identifier of the SCIM user. */ + scim_user_id: components["parameters"]["scim-user-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/scim+json": components["schemas"]["scim-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["scim_bad_request"]; + 403: components["responses"]["scim_forbidden"]; + 404: components["responses"]["scim_not_found"]; + /** Response */ + 429: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + schemas?: string[]; + /** + * @description Set of operations to be performed + * @example [ + * { + * "op": "replace", + * "value": { + * "active": false + * } + * } + * ] + */ + Operations: { + /** @enum {string} */ + op: "add" | "remove" | "replace"; + path?: string; + value?: + | { + active?: boolean | null; + userName?: string | null; + externalId?: string | null; + givenName?: string | null; + familyName?: string | null; + } + | { + value?: string; + primary?: boolean; + }[] + | string; + }[]; + }; + }; + }; + }; + /** + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * #### Considerations for code search + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + */ + "search/code": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/reference/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?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["code-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + "search/commits": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/reference/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?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["commit-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + "search/issues-and-pull-requests": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/reference/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?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["issue-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + "search/labels": { + parameters: { + query: { + /** 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://docs.github.com/rest/reference/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://docs.github.com/rest/reference/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?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["label-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + */ + "search/repos": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/reference/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?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["repo-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + "search/topics": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). */ + q: string; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["topic-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + */ + "search/users": { + parameters: { + query: { + /** The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/reference/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ + q: string; + /** Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/reference/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?: components["parameters"]["order"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["user-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. */ + "teams/get-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + "teams/delete-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + "teams/update-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response when the updated information already exists */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/list-discussions-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "teams/create-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private?: boolean; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/get-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/delete-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/update-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/list-discussion-comments-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "teams/create-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/get-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/delete-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "teams/update-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/list-for-team-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + */ + "reactions/create-for-team-discussion-comment-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + "reactions/list-for-team-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + query: { + /** Returns a single [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + */ + "reactions/create-for-team-discussion-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reference/reactions#reaction-types) to add to the team discussion. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + "teams/list-pending-invitations-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + "teams/list-members-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/get-member-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** if user is a member */ + 204: never; + /** if user is not a member */ + 404: unknown; + }; + }; + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "teams/add-member-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + /** Not Found if team synchronization is set up */ + 404: unknown; + /** Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ + 422: unknown; + }; + }; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-member-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Not Found if team synchronization is setup */ + 404: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team). + */ + "teams/get-membership-for-user-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + "teams/add-or-update-membership-for-user-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** Forbidden if team synchronization is set up */ + 403: unknown; + 404: components["responses"]["not_found"]; + /** Unprocessable Entity if you attempt to add an organization to a team */ + 422: unknown; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-membership-for-user-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** if team synchronization is set up */ + 403: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + */ + "teams/list-projects-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + */ + "teams/check-permissions-for-project-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** Not Found if project is not managed by this team */ + 404: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + */ + "teams/add-or-update-project-permissions-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + /** Forbidden if the project is not owned by the organization */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + */ + "teams/remove-project-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. */ + "teams/list-repos-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "teams/check-permissions-for-repo-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Alternative response with extra repository information */ + 200: { + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** Response if repository is managed by this team */ + 204: never; + /** Not Found if repository is not managed by this team */ + 404: unknown; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + "teams/add-or-update-repo-permissions-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + }; + }; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + "teams/remove-repo-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * List IdP groups connected to a team on GitHub. + */ + "teams/list-idp-groups-for-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team. + */ + "teams/create-or-update-idp-group-connections-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["group-mapping"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @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. */ + groups: { + /** @description ID of the IdP group. */ + group_id: string; + /** @description Name of the IdP group. */ + group_name: string; + /** @description Description of the IdP group. */ + group_description: string; + /** @example "caceab43fc9ffa20081c" */ + id?: string; + /** @example "external-team-6c13e7288ef7" */ + name?: string; + /** @example "moar cheese pleese" */ + description?: string; + }[]; + /** @example "I am not a timestamp" */ + synced_at?: string; + }; + }; + }; + }; + /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. */ + "teams/list-child-legacy": { + parameters: { + path: { + /** The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** if child teams exist */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information. + * + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + */ + "users/get-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. */ + "users/update-authenticated": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["private-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The new name of the user. + * @example Omar Jahandar + */ + name?: string; + /** + * @description The publicly visible email address of the user. + * @example omar@example.com + */ + email?: string; + /** + * @description The new blog URL of the user. + * @example blog.example.com + */ + blog?: string; + /** + * @description The new Twitter username of the user. + * @example therealomarj + */ + twitter_username?: string | null; + /** + * @description The new company of the user. + * @example Acme corporation + */ + company?: string; + /** + * @description The new location of the user. + * @example Berlin, Germany + */ + location?: string; + /** @description The new hiring availability of the user. */ + hireable?: boolean; + /** @description The new short biography of the user. */ + bio?: string; + }; + }; + }; + }; + /** List the users you've blocked on your personal account. */ + "users/list-blocked-by-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/check-blocked": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** If the user is blocked: */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** If the user is not blocked: */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + "users/block": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/unblock": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Lists the authenticated user's codespaces. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/list-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** ID of the Repository to filter on */ + repository_id?: components["parameters"]["repository-id-in-query"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/create-for-authenticated-user": { + responses: { + /** Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": + | { + /** @description Repository id for this codespace */ + repository_id: number; + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } + | { + /** @description Pull request number for this codespace */ + pull_request: { + /** @description Pull request number */ + pull_request_number: number; + /** @description Repository id for this codespace */ + repository_id: number; + }; + /** @description Location for this codespace. Assigned by IP if not provided */ + location?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + }; + }; + }; + }; + /** + * Lists all secrets available for a user's Codespaces without revealing their + * encrypted values. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + "codespaces/list-secrets-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-secret"][]; + }; + }; + }; + }; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + "codespaces/get-public-key-for-authenticated-user": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-user-public-key"]; + }; + }; + }; + }; + /** + * Gets a secret available to a user's codespaces without revealing its encrypted value. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + "codespaces/get-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-secret"]; + }; + }; + }; + }; + /** + * Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "codespaces/create-or-update-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response after successfully creaing a secret */ + 201: { + content: { + "application/json": { [key: string]: unknown }; + }; + }; + /** Response after successfully updating a secret */ + 204: never; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/reference/codespaces#get-the-public-key-for-the-authenticated-user) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids?: string[]; + }; + }; + }; + }; + /** + * Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + "codespaces/delete-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List the repositories that have been granted the ability to use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + "codespaces/list-repositories-for-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Select the repositories that will use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + "codespaces/set-repositories-for-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** No Content when repositories were added to the selected list */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/reference/codespaces#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + }; + /** + * Adds a repository to the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. + */ + "codespaces/add-repository-for-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** No Content when repository was added to the selected list */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Removes a repository from the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + "codespaces/remove-repository-for-secret-for-authenticated-user": { + parameters: { + path: { + /** The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** No Content when repository was removed from the selected list */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Gets information about a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/get-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Deletes a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/delete-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + "codespaces/update-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + requestBody: { + content: { + "application/json": { + /** @description A valid machine to transition this codespace to. */ + machine?: string; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ + recent_folders?: string[]; + }; + }; + }; + }; + /** + * Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + "codespaces/export-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 202: { + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Gets information about an export of a codespace. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + "codespaces/get-export-details-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + /** The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + export_id: components["parameters"]["export-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List the machine types a codespace can transition to use. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + "codespaces/codespace-machines-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Starts a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + "codespaces/start-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + /** Payment required */ + 402: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Stops a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + "codespaces/stop-for-authenticated-user": { + parameters: { + path: { + /** The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** Sets the visibility for your primary email addresses. */ + "users/set-primary-email-visibility-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Denotes whether an email is publicly visible. + * @enum {string} + */ + visibility: "public" | "private"; + }; + }; + }; + }; + /** Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ + "users/list-emails-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** This endpoint is accessible with the `user` scope. */ + "users/add-email-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + * @example [] + */ + emails: string[]; + }; + }; + }; + }; + /** This endpoint is accessible with the `user` scope. */ + "users/delete-email-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description Email addresses associated with the GitHub user account. */ + emails: string[]; + }; + }; + }; + }; + /** Lists the people following the authenticated user. */ + "users/list-followers-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Lists the people who the authenticated user follows. */ + "users/list-followed-by-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/check-person-is-followed-by-authenticated": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** if the person is followed by the authenticated user */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** if the person is not followed by the authenticated user */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + "users/follow": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ + "users/unfollow": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/list-gpg-keys-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/create-gpg-key-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** @description A descriptive name for the new key. */ + name?: string; + /** @description A GPG key in ASCII-armored format. */ + armored_public_key: string; + }; + }; + }; + }; + /** View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/get-gpg-key-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/delete-gpg-key-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * 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://docs.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. + */ + "apps/list-installations-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** You can find the permissions for the installation under the `permissions` key. */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List repositories 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://docs.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. + */ + "apps/list-installation-repos-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** The access the user has to each repository is included in the hash under the `permissions` key. */ + 200: { + headers: {}; + content: { + "application/json": { + total_count: number; + repository_selection?: string; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + "apps/add-repo-to-installation-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * 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://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + "apps/remove-repo-from-installation-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Shows which type of GitHub user can interact with your public repositories and when the restriction expires. */ + "interactions/get-restrictions-for-authenticated-user": { + responses: { + /** Default response */ + 200: { + content: { + "application/json": Partial< + components["schemas"]["interaction-limit-response"] + > & + Partial<{ [key: string]: unknown }>; + }; + }; + /** Response when there are no restrictions */ + 204: never; + }; + }; + /** Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ + "interactions/set-restrictions-for-authenticated-user": { + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + }; + /** Removes any interaction restrictions from your public repositories. */ + "interactions/remove-restrictions-for-authenticated-user": { + responses: { + /** Response */ + 204: never; + }; + }; + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **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://docs.github.com/rest/reference/pulls#list-pull-requests)" endpoint. + */ + "issues/list-for-authenticated-user": { + parameters: { + query: { + /** Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** 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?: components["parameters"]["labels"]; + /** What to sort results by. Can be either `created`, `updated`, `comments`. */ + sort?: "created" | "updated" | "comments"; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** 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?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/list-public-ssh-keys-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/create-public-ssh-key-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. */ + key: string; + }; + }; + }; + }; + /** View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/get-public-ssh-key-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + "users/delete-public-ssh-key-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.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://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + "apps/list-subscriptions-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.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://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */ + "apps/list-subscriptions-for-authenticated-user-stubbed": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + "orgs/list-memberships-for-authenticated-user": { + parameters: { + query: { + /** 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"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["org-membership"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-membership-for-authenticated-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update-membership-for-authenticated-user": { + parameters: { + path: { + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state that the membership should be in. Only `"active"` will be accepted. + * @enum {string} + */ + state: "active"; + }; + }; + }; + }; + /** Lists all migrations a user has started. */ + "migrations/list-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Initiates the generation of a user migration archive. */ + "migrations/start-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Lock the repositories being migrated at the start of the migration + * @example true + */ + lock_repositories?: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @example true + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @example true + */ + exclude_git_data?: boolean; + /** + * @description Do not include attachments in the migration + * @example true + */ + exclude_attachments?: boolean; + /** + * @description Do not include releases in the migration + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only?: boolean; + /** + * @description Exclude attributes from the API response to improve performance + * @example [ + * "repositories" + * ] + */ + exclude?: "repositories"[]; + repositories: string[]; + }; + }; + }; + }; + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive). + */ + "migrations/get-status-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + exclude?: string[]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + "migrations/get-archive-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 302: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. */ + "migrations/delete-archive-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */ + "migrations/unlock-repo-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists all the repositories for this user migration. */ + "migrations/list-repos-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + "orgs/list-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/list-packages-for-authenticated-user": { + parameters: { + query: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + }; + }; + /** + * Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/delete-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/restore-package-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + query: { + /** package token */ + token?: string; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns all package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + query: { + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/delete-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/restore-package-version-for-authenticated-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ + "projects/create-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project + * @example Week One Sprint + */ + name: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body?: string | null; + }; + }; + }; + }; + /** Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ + "users/list-public-emails-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + "repos/list-for-authenticated-user": { + parameters: { + query: { + /** Limit results to repositories with the specified visibility. */ + 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; + /** Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** 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?: components["parameters"]["since"]; + /** 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?: components["parameters"]["before"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. + */ + "repos/create-for-authenticated-user": { + parameters: {}; + responses: { + /** Response */ + 201: { + headers: { + Location?: string; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues?: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects?: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki?: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Whether the repository is initialized with a minimal README. + * @default false + */ + auto_init?: boolean; + /** + * @description The desired language or platform to apply to the .gitignore. + * @example Haskell + */ + gitignore_template?: string; + /** + * @description The license keyword of the open source license for this repository. + * @example mit + */ + license_template?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads?: boolean; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + }; + }; + }; + }; + /** When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ + "repos/list-invitations-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/decline-invitation-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "repos/accept-invitation-for-authenticated-user": { + parameters: { + path: { + /** The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-repos-starred-by-authenticated-user": { + parameters: { + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["repository"][]; + "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/check-repo-is-starred-by-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response if this repository is starred by you */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** Not Found if this repository is not starred by you */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ + "activity/star-repo-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/unstar-repo-for-authenticated-user": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** Response */ + 204: never; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Lists repositories the authenticated user is watching. */ + "activity/list-watched-repos-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). */ + "teams/list-for-authenticated-user": { + parameters: { + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["team-full"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users. + */ + "users/list": { + parameters: { + query: { + /** A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: { + Link?: string; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)". + */ + "users/get-by-username": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */ + "activity/list-events-for-authenticated-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** This is the user's organization dashboard. You must be authenticated as the user to view this. */ + "activity/list-org-events-for-authenticated-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "activity/list-public-events-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** Lists the people following the specified user. */ + "users/list-followers-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** Lists the people who the specified user follows. */ + "users/list-following-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + "users/check-following-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + target_user: string; + }; + }; + responses: { + /** if the user follows the target user */ + 204: never; + /** if the user does not follow the target user */ + 404: unknown; + }; + }; + /** Lists public gists for the specified user: */ + "gists/list-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** 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?: components["parameters"]["since"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Lists the GPG keys for a user. This information is accessible by anyone. */ + "users/list-gpg-keys-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + }; + }; + /** + * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + "users/get-context-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** 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; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["hovercard"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-user-installation": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + /** Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ + "users/list-public-keys-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["key-simple"][]; + }; + }; + }; + }; + /** + * List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + "orgs/list-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + /** + * Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/list-packages-for-user": { + parameters: { + query: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */ + visibility?: components["parameters"]["package-visibility"]; + }; + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** package token */ + token?: string; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Returns all package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-all-package-versions-for-package-owned-by-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope. + * If `package_type` is not `container`, your token must also include the `repo` scope. + */ + "packages/get-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete. + */ + "packages/delete-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition: + * - If `package_type` is not `container`, your token must also include the `repo` scope. + * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore. + */ + "packages/restore-package-version-for-user": { + parameters: { + path: { + /** The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** Response */ + 204: never; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/list-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */ + "activity/list-received-events-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + "activity/list-received-public-events-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ + "repos/list-for-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** Limit results to repositories of the specified type. */ + type?: "all" | "owner" | "member"; + /** The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + "billing/get-github-actions-billing-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + "billing/get-github-packages-billing-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + "billing/get-shared-storage-billing-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** + * Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + "activity/list-repos-starred-by-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort"]; + /** The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": Partial< + components["schemas"]["starred-repository"][] + > & + Partial; + }; + }; + }; + }; + /** Lists repositories a user is watching. */ + "activity/list-repos-watched-by-user": { + parameters: { + path: { + /** The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + headers: {}; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** Get a random sentence from the Zen of GitHub */ + "meta/get-zen": { + responses: { + /** Response */ + 200: { + content: { + "text/plain": string; + }; + }; + }; + }; + /** + * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits": { + parameters: { + path: { + /** The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + base: string; + head: string; + }; + query: { + /** The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; +} + +export interface external {} diff --git a/node_modules/@octokit/plugin-paginate-rest/LICENSE b/node_modules/@octokit/plugin-paginate-rest/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/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/plugin-paginate-rest/README.md b/node_modules/@octokit/plugin-paginate-rest/README.md new file mode 100644 index 0000000..4337667 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/README.md @@ -0,0 +1,135 @@ +# plugin-paginate-rest.js + +> Octokit plugin to paginate REST API endpoint responses + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-paginate-rest.svg)](https://www.npmjs.com/package/@octokit/plugin-paginate-rest) +[![Build Status](https://github.com/octokit/plugin-paginate-rest.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-paginate-rest.js/actions?workflow=Test) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/plugin-paginate-rest.js.svg)](https://greenkeeper.io/) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-paginate-rest` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [cdn.pika.dev](https://cdn.pika.dev) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-paginate-rest`. Optionally replace `@octokit/core` with a core-compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { paginateRest } = require("@octokit/plugin-paginate-rest"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(paginateRest); +const octokit = new MyOctokit({ auth: "secret123" }); + +// See https://developer.github.com/v3/issues/#list-issues-for-a-repository +const issues = await octokit.paginate("GET /repos/:owner/:repo/issues", { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100 +}); +``` + +## `octokit.paginate(route, parameters, mapFunction)` or `octokit.paginate(options, mapFunction)` + +The `paginateRest` plugin adds a new `octokit.paginate()` method which accepts the same parameters as [`octokit.request`](https://github.com/octokit/request.js#request). Only "List ..." endpoints such as [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) are supporting pagination. Their [response includes a Link header](https://developer.github.com/v3/issues/#response-1). For other endpoints, `octokit.paginate()` behaves the same as `octokit.request()`. + +The `per_page` parameter is usually defaulting to `30`, and can be set to up to `100`, which helps retrieving a big amount of data without hitting the rate limits too soon. + +An optional `mapFunction` can be passed to map each page response to a new value, usually an array with only the data you need. This can help to reduce memory usage, as only the relevant data has to be kept in memory until the pagination is complete. + +```js +const issueTitles = await octokit.paginate( + "GET /repos/:owner/:repo/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100 + }, + response => response.data.map(issue => issue.title) +); +``` + +The `mapFunction` gets a 2nd argument `done` which can be called to end the pagination early. + +```js +const issues = await octokit.paginate( + "GET /repos/:owner/:repo/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100 + }, + (response, done) => { + if (response.data.find(issues => issue.title.includes("something"))) { + done(); + } + return response.data; + } +); +``` + +## `octokit.paginate.iterator(route, parameters)` or `octokit.paginate.iterator(options)` + +If your target runtime environments supports async iterators (such as most modern browsers and Node 10+), you can iterate through each response + +```js +const parameters = { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100 + } +for await (const response of octokit.paginate.iterator("GET /repos/:owner/:repo/issues", parameters)) { + // do whatever you want with each response, break out of the loop, etc. + console.log(response.data.title) +} +``` + +## How it works + +`octokit.paginate()` wraps `octokit.request()`. As long as a `rel="next"` link value is present in the response's `Link` header, it sends another request for that URL, and so on. + +Most of GitHub's paginating REST API endpoints return an array, but there are a few exceptions which return an object with a key that includes the items array. + +- [Search repositories](https://developer.github.com/v3/search/#example) (key `items`) +- [List check runs for a specific ref](https://developer.github.com/v3/checks/runs/#response-3) (key: `check_runs`) +- [List check suites for a specific ref](https://developer.github.com/v3/checks/suites/#response-1) (key: `check_suites`) +- [List repositories](https://developer.github.com/v3/apps/installations/#list-repositories) for an installation (key: `repositories`) +- [List installations for a user](https://developer.github.com/v3/apps/installations/#response-1) (key `installations`) + +`octokit.paginate()` is working around these inconsistencies so you don't have to worry about it. + +If a response is lacking the `Link` header, `octokit.paginate()` still resolves with an array, even if the response returns a single object. + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js new file mode 100644 index 0000000..1935931 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js @@ -0,0 +1,142 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "1.1.2"; + +/** + * 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`) + * + * 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. + */ +const REGEX = [/^\/search\//, /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)([^/]|$)/, /^\/installation\/repositories([^/]|$)/, /^\/user\/installations([^/]|$)/, /^\/repos\/[^/]+\/[^/]+\/actions\/secrets([^/]|$)/, /^\/repos\/[^/]+\/[^/]+\/actions\/workflows(\/[^/]+\/runs)?([^/]|$)/, /^\/repos\/[^/]+\/[^/]+\/actions\/runs(\/[^/]+\/(artifacts|jobs))?([^/]|$)/]; +function normalizePaginatedListResponse(octokit, url, response) { + const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, ""); + const responseNeedsNormalization = REGEX.find(regex => regex.test(path)); + if (!responseNeedsNormalization) return; // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + + response.data.total_count = totalCount; + Object.defineProperty(response.data, namespaceKey, { + get() { + octokit.log.warn(`[@octokit/paginate-rest] "response.data.${namespaceKey}" is deprecated for "GET ${path}". Get the results directly from "response.data"`); + return Array.from(data); + } + + }); +} + +function iterator(octokit, route, parameters) { + const options = octokit.request.endpoint(route, parameters); + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + next() { + if (!url) { + return Promise.resolve({ + done: true + }); + } + + return octokit.request({ + method, + 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 + }; + }); + } + + }) + }; +} + +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + + return gather(octokit, [], iterator(octokit, route, parameters)[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); + }); +} + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ + +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; + +exports.paginateRest = paginateRest; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map new file mode 100644 index 0000000..7955fa7 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"1.1.2\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint:\n *\n * - https://developer.github.com/v3/search/#example (key `items`)\n * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`)\n * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`)\n * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`)\n * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`)\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not. For the exceptions with the namespace, a fallback check for the route\n * paths has to be added in order to normalize the response. We cannot check for the total_count\n * property because it also exists in the response of Get the combined status for a specific ref.\n */\nconst REGEX = [\n /^\\/search\\//,\n /^\\/repos\\/[^/]+\\/[^/]+\\/commits\\/[^/]+\\/(check-runs|check-suites)([^/]|$)/,\n /^\\/installation\\/repositories([^/]|$)/,\n /^\\/user\\/installations([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/secrets([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/workflows(\\/[^/]+\\/runs)?([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/runs(\\/[^/]+\\/(artifacts|jobs))?([^/]|$)/\n];\nexport function normalizePaginatedListResponse(octokit, url, response) {\n const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, \"\");\n const responseNeedsNormalization = REGEX.find(regex => regex.test(path));\n if (!responseNeedsNormalization)\n return;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n Object.defineProperty(response.data, namespaceKey, {\n get() {\n octokit.log.warn(`[@octokit/paginate-rest] \"response.data.${namespaceKey}\" is deprecated for \"GET ${path}\". Get the results directly from \"response.data\"`);\n return Array.from(data);\n }\n });\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = octokit.request.endpoint(route, parameters);\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n next() {\n if (!url) {\n return Promise.resolve({ done: true });\n }\n return octokit\n .request({ method, url, headers })\n .then((response) => {\n normalizePaginatedListResponse(octokit, url, response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((response.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: response };\n });\n }\n })\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":["VERSION","REGEX","normalizePaginatedListResponse","octokit","url","response","path","replace","request","endpoint","DEFAULTS","baseUrl","responseNeedsNormalization","find","regex","test","incompleteResults","data","incomplete_results","repositorySelection","repository_selection","totalCount","total_count","namespaceKey","Object","keys","defineProperty","get","log","warn","Array","from","iterator","route","parameters","options","method","headers","Symbol","asyncIterator","next","Promise","resolve","done","then","link","match","value","paginate","mapFn","undefined","gather","results","result","earlyExit","concat","paginateRest","assign","bind"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAP;;;;;;;;;;;;;;;;;;;;AAoBA,MAAMC,KAAK,GAAG,CACV,aADU,EAEV,2EAFU,EAGV,uCAHU,EAIV,gCAJU,EAKV,kDALU,EAMV,oEANU,EAOV,2EAPU,CAAd;AASA,AAAO,SAASC,8BAAT,CAAwCC,OAAxC,EAAiDC,GAAjD,EAAsDC,QAAtD,EAAgE;QAC7DC,IAAI,GAAGF,GAAG,CAACG,OAAJ,CAAYJ,OAAO,CAACK,OAAR,CAAgBC,QAAhB,CAAyBC,QAAzB,CAAkCC,OAA9C,EAAuD,EAAvD,CAAb;QACMC,0BAA0B,GAAGX,KAAK,CAACY,IAAN,CAAWC,KAAK,IAAIA,KAAK,CAACC,IAAN,CAAWT,IAAX,CAApB,CAAnC;MACI,CAACM,0BAAL,EACI,OAJ+D;;;QAO7DI,iBAAiB,GAAGX,QAAQ,CAACY,IAAT,CAAcC,kBAAxC;QACMC,mBAAmB,GAAGd,QAAQ,CAACY,IAAT,CAAcG,oBAA1C;QACMC,UAAU,GAAGhB,QAAQ,CAACY,IAAT,CAAcK,WAAjC;SACOjB,QAAQ,CAACY,IAAT,CAAcC,kBAArB;SACOb,QAAQ,CAACY,IAAT,CAAcG,oBAArB;SACOf,QAAQ,CAACY,IAAT,CAAcK,WAArB;QACMC,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYpB,QAAQ,CAACY,IAArB,EAA2B,CAA3B,CAArB;QACMA,IAAI,GAAGZ,QAAQ,CAACY,IAAT,CAAcM,YAAd,CAAb;EACAlB,QAAQ,CAACY,IAAT,GAAgBA,IAAhB;;MACI,OAAOD,iBAAP,KAA6B,WAAjC,EAA8C;IAC1CX,QAAQ,CAACY,IAAT,CAAcC,kBAAd,GAAmCF,iBAAnC;;;MAEA,OAAOG,mBAAP,KAA+B,WAAnC,EAAgD;IAC5Cd,QAAQ,CAACY,IAAT,CAAcG,oBAAd,GAAqCD,mBAArC;;;EAEJd,QAAQ,CAACY,IAAT,CAAcK,WAAd,GAA4BD,UAA5B;EACAG,MAAM,CAACE,cAAP,CAAsBrB,QAAQ,CAACY,IAA/B,EAAqCM,YAArC,EAAmD;IAC/CI,GAAG,GAAG;MACFxB,OAAO,CAACyB,GAAR,CAAYC,IAAZ,CAAkB,2CAA0CN,YAAa,4BAA2BjB,IAAK,kDAAzG;aACOwB,KAAK,CAACC,IAAN,CAAWd,IAAX,CAAP;;;GAHR;;;ACnDG,SAASe,QAAT,CAAkB7B,OAAlB,EAA2B8B,KAA3B,EAAkCC,UAAlC,EAA8C;QAC3CC,OAAO,GAAGhC,OAAO,CAACK,OAAR,CAAgBC,QAAhB,CAAyBwB,KAAzB,EAAgCC,UAAhC,CAAhB;QACME,MAAM,GAAGD,OAAO,CAACC,MAAvB;QACMC,OAAO,GAAGF,OAAO,CAACE,OAAxB;MACIjC,GAAG,GAAG+B,OAAO,CAAC/B,GAAlB;SACO;KACFkC,MAAM,CAACC,aAAR,GAAwB,OAAO;MAC3BC,IAAI,GAAG;YACC,CAACpC,GAAL,EAAU;iBACCqC,OAAO,CAACC,OAAR,CAAgB;YAAEC,IAAI,EAAE;WAAxB,CAAP;;;eAEGxC,OAAO,CACTK,OADE,CACM;UAAE4B,MAAF;UAAUhC,GAAV;UAAeiC;SADrB,EAEFO,IAFE,CAEIvC,QAAD,IAAc;UACpBH,8BAA8B,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,CAA9B,CADoB;;;;UAKpBD,GAAG,GAAG,CAAC,CAACC,QAAQ,CAACgC,OAAT,CAAiBQ,IAAjB,IAAyB,EAA1B,EAA8BC,KAA9B,CAAoC,yBAApC,KAAkE,EAAnE,EAAuE,CAAvE,CAAN;iBACO;YAAEC,KAAK,EAAE1C;WAAhB;SARG,CAAP;;;KALgB;GAD5B;;;ACLG,SAAS2C,QAAT,CAAkB7C,OAAlB,EAA2B8B,KAA3B,EAAkCC,UAAlC,EAA8Ce,KAA9C,EAAqD;MACpD,OAAOf,UAAP,KAAsB,UAA1B,EAAsC;IAClCe,KAAK,GAAGf,UAAR;IACAA,UAAU,GAAGgB,SAAb;;;SAEGC,MAAM,CAAChD,OAAD,EAAU,EAAV,EAAc6B,QAAQ,CAAC7B,OAAD,EAAU8B,KAAV,EAAiBC,UAAjB,CAAR,CAAqCI,MAAM,CAACC,aAA5C,GAAd,EAA4EU,KAA5E,CAAb;;;AAEJ,SAASE,MAAT,CAAgBhD,OAAhB,EAAyBiD,OAAzB,EAAkCpB,QAAlC,EAA4CiB,KAA5C,EAAmD;SACxCjB,QAAQ,CAACQ,IAAT,GAAgBI,IAAhB,CAAqBS,MAAM,IAAI;QAC9BA,MAAM,CAACV,IAAX,EAAiB;aACNS,OAAP;;;QAEAE,SAAS,GAAG,KAAhB;;aACSX,IAAT,GAAgB;MACZW,SAAS,GAAG,IAAZ;;;IAEJF,OAAO,GAAGA,OAAO,CAACG,MAAR,CAAeN,KAAK,GAAGA,KAAK,CAACI,MAAM,CAACN,KAAR,EAAeJ,IAAf,CAAR,GAA+BU,MAAM,CAACN,KAAP,CAAa9B,IAAhE,CAAV;;QACIqC,SAAJ,EAAe;aACJF,OAAP;;;WAEGD,MAAM,CAAChD,OAAD,EAAUiD,OAAV,EAAmBpB,QAAnB,EAA6BiB,KAA7B,CAAb;GAZG,CAAP;;;ACNJ;;;;;AAIA,AAAO,SAASO,YAAT,CAAsBrD,OAAtB,EAA+B;SAC3B;IACH6C,QAAQ,EAAExB,MAAM,CAACiC,MAAP,CAAcT,QAAQ,CAACU,IAAT,CAAc,IAAd,EAAoBvD,OAApB,CAAd,EAA4C;MAClD6B,QAAQ,EAAEA,QAAQ,CAAC0B,IAAT,CAAc,IAAd,EAAoBvD,OAApB;KADJ;GADd;;AAMJqD,YAAY,CAACxD,OAAb,GAAuBA,OAAvB;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js new file mode 100644 index 0000000..aa5fe65 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js @@ -0,0 +1,15 @@ +import { VERSION } from "./version"; +import { paginate } from "./paginate"; +import { iterator } from "./iterator"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js new file mode 100644 index 0000000..0f97338 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js @@ -0,0 +1,26 @@ +import { normalizePaginatedListResponse } from "./normalize-paginated-list-response"; +export function iterator(octokit, route, parameters) { + const options = octokit.request.endpoint(route, parameters); + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + next() { + if (!url) { + return Promise.resolve({ done: true }); + } + return octokit + .request({ method, 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/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js new file mode 100644 index 0000000..75fbf1c --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js @@ -0,0 +1,59 @@ +/** + * 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`) + * + * 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. + */ +const REGEX = [ + /^\/search\//, + /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)([^/]|$)/, + /^\/installation\/repositories([^/]|$)/, + /^\/user\/installations([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/secrets([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/workflows(\/[^/]+\/runs)?([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/runs(\/[^/]+\/(artifacts|jobs))?([^/]|$)/ +]; +export function normalizePaginatedListResponse(octokit, url, response) { + const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, ""); + const responseNeedsNormalization = REGEX.find(regex => regex.test(path)); + if (!responseNeedsNormalization) + return; + // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + Object.defineProperty(response.data, namespaceKey, { + get() { + octokit.log.warn(`[@octokit/paginate-rest] "response.data.${namespaceKey}" is deprecated for "GET ${path}". Get the results directly from "response.data"`); + return Array.from(data); + } + }); +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js new file mode 100644 index 0000000..0633805 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js @@ -0,0 +1,24 @@ +import { iterator } from "./iterator"; +export function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + return gather(octokit, [], iterator(octokit, route, parameters)[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/endpoint/dist-src/types.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/types.js similarity index 100% rename from node_modules/@octokit/endpoint/dist-src/types.js rename to node_modules/@octokit/plugin-paginate-rest/dist-src/types.js diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js new file mode 100644 index 0000000..33f364d --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "1.1.2"; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts new file mode 100644 index 0000000..64f9c46 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts @@ -0,0 +1,13 @@ +import { PaginateInterface } from "./types"; +export { PaginateInterface } from "./types"; +import { Octokit } from "@octokit/core"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export declare function paginateRest(octokit: Octokit): { + paginate: PaginateInterface; +}; +export declare namespace paginateRest { + var VERSION: string; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts new file mode 100644 index 0000000..eadc968 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts @@ -0,0 +1,11 @@ +import { Octokit } from "@octokit/core"; +import { OctokitResponse, RequestParameters, Route } from "./types"; +export declare function iterator(octokit: Octokit, route: Route, parameters?: RequestParameters): { + [Symbol.asyncIterator]: () => { + next(): Promise<{ + done: boolean; + }> | Promise<{ + value: OctokitResponse; + }>; + }; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts new file mode 100644 index 0000000..cbae65e --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts @@ -0,0 +1,23 @@ +/** + * 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`) + * + * 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. + */ +import { Octokit } from "@octokit/core"; +import { OctokitResponse } from "./types"; +export declare function normalizePaginatedListResponse(octokit: Octokit, url: string, response: OctokitResponse): void; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts new file mode 100644 index 0000000..2c7e8b2 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts @@ -0,0 +1,3 @@ +import { Octokit } from "@octokit/core"; +import { MapFunction, PaginationResults, RequestParameters, Route } from "./types"; +export declare function paginate(octokit: Octokit, route: Route, parameters?: RequestParameters, mapFn?: MapFunction): Promise>; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts new file mode 100644 index 0000000..cfd8ace --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts @@ -0,0 +1,69 @@ +import * as OctokitTypes from "@octokit/types"; +export { EndpointOptions } from "@octokit/types"; +export { OctokitResponse } from "@octokit/types"; +export { RequestParameters } from "@octokit/types"; +export { Route } from "@octokit/types"; +export interface PaginateInterface { + /** + * 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`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (options: OctokitTypes.EndpointOptions, mapFn: MapFunction): Promise>; + /** + * 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: OctokitTypes.EndpointOptions): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: OctokitTypes.Route, mapFn: MapFunction): 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`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: OctokitTypes.Route, parameters: OctokitTypes.RequestParameters, mapFn: MapFunction): 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: OctokitTypes.Route, parameters: OctokitTypes.RequestParameters): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + */ + (route: OctokitTypes.Route): Promise>; + iterator: { + /** + * Get an asynchronous iterator for use with `for await()`, + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (EndpointOptions: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + /** + * Get an asynchronous iterator for use with `for await()`, + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: OctokitTypes.Route, parameters?: OctokitTypes.RequestParameters): AsyncIterableIterator>>; + }; +} +export interface MapFunction { + (response: OctokitTypes.OctokitResponse>, done: () => void): R[]; +} +export declare type PaginationResults = T[]; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts new file mode 100644 index 0000000..3b6537a --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "1.1.2"; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js new file mode 100644 index 0000000..aee57f1 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js @@ -0,0 +1,127 @@ +const VERSION = "1.1.2"; + +/** + * 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`) + * + * 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. + */ +const REGEX = [ + /^\/search\//, + /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)([^/]|$)/, + /^\/installation\/repositories([^/]|$)/, + /^\/user\/installations([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/secrets([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/workflows(\/[^/]+\/runs)?([^/]|$)/, + /^\/repos\/[^/]+\/[^/]+\/actions\/runs(\/[^/]+\/(artifacts|jobs))?([^/]|$)/ +]; +function normalizePaginatedListResponse(octokit, url, response) { + const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, ""); + const responseNeedsNormalization = REGEX.find(regex => regex.test(path)); + if (!responseNeedsNormalization) + return; + // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + Object.defineProperty(response.data, namespaceKey, { + get() { + octokit.log.warn(`[@octokit/paginate-rest] "response.data.${namespaceKey}" is deprecated for "GET ${path}". Get the results directly from "response.data"`); + return Array.from(data); + } + }); +} + +function iterator(octokit, route, parameters) { + const options = octokit.request.endpoint(route, parameters); + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + next() { + if (!url) { + return Promise.resolve({ done: true }); + } + return octokit + .request({ method, 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 }; + }); + } + }) + }; +} + +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + return gather(octokit, [], iterator(octokit, route, parameters)[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); + }); +} + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; + +export { paginateRest }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map new file mode 100644 index 0000000..a700b03 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/normalize-paginated-list-response.js","../dist-src/iterator.js","../dist-src/paginate.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"1.1.2\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint:\n *\n * - https://developer.github.com/v3/search/#example (key `items`)\n * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`)\n * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`)\n * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`)\n * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`)\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not. For the exceptions with the namespace, a fallback check for the route\n * paths has to be added in order to normalize the response. We cannot check for the total_count\n * property because it also exists in the response of Get the combined status for a specific ref.\n */\nconst REGEX = [\n /^\\/search\\//,\n /^\\/repos\\/[^/]+\\/[^/]+\\/commits\\/[^/]+\\/(check-runs|check-suites)([^/]|$)/,\n /^\\/installation\\/repositories([^/]|$)/,\n /^\\/user\\/installations([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/secrets([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/workflows(\\/[^/]+\\/runs)?([^/]|$)/,\n /^\\/repos\\/[^/]+\\/[^/]+\\/actions\\/runs(\\/[^/]+\\/(artifacts|jobs))?([^/]|$)/\n];\nexport function normalizePaginatedListResponse(octokit, url, response) {\n const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, \"\");\n const responseNeedsNormalization = REGEX.find(regex => regex.test(path));\n if (!responseNeedsNormalization)\n return;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n Object.defineProperty(response.data, namespaceKey, {\n get() {\n octokit.log.warn(`[@octokit/paginate-rest] \"response.data.${namespaceKey}\" is deprecated for \"GET ${path}\". Get the results directly from \"response.data\"`);\n return Array.from(data);\n }\n });\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = octokit.request.endpoint(route, parameters);\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n next() {\n if (!url) {\n return Promise.resolve({ done: true });\n }\n return octokit\n .request({ method, url, headers })\n .then((response) => {\n normalizePaginatedListResponse(octokit, url, response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((response.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: response };\n });\n }\n })\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n"],"names":[],"mappings":"AAAO,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACA3C;;;;;;;;;;;;;;;;;;;;AAoBA,MAAM,KAAK,GAAG;IACV,aAAa;IACb,2EAA2E;IAC3E,uCAAuC;IACvC,gCAAgC;IAChC,kDAAkD;IAClD,oEAAoE;IACpE,2EAA2E;CAC9E,CAAC;AACF,AAAO,SAAS,8BAA8B,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE;IACnE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,0BAA0B,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,0BAA0B;QAC3B,OAAO;;;IAGX,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAC3D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC/D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;IAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;IACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE;QAC1C,QAAQ,CAAC,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;KACxD;IACD,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE;QAC5C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;KAC5D;IACD,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IACvC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE;QAC/C,GAAG,GAAG;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,wCAAwC,EAAE,YAAY,CAAC,yBAAyB,EAAE,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC5J,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;KACJ,CAAC,CAAC;CACN;;ACzDM,SAAS,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACtB,OAAO;QACH,CAAC,MAAM,CAAC,aAAa,GAAG,OAAO;YAC3B,IAAI,GAAG;gBACH,IAAI,CAAC,GAAG,EAAE;oBACN,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC1C;gBACD,OAAO,OAAO;qBACT,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;qBACjC,IAAI,CAAC,CAAC,QAAQ,KAAK;oBACpB,8BAA8B,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;;;;oBAIvD,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;oBAChF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;iBAC9B,CAAC,CAAC;aACN;SACJ,CAAC;KACL,CAAC;CACL;;ACxBM,SAAS,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IACxD,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;QAClC,KAAK,GAAG,UAAU,CAAC;QACnB,UAAU,GAAG,SAAS,CAAC;KAC1B;IACD,OAAO,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;CACnG;AACD,SAAS,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC/C,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI;QAClC,IAAI,MAAM,CAAC,IAAI,EAAE;YACb,OAAO,OAAO,CAAC;SAClB;QACD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,SAAS,IAAI,GAAG;YACZ,SAAS,GAAG,IAAI,CAAC;SACpB;QACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,SAAS,EAAE;YACX,OAAO,OAAO,CAAC;SAClB;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KACpD,CAAC,CAAC;CACN;;ACpBD;;;;AAIA,AAAO,SAAS,YAAY,CAAC,OAAO,EAAE;IAClC,OAAO;QACH,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YAClD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;SACzC,CAAC;KACL,CAAC;CACL;AACD,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/LICENSE b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/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/plugin-paginate-rest/node_modules/@octokit/types/README.md b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/README.md new file mode 100644 index 0000000..25b8f03 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/README.md @@ -0,0 +1,65 @@ +# 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](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "./src"; + +type listUserReposParameters = Endpoints["GET /repos/:owner/:repo"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/:owner/:repo"]["response"]; + +async function listRepos( + options: listUserReposParameters +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js new file mode 100644 index 0000000..4c5b65f --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js @@ -0,0 +1,8 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "2.16.2"; + +exports.VERSION = VERSION; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js.map new file mode 100644 index 0000000..2d148d3 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":["VERSION"],"mappings":";;;;MAAaA,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/endpoint/dist-src/generated/routes.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/AuthInterface.js similarity index 100% rename from node_modules/@octokit/endpoint/dist-src/generated/routes.js rename to node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/AuthInterface.js diff --git a/node_modules/@octokit/request/dist-src/types.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointDefaults.js similarity index 100% rename from node_modules/@octokit/request/dist-src/types.js rename to node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointDefaults.js diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/EndpointOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Fetch.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/OctokitResponse.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestParameters.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/RequestRequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/ResponseHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Route.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Signal.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/StrategyInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/Url.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/VERSION.js new file mode 100644 index 0000000..66bc3f7 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/VERSION.js @@ -0,0 +1 @@ +export const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/generated/Endpoints.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/index.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/index.js new file mode 100644 index 0000000..04b2163 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-src/index.js @@ -0,0 +1 @@ +export * from "./VERSION"; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 0000000..0c19b50 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +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 { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 0000000..a2c2307 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +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 declare 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/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 0000000..df585be --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import { EndpointDefaults } from "./EndpointDefaults"; +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 `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + merge: { + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * + */ + (route: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ +

(options: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * Stateless method to turn endpoint options into request options. + * Calling `endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + * + * @param {object} options `method`, `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + parse: (options: O) => RequestOptions & Pick; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000..b1b91f1 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import { RequestMethod } from "./RequestMethod"; +import { Url } from "./Url"; +import { RequestParameters } from "./RequestParameters"; +export declare type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 0000000..cbbd5e8 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export declare type Fetch = any; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 0000000..70e1a8d --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +declare type Unwrap = T extends Promise ? U : T; +declare type AnyFunction = (...args: any[]) => any; +export declare type GetResponseTypeFromEndpointMethod = Unwrap>; +export declare type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 0000000..9a2dd7f --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import { ResponseHeaders } from "./ResponseHeaders"; +import { Url } from "./Url"; +export declare 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/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 0000000..ac5aae0 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export declare 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/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 0000000..ef4d8d3 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import { EndpointInterface } from "./EndpointInterface"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface RequestInterface { + /** + * Sends a request based on endpoint options + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 0000000..e999c8d --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export declare type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 0000000..97e2181 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +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 declare type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 0000000..692d193 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,45 @@ +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 declare 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]: unknown; +}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 0000000..4482a8a --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,26 @@ +/// +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 declare 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/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 0000000..c8fbe43 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,20 @@ +export declare 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/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 0000000..8079044 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Route.d.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 declare type Route = string; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Signal.d.ts new file mode 100644 index 0000000..4ebcf24 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Signal.d.ts @@ -0,0 +1,6 @@ +/** + * Abort signal + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal + */ +export declare type Signal = any; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 0000000..405cbd2 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import { AuthInterface } from "./AuthInterface"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 0000000..acaad63 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/Url.d.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/:org'`, `https://example.com/foo/bar` + */ +export declare type Url = string; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000..c24737b --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 0000000..d10c4c9 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,41416 @@ +import { OctokitResponse } from "../OctokitResponse"; +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +declare type RequiredPreview = { + mediaType: { + previews: [T, ...string[]]; + }; +}; +export interface Endpoints { + /** + * @see https://developer.github.com/v3/apps/#delete-an-installation + */ + "DELETE /app/installations/:installation_id": { + parameters: AppsDeleteInstallationEndpoint; + request: AppsDeleteInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#unsuspend-an-installation + */ + "DELETE /app/installations/:installation_id/suspended": { + parameters: AppsUnsuspendInstallationEndpoint; + request: AppsUnsuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-authorization + */ + "DELETE /applications/:client_id/grant": { + parameters: AppsDeleteAuthorizationEndpoint; + request: AppsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + "DELETE /applications/:client_id/grants/:access_token": { + parameters: AppsRevokeGrantForApplicationEndpoint; + request: AppsRevokeGrantForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token + */ + "DELETE /applications/:client_id/token": { + parameters: AppsDeleteTokenEndpoint; + request: AppsDeleteTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + "DELETE /applications/:client_id/tokens/:access_token": { + parameters: AppsRevokeAuthorizationForApplicationEndpoint; + request: AppsRevokeAuthorizationForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant + */ + "DELETE /applications/grants/:grant_id": { + parameters: OauthAuthorizationsDeleteGrantEndpoint; + request: OauthAuthorizationsDeleteGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization + */ + "DELETE /authorizations/:authorization_id": { + parameters: OauthAuthorizationsDeleteAuthorizationEndpoint; + request: OauthAuthorizationsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#delete-a-gist + */ + "DELETE /gists/:gist_id": { + parameters: GistsDeleteEndpoint; + request: GistsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#delete-a-comment + */ + "DELETE /gists/:gist_id/comments/:comment_id": { + parameters: GistsDeleteCommentEndpoint; + request: GistsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#unstar-a-gist + */ + "DELETE /gists/:gist_id/star": { + parameters: GistsUnstarEndpoint; + request: GistsUnstarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#revoke-an-installation-token + */ + "DELETE /installation/token": { + parameters: AppsRevokeInstallationTokenEndpoint; + request: AppsRevokeInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription + */ + "DELETE /notifications/threads/:thread_id/subscription": { + parameters: ActivityDeleteThreadSubscriptionEndpoint; + request: ActivityDeleteThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromOrgEndpoint; + request: ActionsDeleteSelfHostedRunnerFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#unblock-a-user + */ + "DELETE /orgs/:org/blocks/:username": { + parameters: OrgsUnblockUserEndpoint; + request: OrgsUnblockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#remove-a-credential-authorization-for-an-organization + */ + "DELETE /orgs/:org/credential-authorizations/:credential_id": { + parameters: OrgsRemoveCredentialAuthorizationEndpoint; + request: OrgsRemoveCredentialAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#delete-a-hook + */ + "DELETE /orgs/:org/hooks/:hook_id": { + parameters: OrgsDeleteHookEndpoint; + request: OrgsDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/:org/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForOrgEndpoint; + request: InteractionsRemoveRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-a-member + */ + "DELETE /orgs/:org/members/:username": { + parameters: OrgsRemoveMemberEndpoint; + request: OrgsRemoveMemberRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-organization-membership + */ + "DELETE /orgs/:org/memberships/:username": { + parameters: OrgsRemoveMembershipEndpoint; + request: OrgsRemoveMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#delete-an-organization-migration-archive + */ + "DELETE /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForOrgEndpoint; + request: MigrationsDeleteArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#unlock-an-organization-repository + */ + "DELETE /orgs/:org/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForOrgEndpoint; + request: MigrationsUnlockRepoForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#remove-outside-collaborator + */ + "DELETE /orgs/:org/outside_collaborators/:username": { + parameters: OrgsRemoveOutsideCollaboratorEndpoint; + request: OrgsRemoveOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#conceal-a-users-membership + */ + "DELETE /orgs/:org/public_members/:username": { + parameters: OrgsConcealMembershipEndpoint; + request: OrgsConcealMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team + */ + "DELETE /orgs/:org/teams/:team_slug": { + parameters: TeamsDeleteInOrgEndpoint; + request: TeamsDeleteInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionInOrgEndpoint; + request: TeamsDeleteDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentInOrgEndpoint; + request: TeamsDeleteDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionCommentEndpoint; + request: ReactionsDeleteForTeamDiscussionCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionEndpoint; + request: ReactionsDeleteForTeamDiscussionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership + */ + "DELETE /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsRemoveMembershipInOrgEndpoint; + request: TeamsRemoveMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project + */ + "DELETE /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsRemoveProjectInOrgEndpoint; + request: TeamsRemoveProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository + */ + "DELETE /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsRemoveRepoInOrgEndpoint; + request: TeamsRemoveRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#delete-a-project + */ + "DELETE /projects/:project_id": { + parameters: ProjectsDeleteEndpoint; + request: ProjectsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /projects/:project_id/collaborators/:username": { + parameters: ProjectsRemoveCollaboratorEndpoint; + request: ProjectsRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#delete-a-project-column + */ + "DELETE /projects/columns/:column_id": { + parameters: ProjectsDeleteColumnEndpoint; + request: ProjectsDeleteColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#delete-a-project-card + */ + "DELETE /projects/columns/cards/:card_id": { + parameters: ProjectsDeleteCardEndpoint; + request: ProjectsDeleteCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-reaction-legacy + */ + "DELETE /reactions/:reaction_id": { + parameters: ReactionsDeleteLegacyEndpoint; + request: ReactionsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#delete-a-repository + */ + "DELETE /repos/:owner/:repo": { + parameters: ReposDeleteEndpoint; + request: ReposDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#delete-an-artifact + */ + "DELETE /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsDeleteArtifactEndpoint; + request: ActionsDeleteArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromRepoEndpoint; + request: ActionsDeleteSelfHostedRunnerFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#delete-workflow-run-logs + */ + "DELETE /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDeleteWorkflowRunLogsEndpoint; + request: ActionsDeleteWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#delete-a-secret-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsDeleteSecretFromRepoEndpoint; + request: ActionsDeleteSecretFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-automated-security-fixes + */ + "DELETE /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposDisableAutomatedSecurityFixesEndpoint; + request: ReposDisableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-branch-protection + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposRemoveBranchProtectionEndpoint; + request: ReposRemoveBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-admin-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposRemoveProtectedBranchAdminEnforcementEndpoint; + request: ReposRemoveProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-pull-request-review-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-signatures-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposRemoveProtectedBranchRequiredSignaturesEndpoint; + request: ReposRemoveProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-contexts-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposRemoveProtectedBranchRestrictionsEndpoint; + request: ReposRemoveProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-app-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposRemoveProtectedBranchAppRestrictionsEndpoint; + request: ReposRemoveProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-team-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposRemoveProtectedBranchTeamRestrictionsEndpoint; + request: ReposRemoveProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-user-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposRemoveProtectedBranchUserRestrictionsEndpoint; + request: ReposRemoveProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /repos/:owner/:repo/collaborators/:username": { + parameters: ReposRemoveCollaboratorEndpoint; + request: ReposRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#delete-a-commit-comment + */ + "DELETE /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposDeleteCommitCommentEndpoint; + request: ReposDeleteCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-commit-comment-reaction + */ + "DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForCommitCommentEndpoint; + request: ReactionsDeleteForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#delete-a-file + */ + "DELETE /repos/:owner/:repo/contents/:path": { + parameters: ReposDeleteFileEndpoint; + request: ReposDeleteFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#delete-a-deployment + */ + "DELETE /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposDeleteDeploymentEndpoint; + request: ReposDeleteDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#delete-a-download + */ + "DELETE /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposDeleteDownloadEndpoint; + request: ReposDeleteDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#delete-a-reference + */ + "DELETE /repos/:owner/:repo/git/refs/:ref": { + parameters: GitDeleteRefEndpoint; + request: GitDeleteRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#delete-a-hook + */ + "DELETE /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposDeleteHookEndpoint; + request: ReposDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#cancel-an-import + */ + "DELETE /repos/:owner/:repo/import": { + parameters: MigrationsCancelImportEndpoint; + request: MigrationsCancelImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForRepoEndpoint; + request: InteractionsRemoveRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#delete-a-repository-invitation + */ + "DELETE /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposDeleteInvitationEndpoint; + request: ReposDeleteInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#remove-assignees-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesRemoveAssigneesEndpoint; + request: IssuesRemoveAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesRemoveAllLabelsEndpoint; + request: IssuesRemoveAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels/:name": { + parameters: IssuesRemoveLabelEndpoint; + request: IssuesRemoveLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#unlock-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesUnlockEndpoint; + request: IssuesUnlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-reaction + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueEndpoint; + request: ReactionsDeleteForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesDeleteCommentEndpoint; + request: IssuesDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-comment-reaction + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueCommentEndpoint; + request: ReactionsDeleteForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#remove-a-deploy-key + */ + "DELETE /repos/:owner/:repo/keys/:key_id": { + parameters: ReposRemoveDeployKeyEndpoint; + request: ReposRemoveDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#delete-a-label + */ + "DELETE /repos/:owner/:repo/labels/:name": { + parameters: IssuesDeleteLabelEndpoint; + request: IssuesDeleteLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#delete-a-milestone + */ + "DELETE /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesDeleteMilestoneEndpoint; + request: IssuesDeleteMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#disable-a-pages-site + */ + "DELETE /repos/:owner/:repo/pages": { + parameters: ReposDisablePagesSiteEndpoint; + request: ReposDisablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#delete-a-review-request + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsDeleteReviewRequestEndpoint; + request: PullsDeleteReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#delete-a-pending-review + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsDeletePendingReviewEndpoint; + request: PullsDeletePendingReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsDeleteCommentEndpoint; + request: PullsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForPullRequestCommentEndpoint; + request: ReactionsDeleteForPullRequestCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release + */ + "DELETE /repos/:owner/:repo/releases/:release_id": { + parameters: ReposDeleteReleaseEndpoint; + request: ReposDeleteReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release-asset + */ + "DELETE /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposDeleteReleaseAssetEndpoint; + request: ReposDeleteReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#delete-a-repository-subscription + */ + "DELETE /repos/:owner/:repo/subscription": { + parameters: ActivityDeleteRepoSubscriptionEndpoint; + request: ActivityDeleteRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-vulnerability-alerts + */ + "DELETE /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposDisableVulnerabilityAlertsEndpoint; + request: ReposDisableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#remove-a-user-from-the-organization + */ + "DELETE /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimRemoveUserFromOrgEndpoint; + request: ScimRemoveUserFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team-legacy + */ + "DELETE /teams/:team_id": { + parameters: TeamsDeleteLegacyEndpoint; + request: TeamsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionLegacyEndpoint; + request: TeamsDeleteDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentLegacyEndpoint; + request: TeamsDeleteDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-member-legacy + */ + "DELETE /teams/:team_id/members/:username": { + parameters: TeamsRemoveMemberLegacyEndpoint; + request: TeamsRemoveMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + "DELETE /teams/:team_id/memberships/:username": { + parameters: TeamsRemoveMembershipLegacyEndpoint; + request: TeamsRemoveMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + "DELETE /teams/:team_id/projects/:project_id": { + parameters: TeamsRemoveProjectLegacyEndpoint; + request: TeamsRemoveProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + "DELETE /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsRemoveRepoLegacyEndpoint; + request: TeamsRemoveRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#unblock-a-user + */ + "DELETE /user/blocks/:username": { + parameters: UsersUnblockEndpoint; + request: UsersUnblockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#delete-email-addresses + */ + "DELETE /user/emails": { + parameters: UsersDeleteEmailsEndpoint; + request: UsersDeleteEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#unfollow-a-user + */ + "DELETE /user/following/:username": { + parameters: UsersUnfollowEndpoint; + request: UsersUnfollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#delete-a-gpg-key + */ + "DELETE /user/gpg_keys/:gpg_key_id": { + parameters: UsersDeleteGpgKeyEndpoint; + request: UsersDeleteGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#remove-repository-from-installation + */ + "DELETE /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsRemoveRepoFromInstallationEndpoint; + request: AppsRemoveRepoFromInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#delete-a-public-key + */ + "DELETE /user/keys/:key_id": { + parameters: UsersDeletePublicKeyEndpoint; + request: UsersDeletePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#delete-a-user-migration-archive + */ + "DELETE /user/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForAuthenticatedUserEndpoint; + request: MigrationsDeleteArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#unlock-a-user-repository + */ + "DELETE /user/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForAuthenticatedUserEndpoint; + request: MigrationsUnlockRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/:invitation_id": { + parameters: ReposDeclineInvitationEndpoint; + request: ReposDeclineInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/:owner/:repo": { + parameters: ActivityUnstarRepoForAuthenticatedUserEndpoint; + request: ActivityUnstarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#stop-watching-a-repository-legacy + */ + "DELETE /user/subscriptions/:owner/:repo": { + parameters: ActivityStopWatchingRepoLegacyEndpoint; + request: ActivityStopWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-the-authenticated-github-app + */ + "GET /app": { + parameters: AppsGetAuthenticatedEndpoint; + request: AppsGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#list-installations + */ + "GET /app/installations": { + parameters: AppsListInstallationsEndpoint; + request: AppsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-installation + */ + "GET /app/installations/:installation_id": { + parameters: AppsGetInstallationEndpoint; + request: AppsGetInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + "GET /applications/:client_id/tokens/:access_token": { + parameters: AppsCheckAuthorizationEndpoint; + request: AppsCheckAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-grants + */ + "GET /applications/grants": { + parameters: OauthAuthorizationsListGrantsEndpoint; + request: OauthAuthorizationsListGrantsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant + */ + "GET /applications/grants/:grant_id": { + parameters: OauthAuthorizationsGetGrantEndpoint; + request: OauthAuthorizationsGetGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-single-github-app + */ + "GET /apps/:app_slug": { + parameters: AppsGetBySlugEndpoint; + request: AppsGetBySlugRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations + */ + "GET /authorizations": { + parameters: OauthAuthorizationsListAuthorizationsEndpoint; + request: OauthAuthorizationsListAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization + */ + "GET /authorizations/:authorization_id": { + parameters: OauthAuthorizationsGetAuthorizationEndpoint; + request: OauthAuthorizationsGetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#list-all-codes-of-conduct + */ + "GET /codes_of_conduct": { + parameters: CodesOfConductGetAllCodesOfConductEndpoint; + request: CodesOfConductGetAllCodesOfConductRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-an-individual-code-of-conduct + */ + "GET /codes_of_conduct/:key": { + parameters: CodesOfConductGetConductCodeEndpoint; + request: CodesOfConductGetConductCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/emojis/#emojis + */ + "GET /emojis": { + parameters: EmojisGetEndpoint; + request: EmojisGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events + */ + "GET /events": { + parameters: ActivityListPublicEventsEndpoint; + request: ActivityListPublicEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/feeds/#get-feeds + */ + "GET /feeds": { + parameters: ActivityGetFeedsEndpoint; + request: ActivityGetFeedsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-the-authenticated-user + */ + "GET /gists": { + parameters: GistsListEndpoint; + request: GistsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-gist + */ + "GET /gists/:gist_id": { + parameters: GistsGetEndpoint; + request: GistsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-specific-revision-of-a-gist + */ + "GET /gists/:gist_id/:sha": { + parameters: GistsGetRevisionEndpoint; + request: GistsGetRevisionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist + */ + "GET /gists/:gist_id/comments": { + parameters: GistsListCommentsEndpoint; + request: GistsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#get-a-single-comment + */ + "GET /gists/:gist_id/comments/:comment_id": { + parameters: GistsGetCommentEndpoint; + request: GistsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-commits + */ + "GET /gists/:gist_id/commits": { + parameters: GistsListCommitsEndpoint; + request: GistsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-forks + */ + "GET /gists/:gist_id/forks": { + parameters: GistsListForksEndpoint; + request: GistsListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#check-if-a-gist-is-starred + */ + "GET /gists/:gist_id/star": { + parameters: GistsCheckIsStarredEndpoint; + request: GistsCheckIsStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-public-gists + */ + "GET /gists/public": { + parameters: GistsListPublicEndpoint; + request: GistsListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-starred-gists + */ + "GET /gists/starred": { + parameters: GistsListStarredEndpoint; + request: GistsListStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#listing-available-templates + */ + "GET /gitignore/templates": { + parameters: GitignoreListTemplatesEndpoint; + request: GitignoreListTemplatesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#get-a-single-template + */ + "GET /gitignore/templates/:name": { + parameters: GitignoreGetTemplateEndpoint; + request: GitignoreGetTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories + */ + "GET /installation/repositories": { + parameters: AppsListReposEndpoint; + request: AppsListReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": { + parameters: IssuesListEndpoint; + request: IssuesListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-issues + */ + "GET /legacy/issues/search/:owner/:repository/:state/:keyword": { + parameters: SearchIssuesLegacyEndpoint; + request: SearchIssuesLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-repositories + */ + "GET /legacy/repos/search/:keyword": { + parameters: SearchReposLegacyEndpoint; + request: SearchReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#email-search + */ + "GET /legacy/user/email/:email": { + parameters: SearchEmailLegacyEndpoint; + request: SearchEmailLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-users + */ + "GET /legacy/user/search/:keyword": { + parameters: SearchUsersLegacyEndpoint; + request: SearchUsersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#list-commonly-used-licenses + */ + "GET /licenses": { + parameters: LicensesListCommonlyUsedEndpoint; + request: LicensesListCommonlyUsedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-an-individual-license + */ + "GET /licenses/:license": { + parameters: LicensesGetEndpoint; + request: LicensesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountEndpoint; + request: AppsGetSubscriptionPlanForAccountRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans + */ + "GET /marketplace_listing/plans": { + parameters: AppsListPlansEndpoint; + request: AppsListPlansRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanEndpoint; + request: AppsListAccountsForPlanRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountStubbedEndpoint; + request: AppsGetSubscriptionPlanForAccountStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": { + parameters: AppsListPlansStubbedEndpoint; + request: AppsListPlansStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanStubbedEndpoint; + request: AppsListAccountsForPlanStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/meta/#meta + */ + "GET /meta": { + parameters: MetaGetEndpoint; + request: MetaGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories + */ + "GET /networks/:owner/:repo/events": { + parameters: ActivityListPublicEventsForRepoNetworkEndpoint; + request: ActivityListPublicEventsForRepoNetworkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-notifications-for-the-authenticated-user + */ + "GET /notifications": { + parameters: ActivityListNotificationsForAuthenticatedUserEndpoint; + request: ActivityListNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread + */ + "GET /notifications/threads/:thread_id": { + parameters: ActivityGetThreadEndpoint; + request: ActivityGetThreadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/:thread_id/subscription": { + parameters: ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint; + request: ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-all-organizations + */ + "GET /organizations": { + parameters: OrgsListEndpoint; + request: OrgsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#get-an-organization + */ + "GET /orgs/:org": { + parameters: OrgsGetEndpoint; + request: OrgsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/:org/actions/runners": { + parameters: ActionsListSelfHostedRunnersForOrgEndpoint; + request: ActionsListSelfHostedRunnersForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForOrgEndpoint; + request: ActionsGetSelfHostedRunnerForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-an-organization + */ + "GET /orgs/:org/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForOrgEndpoint; + request: ActionsListRunnerApplicationsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#list-blocked-users + */ + "GET /orgs/:org/blocks": { + parameters: OrgsListBlockedUsersEndpoint; + request: OrgsListBlockedUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#check-whether-a-user-is-blocked-from-an-organization + */ + "GET /orgs/:org/blocks/:username": { + parameters: OrgsCheckBlockedUserEndpoint; + request: OrgsCheckBlockedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-credential-authorizations-for-an-organization + */ + "GET /orgs/:org/credential-authorizations": { + parameters: OrgsListCredentialAuthorizationsEndpoint; + request: OrgsListCredentialAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-organization-events + */ + "GET /orgs/:org/events": { + parameters: ActivityListPublicOrgEventsEndpoint; + request: ActivityListPublicOrgEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#list-hooks + */ + "GET /orgs/:org/hooks": { + parameters: OrgsListHooksEndpoint; + request: OrgsListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#get-single-hook + */ + "GET /orgs/:org/hooks/:hook_id": { + parameters: OrgsGetHookEndpoint; + request: OrgsGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-organization-installation + */ + "GET /orgs/:org/installation": { + parameters: AppsGetOrgInstallationEndpoint; + request: AppsGetOrgInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-installations-for-an-organization + */ + "GET /orgs/:org/installations": { + parameters: OrgsListInstallationsEndpoint; + request: OrgsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/:org/interaction-limits": { + parameters: InteractionsGetRestrictionsForOrgEndpoint; + request: InteractionsGetRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations + */ + "GET /orgs/:org/invitations": { + parameters: OrgsListPendingInvitationsEndpoint; + request: OrgsListPendingInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-organization-invitation-teams + */ + "GET /orgs/:org/invitations/:invitation_id/teams": { + parameters: OrgsListInvitationTeamsEndpoint; + request: OrgsListInvitationTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/:org/issues": { + parameters: IssuesListForOrgEndpoint; + request: IssuesListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#members-list + */ + "GET /orgs/:org/members": { + parameters: OrgsListMembersEndpoint; + request: OrgsListMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-membership + */ + "GET /orgs/:org/members/:username": { + parameters: OrgsCheckMembershipEndpoint; + request: OrgsCheckMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-organization-membership + */ + "GET /orgs/:org/memberships/:username": { + parameters: OrgsGetMembershipEndpoint; + request: OrgsGetMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-organization-migrations + */ + "GET /orgs/:org/migrations": { + parameters: MigrationsListForOrgEndpoint; + request: MigrationsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#get-the-status-of-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id": { + parameters: MigrationsGetStatusForOrgEndpoint; + request: MigrationsGetStatusForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#download-an-organization-migration-archive + */ + "GET /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDownloadArchiveForOrgEndpoint; + request: MigrationsDownloadArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-repositories-in-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id/repositories": { + parameters: MigrationsListReposForOrgEndpoint; + request: MigrationsListReposForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators + */ + "GET /orgs/:org/outside_collaborators": { + parameters: OrgsListOutsideCollaboratorsEndpoint; + request: OrgsListOutsideCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-organization-projects + */ + "GET /orgs/:org/projects": { + parameters: ProjectsListForOrgEndpoint; + request: ProjectsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#public-members-list + */ + "GET /orgs/:org/public_members": { + parameters: OrgsListPublicMembersEndpoint; + request: OrgsListPublicMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-public-membership + */ + "GET /orgs/:org/public_members/:username": { + parameters: OrgsCheckPublicMembershipEndpoint; + request: OrgsCheckPublicMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-organization-repositories + */ + "GET /orgs/:org/repos": { + parameters: ReposListForOrgEndpoint; + request: ReposListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-in-an-organization + */ + "GET /orgs/:org/team-sync/groups": { + parameters: TeamsListIdPGroupsForOrgEndpoint; + request: TeamsListIdPGroupsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-teams + */ + "GET /orgs/:org/teams": { + parameters: TeamsListEndpoint; + request: TeamsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-by-name + */ + "GET /orgs/:org/teams/:team_slug": { + parameters: TeamsGetByNameEndpoint; + request: TeamsGetByNameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions + */ + "GET /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsListDiscussionsInOrgEndpoint; + request: TeamsListDiscussionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsGetDiscussionInOrgEndpoint; + request: TeamsGetDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsInOrgEndpoint; + request: TeamsListDiscussionCommentsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentInOrgEndpoint; + request: TeamsGetDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsListForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionInOrgEndpoint; + request: ReactionsListForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations + */ + "GET /orgs/:org/teams/:team_slug/invitations": { + parameters: TeamsListPendingInvitationsInOrgEndpoint; + request: TeamsListPendingInvitationsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members + */ + "GET /orgs/:org/teams/:team_slug/members": { + parameters: TeamsListMembersInOrgEndpoint; + request: TeamsListMembersInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership + */ + "GET /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsGetMembershipInOrgEndpoint; + request: TeamsGetMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects + */ + "GET /orgs/:org/teams/:team_slug/projects": { + parameters: TeamsListProjectsInOrgEndpoint; + request: TeamsListProjectsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project + */ + "GET /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsReviewProjectInOrgEndpoint; + request: TeamsReviewProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos + */ + "GET /orgs/:org/teams/:team_slug/repos": { + parameters: TeamsListReposInOrgEndpoint; + request: TeamsListReposInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository + */ + "GET /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoInOrgEndpoint; + request: TeamsCheckManagesRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team + */ + "GET /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsInOrgEndpoint; + request: TeamsListIdPGroupsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams + */ + "GET /orgs/:org/teams/:team_slug/teams": { + parameters: TeamsListChildInOrgEndpoint; + request: TeamsListChildInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#get-a-project + */ + "GET /projects/:project_id": { + parameters: ProjectsGetEndpoint; + request: ProjectsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#list-collaborators + */ + "GET /projects/:project_id/collaborators": { + parameters: ProjectsListCollaboratorsEndpoint; + request: ProjectsListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#review-a-users-permission-level + */ + "GET /projects/:project_id/collaborators/:username/permission": { + parameters: ProjectsReviewUserPermissionLevelEndpoint; + request: ProjectsReviewUserPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#list-project-columns + */ + "GET /projects/:project_id/columns": { + parameters: ProjectsListColumnsEndpoint; + request: ProjectsListColumnsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#get-a-project-column + */ + "GET /projects/columns/:column_id": { + parameters: ProjectsGetColumnEndpoint; + request: ProjectsGetColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#list-project-cards + */ + "GET /projects/columns/:column_id/cards": { + parameters: ProjectsListCardsEndpoint; + request: ProjectsListCardsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#get-a-project-card + */ + "GET /projects/columns/cards/:card_id": { + parameters: ProjectsGetCardEndpoint; + request: ProjectsGetCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/rate_limit/#get-your-current-rate-limit-status + */ + "GET /rate_limit": { + parameters: RateLimitGetEndpoint; + request: RateLimitGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-a-repository + */ + "GET /repos/:owner/:repo": { + parameters: ReposGetEndpoint; + request: ReposGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-archive-link + */ + "GET /repos/:owner/:repo/:archive_format/:ref": { + parameters: ReposGetArchiveLinkEndpoint; + request: ReposGetArchiveLinkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-artifacts-for-a-repository + */ + "GET /repos/:owner/:repo/actions/artifacts": { + parameters: ActionsListArtifactsForRepoEndpoint; + request: ActionsListArtifactsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#get-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsGetArtifactEndpoint; + request: ActionsGetArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#download-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format": { + parameters: ActionsDownloadArtifactEndpoint; + request: ActionsDownloadArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#get-a-workflow-job + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id": { + parameters: ActionsGetWorkflowJobEndpoint; + request: ActionsGetWorkflowJobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#download-workflow-job-logs + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id/logs": { + parameters: ActionsDownloadWorkflowJobLogsEndpoint; + request: ActionsDownloadWorkflowJobLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners": { + parameters: ActionsListSelfHostedRunnersForRepoEndpoint; + request: ActionsListSelfHostedRunnersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForRepoEndpoint; + request: ActionsGetSelfHostedRunnerForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForRepoEndpoint; + request: ActionsListRunnerApplicationsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-repository-workflow-runs + */ + "GET /repos/:owner/:repo/actions/runs": { + parameters: ActionsListRepoWorkflowRunsEndpoint; + request: ActionsListRepoWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#get-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id": { + parameters: ActionsGetWorkflowRunEndpoint; + request: ActionsGetWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-workflow-run-artifacts + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/artifacts": { + parameters: ActionsListWorkflowRunArtifactsEndpoint; + request: ActionsListWorkflowRunArtifactsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#list-jobs-for-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/jobs": { + parameters: ActionsListJobsForWorkflowRunEndpoint; + request: ActionsListJobsForWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#download-workflow-run-logs + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDownloadWorkflowRunLogsEndpoint; + request: ActionsDownloadWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#list-secrets-for-a-repository + */ + "GET /repos/:owner/:repo/actions/secrets": { + parameters: ActionsListSecretsForRepoEndpoint; + request: ActionsListSecretsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-a-secret + */ + "GET /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsGetSecretEndpoint; + request: ActionsGetSecretRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-your-public-key + */ + "GET /repos/:owner/:repo/actions/secrets/public-key": { + parameters: ActionsGetPublicKeyEndpoint; + request: ActionsGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#list-repository-workflows + */ + "GET /repos/:owner/:repo/actions/workflows": { + parameters: ActionsListRepoWorkflowsEndpoint; + request: ActionsListRepoWorkflowsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#get-a-workflow + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id": { + parameters: ActionsGetWorkflowEndpoint; + request: ActionsGetWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-workflow-runs + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id/runs": { + parameters: ActionsListWorkflowRunsEndpoint; + request: ActionsListWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#list-assignees + */ + "GET /repos/:owner/:repo/assignees": { + parameters: IssuesListAssigneesEndpoint; + request: IssuesListAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#check-assignee + */ + "GET /repos/:owner/:repo/assignees/:assignee": { + parameters: IssuesCheckAssigneeEndpoint; + request: IssuesCheckAssigneeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-branches + */ + "GET /repos/:owner/:repo/branches": { + parameters: ReposListBranchesEndpoint; + request: ReposListBranchesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch + */ + "GET /repos/:owner/:repo/branches/:branch": { + parameters: ReposGetBranchEndpoint; + request: ReposGetBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch-protection + */ + "GET /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposGetBranchProtectionEndpoint; + request: ReposGetBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-admin-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposGetProtectedBranchAdminEnforcementEndpoint; + request: ReposGetProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-pull-request-review-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-signatures-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposGetProtectedBranchRequiredSignaturesEndpoint; + request: ReposGetProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-status-checks-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposGetProtectedBranchRequiredStatusChecksEndpoint; + request: ReposGetProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-required-status-checks-contexts-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposListProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-restrictions-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposGetProtectedBranchRestrictionsEndpoint; + request: ReposGetProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-apps-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposGetAppsWithAccessToProtectedBranchEndpoint; + request: ReposGetAppsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-teams-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposGetTeamsWithAccessToProtectedBranchEndpoint; + request: ReposGetTeamsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-users-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposGetUsersWithAccessToProtectedBranchEndpoint; + request: ReposGetUsersWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#get-a-check-run + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksGetEndpoint; + request: ChecksGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-run-annotations + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id/annotations": { + parameters: ChecksListAnnotationsEndpoint; + request: ChecksListAnnotationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#get-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id": { + parameters: ChecksGetSuiteEndpoint; + request: ChecksGetSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-in-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id/check-runs": { + parameters: ChecksListForSuiteEndpoint; + request: ChecksListForSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/:owner/:repo/code-scanning/alerts": { + parameters: CodeScanningListAlertsForRepoEndpoint; + request: CodeScanningListAlertsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#get-a-code-scanning-alert + */ + "GET /repos/:owner/:repo/code-scanning/alerts/:alert_id": { + parameters: CodeScanningGetAlertEndpoint; + request: CodeScanningGetAlertRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#list-collaborators + */ + "GET /repos/:owner/:repo/collaborators": { + parameters: ReposListCollaboratorsEndpoint; + request: ReposListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator + */ + "GET /repos/:owner/:repo/collaborators/:username": { + parameters: ReposCheckCollaboratorEndpoint; + request: ReposCheckCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level + */ + "GET /repos/:owner/:repo/collaborators/:username/permission": { + parameters: ReposGetCollaboratorPermissionLevelEndpoint; + request: ReposGetCollaboratorPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository + */ + "GET /repos/:owner/:repo/comments": { + parameters: ReposListCommitCommentsEndpoint; + request: ReposListCommitCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposGetCommitCommentEndpoint; + request: ReposGetCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsListForCommitCommentEndpoint; + request: ReactionsListForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository + */ + "GET /repos/:owner/:repo/commits": { + parameters: ReposListCommitsEndpoint; + request: ReposListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-branches-for-head-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/branches-where-head": { + parameters: ReposListBranchesForHeadCommitEndpoint; + request: ReposListBranchesForHeadCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposListCommentsForCommitEndpoint; + request: ReposListCommentsForCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/pulls": { + parameters: ReposListPullRequestsAssociatedWithCommitEndpoint; + request: ReposListPullRequestsAssociatedWithCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#get-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:ref": { + parameters: ReposGetCommitEndpoint; + request: ReposGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-runs": { + parameters: ChecksListForRefEndpoint; + request: ChecksListForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#list-check-suites-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-suites": { + parameters: ChecksListSuitesForRefEndpoint; + request: ChecksListSuitesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/status": { + parameters: ReposGetCombinedStatusForRefEndpoint; + request: ReposGetCombinedStatusForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/statuses": { + parameters: ReposListStatusesForRefEndpoint; + request: ReposListStatusesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-the-contents-of-a-repositorys-code-of-conduct + */ + "GET /repos/:owner/:repo/community/code_of_conduct": { + parameters: CodesOfConductGetForRepoEndpoint; + request: CodesOfConductGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/community/#retrieve-community-profile-metrics + */ + "GET /repos/:owner/:repo/community/profile": { + parameters: ReposRetrieveCommunityProfileMetricsEndpoint; + request: ReposRetrieveCommunityProfileMetricsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#compare-two-commits + */ + "GET /repos/:owner/:repo/compare/:base...:head": { + parameters: ReposCompareCommitsEndpoint; + request: ReposCompareCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-contents + */ + "GET /repos/:owner/:repo/contents/:path": { + parameters: ReposGetContentsEndpoint; + request: ReposGetContentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-contributors + */ + "GET /repos/:owner/:repo/contributors": { + parameters: ReposListContributorsEndpoint; + request: ReposListContributorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployments + */ + "GET /repos/:owner/:repo/deployments": { + parameters: ReposListDeploymentsEndpoint; + request: ReposListDeploymentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment + */ + "GET /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposGetDeploymentEndpoint; + request: ReposGetDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployment-statuses + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposListDeploymentStatusesEndpoint; + request: ReposListDeploymentStatusesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment-status + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id": { + parameters: ReposGetDeploymentStatusEndpoint; + request: ReposGetDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#list-downloads-for-a-repository + */ + "GET /repos/:owner/:repo/downloads": { + parameters: ReposListDownloadsEndpoint; + request: ReposListDownloadsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#get-a-single-download + */ + "GET /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposGetDownloadEndpoint; + request: ReposGetDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-repository-events + */ + "GET /repos/:owner/:repo/events": { + parameters: ActivityListRepoEventsEndpoint; + request: ActivityListRepoEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#list-forks + */ + "GET /repos/:owner/:repo/forks": { + parameters: ReposListForksEndpoint; + request: ReposListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#get-a-blob + */ + "GET /repos/:owner/:repo/git/blobs/:file_sha": { + parameters: GitGetBlobEndpoint; + request: GitGetBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#get-a-commit + */ + "GET /repos/:owner/:repo/git/commits/:commit_sha": { + parameters: GitGetCommitEndpoint; + request: GitGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#list-matching-references + */ + "GET /repos/:owner/:repo/git/matching-refs/:ref": { + parameters: GitListMatchingRefsEndpoint; + request: GitListMatchingRefsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#get-a-single-reference + */ + "GET /repos/:owner/:repo/git/ref/:ref": { + parameters: GitGetRefEndpoint; + request: GitGetRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#get-a-tag + */ + "GET /repos/:owner/:repo/git/tags/:tag_sha": { + parameters: GitGetTagEndpoint; + request: GitGetTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#get-a-tree + */ + "GET /repos/:owner/:repo/git/trees/:tree_sha": { + parameters: GitGetTreeEndpoint; + request: GitGetTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#list-hooks + */ + "GET /repos/:owner/:repo/hooks": { + parameters: ReposListHooksEndpoint; + request: ReposListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#get-single-hook + */ + "GET /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposGetHookEndpoint; + request: ReposGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-import-progress + */ + "GET /repos/:owner/:repo/import": { + parameters: MigrationsGetImportProgressEndpoint; + request: MigrationsGetImportProgressRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-commit-authors + */ + "GET /repos/:owner/:repo/import/authors": { + parameters: MigrationsGetCommitAuthorsEndpoint; + request: MigrationsGetCommitAuthorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-large-files + */ + "GET /repos/:owner/:repo/import/large_files": { + parameters: MigrationsGetLargeFilesEndpoint; + request: MigrationsGetLargeFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-repository-installation + */ + "GET /repos/:owner/:repo/installation": { + parameters: AppsGetRepoInstallationEndpoint; + request: AppsGetRepoInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#get-interaction-restrictions-for-a-repository + */ + "GET /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsGetRestrictionsForRepoEndpoint; + request: InteractionsGetRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository + */ + "GET /repos/:owner/:repo/invitations": { + parameters: ReposListInvitationsEndpoint; + request: ReposListInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-repository-issues + */ + "GET /repos/:owner/:repo/issues": { + parameters: IssuesListForRepoEndpoint; + request: IssuesListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#get-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesGetEndpoint; + request: IssuesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesListCommentsEndpoint; + request: IssuesListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/events": { + parameters: IssuesListEventsEndpoint; + request: IssuesListEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesListLabelsOnIssueEndpoint; + request: IssuesListLabelsOnIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsListForIssueEndpoint; + request: ReactionsListForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/timeline/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/timeline": { + parameters: IssuesListEventsForTimelineEndpoint; + request: IssuesListEventsForTimelineRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/issues/comments": { + parameters: IssuesListCommentsForRepoEndpoint; + request: IssuesListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesGetCommentEndpoint; + request: IssuesGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsListForIssueCommentEndpoint; + request: ReactionsListForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-a-repository + */ + "GET /repos/:owner/:repo/issues/events": { + parameters: IssuesListEventsForRepoEndpoint; + request: IssuesListEventsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#get-a-single-event + */ + "GET /repos/:owner/:repo/issues/events/:event_id": { + parameters: IssuesGetEventEndpoint; + request: IssuesGetEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#list-deploy-keys + */ + "GET /repos/:owner/:repo/keys": { + parameters: ReposListDeployKeysEndpoint; + request: ReposListDeployKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#get-a-deploy-key + */ + "GET /repos/:owner/:repo/keys/:key_id": { + parameters: ReposGetDeployKeyEndpoint; + request: ReposGetDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository + */ + "GET /repos/:owner/:repo/labels": { + parameters: IssuesListLabelsForRepoEndpoint; + request: IssuesListLabelsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-a-single-label + */ + "GET /repos/:owner/:repo/labels/:name": { + parameters: IssuesGetLabelEndpoint; + request: IssuesGetLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-languages + */ + "GET /repos/:owner/:repo/languages": { + parameters: ReposListLanguagesEndpoint; + request: ReposListLanguagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-the-contents-of-a-repositorys-license + */ + "GET /repos/:owner/:repo/license": { + parameters: LicensesGetForRepoEndpoint; + request: LicensesGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository + */ + "GET /repos/:owner/:repo/milestones": { + parameters: IssuesListMilestonesForRepoEndpoint; + request: IssuesListMilestonesForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#get-a-single-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesGetMilestoneEndpoint; + request: IssuesGetMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number/labels": { + parameters: IssuesListLabelsForMilestoneEndpoint; + request: IssuesListLabelsForMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/:owner/:repo/notifications": { + parameters: ActivityListRepoNotificationsForAuthenticatedUserEndpoint; + request: ActivityListRepoNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-information-about-a-pages-site + */ + "GET /repos/:owner/:repo/pages": { + parameters: ReposGetPagesEndpoint; + request: ReposGetPagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#list-pages-builds + */ + "GET /repos/:owner/:repo/pages/builds": { + parameters: ReposListPagesBuildsEndpoint; + request: ReposListPagesBuildsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-a-specific-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/:build_id": { + parameters: ReposGetPagesBuildEndpoint; + request: ReposGetPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-latest-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/latest": { + parameters: ReposGetLatestPagesBuildEndpoint; + request: ReposGetLatestPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-repository-projects + */ + "GET /repos/:owner/:repo/projects": { + parameters: ProjectsListForRepoEndpoint; + request: ProjectsListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests + */ + "GET /repos/:owner/:repo/pulls": { + parameters: PullsListEndpoint; + request: PullsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-a-single-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsGetEndpoint; + request: PullsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsListCommentsEndpoint; + request: PullsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/commits": { + parameters: PullsListCommitsEndpoint; + request: PullsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests-files + */ + "GET /repos/:owner/:repo/pulls/:pull_number/files": { + parameters: PullsListFilesEndpoint; + request: PullsListFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged + */ + "GET /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsCheckIfMergedEndpoint; + request: PullsCheckIfMergedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#list-review-requests + */ + "GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsListReviewRequestsEndpoint; + request: PullsListReviewRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#list-reviews-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsListReviewsEndpoint; + request: PullsListReviewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsGetReviewEndpoint; + request: PullsGetReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-comments-for-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments": { + parameters: PullsGetCommentsForReviewEndpoint; + request: PullsGetCommentsForReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/pulls/comments": { + parameters: PullsListCommentsForRepoEndpoint; + request: PullsListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsGetCommentEndpoint; + request: PullsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsListForPullRequestReviewCommentEndpoint; + request: ReactionsListForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-the-readme + */ + "GET /repos/:owner/:repo/readme": { + parameters: ReposGetReadmeEndpoint; + request: ReposGetReadmeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository + */ + "GET /repos/:owner/:repo/releases": { + parameters: ReposListReleasesEndpoint; + request: ReposListReleasesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release + */ + "GET /repos/:owner/:repo/releases/:release_id": { + parameters: ReposGetReleaseEndpoint; + request: ReposGetReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-assets-for-a-release + */ + "GET /repos/:owner/:repo/releases/:release_id/assets": { + parameters: ReposListAssetsForReleaseEndpoint; + request: ReposListAssetsForReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release-asset + */ + "GET /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposGetReleaseAssetEndpoint; + request: ReposGetReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-the-latest-release + */ + "GET /repos/:owner/:repo/releases/latest": { + parameters: ReposGetLatestReleaseEndpoint; + request: ReposGetLatestReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-release-by-tag-name + */ + "GET /repos/:owner/:repo/releases/tags/:tag": { + parameters: ReposGetReleaseByTagEndpoint; + request: ReposGetReleaseByTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-stargazers + */ + "GET /repos/:owner/:repo/stargazers": { + parameters: ActivityListStargazersForRepoEndpoint; + request: ActivityListStargazersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-additions-and-deletions-per-week + */ + "GET /repos/:owner/:repo/stats/code_frequency": { + parameters: ReposGetCodeFrequencyStatsEndpoint; + request: ReposGetCodeFrequencyStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data + */ + "GET /repos/:owner/:repo/stats/commit_activity": { + parameters: ReposGetCommitActivityStatsEndpoint; + request: ReposGetCommitActivityStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts + */ + "GET /repos/:owner/:repo/stats/contributors": { + parameters: ReposGetContributorsStatsEndpoint; + request: ReposGetContributorsStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-weekly-commit-count-for-the-repository-owner-and-everyone-else + */ + "GET /repos/:owner/:repo/stats/participation": { + parameters: ReposGetParticipationStatsEndpoint; + request: ReposGetParticipationStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-commits-per-hour-in-each-day + */ + "GET /repos/:owner/:repo/stats/punch_card": { + parameters: ReposGetPunchCardStatsEndpoint; + request: ReposGetPunchCardStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-watchers + */ + "GET /repos/:owner/:repo/subscribers": { + parameters: ActivityListWatchersForRepoEndpoint; + request: ActivityListWatchersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#get-a-repository-subscription + */ + "GET /repos/:owner/:repo/subscription": { + parameters: ActivityGetRepoSubscriptionEndpoint; + request: ActivityGetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-tags + */ + "GET /repos/:owner/:repo/tags": { + parameters: ReposListTagsEndpoint; + request: ReposListTagsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-teams + */ + "GET /repos/:owner/:repo/teams": { + parameters: ReposListTeamsEndpoint; + request: ReposListTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-all-repository-topics + */ + "GET /repos/:owner/:repo/topics": { + parameters: ReposGetAllTopicsEndpoint; + request: ReposGetAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#clones + */ + "GET /repos/:owner/:repo/traffic/clones": { + parameters: ReposGetClonesEndpoint; + request: ReposGetClonesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-paths + */ + "GET /repos/:owner/:repo/traffic/popular/paths": { + parameters: ReposGetTopPathsEndpoint; + request: ReposGetTopPathsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-referrers + */ + "GET /repos/:owner/:repo/traffic/popular/referrers": { + parameters: ReposGetTopReferrersEndpoint; + request: ReposGetTopReferrersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#views + */ + "GET /repos/:owner/:repo/traffic/views": { + parameters: ReposGetViewsEndpoint; + request: ReposGetViewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposCheckVulnerabilityAlertsEndpoint; + request: ReposCheckVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-public-repositories + */ + "GET /repositories": { + parameters: ReposListPublicEndpoint; + request: ReposListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-a-list-of-provisioned-identities + */ + "GET /scim/v2/organizations/:org/Users": { + parameters: ScimListProvisionedIdentitiesEndpoint; + request: ScimListProvisionedIdentitiesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-provisioning-details-for-a-single-user + */ + "GET /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimGetProvisioningDetailsForUserEndpoint; + request: ScimGetProvisioningDetailsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-code + */ + "GET /search/code": { + parameters: SearchCodeEndpoint; + request: SearchCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-commits + */ + "GET /search/commits": { + parameters: SearchCommitsEndpoint; + request: SearchCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-issues-and-pull-requests + */ + "GET /search/issues": { + parameters: SearchIssuesAndPullRequestsEndpoint; + request: SearchIssuesAndPullRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-labels + */ + "GET /search/labels": { + parameters: SearchLabelsEndpoint; + request: SearchLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-repositories + */ + "GET /search/repositories": { + parameters: SearchReposEndpoint; + request: SearchReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-topics + */ + "GET /search/topics": { + parameters: SearchTopicsEndpoint; + request: SearchTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-users + */ + "GET /search/users": { + parameters: SearchUsersEndpoint; + request: SearchUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-legacy + */ + "GET /teams/:team_id": { + parameters: TeamsGetLegacyEndpoint; + request: TeamsGetLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + "GET /teams/:team_id/discussions": { + parameters: TeamsListDiscussionsLegacyEndpoint; + request: TeamsListDiscussionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsGetDiscussionLegacyEndpoint; + request: TeamsGetDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsLegacyEndpoint; + request: TeamsListDiscussionCommentsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentLegacyEndpoint; + request: TeamsGetDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsListForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionLegacyEndpoint; + request: ReactionsListForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + "GET /teams/:team_id/invitations": { + parameters: TeamsListPendingInvitationsLegacyEndpoint; + request: TeamsListPendingInvitationsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + "GET /teams/:team_id/members": { + parameters: TeamsListMembersLegacyEndpoint; + request: TeamsListMembersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + "GET /teams/:team_id/members/:username": { + parameters: TeamsGetMemberLegacyEndpoint; + request: TeamsGetMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + "GET /teams/:team_id/memberships/:username": { + parameters: TeamsGetMembershipLegacyEndpoint; + request: TeamsGetMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + "GET /teams/:team_id/projects": { + parameters: TeamsListProjectsLegacyEndpoint; + request: TeamsListProjectsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + "GET /teams/:team_id/projects/:project_id": { + parameters: TeamsReviewProjectLegacyEndpoint; + request: TeamsReviewProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + "GET /teams/:team_id/repos": { + parameters: TeamsListReposLegacyEndpoint; + request: TeamsListReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + "GET /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoLegacyEndpoint; + request: TeamsCheckManagesRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team-legacy + */ + "GET /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsForLegacyEndpoint; + request: TeamsListIdPGroupsForLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + "GET /teams/:team_id/teams": { + parameters: TeamsListChildLegacyEndpoint; + request: TeamsListChildLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-the-authenticated-user + */ + "GET /user": { + parameters: UsersGetAuthenticatedEndpoint; + request: UsersGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-repositories-for-a-user-migration + */ + "GET /user/:migration_id/repositories": { + parameters: MigrationsListReposForUserEndpoint; + request: MigrationsListReposForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#list-blocked-users + */ + "GET /user/blocks": { + parameters: UsersListBlockedEndpoint; + request: UsersListBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#check-whether-youve-blocked-a-user + */ + "GET /user/blocks/:username": { + parameters: UsersCheckBlockedEndpoint; + request: UsersCheckBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user + */ + "GET /user/emails": { + parameters: UsersListEmailsEndpoint; + request: UsersListEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-the-authenticated-user + */ + "GET /user/followers": { + parameters: UsersListFollowersForAuthenticatedUserEndpoint; + request: UsersListFollowersForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-the-authenticated-user + */ + "GET /user/following": { + parameters: UsersListFollowedByAuthenticatedEndpoint; + request: UsersListFollowedByAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-you-are-following-a-user + */ + "GET /user/following/:username": { + parameters: UsersCheckFollowingEndpoint; + request: UsersCheckFollowingRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-your-gpg-keys + */ + "GET /user/gpg_keys": { + parameters: UsersListGpgKeysEndpoint; + request: UsersListGpgKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#get-a-single-gpg-key + */ + "GET /user/gpg_keys/:gpg_key_id": { + parameters: UsersGetGpgKeyEndpoint; + request: UsersGetGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-installations-for-a-user + */ + "GET /user/installations": { + parameters: AppsListInstallationsForAuthenticatedUserEndpoint; + request: AppsListInstallationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories-accessible-to-the-user-for-an-installation + */ + "GET /user/installations/:installation_id/repositories": { + parameters: AppsListInstallationReposForAuthenticatedUserEndpoint; + request: AppsListInstallationReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": { + parameters: IssuesListForAuthenticatedUserEndpoint; + request: IssuesListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-your-public-keys + */ + "GET /user/keys": { + parameters: UsersListPublicKeysEndpoint; + request: UsersListPublicKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#get-a-single-public-key + */ + "GET /user/keys/:key_id": { + parameters: UsersGetPublicKeyEndpoint; + request: UsersGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": { + parameters: AppsListSubscriptionsForAuthenticatedUserEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": { + parameters: AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-your-organization-memberships + */ + "GET /user/memberships/orgs": { + parameters: OrgsListMembershipsEndpoint; + request: OrgsListMembershipsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-your-organization-membership + */ + "GET /user/memberships/orgs/:org": { + parameters: OrgsGetMembershipForAuthenticatedUserEndpoint; + request: OrgsGetMembershipForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-user-migrations + */ + "GET /user/migrations": { + parameters: MigrationsListForAuthenticatedUserEndpoint; + request: MigrationsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#get-the-status-of-a-user-migration + */ + "GET /user/migrations/:migration_id": { + parameters: MigrationsGetStatusForAuthenticatedUserEndpoint; + request: MigrationsGetStatusForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#download-a-user-migration-archive + */ + "GET /user/migrations/:migration_id/archive": { + parameters: MigrationsGetArchiveForAuthenticatedUserEndpoint; + request: MigrationsGetArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-your-organizations + */ + "GET /user/orgs": { + parameters: OrgsListForAuthenticatedUserEndpoint; + request: OrgsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-public-email-addresses-for-a-user + */ + "GET /user/public_emails": { + parameters: UsersListPublicEmailsEndpoint; + request: UsersListPublicEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": { + parameters: ReposListForAuthenticatedUserEndpoint; + request: ReposListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-a-users-repository-invitations + */ + "GET /user/repository_invitations": { + parameters: ReposListInvitationsForAuthenticatedUserEndpoint; + request: ReposListInvitationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": { + parameters: ActivityListReposStarredByAuthenticatedUserEndpoint; + request: ActivityListReposStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/:owner/:repo": { + parameters: ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint; + request: ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": { + parameters: ActivityListWatchedReposForAuthenticatedUserEndpoint; + request: ActivityListWatchedReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#check-if-you-are-watching-a-repository-legacy + */ + "GET /user/subscriptions/:owner/:repo": { + parameters: ActivityCheckWatchingRepoLegacyEndpoint; + request: ActivityCheckWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-user-teams + */ + "GET /user/teams": { + parameters: TeamsListForAuthenticatedUserEndpoint; + request: TeamsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-all-users + */ + "GET /users": { + parameters: UsersListEndpoint; + request: UsersListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-a-single-user + */ + "GET /users/:username": { + parameters: UsersGetByUsernameEndpoint; + request: UsersGetByUsernameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-for-the-authenticated-user + */ + "GET /users/:username/events": { + parameters: ActivityListEventsForAuthenticatedUserEndpoint; + request: ActivityListEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-organization-events-for-the-authenticated-user + */ + "GET /users/:username/events/orgs/:org": { + parameters: ActivityListOrgEventsForAuthenticatedUserEndpoint; + request: ActivityListOrgEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-user + */ + "GET /users/:username/events/public": { + parameters: ActivityListPublicEventsForUserEndpoint; + request: ActivityListPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-a-user + */ + "GET /users/:username/followers": { + parameters: UsersListFollowersForUserEndpoint; + request: UsersListFollowersForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user + */ + "GET /users/:username/following": { + parameters: UsersListFollowingForUserEndpoint; + request: UsersListFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-one-user-follows-another + */ + "GET /users/:username/following/:target_user": { + parameters: UsersCheckFollowingForUserEndpoint; + request: UsersCheckFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-a-user + */ + "GET /users/:username/gists": { + parameters: GistsListForUserEndpoint; + request: GistsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-gpg-keys-for-a-user + */ + "GET /users/:username/gpg_keys": { + parameters: UsersListGpgKeysForUserEndpoint; + request: UsersListGpgKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-contextual-information-about-a-user + */ + "GET /users/:username/hovercard": { + parameters: UsersGetContextForUserEndpoint; + request: UsersGetContextForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-user-installation + */ + "GET /users/:username/installation": { + parameters: AppsGetUserInstallationEndpoint; + request: AppsGetUserInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user + */ + "GET /users/:username/keys": { + parameters: UsersListPublicKeysForUserEndpoint; + request: UsersListPublicKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-user-organizations + */ + "GET /users/:username/orgs": { + parameters: OrgsListForUserEndpoint; + request: OrgsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-user-projects + */ + "GET /users/:username/projects": { + parameters: ProjectsListForUserEndpoint; + request: ProjectsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-received-by-the-authenticated-user + */ + "GET /users/:username/received_events": { + parameters: ActivityListReceivedEventsForUserEndpoint; + request: ActivityListReceivedEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-received-by-a-user + */ + "GET /users/:username/received_events/public": { + parameters: ActivityListReceivedPublicEventsForUserEndpoint; + request: ActivityListReceivedPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-a-user + */ + "GET /users/:username/repos": { + parameters: ReposListForUserEndpoint; + request: ReposListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-a-user + */ + "GET /users/:username/starred": { + parameters: ActivityListReposStarredByUserEndpoint; + request: ActivityListReposStarredByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-a-user + */ + "GET /users/:username/subscriptions": { + parameters: ActivityListReposWatchedByUserEndpoint; + request: ActivityListReposWatchedByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-a-token + */ + "PATCH /applications/:client_id/token": { + parameters: AppsResetTokenEndpoint; + request: AppsResetTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization + */ + "PATCH /authorizations/:authorization_id": { + parameters: OauthAuthorizationsUpdateAuthorizationEndpoint; + request: OauthAuthorizationsUpdateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#update-a-gist + */ + "PATCH /gists/:gist_id": { + parameters: GistsUpdateEndpoint; + request: GistsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#edit-a-comment + */ + "PATCH /gists/:gist_id/comments/:comment_id": { + parameters: GistsUpdateCommentEndpoint; + request: GistsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read + */ + "PATCH /notifications/threads/:thread_id": { + parameters: ActivityMarkThreadAsReadEndpoint; + request: ActivityMarkThreadAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#edit-an-organization + */ + "PATCH /orgs/:org": { + parameters: OrgsUpdateEndpoint; + request: OrgsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#edit-a-hook + */ + "PATCH /orgs/:org/hooks/:hook_id": { + parameters: OrgsUpdateHookEndpoint; + request: OrgsUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team + */ + "PATCH /orgs/:org/teams/:team_slug": { + parameters: TeamsUpdateInOrgEndpoint; + request: TeamsUpdateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionInOrgEndpoint; + request: TeamsUpdateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentInOrgEndpoint; + request: TeamsUpdateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections + */ + "PATCH /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#update-a-project + */ + "PATCH /projects/:project_id": { + parameters: ProjectsUpdateEndpoint; + request: ProjectsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#update-a-project-column + */ + "PATCH /projects/columns/:column_id": { + parameters: ProjectsUpdateColumnEndpoint; + request: ProjectsUpdateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#update-a-project-card + */ + "PATCH /projects/columns/cards/:card_id": { + parameters: ProjectsUpdateCardEndpoint; + request: ProjectsUpdateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#update-a-repository + */ + "PATCH /repos/:owner/:repo": { + parameters: ReposUpdateEndpoint; + request: ReposUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-pull-request-review-enforcement-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-required-status-checks-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposUpdateProtectedBranchRequiredStatusChecksEndpoint; + request: ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#update-a-check-run + */ + "PATCH /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksUpdateEndpoint; + request: ChecksUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#update-repository-preferences-for-check-suites + */ + "PATCH /repos/:owner/:repo/check-suites/preferences": { + parameters: ChecksSetSuitesPreferencesEndpoint; + request: ChecksSetSuitesPreferencesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#update-a-commit-comment + */ + "PATCH /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposUpdateCommitCommentEndpoint; + request: ReposUpdateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#update-a-reference + */ + "PATCH /repos/:owner/:repo/git/refs/:ref": { + parameters: GitUpdateRefEndpoint; + request: GitUpdateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#edit-a-hook + */ + "PATCH /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposUpdateHookEndpoint; + request: ReposUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#update-existing-import + */ + "PATCH /repos/:owner/:repo/import": { + parameters: MigrationsUpdateImportEndpoint; + request: MigrationsUpdateImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#map-a-commit-author + */ + "PATCH /repos/:owner/:repo/import/authors/:author_id": { + parameters: MigrationsMapCommitAuthorEndpoint; + request: MigrationsMapCommitAuthorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#set-git-lfs-preference + */ + "PATCH /repos/:owner/:repo/import/lfs": { + parameters: MigrationsSetLfsPreferenceEndpoint; + request: MigrationsSetLfsPreferenceRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#update-a-repository-invitation + */ + "PATCH /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposUpdateInvitationEndpoint; + request: ReposUpdateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#update-an-issue + */ + "PATCH /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesUpdateEndpoint; + request: IssuesUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesUpdateCommentEndpoint; + request: IssuesUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#update-a-label + */ + "PATCH /repos/:owner/:repo/labels/:name": { + parameters: IssuesUpdateLabelEndpoint; + request: IssuesUpdateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#update-a-milestone + */ + "PATCH /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesUpdateMilestoneEndpoint; + request: IssuesUpdateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request + */ + "PATCH /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsUpdateEndpoint; + request: PullsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsUpdateCommentEndpoint; + request: PullsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release + */ + "PATCH /repos/:owner/:repo/releases/:release_id": { + parameters: ReposUpdateReleaseEndpoint; + request: ReposUpdateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release-asset + */ + "PATCH /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposUpdateReleaseAssetEndpoint; + request: ReposUpdateReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#update-a-user-attribute + */ + "PATCH /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimUpdateUserAttributeEndpoint; + request: ScimUpdateUserAttributeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team-legacy + */ + "PATCH /teams/:team_id": { + parameters: TeamsUpdateLegacyEndpoint; + request: TeamsUpdateLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionLegacyEndpoint; + request: TeamsUpdateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentLegacyEndpoint; + request: TeamsUpdateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections-legacy + */ + "PATCH /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#update-the-authenticated-user + */ + "PATCH /user": { + parameters: UsersUpdateAuthenticatedEndpoint; + request: UsersUpdateAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#toggle-primary-email-visibility + */ + "PATCH /user/email/visibility": { + parameters: UsersTogglePrimaryEmailVisibilityEndpoint; + request: UsersTogglePrimaryEmailVisibilityRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#edit-your-organization-membership + */ + "PATCH /user/memberships/orgs/:org": { + parameters: OrgsUpdateMembershipEndpoint; + request: OrgsUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/:invitation_id": { + parameters: ReposAcceptInvitationEndpoint; + request: ReposAcceptInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/:code/conversions": { + parameters: AppsCreateFromManifestEndpoint; + request: AppsCreateFromManifestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-new-installation-token + */ + "POST /app/installations/:installation_id/access_tokens": { + parameters: AppsCreateInstallationTokenEndpoint; + request: AppsCreateInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-a-token + */ + "POST /applications/:client_id/token": { + parameters: AppsCheckTokenEndpoint; + request: AppsCheckTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + "POST /applications/:client_id/tokens/:access_token": { + parameters: AppsResetAuthorizationEndpoint; + request: AppsResetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization + */ + "POST /authorizations": { + parameters: OauthAuthorizationsCreateAuthorizationEndpoint; + request: OauthAuthorizationsCreateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#create-a-content-attachment + */ + "POST /content_references/:content_reference_id/attachments": { + parameters: AppsCreateContentAttachmentEndpoint; + request: AppsCreateContentAttachmentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#create-a-gist + */ + "POST /gists": { + parameters: GistsCreateEndpoint; + request: GistsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#create-a-comment + */ + "POST /gists/:gist_id/comments": { + parameters: GistsCreateCommentEndpoint; + request: GistsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#fork-a-gist + */ + "POST /gists/:gist_id/forks": { + parameters: GistsForkEndpoint; + request: GistsForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-an-arbitrary-markdown-document + */ + "POST /markdown": { + parameters: MarkdownRenderEndpoint; + request: MarkdownRenderRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": { + parameters: MarkdownRenderRawEndpoint; + request: MarkdownRenderRawRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForOrgEndpoint; + request: ActionsCreateRegistrationTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForOrgEndpoint; + request: ActionsCreateRemoveTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#create-a-hook + */ + "POST /orgs/:org/hooks": { + parameters: OrgsCreateHookEndpoint; + request: OrgsCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#ping-a-hook + */ + "POST /orgs/:org/hooks/:hook_id/pings": { + parameters: OrgsPingHookEndpoint; + request: OrgsPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#create-organization-invitation + */ + "POST /orgs/:org/invitations": { + parameters: OrgsCreateInvitationEndpoint; + request: OrgsCreateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#start-an-organization-migration + */ + "POST /orgs/:org/migrations": { + parameters: MigrationsStartForOrgEndpoint; + request: MigrationsStartForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-an-organization-project + */ + "POST /orgs/:org/projects": { + parameters: ProjectsCreateForOrgEndpoint; + request: ProjectsCreateForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-an-organization-repository + */ + "POST /orgs/:org/repos": { + parameters: ReposCreateInOrgEndpoint; + request: ReposCreateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#create-team + */ + "POST /orgs/:org/teams": { + parameters: TeamsCreateEndpoint; + request: TeamsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsCreateDiscussionInOrgEndpoint; + request: TeamsCreateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentInOrgEndpoint; + request: TeamsCreateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#create-a-project-column + */ + "POST /projects/:project_id/columns": { + parameters: ProjectsCreateColumnEndpoint; + request: ProjectsCreateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#create-a-project-card + */ + "POST /projects/columns/:column_id/cards": { + parameters: ProjectsCreateCardEndpoint; + request: ProjectsCreateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#move-a-project-column + */ + "POST /projects/columns/:column_id/moves": { + parameters: ProjectsMoveColumnEndpoint; + request: ProjectsMoveColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#move-a-project-card + */ + "POST /projects/columns/cards/:card_id/moves": { + parameters: ProjectsMoveCardEndpoint; + request: ProjectsMoveCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForRepoEndpoint; + request: ActionsCreateRegistrationTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForRepoEndpoint; + request: ActionsCreateRemoveTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#cancel-a-workflow-run + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/cancel": { + parameters: ActionsCancelWorkflowRunEndpoint; + request: ActionsCancelWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#re-run-a-workflow + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/rerun": { + parameters: ActionsReRunWorkflowEndpoint; + request: ActionsReRunWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-admin-enforcement-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposAddProtectedBranchAdminEnforcementEndpoint; + request: ReposAddProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-signatures-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposAddProtectedBranchRequiredSignaturesEndpoint; + request: ReposAddProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-status-checks-contexts-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-app-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposAddProtectedBranchAppRestrictionsEndpoint; + request: ReposAddProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-team-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposAddProtectedBranchTeamRestrictionsEndpoint; + request: ReposAddProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-user-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposAddProtectedBranchUserRestrictionsEndpoint; + request: ReposAddProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#create-a-check-run + */ + "POST /repos/:owner/:repo/check-runs": { + parameters: ChecksCreateEndpoint; + request: ChecksCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#create-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites": { + parameters: ChecksCreateSuiteEndpoint; + request: ChecksCreateSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#rerequest-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites/:check_suite_id/rerequest": { + parameters: ChecksRerequestSuiteEndpoint; + request: ChecksRerequestSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-commit-comment + */ + "POST /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsCreateForCommitCommentEndpoint; + request: ReactionsCreateForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#create-a-commit-comment + */ + "POST /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposCreateCommitCommentEndpoint; + request: ReposCreateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment + */ + "POST /repos/:owner/:repo/deployments": { + parameters: ReposCreateDeploymentEndpoint; + request: ReposCreateDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment-status + */ + "POST /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposCreateDeploymentStatusEndpoint; + request: ReposCreateDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-dispatch-event + */ + "POST /repos/:owner/:repo/dispatches": { + parameters: ReposCreateDispatchEventEndpoint; + request: ReposCreateDispatchEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#create-a-fork + */ + "POST /repos/:owner/:repo/forks": { + parameters: ReposCreateForkEndpoint; + request: ReposCreateForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#create-a-blob + */ + "POST /repos/:owner/:repo/git/blobs": { + parameters: GitCreateBlobEndpoint; + request: GitCreateBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#create-a-commit + */ + "POST /repos/:owner/:repo/git/commits": { + parameters: GitCreateCommitEndpoint; + request: GitCreateCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#create-a-reference + */ + "POST /repos/:owner/:repo/git/refs": { + parameters: GitCreateRefEndpoint; + request: GitCreateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#create-a-tag-object + */ + "POST /repos/:owner/:repo/git/tags": { + parameters: GitCreateTagEndpoint; + request: GitCreateTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#create-a-tree + */ + "POST /repos/:owner/:repo/git/trees": { + parameters: GitCreateTreeEndpoint; + request: GitCreateTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#create-a-hook + */ + "POST /repos/:owner/:repo/hooks": { + parameters: ReposCreateHookEndpoint; + request: ReposCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#ping-a-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/pings": { + parameters: ReposPingHookEndpoint; + request: ReposPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#test-a-push-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/tests": { + parameters: ReposTestPushHookEndpoint; + request: ReposTestPushHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#create-an-issue + */ + "POST /repos/:owner/:repo/issues": { + parameters: IssuesCreateEndpoint; + request: IssuesCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#add-assignees-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesAddAssigneesEndpoint; + request: IssuesAddAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesCreateCommentEndpoint; + request: IssuesCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesAddLabelsEndpoint; + request: IssuesAddLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsCreateForIssueEndpoint; + request: ReactionsCreateForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue-comment + */ + "POST /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsCreateForIssueCommentEndpoint; + request: ReactionsCreateForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#add-a-new-deploy-key + */ + "POST /repos/:owner/:repo/keys": { + parameters: ReposAddDeployKeyEndpoint; + request: ReposAddDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#create-a-label + */ + "POST /repos/:owner/:repo/labels": { + parameters: IssuesCreateLabelEndpoint; + request: IssuesCreateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/merging/#perform-a-merge + */ + "POST /repos/:owner/:repo/merges": { + parameters: ReposMergeEndpoint; + request: ReposMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#create-a-milestone + */ + "POST /repos/:owner/:repo/milestones": { + parameters: IssuesCreateMilestoneEndpoint; + request: IssuesCreateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#enable-a-pages-site + */ + "POST /repos/:owner/:repo/pages": { + parameters: ReposEnablePagesSiteEndpoint; + request: ReposEnablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#request-a-page-build + */ + "POST /repos/:owner/:repo/pages/builds": { + parameters: ReposRequestPageBuildEndpoint; + request: ReposRequestPageBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-repository-project + */ + "POST /repos/:owner/:repo/projects": { + parameters: ProjectsCreateForRepoEndpoint; + request: ProjectsCreateForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#create-a-pull-request + */ + "POST /repos/:owner/:repo/pulls": { + parameters: PullsCreateEndpoint; + request: PullsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsCreateCommentEndpoint; + request: PullsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-review-comment-reply + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies": { + parameters: PullsCreateReviewCommentReplyEndpoint; + request: PullsCreateReviewCommentReplyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#create-a-review-request + */ + "POST /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsCreateReviewRequestEndpoint; + request: PullsCreateReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsCreateReviewEndpoint; + request: PullsCreateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events": { + parameters: PullsSubmitReviewEndpoint; + request: PullsSubmitReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsCreateForPullRequestReviewCommentEndpoint; + request: ReactionsCreateForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#create-a-release + */ + "POST /repos/:owner/:repo/releases": { + parameters: ReposCreateReleaseEndpoint; + request: ReposCreateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#upload-a-release-asset + */ + "POST /repos/:owner/:repo/releases/:release_id/assets{?name,label}": { + parameters: ReposUploadReleaseAssetEndpoint; + request: ReposUploadReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#create-a-status + */ + "POST /repos/:owner/:repo/statuses/:sha": { + parameters: ReposCreateStatusEndpoint; + request: ReposCreateStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#transfer-a-repository + */ + "POST /repos/:owner/:repo/transfer": { + parameters: ReposTransferEndpoint; + request: ReposTransferRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-using-a-template + */ + "POST /repos/:template_owner/:template_repo/generate": { + parameters: ReposCreateUsingTemplateEndpoint; + request: ReposCreateUsingTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#provision-and-invite-users + */ + "POST /scim/v2/organizations/:org/Users": { + parameters: ScimProvisionAndInviteUsersEndpoint; + request: ScimProvisionAndInviteUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + "POST /teams/:team_id/discussions": { + parameters: TeamsCreateDiscussionLegacyEndpoint; + request: TeamsCreateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentLegacyEndpoint; + request: TeamsCreateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#add-email-addresses + */ + "POST /user/emails": { + parameters: UsersAddEmailsEndpoint; + request: UsersAddEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#create-a-gpg-key + */ + "POST /user/gpg_keys": { + parameters: UsersCreateGpgKeyEndpoint; + request: UsersCreateGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#create-a-public-key + */ + "POST /user/keys": { + parameters: UsersCreatePublicKeyEndpoint; + request: UsersCreatePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#start-a-user-migration + */ + "POST /user/migrations": { + parameters: MigrationsStartForAuthenticatedUserEndpoint; + request: MigrationsStartForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-user-project + */ + "POST /user/projects": { + parameters: ProjectsCreateForAuthenticatedUserEndpoint; + request: ProjectsCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": { + parameters: ReposCreateForAuthenticatedUserEndpoint; + request: ReposCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#suspend-an-installation + */ + "PUT /app/installations/:installation_id/suspended": { + parameters: AppsSuspendInstallationEndpoint; + request: AppsSuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app + */ + "PUT /authorizations/clients/:client_id": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + "PUT /authorizations/clients/:client_id/:fingerprint": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#star-a-gist + */ + "PUT /gists/:gist_id/star": { + parameters: GistsStarEndpoint; + request: GistsStarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read + */ + "PUT /notifications": { + parameters: ActivityMarkNotificationsAsReadEndpoint; + request: ActivityMarkNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription + */ + "PUT /notifications/threads/:thread_id/subscription": { + parameters: ActivitySetThreadSubscriptionEndpoint; + request: ActivitySetThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#block-a-user + */ + "PUT /orgs/:org/blocks/:username": { + parameters: OrgsBlockUserEndpoint; + request: OrgsBlockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#add-or-update-interaction-restrictions-for-an-organization + */ + "PUT /orgs/:org/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForOrgEndpoint; + request: InteractionsAddOrUpdateRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#add-or-update-organization-membership + */ + "PUT /orgs/:org/memberships/:username": { + parameters: OrgsAddOrUpdateMembershipEndpoint; + request: OrgsAddOrUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#convert-member-to-outside-collaborator + */ + "PUT /orgs/:org/outside_collaborators/:username": { + parameters: OrgsConvertMemberToOutsideCollaboratorEndpoint; + request: OrgsConvertMemberToOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#publicize-a-users-membership + */ + "PUT /orgs/:org/public_members/:username": { + parameters: OrgsPublicizeMembershipEndpoint; + request: OrgsPublicizeMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership + */ + "PUT /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipInOrgEndpoint; + request: TeamsAddOrUpdateMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project + */ + "PUT /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectInOrgEndpoint; + request: TeamsAddOrUpdateProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository + */ + "PUT /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoInOrgEndpoint; + request: TeamsAddOrUpdateRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator + */ + "PUT /projects/:project_id/collaborators/:username": { + parameters: ProjectsAddCollaboratorEndpoint; + request: ProjectsAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#create-or-update-a-secret-for-a-repository + */ + "PUT /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsCreateOrUpdateSecretForRepoEndpoint; + request: ActionsCreateOrUpdateSecretForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-automated-security-fixes + */ + "PUT /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposEnableAutomatedSecurityFixesEndpoint; + request: ReposEnableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-branch-protection + */ + "PUT /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposUpdateBranchProtectionEndpoint; + request: ReposUpdateBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-required-status-checks-contexts-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-app-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposReplaceProtectedBranchAppRestrictionsEndpoint; + request: ReposReplaceProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-team-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposReplaceProtectedBranchTeamRestrictionsEndpoint; + request: ReposReplaceProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-user-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposReplaceProtectedBranchUserRestrictionsEndpoint; + request: ReposReplaceProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#add-user-as-a-collaborator + */ + "PUT /repos/:owner/:repo/collaborators/:username": { + parameters: ReposAddCollaboratorEndpoint; + request: ReposAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#create-or-update-a-file + */ + "PUT /repos/:owner/:repo/contents/:path": { + parameters: ReposCreateOrUpdateFileEndpoint; + request: ReposCreateOrUpdateFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#start-an-import + */ + "PUT /repos/:owner/:repo/import": { + parameters: MigrationsStartImportEndpoint; + request: MigrationsStartImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#add-or-update-interaction-restrictions-for-a-repository + */ + "PUT /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForRepoEndpoint; + request: InteractionsAddOrUpdateRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesReplaceAllLabelsEndpoint; + request: IssuesReplaceAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#lock-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesLockEndpoint; + request: IssuesLockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-repository-notifications-as-read + */ + "PUT /repos/:owner/:repo/notifications": { + parameters: ActivityMarkRepoNotificationsAsReadEndpoint; + request: ActivityMarkRepoNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#update-information-about-a-pages-site + */ + "PUT /repos/:owner/:repo/pages": { + parameters: ReposUpdateInformationAboutPagesSiteEndpoint; + request: ReposUpdateInformationAboutPagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsMergeEndpoint; + request: PullsMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#update-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsUpdateReviewEndpoint; + request: PullsUpdateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#dismiss-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals": { + parameters: PullsDismissReviewEndpoint; + request: PullsDismissReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request-branch + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/update-branch": { + parameters: PullsUpdateBranchEndpoint; + request: PullsUpdateBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#set-a-repository-subscription + */ + "PUT /repos/:owner/:repo/subscription": { + parameters: ActivitySetRepoSubscriptionEndpoint; + request: ActivitySetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#replace-all-repository-topics + */ + "PUT /repos/:owner/:repo/topics": { + parameters: ReposReplaceAllTopicsEndpoint; + request: ReposReplaceAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-vulnerability-alerts + */ + "PUT /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposEnableVulnerabilityAlertsEndpoint; + request: ReposEnableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#replace-a-provisioned-users-information + */ + "PUT /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimReplaceProvisionedUserInformationEndpoint; + request: ScimReplaceProvisionedUserInformationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-team-member-legacy + */ + "PUT /teams/:team_id/members/:username": { + parameters: TeamsAddMemberLegacyEndpoint; + request: TeamsAddMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + "PUT /teams/:team_id/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipLegacyEndpoint; + request: TeamsAddOrUpdateMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + "PUT /teams/:team_id/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectLegacyEndpoint; + request: TeamsAddOrUpdateProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + "PUT /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoLegacyEndpoint; + request: TeamsAddOrUpdateRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#block-a-user + */ + "PUT /user/blocks/:username": { + parameters: UsersBlockEndpoint; + request: UsersBlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#follow-a-user + */ + "PUT /user/following/:username": { + parameters: UsersFollowEndpoint; + request: UsersFollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#add-repository-to-installation + */ + "PUT /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsAddRepoToInstallationEndpoint; + request: AppsAddRepoToInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/:owner/:repo": { + parameters: ActivityStarRepoForAuthenticatedUserEndpoint; + request: ActivityStarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#watch-a-repository-legacy + */ + "PUT /user/subscriptions/:owner/:repo": { + parameters: ActivityWatchRepoLegacyEndpoint; + request: ActivityWatchRepoLegacyRequestOptions; + response: OctokitResponse; + }; +} +declare type AppsGetAuthenticatedEndpoint = {} & RequiredPreview<"machine-man">; +declare type AppsGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/app"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetAuthenticatedResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetAuthenticatedResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetAuthenticatedResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetAuthenticatedResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetAuthenticatedResponseDataPermissions; + events: Array; + installations_count: number; +}; +declare type AppsCreateFromManifestEndpoint = { + /** + * code parameter + */ + code: string; +}; +declare type AppsCreateFromManifestRequestOptions = { + method: "POST"; + url: "/app-manifests/:code/conversions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateFromManifestResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateFromManifestResponseData = { + id: number; + node_id: string; + owner: AppsCreateFromManifestResponseDataOwner; + name: string; + description: null; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + client_id: string; + client_secret: string; + webhook_secret: string; + pem: string; +}; +declare type AppsListInstallationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsRequestOptions = { + method: "GET"; + url: "/app/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsResponseDataItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsListInstallationsResponseDataItem = { + id: number; + account: AppsListInstallationsResponseDataItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsResponseDataItemPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsListInstallationsResponseData = Array; +declare type AppsGetInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsGetInstallationRequestOptions = { + method: "GET"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetInstallationResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetInstallationResponseData = { + id: number; + account: AppsGetInstallationResponseDataAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetInstallationResponseDataPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsDeleteInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsDeleteInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"machine-man">; +declare type AppsCreateInstallationTokenRequestOptions = { + method: "POST"; + url: "/app/installations/:installation_id/access_tokens"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsCreateInstallationTokenResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsCreateInstallationTokenResponseDataPermissions = { + issues: string; + contents: string; +}; +declare type AppsCreateInstallationTokenResponseData = { + token: string; + expires_at: string; + permissions: AppsCreateInstallationTokenResponseDataPermissions; + repositories: Array; +}; +declare type AppsSuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsSuspendInstallationRequestOptions = { + method: "PUT"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsUnsuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsUnsuspendInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListGrantsRequestOptions = { + method: "GET"; + url: "/applications/grants"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListGrantsResponseDataItem = { + id: number; + url: string; + app: OauthAuthorizationsListGrantsResponseDataItemApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsListGrantsResponseData = Array; +declare type OauthAuthorizationsGetGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsGetGrantRequestOptions = { + method: "GET"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetGrantResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetGrantResponseData = { + id: number; + url: string; + app: OauthAuthorizationsGetGrantResponseDataApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsDeleteGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsDeleteGrantRequestOptions = { + method: "DELETE"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsDeleteAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grant"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRevokeGrantForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeGrantForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grants/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsCheckTokenRequestOptions = { + method: "POST"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckTokenResponseDataUser; +}; +declare type AppsResetTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsResetTokenRequestOptions = { + method: "PATCH"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetTokenResponseDataUser; +}; +declare type AppsDeleteTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteTokenRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsCheckAuthorizationRequestOptions = { + method: "GET"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckAuthorizationResponseDataUser; +}; +declare type AppsResetAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsResetAuthorizationRequestOptions = { + method: "POST"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetAuthorizationResponseDataUser; +}; +declare type AppsRevokeAuthorizationForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeAuthorizationForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugEndpoint = { + /** + * app_slug parameter + */ + app_slug: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetBySlugRequestOptions = { + method: "GET"; + url: "/apps/:app_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetBySlugResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetBySlugResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetBySlugResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetBySlugResponseDataPermissions; + events: Array; +}; +declare type OauthAuthorizationsListAuthorizationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListAuthorizationsRequestOptions = { + method: "GET"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItem = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsListAuthorizationsResponseDataItemApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseData = Array; +declare 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; +}; +declare type OauthAuthorizationsCreateAuthorizationRequestOptions = { + method: "POST"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsCreateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare 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; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare 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; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id/:fingerprint"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsGetAuthorizationRequestOptions = { + method: "GET"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare 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; +}; +declare type OauthAuthorizationsUpdateAuthorizationRequestOptions = { + method: "PATCH"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsUpdateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsDeleteAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductEndpoint = {} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetAllCodesOfConductRequestOptions = { + method: "GET"; + url: "/codes_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductResponseDataItem = { + key: string; + name: string; + url: string; +}; +declare type CodesOfConductGetAllCodesOfConductResponseData = Array; +declare type CodesOfConductGetConductCodeEndpoint = { + /** + * key parameter + */ + key: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetConductCodeRequestOptions = { + method: "GET"; + url: "/codes_of_conduct/:key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetConductCodeResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare 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; +} & RequiredPreview<"corsair">; +declare type AppsCreateContentAttachmentRequestOptions = { + method: "POST"; + url: "/content_references/:content_reference_id/attachments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateContentAttachmentResponseData = { + id: number; + title: string; + body: string; +}; +declare type EmojisGetEndpoint = {}; +declare type EmojisGetRequestOptions = { + method: "GET"; + url: "/emojis"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsRequestOptions = { + method: "GET"; + url: "/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsEndpoint = {}; +declare type ActivityGetFeedsRequestOptions = { + method: "GET"; + url: "/feeds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsResponseDataLinksSecurityAdvisories = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganizationsItem = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganization = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserActor = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserPublic = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksTimeline = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinks = { + timeline: ActivityGetFeedsResponseDataLinksTimeline; + user: ActivityGetFeedsResponseDataLinksUser; + current_user_public: ActivityGetFeedsResponseDataLinksCurrentUserPublic; + current_user: ActivityGetFeedsResponseDataLinksCurrentUser; + current_user_actor: ActivityGetFeedsResponseDataLinksCurrentUserActor; + current_user_organization: ActivityGetFeedsResponseDataLinksCurrentUserOrganization; + current_user_organizations: Array; + security_advisories: ActivityGetFeedsResponseDataLinksSecurityAdvisories; +}; +declare type ActivityGetFeedsResponseData = { + timeline_url: string; + user_url: string; + current_user_public_url: string; + current_user_url: string; + current_user_actor_url: string; + current_user_organization_url: string; + current_user_organization_urls: Array; + security_advisories_url: string; + _links: ActivityGetFeedsResponseDataLinks; +}; +declare 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; +}; +declare type GistsListRequestOptions = { + method: "GET"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListResponseDataItemFiles = { + "hello_world.rb": GistsListResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListResponseData = Array; +declare 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; +}; +declare type GistsCreateRequestOptions = { + method: "POST"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsCreateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsCreateResponseDataHistoryItemUser; + change_status: GistsCreateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsCreateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataForksItem = { + user: GistsCreateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsCreateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFiles = { + "hello_world.rb": GistsCreateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsCreateResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsCreateResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsCreateResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsCreateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsCreateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsCreateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare 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; +}; +declare type GistsListPublicRequestOptions = { + method: "GET"; + url: "/gists/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListPublicResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListPublicResponseDataItemFiles = { + "hello_world.rb": GistsListPublicResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListPublicResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListPublicResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListPublicResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListPublicResponseData = Array; +declare 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; +}; +declare type GistsListStarredRequestOptions = { + method: "GET"; + url: "/gists/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListStarredResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListStarredResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListStarredResponseDataItemFiles = { + "hello_world.rb": GistsListStarredResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListStarredResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListStarredResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListStarredResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListStarredResponseData = Array; +declare type GistsGetEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsGetRequestOptions = { + method: "GET"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetResponseDataHistoryItemUser; + change_status: GistsGetResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataForksItem = { + user: GistsGetResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFiles = { + "hello_world.rb": GistsGetResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare 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; +}; +declare type GistsUpdateRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsUpdateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsUpdateResponseDataHistoryItemUser; + change_status: GistsUpdateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsUpdateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataForksItem = { + user: GistsUpdateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataFilesNewFileTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldMd = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFiles = { + "hello_world.rb": GistsUpdateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsUpdateResponseDataFilesHelloWorldPy; + "hello_world.md": GistsUpdateResponseDataFilesHelloWorldMd; + "new_file.txt": GistsUpdateResponseDataFilesNewFileTxt; +}; +declare type GistsUpdateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsUpdateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsUpdateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsDeleteEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsDeleteRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type GistsListCommentsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type GistsListCommentsResponseData = Array; +declare type GistsCreateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * The comment text. + */ + body: string; +}; +declare type GistsCreateCommentRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsGetCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsGetCommentRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The comment text. + */ + body: string; +}; +declare type GistsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsDeleteCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type GistsListCommitsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommitsResponseDataItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsListCommitsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommitsResponseDataItem = { + url: string; + version: string; + user: GistsListCommitsResponseDataItemUser; + change_status: GistsListCommitsResponseDataItemChangeStatus; + committed_at: string; +}; +declare type GistsListCommitsResponseData = Array; +declare type GistsForkEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsForkRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsForkResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsForkResponseDataFiles = { + "hello_world.rb": GistsForkResponseDataFilesHelloWorldRb; +}; +declare type GistsForkResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsForkResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsForkResponseDataOwner; + truncated: boolean; +}; +declare 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; +}; +declare type GistsListForksRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForksResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForksResponseDataItem = { + user: GistsListForksResponseDataItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsListForksResponseData = Array; +declare type GistsStarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsStarRequestOptions = { + method: "PUT"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUnstarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsUnstarRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCheckIsStarredEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsCheckIsStarredRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * sha parameter + */ + sha: string; +}; +declare type GistsGetRevisionRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetRevisionResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetRevisionResponseDataHistoryItemUser; + change_status: GistsGetRevisionResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetRevisionResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataForksItem = { + user: GistsGetRevisionResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetRevisionResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFiles = { + "hello_world.rb": GistsGetRevisionResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetRevisionResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetRevisionResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetRevisionResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetRevisionResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetRevisionResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetRevisionResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GitignoreListTemplatesEndpoint = {}; +declare type GitignoreListTemplatesRequestOptions = { + method: "GET"; + url: "/gitignore/templates"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreListTemplatesResponseData = Array; +declare type GitignoreGetTemplateEndpoint = { + /** + * name parameter + */ + name: string; +}; +declare type GitignoreGetTemplateRequestOptions = { + method: "GET"; + url: "/gitignore/templates/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreGetTemplateResponseData = { + name: string; + source: string; +}; +declare type AppsListReposEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListReposRequestOptions = { + method: "GET"; + url: "/installation/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListReposResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListReposResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListReposResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListReposResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsRevokeInstallationTokenEndpoint = {}; +declare type AppsRevokeInstallationTokenRequestOptions = { + method: "DELETE"; + url: "/installation/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListRequestOptions = { + method: "GET"; + url: "/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListResponseDataItemUser; + labels: Array; + assignee: IssuesListResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListResponseDataItemRepository; +}; +declare type IssuesListResponseData = Array; +declare 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; +}; +declare type SearchIssuesLegacyRequestOptions = { + method: "GET"; + url: "/legacy/issues/search/:owner/:repository/:state/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesLegacyResponseDataIssuesItem = { + gravatar_id: string; + position: number; + number: number; + votes: number; + created_at: string; + comments: number; + body: string; + title: string; + updated_at: string; + html_url: string; + user: string; + labels: Array; + state: string; +}; +declare type SearchIssuesLegacyResponseData = { + issues: Array; +}; +declare 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"; +}; +declare type SearchReposLegacyRequestOptions = { + method: "GET"; + url: "/legacy/repos/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposLegacyResponseDataRepositoriesItem = { + type: string; + created: string; + watchers: number; + has_downloads: boolean; + username: string; + homepage: string; + url: string; + fork: boolean; + has_issues: boolean; + has_wiki: boolean; + forks: number; + size: number; + private: boolean; + followers: number; + name: string; + owner: string; + open_issues: number; + pushed_at: string; + score: number; + pushed: string; + description: string; + language: string; + created_at: string; +}; +declare type SearchReposLegacyResponseData = { + repositories: Array; +}; +declare type SearchEmailLegacyEndpoint = { + /** + * The email address. + */ + email: string; +}; +declare type SearchEmailLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/email/:email"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchEmailLegacyResponseDataUser = { + public_repo_count: number; + public_gist_count: number; + followers_count: number; + following_count: number; + created: string; + created_at: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + id: number; + login: string; + type: string; + gravatar_id: string; +}; +declare type SearchEmailLegacyResponseData = { + user: SearchEmailLegacyResponseDataUser; +}; +declare 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"; +}; +declare type SearchUsersLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersLegacyResponseDataUsersItem = { + gravatar_id: string; + name: string; + created_at: string; + location: string; + public_repo_count: number; + followers: number; + language: string; + fullname: string; + username: string; + id: string; + repos: number; + type: string; + followers_count: number; + login: string; + score: number; + created: string; +}; +declare type SearchUsersLegacyResponseData = { + users: Array; +}; +declare type LicensesListCommonlyUsedEndpoint = {}; +declare type LicensesListCommonlyUsedRequestOptions = { + method: "GET"; + url: "/licenses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesListCommonlyUsedResponseDataItem = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id?: string; +}; +declare type LicensesListCommonlyUsedResponseData = Array; +declare type LicensesGetEndpoint = { + /** + * license parameter + */ + license: string; +}; +declare type LicensesGetRequestOptions = { + method: "GET"; + url: "/licenses/:license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetResponseData = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; + html_url: string; + description: string; + implementation: string; + permissions: Array; + conditions: Array; + limitations: Array; + body: string; + featured: boolean; +}; +declare 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; +}; +declare type MarkdownRenderRequestOptions = { + method: "POST"; + url: "/markdown"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MarkdownRenderRawEndpoint = { + /** + * data parameter + */ + data: string; +} & { + headers: { + "content-type": "text/plain; charset=utf-8"; + }; +}; +declare type MarkdownRenderRawRequestOptions = { + method: "POST"; + url: "/markdown/raw"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountRequestOptions = { + method: "GET"; + url: "/marketplace_listing/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase; +}; +declare type AppsListPlansEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansResponseData = Array; +declare type AppsListAccountsForPlanEndpoint = { + /** + * 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; +}; +declare type AppsListAccountsForPlanRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanResponseData = Array; +declare type AppsGetSubscriptionPlanForAccountStubbedEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase; +}; +declare type AppsListPlansStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansStubbedResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansStubbedResponseData = Array; +declare type AppsListAccountsForPlanStubbedEndpoint = { + /** + * 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; +}; +declare type AppsListAccountsForPlanStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanStubbedResponseData = Array; +declare type MetaGetEndpoint = {}; +declare type MetaGetRequestOptions = { + method: "GET"; + url: "/meta"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MetaGetResponseDataSshKeyFingerprints = { + MD5_RSA: string; + MD5_DSA: string; + SHA256_RSA: string; + SHA256_DSA: string; +}; +declare type MetaGetResponseData = { + verifiable_password_authentication: boolean; + ssh_key_fingerprints: MetaGetResponseDataSshKeyFingerprints; + hooks: Array; + web: Array; + api: Array; + git: Array; + pages: Array; + importer: Array; +}; +declare 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; +}; +declare type ActivityListPublicEventsForRepoNetworkRequestOptions = { + method: "GET"; + url: "/networks/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ActivityListNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkNotificationsAsReadEndpoint = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadResponseDataSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityGetThreadResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityGetThreadResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityGetThreadResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityGetThreadResponseData = { + id: string; + repository: ActivityGetThreadResponseDataRepository; + subject: ActivityGetThreadResponseDataSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityMarkThreadAsReadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityMarkThreadAsReadRequestOptions = { + method: "PATCH"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare 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; +}; +declare type ActivitySetThreadSubscriptionRequestOptions = { + method: "PUT"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetThreadSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare type ActivityDeleteThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityDeleteThreadSubscriptionRequestOptions = { + method: "DELETE"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListEndpoint = { + /** + * The integer ID of the last organization that you've seen. + */ + since?: number; +}; +declare type OrgsListRequestOptions = { + method: "GET"; + url: "/organizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListResponseData = Array; +declare type OrgsGetEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetRequestOptions = { + method: "GET"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetResponseDataPlan = { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; +}; +declare type OrgsGetResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: number; + disk_usage?: number; + collaborators?: number; + billing_email?: string; + plan: OrgsGetResponseDataPlan; + default_repository_permission?: string; + members_can_create_repositories?: boolean; + two_factor_requirement_enabled?: boolean; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; +}; +declare 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 an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + 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 organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * 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 Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; +}; +declare type OrgsUpdateRequestOptions = { + method: "PATCH"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateResponseDataPlan = { + name: string; + space: number; + private_repos: number; +}; +declare type OrgsUpdateResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos: number; + owned_private_repos: number; + private_gists: number; + disk_usage: number; + collaborators: number; + billing_email: string; + plan: OrgsUpdateResponseDataPlan; + default_repository_permission: string; + members_can_create_repositories: boolean; + two_factor_requirement_enabled: boolean; + members_allowed_repository_creation_type: string; + members_can_create_public_repositories: boolean; + members_can_create_private_repositories: boolean; + members_can_create_internal_repositories: boolean; +}; +declare type ActionsListSelfHostedRunnersForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSelfHostedRunnersForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsListRunnerApplicationsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForOrgResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForOrgResponseData = Array; +declare type ActionsCreateRegistrationTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRegistrationTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRemoveTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForOrgResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListBlockedUsersRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListBlockedUsersResponseData = Array; +declare type OrgsCheckBlockedUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckBlockedUserRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsBlockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsBlockUserRequestOptions = { + method: "PUT"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUnblockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsUnblockUserRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListCredentialAuthorizationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/credential-authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsResponseDataItem = { + login: string; + credential_id: string; + credential_type: string; + token_last_eight: string; + credential_authorized_at: string; + scopes: Array; +}; +declare type OrgsListCredentialAuthorizationsResponseData = Array; +declare type OrgsRemoveCredentialAuthorizationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * credential_id parameter + */ + credential_id: number; +}; +declare type OrgsRemoveCredentialAuthorizationRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/credential-authorizations/:credential_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicOrgEventsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicOrgEventsRequestOptions = { + method: "GET"; + url: "/orgs/:org/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListHooksRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksResponseDataItemConfig = { + url: string; + content_type: string; +}; +declare type OrgsListHooksResponseDataItem = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsListHooksResponseData = Array; +declare 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; +}; +declare type OrgsCreateHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsCreateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsCreateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsGetHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsGetHookRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsGetHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsGetHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare 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; +}; +declare type OrgsUpdateHookRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsUpdateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsDeleteHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsDeleteHookRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPingHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsPingHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetOrgInstallationRequestOptions = { + method: "GET"; + url: "/orgs/:org/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetOrgInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetOrgInstallationResponseData = { + id: number; + account: AppsGetOrgInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetOrgInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type OrgsListInstallationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemPermissions = { + deployments: string; + metadata: string; + pull_requests: string; + statuses: string; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListInstallationsResponseDataInstallationsItem = { + id: number; + account: OrgsListInstallationsResponseDataInstallationsItemAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: OrgsListInstallationsResponseDataInstallationsItemPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsResponseData = { + total_count: number; + installations: Array; +}; +declare type InteractionsGetRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare 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"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPendingInvitationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPendingInvitationsResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsListPendingInvitationsResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type OrgsListPendingInvitationsResponseData = Array; +declare 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[]; +}; +declare type OrgsCreateInvitationRequestOptions = { + method: "POST"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsCreateInvitationResponseData = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsCreateInvitationResponseDataInviter; + team_count: number; + invitation_team_url: string; +}; +declare 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; +}; +declare type OrgsListInvitationTeamsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations/:invitation_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInvitationTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type OrgsListInvitationTeamsResponseData = Array; +declare 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; +}; +declare type IssuesListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForOrgResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForOrgResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForOrgResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForOrgResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForOrgResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForOrgResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForOrgResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForOrgResponseDataItemUser; + labels: Array; + assignee: IssuesListForOrgResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForOrgResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForOrgResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForOrgResponseDataItemRepository; +}; +declare type IssuesListForOrgResponseData = Array; +declare 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; +}; +declare type OrgsListMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembersResponseData = Array; +declare type OrgsCheckMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveMemberEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMemberRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsGetMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipResponseDataOrganization; + user: OrgsGetMembershipResponseDataUser; +}; +declare 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"; +}; +declare type OrgsAddOrUpdateMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsAddOrUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsAddOrUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsAddOrUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsAddOrUpdateMembershipResponseDataOrganization; + user: OrgsAddOrUpdateMembershipResponseDataUser; +}; +declare type OrgsRemoveMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type MigrationsStartForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsStartForOrgResponseData = { + id: number; + owner: MigrationsStartForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForOrgResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForOrgResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsListForOrgResponseDataItem = { + id: number; + owner: MigrationsListForOrgResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgResponseData = Array; +declare type MigrationsGetStatusForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsGetStatusForOrgResponseData = { + id: number; + owner: MigrationsGetStatusForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsDownloadArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDownloadArchiveForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForOrgResponseDataItemLicense; +}; +declare type MigrationsListReposForOrgResponseData = Array; +declare 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; +}; +declare type OrgsListOutsideCollaboratorsRequestOptions = { + method: "GET"; + url: "/orgs/:org/outside_collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListOutsideCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListOutsideCollaboratorsResponseData = Array; +declare type OrgsRemoveOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveOutsideCollaboratorRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorRequestOptions = { + method: "PUT"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConvertMemberToOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForOrgResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForOrgResponseData = Array; +declare type ProjectsCreateForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForOrgResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type OrgsListPublicMembersEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPublicMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPublicMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPublicMembersResponseData = Array; +declare type OrgsCheckPublicMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckPublicMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPublicizeMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsPublicizeMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConcealMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConcealMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. + */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member" | "internal"; + /** + * 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; +}; +declare type ReposListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForOrgResponseDataItemLicense; +}; +declare type ReposListForOrgResponseData = Array; +declare 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. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateInOrgResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateInOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateInOrgResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateInOrgResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateInOrgResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsListIdPGroupsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListIdPGroupsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/team-sync/groups"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForOrgResponseData = { + groups: Array; +}; +declare type TeamsListEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type TeamsListResponseData = Array; +declare type TeamsCreateEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + 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` + */ + 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. + */ + parent_team_id?: number; +}; +declare type TeamsCreateRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsCreateResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsCreateResponseDataOrganization; +}; +declare type TeamsGetByNameEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsGetByNameRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetByNameResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetByNameResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetByNameResponseDataOrganization; +}; +declare type TeamsUpdateInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + 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. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateInOrgResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateInOrgResponseDataOrganization; +}; +declare type TeamsDeleteInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsDeleteInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsListDiscussionsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsInOrgResponseDataItem = { + author: TeamsListDiscussionsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionsInOrgResponseData = Array; +declare type TeamsCreateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsCreateDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionInOrgResponseData = { + author: TeamsCreateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionInOrgResponseData = { + author: TeamsGetDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; +}; +declare type TeamsUpdateDiscussionInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionInOrgResponseData = { + author: TeamsUpdateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsListDiscussionCommentsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItem = { + author: TeamsListDiscussionCommentsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseData = Array; +declare type TeamsCreateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseData = { + author: TeamsCreateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentInOrgResponseData = { + author: TeamsGetDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseData = { + author: TeamsUpdateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionCommentEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionCommentRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsInOrgResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsInOrgResponseData = Array; +declare type TeamsListMembersInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsListMembersInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersInOrgResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersInOrgResponseData = Array; +declare type TeamsGetMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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"; +}; +declare type TeamsAddOrUpdateMembershipInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsInOrgResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsInOrgResponseDataItemPermissions; +}; +declare type TeamsListProjectsInOrgResponseData = Array; +declare type TeamsReviewProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectInOrgResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectInOrgResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectInOrgResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposInOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposInOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposInOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposInOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposInOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposInOrgResponseDataItemLicense; +}; +declare type TeamsListReposInOrgResponseData = Array; +declare type TeamsCheckManagesRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseData = { + organization: TeamsCheckManagesRepoInOrgResponseDataOrganization; + parent: TeamsCheckManagesRepoInOrgResponseDataParent; + source: TeamsCheckManagesRepoInOrgResponseDataSource; + permissions: TeamsCheckManagesRepoInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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. + * \* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations. + * \* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type TeamsAddOrUpdateRepoInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsListIdPGroupsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsInOrgResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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: TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseData = { + groups: TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups; +}; +declare type TeamsListChildInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildInOrgResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildInOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildInOrgResponseDataItemParent; +}; +declare type TeamsListChildInOrgResponseData = Array; +declare type ProjectsGetCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetCardRequestOptions = { + method: "GET"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsGetCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateCardRequestOptions = { + method: "PATCH"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsUpdateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsDeleteCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteCardRequestOptions = { + method: "DELETE"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveCardRequestOptions = { + method: "POST"; + url: "/projects/columns/cards/:card_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetColumnRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsUpdateColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * The new name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateColumnRequestOptions = { + method: "PATCH"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteColumnRequestOptions = { + method: "DELETE"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListCardsRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCardsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCardsResponseDataItem = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsListCardsResponseDataItemCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsListCardsResponseData = Array; +declare 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 repository issues](https://developer.github.com/v3/issues/#list-repository-issues) 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; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateCardRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsCreateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveColumnRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetRequestOptions = { + method: "GET"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsGetResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateRequestOptions = { + method: "PATCH"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsUpdateResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListCollaboratorsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCollaboratorsResponseData = Array; +declare 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"; +} & RequiredPreview<"inertia">; +declare type ProjectsAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsRemoveCollaboratorEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsReviewUserPermissionLevelRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsReviewUserPermissionLevelResponseData = { + permission: string; + user: ProjectsReviewUserPermissionLevelResponseDataUser; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListColumnsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListColumnsResponseDataItem = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsListColumnsResponseData = Array; +declare type ProjectsCreateColumnEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * The name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateColumnRequestOptions = { + method: "POST"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type RateLimitGetEndpoint = {}; +declare type RateLimitGetRequestOptions = { + method: "GET"; + url: "/rate_limit"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type RateLimitGetResponseDataRate = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesIntegrationManifest = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesGraphql = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesSearch = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesCore = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResources = { + core: RateLimitGetResponseDataResourcesCore; + search: RateLimitGetResponseDataResourcesSearch; + graphql: RateLimitGetResponseDataResourcesGraphql; + integration_manifest: RateLimitGetResponseDataResourcesIntegrationManifest; +}; +declare type RateLimitGetResponseData = { + resources: RateLimitGetResponseDataResources; + rate: RateLimitGetResponseDataRate; +}; +declare type ReactionsDeleteLegacyEndpoint = { + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetResponseDataCodeOfConduct = { + key: string; + name: string; + url: string; +}; +declare type ReposGetResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposGetResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataOwner; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template?: boolean; + topics?: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions?: ReposGetResponseDataPermissions; + allow_rebase_merge?: boolean; + template_repository?: null; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_merge_commit?: boolean; + subscribers_count: number; + network_count: number; + license?: ReposGetResponseDataLicense; + organization?: ReposGetResponseDataOrganization; + parent?: ReposGetResponseDataParent; + source?: ReposGetResponseDataSource; + forks?: number; + open_issues?: number; + watchers?: number; + code_of_conduct?: ReposGetResponseDataCodeOfConduct; +}; +declare 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. 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; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + */ + archived?: boolean; +}; +declare type ReposUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; + organization: ReposUpdateResponseDataOrganization; + parent: ReposUpdateResponseDataParent; + source: ReposUpdateResponseDataSource; +}; +declare type ReposDeleteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposDeleteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteResponseData = { + message: string; + documentation_url: string; +}; +declare type ActionsListArtifactsForRepoEndpoint = { + /** + * 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; +}; +declare type ActionsListArtifactsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListArtifactsForRepoResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListArtifactsForRepoResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsGetArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsGetArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetArtifactResponseData = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsDeleteArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsDeleteArtifactRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDownloadArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; + /** + * archive_format parameter + */ + archive_format: string; +}; +declare type ActionsDownloadArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsGetWorkflowJobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobResponseDataStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsGetWorkflowJobResponseData = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsDownloadWorkflowJobLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsDownloadWorkflowJobLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoEndpoint = { + /** + * 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; +}; +declare type ActionsListSelfHostedRunnersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsListRunnerApplicationsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForRepoResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForRepoResponseData = Array; +declare type ActionsCreateRegistrationTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRegistrationTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRemoveTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForRepoResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListRepoWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListRepoWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare type ActionsGetWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsGetWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsGetWorkflowRunResponseDataHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsGetWorkflowRunResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsGetWorkflowRunResponseDataHeadCommitAuthor; + committer: ActionsGetWorkflowRunResponseDataHeadCommitCommitter; +}; +declare type ActionsGetWorkflowRunResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsGetWorkflowRunResponseDataHeadCommit; + repository: ActionsGetWorkflowRunResponseDataRepository; + head_repository: ActionsGetWorkflowRunResponseDataHeadRepository; +}; +declare type ActionsListWorkflowRunArtifactsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunArtifactsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunArtifactsResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListWorkflowRunArtifactsResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsCancelWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsCancelWorkflowRunRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Filters jobs by their `completed_at` timestamp. Can be one of: + * \* `latest`: Returns jobs from the most recent execution of the workflow run. + * \* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListJobsForWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItemStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItem = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsListJobsForWorkflowRunResponseData = { + total_count: number; + jobs: Array; +}; +declare type ActionsDownloadWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDownloadWorkflowRunLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDeleteWorkflowRunLogsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsReRunWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsReRunWorkflowRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoEndpoint = { + /** + * 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; +}; +declare type ActionsListSecretsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoResponseDataSecretsItem = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsListSecretsForRepoResponseData = { + total_count: number; + secrets: Array; +}; +declare type ActionsGetPublicKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsGetPublicKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/public-key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type ActionsGetSecretEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsGetSecretRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSecretResponseData = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get your public key](https://developer.github.com/v3/actions/secrets/#get-your-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteSecretFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsDeleteSecretFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsEndpoint = { + /** + * 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; +}; +declare type ActionsListRepoWorkflowsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsResponseDataWorkflowsItem = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListRepoWorkflowsResponseData = { + total_count: number; + workflows: Array; +}; +declare type ActionsGetWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; +}; +declare type ActionsGetWorkflowRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowResponseData = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare 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; +}; +declare type IssuesListAssigneesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListAssigneesResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListAssigneesResponseData = Array; +declare type IssuesCheckAssigneeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * assignee parameter + */ + assignee: string; +}; +declare type IssuesCheckAssigneeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees/:assignee"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposEnableAutomatedSecurityFixesRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposDisableAutomatedSecurityFixesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListBranchesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesResponseDataItemProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposListBranchesResponseDataItemProtection = { + enabled: boolean; + required_status_checks: ReposListBranchesResponseDataItemProtectionRequiredStatusChecks; +}; +declare type ReposListBranchesResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesResponseDataItem = { + name: string; + commit: ReposListBranchesResponseDataItemCommit; + protected: boolean; + protection: ReposListBranchesResponseDataItemProtection; + protection_url: string; +}; +declare type ReposListBranchesResponseData = Array; +declare type ReposGetBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchResponseDataProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposGetBranchResponseDataProtection = { + enabled: boolean; + required_status_checks: ReposGetBranchResponseDataProtectionRequiredStatusChecks; +}; +declare type ReposGetBranchResponseDataLinks = { + html: string; + self: string; +}; +declare type ReposGetBranchResponseDataCommitCommitter = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitParentsItem = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitAuthor = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetBranchResponseDataCommitCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommit = { + author: ReposGetBranchResponseDataCommitCommitAuthor; + url: string; + message: string; + tree: ReposGetBranchResponseDataCommitCommitTree; + committer: ReposGetBranchResponseDataCommitCommitCommitter; + verification: ReposGetBranchResponseDataCommitCommitVerification; +}; +declare type ReposGetBranchResponseDataCommit = { + sha: string; + node_id: string; + commit: ReposGetBranchResponseDataCommitCommit; + author: ReposGetBranchResponseDataCommitAuthor; + parents: Array; + url: string; + committer: ReposGetBranchResponseDataCommitCommitter; +}; +declare type ReposGetBranchResponseData = { + name: string; + commit: ReposGetBranchResponseDataCommit; + _links: ReposGetBranchResponseDataLinks; + protected: boolean; + protection: ReposGetBranchResponseDataProtection; + protection_url: string; +}; +declare type ReposGetBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchProtectionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposGetBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposGetBranchProtectionResponseData = { + url: string; + required_status_checks: ReposGetBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposGetBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposGetBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposGetBranchProtectionResponseDataRestrictions; + required_linear_history: ReposGetBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposGetBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposGetBranchProtectionResponseDataAllowDeletions; +}; +declare 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 the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; + /** + * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. + */ + required_linear_history?: boolean; + /** + * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." + */ + allow_force_pushes?: boolean | null; + /** + * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. + */ + allow_deletions?: boolean; +}; +declare type ReposUpdateBranchProtectionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposUpdateBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposUpdateBranchProtectionResponseData = { + url: string; + required_status_checks: ReposUpdateBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposUpdateBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposUpdateBranchProtectionResponseDataRestrictions; + required_linear_history: ReposUpdateBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposUpdateBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposUpdateBranchProtectionResponseDataAllowDeletions; +}; +declare type ReposRemoveBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveBranchProtectionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchAdminEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposAddProtectedBranchAdminEnforcementRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare 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; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposGetProtectedBranchRequiredSignaturesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposAddProtectedBranchRequiredSignaturesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposRemoveProtectedBranchRequiredSignaturesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare 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[]; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposGetProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRestrictionsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions; + events: Array; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchRestrictionsResponseData = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposRemoveProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions; + events: Array; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposAddProtectedBranchAppRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposGetTeamsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposAddProtectedBranchTeamRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposGetUsersWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetUsersWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposAddProtectedBranchUserRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseData = Array; +declare 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. If the integrator does not provide this, then the homepage of the GitHub app is used. + */ + 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`, `skipped`, `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`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "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[]; +} & RequiredPreview<"antiope">; +declare type ChecksCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksCreateResponseDataPullRequestsItemHead; + base: ChecksCreateResponseDataPullRequestsItemBase; +}; +declare type ChecksCreateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksCreateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count?: number; + annotations_url?: string; +}; +declare type ChecksCreateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: null | string; + started_at: string; + completed_at: null | string; + output: ChecksCreateResponseDataOutput; + name: string; + check_suite: ChecksCreateResponseDataCheckSuite; + app: ChecksCreateResponseDataApp; + pull_requests: Array; +}; +declare 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`, `skipped`, `timed_out`, or `action_required`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "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[]; +} & RequiredPreview<"antiope">; +declare type ChecksUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksUpdateResponseDataPullRequestsItemHead; + base: ChecksUpdateResponseDataPullRequestsItemBase; +}; +declare type ChecksUpdateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksUpdateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksUpdateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksUpdateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksUpdateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksUpdateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksUpdateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksUpdateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksUpdateResponseDataOutput; + name: string; + check_suite: ChecksUpdateResponseDataCheckSuite; + app: ChecksUpdateResponseDataApp; + pull_requests: Array; +}; +declare type ChecksGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksGetResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksGetResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksGetResponseDataPullRequestsItemHead; + base: ChecksGetResponseDataPullRequestsItemBase; +}; +declare type ChecksGetResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetResponseDataCheckSuite = { + id: number; +}; +declare type ChecksGetResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksGetResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksGetResponseDataOutput; + name: string; + check_suite: ChecksGetResponseDataCheckSuite; + app: ChecksGetResponseDataApp; + pull_requests: Array; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListAnnotationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id/annotations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListAnnotationsResponseDataItem = { + path: string; + start_line: number; + end_line: number; + start_column: number; + end_column: number; + annotation_level: string; + title: string; + message: string; + raw_details: string; +}; +declare type ChecksListAnnotationsResponseData = Array; +declare type ChecksCreateSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The sha of the head commit. + */ + head_sha: string; +} & RequiredPreview<"antiope">; +declare type ChecksCreateSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksCreateSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksCreateSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksCreateSuiteResponseDataApp; + repository: ChecksCreateSuiteResponseDataRepository; +}; +declare 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[]; +} & RequiredPreview<"antiope">; +declare type ChecksSetSuitesPreferencesRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-suites/preferences"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksSetSuitesPreferencesResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksSetSuitesPreferencesResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferencesAutoTriggerChecksItem = { + app_id: number; + setting: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferences = { + auto_trigger_checks: Array; +}; +declare type ChecksSetSuitesPreferencesResponseData = { + preferences: ChecksSetSuitesPreferencesResponseDataPreferences; + repository: ChecksSetSuitesPreferencesResponseDataRepository; +}; +declare type ChecksGetSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksGetSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksGetSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksGetSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksGetSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksGetSuiteResponseDataApp; + repository: ChecksGetSuiteResponseDataRepository; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListForSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForSuiteResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForSuiteResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForSuiteResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForSuiteResponseDataCheckRunsItemCheckSuite; + app: ChecksListForSuiteResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForSuiteResponseData = { + total_count: number; + check_runs: Array; +}; +declare type ChecksRerequestSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksRerequestSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Set to `closed` to list only closed code scanning alerts. + */ + state?: string; + /** + * Returns a list of code scanning alerts for a specific brach reference. The `ref` must be formatted as `heads/`. + */ + ref?: string; +}; +declare type CodeScanningListAlertsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoResponseDataItem = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare type CodeScanningListAlertsForRepoResponseData = Array; +declare type CodeScanningGetAlertEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * alert_id parameter + */ + alert_id: number; +}; +declare type CodeScanningGetAlertRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts/:alert_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningGetAlertResponseData = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare 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; +}; +declare type ReposListCollaboratorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCollaboratorsResponseDataItemPermissions = { + pull: boolean; + push: boolean; + admin: boolean; +}; +declare type ReposListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + permissions: ReposListCollaboratorsResponseDataItemPermissions; +}; +declare type ReposListCollaboratorsResponseData = Array; +declare type ReposCheckCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposCheckCollaboratorRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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. + * \* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. + * \* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type ReposAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddCollaboratorResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposAddCollaboratorResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposAddCollaboratorResponseData = { + id: number; + repository: ReposAddCollaboratorResponseDataRepository; + invitee: ReposAddCollaboratorResponseDataInvitee; + inviter: ReposAddCollaboratorResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposRemoveCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposGetCollaboratorPermissionLevelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCollaboratorPermissionLevelResponseData = { + permission: string; + user: ReposGetCollaboratorPermissionLevelResponseDataUser; +}; +declare 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; +}; +declare type ReposListCommitCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitCommentsResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommitCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommitCommentsResponseData = Array; +declare type ReposGetCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposGetCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposGetCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposUpdateCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment + */ + body: string; +}; +declare type ReposUpdateCommitCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposUpdateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposDeleteCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposDeleteCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForCommitCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForCommitCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForCommitCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForCommitCommentResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForCommitCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForCommitCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommit = { + url: string; + author: ReposListCommitsResponseDataItemCommitAuthor; + committer: ReposListCommitsResponseDataItemCommitCommitter; + message: string; + tree: ReposListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: ReposListCommitsResponseDataItemCommitVerification; +}; +declare type ReposListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposListCommitsResponseDataItemCommit; + author: ReposListCommitsResponseDataItemAuthor; + committer: ReposListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type ReposListCommitsResponseData = Array; +declare type ReposListBranchesForHeadCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +} & RequiredPreview<"groot">; +declare type ReposListBranchesForHeadCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/branches-where-head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesForHeadCommitResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesForHeadCommitResponseDataItem = { + name: string; + commit: ReposListBranchesForHeadCommitResponseDataItemCommit; + protected: boolean; +}; +declare type ReposListBranchesForHeadCommitResponseData = Array; +declare 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; +}; +declare type ReposListCommentsForCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommentsForCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommentsForCommitResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommentsForCommitResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommentsForCommitResponseData = Array; +declare 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; +}; +declare type ReposCreateCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposCreateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare 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; +} & RequiredPreview<"groot">; +declare type ReposListPullRequestsAssociatedWithCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks = { + self: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf; + html: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml; + issue: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue; + comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments; + review_comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments; + review_comment: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment; + commits: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits; + statuses: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemUser; + body: string; + labels: Array; + milestone: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: ReposListPullRequestsAssociatedWithCommitResponseDataItemHead; + base: ReposListPullRequestsAssociatedWithCommitResponseDataItemBase; + _links: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseData = Array; +declare type ReposGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitResponseDataFilesItem = { + filename: string; + additions: number; + deletions: number; + changes: number; + status: string; + raw_url: string; + blob_url: string; + patch: string; +}; +declare type ReposGetCommitResponseDataStats = { + additions: number; + deletions: number; + total: number; +}; +declare type ReposGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetCommitResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommit = { + url: string; + author: ReposGetCommitResponseDataCommitAuthor; + committer: ReposGetCommitResponseDataCommitCommitter; + message: string; + tree: ReposGetCommitResponseDataCommitTree; + comment_count: number; + verification: ReposGetCommitResponseDataCommitVerification; +}; +declare type ReposGetCommitResponseData = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposGetCommitResponseDataCommit; + author: ReposGetCommitResponseDataAuthor; + committer: ReposGetCommitResponseDataCommitter; + parents: Array; + stats: ReposGetCommitResponseDataStats; + files: Array; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForRefResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForRefResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForRefResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForRefResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForRefResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForRefResponseDataCheckRunsItemCheckSuite; + app: ChecksListForRefResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForRefResponseData = { + total_count: number; + check_runs: Array; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListSuitesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions; + events: Array; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksListSuitesForRefResponseDataCheckSuitesItemApp; + repository: ChecksListSuitesForRefResponseDataCheckSuitesItemRepository; +}; +declare type ChecksListSuitesForRefResponseData = { + total_count: number; + check_suites: Array; +}; +declare type ReposGetCombinedStatusForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCombinedStatusForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/status"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetCombinedStatusForRefResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposGetCombinedStatusForRefResponseDataStatusesItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; +}; +declare type ReposGetCombinedStatusForRefResponseData = { + state: string; + statuses: Array; + sha: string; + total_count: number; + repository: ReposGetCombinedStatusForRefResponseDataRepository; + commit_url: string; + url: string; +}; +declare 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; +}; +declare type ReposListStatusesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListStatusesForRefResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListStatusesForRefResponseDataItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposListStatusesForRefResponseDataItemCreator; +}; +declare type ReposListStatusesForRefResponseData = Array; +declare type CodesOfConductGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/code_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetForRepoResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare type ReposRetrieveCommunityProfileMetricsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRetrieveCommunityProfileMetricsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/profile"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense = { + name: string; + key: string; + spdx_id: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct = { + name: string; + key: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFiles = { + code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct; + contributing: ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing; + issue_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate; + pull_request_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate; + license: ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense; + readme: ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseData = { + health_percentage: number; + description: string; + documentation: boolean; + files: ReposRetrieveCommunityProfileMetricsResponseDataFiles; + updated_at: string; +}; +declare type ReposCompareCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * base parameter + */ + base: string; + /** + * head parameter + */ + head: string; +}; +declare type ReposCompareCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/compare/:base...:head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCompareCommitsResponseDataFilesItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommit = { + url: string; + author: ReposCompareCommitsResponseDataCommitsItemCommitAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataCommitsItemCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataCommitsItemCommitVerification; +}; +declare type ReposCompareCommitsResponseDataCommitsItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataCommitsItemCommit; + author: ReposCompareCommitsResponseDataCommitsItemAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataMergeBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataMergeBaseCommitCommit; + author: ReposCompareCommitsResponseDataMergeBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataBaseCommitCommit; + author: ReposCompareCommitsResponseDataBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseData = { + url: string; + html_url: string; + permalink_url: string; + diff_url: string; + patch_url: string; + base_commit: ReposCompareCommitsResponseDataBaseCommit; + merge_base_commit: ReposCompareCommitsResponseDataMergeBaseCommit; + status: string; + ahead_by: number; + behind_by: number; + total_commits: number; + commits: Array; + files: Array; +}; +declare 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; +}; +declare type ReposGetContentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContentsResponseDataItemLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposGetContentsResponseDataItem = { + type: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataItemLinks; +}; +declare type ReposGetContentsResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetContentsResponseData = { + type: string; + encoding?: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataLinks; + target?: string; + submodule_git_url?: string; +} | Array; +declare 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; +}; +declare type ReposCreateOrUpdateFileRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposCreateOrUpdateFileResponseDataCommitAuthor; + committer: ReposCreateOrUpdateFileResponseDataCommitCommitter; + message: string; + tree: ReposCreateOrUpdateFileResponseDataCommitTree; + parents: Array; + verification: ReposCreateOrUpdateFileResponseDataCommitVerification; +}; +declare type ReposCreateOrUpdateFileResponseDataContentLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposCreateOrUpdateFileResponseDataContent = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + _links: ReposCreateOrUpdateFileResponseDataContentLinks; +}; +declare type ReposCreateOrUpdateFileResponseData = { + content: ReposCreateOrUpdateFileResponseDataContent; + commit: ReposCreateOrUpdateFileResponseDataCommit; +}; +declare 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; +}; +declare type ReposDeleteFileRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposDeleteFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposDeleteFileResponseDataCommitAuthor; + committer: ReposDeleteFileResponseDataCommitCommitter; + message: string; + tree: ReposDeleteFileResponseDataCommitTree; + parents: Array; + verification: ReposDeleteFileResponseDataCommitVerification; +}; +declare type ReposDeleteFileResponseData = { + content: null; + commit: ReposDeleteFileResponseDataCommit; +}; +declare 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; +}; +declare type ReposListContributorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListContributorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + contributions: number; +}; +declare type ReposListContributorsResponseData = Array; +declare 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; +}; +declare type ReposListDeploymentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentsResponseDataItemPayload = { + deploy: string; +}; +declare type ReposListDeploymentsResponseDataItem = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposListDeploymentsResponseDataItemPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposListDeploymentsResponseDataItemCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposListDeploymentsResponseData = Array; +declare 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; +}; +declare type ReposCreateDeploymentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposCreateDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposCreateDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposCreateDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposGetDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposGetDeploymentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposGetDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposGetDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposGetDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposDeleteDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposDeleteDeploymentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListDeploymentStatusesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentStatusesResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentStatusesResponseDataItem = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposListDeploymentStatusesResponseDataItemCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposListDeploymentStatusesResponseData = Array; +declare 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; +}; +declare type ReposCreateDeploymentStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposCreateDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposGetDeploymentStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * status_id parameter + */ + status_id: number; +}; +declare type ReposGetDeploymentStatusRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposGetDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposCreateDispatchEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * **Required:** A custom webhook event name. + */ + event_type?: string; + /** + * JSON payload with extra information about the webhook event that your action or worklow may use. + */ + client_payload?: ReposCreateDispatchEventParamsClientPayload; +}; +declare type ReposCreateDispatchEventRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/dispatches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListDownloadsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDownloadsResponseDataItem = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposListDownloadsResponseData = Array; +declare type ReposGetDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposGetDownloadRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDownloadResponseData = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposDeleteDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposDeleteDownloadRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ActivityListRepoEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListForksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForksResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForksResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForksResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForksResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForksResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForksResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForksResponseDataItemLicense; +}; +declare type ReposListForksResponseData = Array; +declare type ReposCreateForkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; +}; +declare type ReposCreateForkRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForkResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForkResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForkResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForkResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare 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; +}; +declare type GitCreateBlobRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/blobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateBlobResponseData = { + url: string; + sha: string; +}; +declare type GitGetBlobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * file_sha parameter + */ + file_sha: string; +}; +declare type GitGetBlobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/blobs/:file_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetBlobResponseData = { + content: string; + encoding: string; + url: string; + sha: string; + size: number; +}; +declare 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; +}; +declare type GitCreateCommitRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseData = { + sha: string; + node_id: string; + url: string; + author: GitCreateCommitResponseDataAuthor; + committer: GitCreateCommitResponseDataCommitter; + message: string; + tree: GitCreateCommitResponseDataTree; + parents: Array; + verification: GitCreateCommitResponseDataVerification; +}; +declare type GitGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +}; +declare type GitGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/commits/:commit_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseData = { + sha: string; + url: string; + author: GitGetCommitResponseDataAuthor; + committer: GitGetCommitResponseDataCommitter; + message: string; + tree: GitGetCommitResponseDataTree; + parents: Array; + verification: GitGetCommitResponseDataVerification; +}; +declare 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; +}; +declare type GitListMatchingRefsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/matching-refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitListMatchingRefsResponseDataItemObject = { + type: string; + sha: string; + url: string; +}; +declare type GitListMatchingRefsResponseDataItem = { + ref: string; + node_id: string; + url: string; + object: GitListMatchingRefsResponseDataItemObject; +}; +declare type GitListMatchingRefsResponseData = Array; +declare type GitGetRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitGetRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/ref/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitGetRefResponseDataObject; +}; +declare 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; +}; +declare type GitCreateRefRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/refs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitCreateRefResponseDataObject; +}; +declare 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; +}; +declare type GitUpdateRefRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitUpdateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitUpdateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitUpdateRefResponseDataObject; +}; +declare type GitDeleteRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitDeleteRefRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type GitCreateTagRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitCreateTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitCreateTagResponseDataTagger; + object: GitCreateTagResponseDataObject; + verification: GitCreateTagResponseDataVerification; +}; +declare type GitGetTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag_sha parameter + */ + tag_sha: string; +}; +declare type GitGetTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/tags/:tag_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitGetTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitGetTagResponseDataTagger; + object: GitGetTagResponseDataObject; + verification: GitGetTagResponseDataVerification; +}; +declare 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; +}; +declare type GitCreateTreeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/trees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size: number; + sha: string; + url: string; +}; +declare type GitCreateTreeResponseData = { + sha: string; + url: string; + tree: Array; +}; +declare type GitGetTreeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tree_sha parameter + */ + tree_sha: string; + /** + * recursive parameter + */ + recursive?: "1"; +}; +declare type GitGetTreeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/trees/:tree_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size?: number; + sha: string; + url: string; +}; +declare type GitGetTreeResponseData = { + sha: string; + url: string; + tree: Array; + truncated: boolean; +}; +declare 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; +}; +declare type ReposListHooksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListHooksResponseDataItemLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposListHooksResponseDataItemConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposListHooksResponseDataItem = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposListHooksResponseDataItemLastResponse; +}; +declare type ReposListHooksResponseData = Array; +declare 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; +}; +declare type ReposCreateHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposCreateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposCreateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposCreateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposCreateHookResponseDataLastResponse; +}; +declare type ReposGetHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposGetHookRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposGetHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposGetHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposGetHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposGetHookResponseDataLastResponse; +}; +declare 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; +}; +declare type ReposUpdateHookRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposUpdateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposUpdateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposUpdateHookResponseDataLastResponse; +}; +declare type ReposDeleteHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposDeleteHookRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposPingHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposPingHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTestPushHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposTestPushHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/tests"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type MigrationsStartImportRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + percent: number; + commit_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type MigrationsGetImportProgressEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetImportProgressRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetImportProgressResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare 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; +}; +declare type MigrationsUpdateImportRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUpdateImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + url: string; + html_url: string; + authors_url: string; + repository_url: string; + tfvc_project?: string; + status_text?: string; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + authors_count?: number; + percent?: number; + commit_count?: number; +}; +declare type MigrationsCancelImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsCancelImportRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type MigrationsGetCommitAuthorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/authors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetCommitAuthorsResponseDataItem = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetCommitAuthorsResponseData = Array; +declare 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; +}; +declare type MigrationsMapCommitAuthorRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/authors/:author_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsMapCommitAuthorResponseData = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetLargeFilesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetLargeFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/large_files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetLargeFilesResponseDataItem = { + ref_name: string; + path: string; + oid: string; + size: number; +}; +declare type MigrationsGetLargeFilesResponseData = Array; +declare 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"; +}; +declare type MigrationsSetLfsPreferenceRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/lfs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsSetLfsPreferenceResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type AppsGetRepoInstallationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetRepoInstallationRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetRepoInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetRepoInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetRepoInstallationResponseData = { + id: number; + account: AppsGetRepoInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetRepoInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type InteractionsGetRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare 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"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListInvitationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsResponseDataItem = { + id: number; + repository: ReposListInvitationsResponseDataItemRepository; + invitee: ReposListInvitationsResponseDataItemInvitee; + inviter: ReposListInvitationsResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsResponseData = Array; +declare type ReposDeleteInvitationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeleteInvitationRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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`, `maintain`, `triage`, and `admin`. + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; +}; +declare type ReposUpdateInvitationRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateInvitationResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposUpdateInvitationResponseData = { + id: number; + repository: ReposUpdateInvitationResponseDataRepository; + invitee: ReposUpdateInvitationResponseDataInvitee; + inviter: ReposUpdateInvitationResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare 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; +}; +declare type IssuesListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForRepoResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForRepoResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForRepoResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForRepoResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForRepoResponseDataItemUser; + labels: Array; + assignee: IssuesListForRepoResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForRepoResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForRepoResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListForRepoResponseData = Array; +declare 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[]; +}; +declare type IssuesCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesCreateResponseDataUser; + labels: Array; + assignee: IssuesCreateResponseDataAssignee; + assignees: Array; + milestone: IssuesCreateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesCreateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesCreateResponseDataClosedBy; +}; +declare 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; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsForRepoResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsForRepoResponseData = Array; +declare type IssuesGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesUpdateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueCommentResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListEventsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForRepoResponseDataItemIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListEventsForRepoResponseDataItemIssueUser; + labels: Array; + assignee: IssuesListEventsForRepoResponseDataItemIssueAssignee; + assignees: Array; + milestone: IssuesListEventsForRepoResponseDataItemIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListEventsForRepoResponseDataItemIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListEventsForRepoResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForRepoResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesListEventsForRepoResponseDataItemIssue; +}; +declare type IssuesListEventsForRepoResponseData = Array; +declare type IssuesGetEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * event_id parameter + */ + event_id: number; +}; +declare type IssuesGetEventRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events/:event_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetEventResponseDataIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetEventResponseDataIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetEventResponseDataIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetEventResponseDataIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetEventResponseDataIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetEventResponseDataIssueUser; + labels: Array; + assignee: IssuesGetEventResponseDataIssueAssignee; + assignees: Array; + milestone: IssuesGetEventResponseDataIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetEventResponseDataIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesGetEventResponseDataActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseData = { + id: number; + node_id: string; + url: string; + actor: IssuesGetEventResponseDataActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesGetEventResponseDataIssue; +}; +declare type IssuesGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetResponseDataUser; + labels: Array; + assignee: IssuesGetResponseDataAssignee; + assignees: Array; + milestone: IssuesGetResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesGetResponseDataClosedBy; +}; +declare 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[]; +}; +declare type IssuesUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesUpdateResponseDataUser; + labels: Array; + assignee: IssuesUpdateResponseDataAssignee; + assignees: Array; + milestone: IssuesUpdateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesUpdateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesUpdateResponseDataClosedBy; +}; +declare 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[]; +}; +declare type IssuesAddAssigneesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesAddAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesAddAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesAddAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesAddAssigneesResponseDataUser; + labels: Array; + assignee: IssuesAddAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesAddAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesAddAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare 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[]; +}; +declare type IssuesRemoveAssigneesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesRemoveAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesRemoveAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesRemoveAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesRemoveAssigneesResponseDataUser; + labels: Array; + assignee: IssuesRemoveAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesRemoveAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesRemoveAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare 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; +}; +declare type IssuesListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsResponseData = Array; +declare type IssuesCreateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare 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; +}; +declare type IssuesListEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsResponseData = Array; +declare 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; +}; +declare type IssuesListLabelsOnIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsOnIssueResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsOnIssueResponseData = Array; +declare 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[]; +}; +declare type IssuesAddLabelsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddLabelsResponseData = Array; +declare type IssuesReplaceAllLabelsEndpoint = { + /** + * 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[]; +}; +declare type IssuesReplaceAllLabelsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesReplaceAllLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesReplaceAllLabelsResponseData = Array; +declare type IssuesRemoveAllLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesRemoveAllLabelsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * name parameter + */ + name: string; +}; +declare type IssuesRemoveLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveLabelResponseData = Array; +declare 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"; +}; +declare type IssuesLockRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUnlockEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesUnlockRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"mockingbird">; +declare type IssuesListEventsForTimelineRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/timeline"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForTimelineResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForTimelineResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForTimelineResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsForTimelineResponseData = Array; +declare 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; +}; +declare type ReposListDeployKeysRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeployKeysResponseDataItem = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposListDeployKeysResponseData = Array; +declare 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; +}; +declare type ReposAddDeployKeyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposGetDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposGetDeployKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposRemoveDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposRemoveDeployKeyRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListLabelsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForRepoResponseData = Array; +declare 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; +}; +declare type IssuesCreateLabelRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesGetLabelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare 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; +}; +declare type IssuesUpdateLabelRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesDeleteLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesDeleteLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposListLanguagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/languages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesResponseData = { + C: number; + Python: number; +}; +declare type LicensesGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type LicensesGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetForRepoResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type LicensesGetForRepoResponseDataLinks = { + self: string; + git: string; + html: string; +}; +declare type LicensesGetForRepoResponseData = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + content: string; + encoding: string; + _links: LicensesGetForRepoResponseDataLinks; + license: LicensesGetForRepoResponseDataLicense; +}; +declare 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; +}; +declare type ReposMergeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/merges"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposMergeResponseDataParentsItem = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposMergeResponseDataCommitTree = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommit = { + author: ReposMergeResponseDataCommitAuthor; + committer: ReposMergeResponseDataCommitCommitter; + message: string; + tree: ReposMergeResponseDataCommitTree; + url: string; + comment_count: number; + verification: ReposMergeResponseDataCommitVerification; +}; +declare type ReposMergeResponseData = { + sha: string; + node_id: string; + commit: ReposMergeResponseDataCommit; + url: string; + html_url: string; + comments_url: string; + author: ReposMergeResponseDataAuthor; + committer: ReposMergeResponseDataCommitter; + parents: Array; +}; +declare 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; +}; +declare type IssuesListMilestonesForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListMilestonesForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListMilestonesForRepoResponseDataItem = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListMilestonesForRepoResponseDataItemCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListMilestonesForRepoResponseData = Array; +declare 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; +}; +declare type IssuesCreateMilestoneRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesGetMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare 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; +}; +declare type IssuesUpdateMilestoneRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesDeleteMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesDeleteMilestoneRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListLabelsForMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForMilestoneResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForMilestoneResponseData = Array; +declare type ActivityListRepoNotificationsForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkRepoNotificationsAsReadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkRepoNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposGetPagesResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposGetPagesResponseDataSource; +}; +declare type ReposEnablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * source parameter + */ + source?: ReposEnablePagesSiteParamsSource; +} & RequiredPreview<"switcheroo">; +declare type ReposEnablePagesSiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnablePagesSiteResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposEnablePagesSiteResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposEnablePagesSiteResponseDataSource; +}; +declare type ReposDisablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"switcheroo">; +declare type ReposDisablePagesSiteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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"'; +}; +declare type ReposUpdateInformationAboutPagesSiteRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRequestPageBuildRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildResponseData = { + url: string; + status: string; +}; +declare 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; +}; +declare type ReposListPagesBuildsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPagesBuildsResponseDataItemPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPagesBuildsResponseDataItemError = { + message: null; +}; +declare type ReposListPagesBuildsResponseDataItem = { + url: string; + status: string; + error: ReposListPagesBuildsResponseDataItemError; + pusher: ReposListPagesBuildsResponseDataItemPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposListPagesBuildsResponseData = Array; +declare type ReposGetLatestPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetLatestPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetLatestPagesBuildResponseDataError; + pusher: ReposGetLatestPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposGetPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * build_id parameter + */ + build_id: number; +}; +declare type ReposGetPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/:build_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetPagesBuildResponseDataError; + pusher: ReposGetPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForRepoResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForRepoResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForRepoResponseData = Array; +declare type ProjectsCreateForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForRepoResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForRepoResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForRepoResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare 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; +}; +declare type PullsListRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListResponseDataItemLinksStatuses = { + href: string; +}; +declare type PullsListResponseDataItemLinksCommits = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComment = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksIssue = { + href: string; +}; +declare type PullsListResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListResponseDataItemLinks = { + self: PullsListResponseDataItemLinksSelf; + html: PullsListResponseDataItemLinksHtml; + issue: PullsListResponseDataItemLinksIssue; + comments: PullsListResponseDataItemLinksComments; + review_comments: PullsListResponseDataItemLinksReviewComments; + review_comment: PullsListResponseDataItemLinksReviewComment; + commits: PullsListResponseDataItemLinksCommits; + statuses: PullsListResponseDataItemLinksStatuses; +}; +declare type PullsListResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemBaseUser; + repo: PullsListResponseDataItemBaseRepo; +}; +declare type PullsListResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemHeadUser; + repo: PullsListResponseDataItemHeadRepo; +}; +declare type PullsListResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsListResponseDataItemUser; + body: string; + labels: Array; + milestone: PullsListResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsListResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsListResponseDataItemHead; + base: PullsListResponseDataItemBase; + _links: PullsListResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type PullsListResponseData = Array; +declare 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; +}; +declare type PullsCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateResponseDataLinks = { + self: PullsCreateResponseDataLinksSelf; + html: PullsCreateResponseDataLinksHtml; + issue: PullsCreateResponseDataLinksIssue; + comments: PullsCreateResponseDataLinksComments; + review_comments: PullsCreateResponseDataLinksReviewComments; + review_comment: PullsCreateResponseDataLinksReviewComment; + commits: PullsCreateResponseDataLinksCommits; + statuses: PullsCreateResponseDataLinksStatuses; +}; +declare type PullsCreateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataBaseUser; + repo: PullsCreateResponseDataBaseRepo; +}; +declare type PullsCreateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataHeadUser; + repo: PullsCreateResponseDataHeadRepo; +}; +declare type PullsCreateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateResponseDataHead; + base: PullsCreateResponseDataBase; + _links: PullsCreateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsCreateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare 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; +}; +declare type PullsListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinks = { + self: PullsListCommentsForRepoResponseDataItemLinksSelf; + html: PullsListCommentsForRepoResponseDataItemLinksHtml; + pull_request: PullsListCommentsForRepoResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsForRepoResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsForRepoResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsForRepoResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsForRepoResponseData = Array; +declare type PullsGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetCommentResponseDataLinks = { + self: PullsGetCommentResponseDataLinksSelf; + html: PullsGetCommentResponseDataLinksHtml; + pull_request: PullsGetCommentResponseDataLinksPullRequest; +}; +declare type PullsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare 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; +}; +declare type PullsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinks = { + self: PullsUpdateCommentResponseDataLinksSelf; + html: PullsUpdateCommentResponseDataLinksHtml; + pull_request: PullsUpdateCommentResponseDataLinksPullRequest; +}; +declare type PullsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsUpdateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsUpdateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForPullRequestReviewCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForPullRequestReviewCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForPullRequestReviewCommentResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForPullRequestReviewCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForPullRequestReviewCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForPullRequestCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForPullRequestCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataLinksStatuses = { + href: string; +}; +declare type PullsGetResponseDataLinksCommits = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsGetResponseDataLinksComments = { + href: string; +}; +declare type PullsGetResponseDataLinksIssue = { + href: string; +}; +declare type PullsGetResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetResponseDataLinks = { + self: PullsGetResponseDataLinksSelf; + html: PullsGetResponseDataLinksHtml; + issue: PullsGetResponseDataLinksIssue; + comments: PullsGetResponseDataLinksComments; + review_comments: PullsGetResponseDataLinksReviewComments; + review_comment: PullsGetResponseDataLinksReviewComment; + commits: PullsGetResponseDataLinksCommits; + statuses: PullsGetResponseDataLinksStatuses; +}; +declare type PullsGetResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataBaseUser; + repo: PullsGetResponseDataBaseRepo; +}; +declare type PullsGetResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataHeadUser; + repo: PullsGetResponseDataHeadRepo; +}; +declare type PullsGetResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsGetResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsGetResponseDataUser; + body: string; + labels: Array; + milestone: PullsGetResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsGetResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsGetResponseDataHead; + base: PullsGetResponseDataBase; + _links: PullsGetResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsGetResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare 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; +}; +declare type PullsUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsUpdateResponseDataLinksCommits = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksIssue = { + href: string; +}; +declare type PullsUpdateResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateResponseDataLinks = { + self: PullsUpdateResponseDataLinksSelf; + html: PullsUpdateResponseDataLinksHtml; + issue: PullsUpdateResponseDataLinksIssue; + comments: PullsUpdateResponseDataLinksComments; + review_comments: PullsUpdateResponseDataLinksReviewComments; + review_comment: PullsUpdateResponseDataLinksReviewComment; + commits: PullsUpdateResponseDataLinksCommits; + statuses: PullsUpdateResponseDataLinksStatuses; +}; +declare type PullsUpdateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataBaseUser; + repo: PullsUpdateResponseDataBaseRepo; +}; +declare type PullsUpdateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataHeadUser; + repo: PullsUpdateResponseDataHeadRepo; +}; +declare type PullsUpdateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsUpdateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsUpdateResponseDataUser; + body: string; + labels: Array; + milestone: PullsUpdateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsUpdateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsUpdateResponseDataHead; + base: PullsUpdateResponseDataBase; + _links: PullsUpdateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsUpdateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare 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; +}; +declare type PullsListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinks = { + self: PullsListCommentsResponseDataItemLinksSelf; + html: PullsListCommentsResponseDataItemLinksHtml; + pull_request: PullsListCommentsResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsResponseData = Array; +declare 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"; +}; +declare type PullsCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinks = { + self: PullsCreateCommentResponseDataLinksSelf; + html: PullsCreateCommentResponseDataLinksHtml; + pull_request: PullsCreateCommentResponseDataLinksPullRequest; +}; +declare type PullsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsCreateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare 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; +}; +declare type PullsCreateReviewCommentReplyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinks = { + self: PullsCreateReviewCommentReplyResponseDataLinksSelf; + html: PullsCreateReviewCommentReplyResponseDataLinksHtml; + pull_request: PullsCreateReviewCommentReplyResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewCommentReplyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewCommentReplyResponseData = { + url: string; + pull_request_review_id: number; + id: number; + node_id: string; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + user: PullsCreateReviewCommentReplyResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateReviewCommentReplyResponseDataLinks; +}; +declare 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; +}; +declare type PullsListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type PullsListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommit = { + url: string; + author: PullsListCommitsResponseDataItemCommitAuthor; + committer: PullsListCommitsResponseDataItemCommitCommitter; + message: string; + tree: PullsListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: PullsListCommitsResponseDataItemCommitVerification; +}; +declare type PullsListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: PullsListCommitsResponseDataItemCommit; + author: PullsListCommitsResponseDataItemAuthor; + committer: PullsListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type PullsListCommitsResponseData = Array; +declare 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; +}; +declare type PullsListFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListFilesResponseDataItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type PullsListFilesResponseData = Array; +declare type PullsCheckIfMergedEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsCheckIfMergedRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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"; +}; +declare type PullsMergeRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsMergeResponseData = { + sha: string; + merged: boolean; + message: string; +}; +declare 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; +}; +declare type PullsListReviewRequestsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewRequestsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListReviewRequestsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewRequestsResponseData = { + users: Array; + teams: Array; +}; +declare 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[]; +}; +declare type PullsCreateReviewRequestRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewRequestResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinks = { + self: PullsCreateReviewRequestResponseDataLinksSelf; + html: PullsCreateReviewRequestResponseDataLinksHtml; + issue: PullsCreateReviewRequestResponseDataLinksIssue; + comments: PullsCreateReviewRequestResponseDataLinksComments; + review_comments: PullsCreateReviewRequestResponseDataLinksReviewComments; + review_comment: PullsCreateReviewRequestResponseDataLinksReviewComment; + commits: PullsCreateReviewRequestResponseDataLinksCommits; + statuses: PullsCreateReviewRequestResponseDataLinksStatuses; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataBaseUser; + repo: PullsCreateReviewRequestResponseDataBaseRepo; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataHeadUser; + repo: PullsCreateReviewRequestResponseDataHeadRepo; +}; +declare type PullsCreateReviewRequestResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateReviewRequestResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateReviewRequestResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateReviewRequestResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateReviewRequestResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateReviewRequestResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateReviewRequestResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateReviewRequestResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateReviewRequestResponseDataHead; + base: PullsCreateReviewRequestResponseDataBase; + _links: PullsCreateReviewRequestResponseDataLinks; + author_association: string; + draft: boolean; +}; +declare 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[]; +}; +declare type PullsDeleteReviewRequestRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type PullsListReviewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinks = { + html: PullsListReviewsResponseDataItemLinksHtml; + pull_request: PullsListReviewsResponseDataItemLinksPullRequest; +}; +declare type PullsListReviewsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewsResponseDataItem = { + id: number; + node_id: string; + user: PullsListReviewsResponseDataItemUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsListReviewsResponseDataItemLinks; +}; +declare type PullsListReviewsResponseData = Array; +declare 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[]; +}; +declare type PullsCreateReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinks = { + html: PullsCreateReviewResponseDataLinksHtml; + pull_request: PullsCreateReviewResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewResponseData = { + id: number; + node_id: string; + user: PullsCreateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsCreateReviewResponseDataLinks; +}; +declare type PullsGetReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsGetReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetReviewResponseDataLinks = { + html: PullsGetReviewResponseDataLinksHtml; + pull_request: PullsGetReviewResponseDataLinksPullRequest; +}; +declare type PullsGetReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetReviewResponseData = { + id: number; + node_id: string; + user: PullsGetReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsGetReviewResponseDataLinks; +}; +declare type PullsDeletePendingReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsDeletePendingReviewRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDeletePendingReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinks = { + html: PullsDeletePendingReviewResponseDataLinksHtml; + pull_request: PullsDeletePendingReviewResponseDataLinksPullRequest; +}; +declare type PullsDeletePendingReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDeletePendingReviewResponseData = { + id: number; + node_id: string; + user: PullsDeletePendingReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDeletePendingReviewResponseDataLinks; +}; +declare 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; +}; +declare type PullsUpdateReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinks = { + html: PullsUpdateReviewResponseDataLinksHtml; + pull_request: PullsUpdateReviewResponseDataLinksPullRequest; +}; +declare type PullsUpdateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateReviewResponseData = { + id: number; + node_id: string; + user: PullsUpdateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsUpdateReviewResponseDataLinks; +}; +declare 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; +}; +declare type PullsGetCommentsForReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinks = { + self: PullsGetCommentsForReviewResponseDataItemLinksSelf; + html: PullsGetCommentsForReviewResponseDataItemLinksHtml; + pull_request: PullsGetCommentsForReviewResponseDataItemLinksPullRequest; +}; +declare type PullsGetCommentsForReviewResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentsForReviewResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentsForReviewResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentsForReviewResponseDataItemLinks; +}; +declare type PullsGetCommentsForReviewResponseData = Array; +declare 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; +}; +declare type PullsDismissReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDismissReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinks = { + html: PullsDismissReviewResponseDataLinksHtml; + pull_request: PullsDismissReviewResponseDataLinksPullRequest; +}; +declare type PullsDismissReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDismissReviewResponseData = { + id: number; + node_id: string; + user: PullsDismissReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDismissReviewResponseDataLinks; +}; +declare 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"; +}; +declare type PullsSubmitReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsSubmitReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinks = { + html: PullsSubmitReviewResponseDataLinksHtml; + pull_request: PullsSubmitReviewResponseDataLinksPullRequest; +}; +declare type PullsSubmitReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsSubmitReviewResponseData = { + id: number; + node_id: string; + user: PullsSubmitReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsSubmitReviewResponseDataLinks; +}; +declare 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; +} & RequiredPreview<"lydian">; +declare type PullsUpdateBranchRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/update-branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateBranchResponseData = { + message: string; + url: string; +}; +declare 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; +}; +declare type ReposGetReadmeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/readme"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReadmeResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetReadmeResponseData = { + type: string; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string; + _links: ReposGetReadmeResponseDataLinks; +}; +declare 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; +}; +declare type ReposListReleasesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListReleasesResponseDataItemAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItemAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListReleasesResponseDataItemAssetsItemUploader; +}; +declare type ReposListReleasesResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItem = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposListReleasesResponseDataItemAuthor; + assets: Array; +}; +declare type ReposListReleasesResponseData = Array; +declare 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; +}; +declare type ReposCreateReleaseRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposCreateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposGetReleaseAssetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseAssetResponseDataUploader; +}; +declare 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; +}; +declare type ReposUpdateReleaseAssetRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseAssetResponseDataUploader; +}; +declare type ReposDeleteReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposDeleteReleaseAssetRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetLatestReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetLatestReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetLatestReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseByTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag parameter + */ + tag: string; +}; +declare type ReposGetReleaseByTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/tags/:tag"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseByTagResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseByTagResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseByTagResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposGetReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseResponseDataAuthor; + assets: Array; +}; +declare 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; +}; +declare type ReposUpdateReleaseRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseResponseDataAssetsItemUploader; +}; +declare type ReposUpdateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposUpdateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposDeleteReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposDeleteReleaseRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListAssetsForReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id/assets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListAssetsForReleaseResponseDataItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListAssetsForReleaseResponseDataItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListAssetsForReleaseResponseDataItemUploader; +}; +declare type ReposListAssetsForReleaseResponseData = Array; +declare type ReposUploadReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * name parameter + */ + name?: string; + /** + * label parameter + */ + label?: string; + /** + * The raw file data + */ + data: string; + /** + * The URL origin (protocol + host name + port) is included in `upload_url` returned in the response of the "Create a release" endpoint + */ + origin?: string; + /** + * For https://api.github.com, set `baseUrl` to `https://uploads.github.com`. For GitHub Enterprise Server, set it to `/api/uploads` + */ + baseUrl: string; +} & { + headers: { + "content-type": string; + }; +}; +declare type ReposUploadReleaseAssetRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases/:release_id/assets{?name,label}"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUploadReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUploadReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUploadReleaseAssetResponseDataUploader; +}; +declare 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; +}; +declare type ActivityListStargazersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stargazers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListStargazersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListStargazersForRepoResponseData = Array; +declare type ReposGetCodeFrequencyStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCodeFrequencyStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/code_frequency"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCodeFrequencyStatsResponseData = Array>; +declare type ReposGetCommitActivityStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCommitActivityStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/commit_activity"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitActivityStatsResponseDataItem = { + days: Array; + total: number; + week: number; +}; +declare type ReposGetCommitActivityStatsResponseData = Array; +declare type ReposGetContributorsStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetContributorsStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContributorsStatsResponseDataItemWeeksItem = { + w: string; + a: number; + d: number; + c: number; +}; +declare type ReposGetContributorsStatsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetContributorsStatsResponseDataItem = { + author: ReposGetContributorsStatsResponseDataItemAuthor; + total: number; + weeks: Array; +}; +declare type ReposGetContributorsStatsResponseData = Array; +declare type ReposGetParticipationStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetParticipationStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/participation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetParticipationStatsResponseData = { + all: Array; + owner: Array; +}; +declare type ReposGetPunchCardStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPunchCardStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/punch_card"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPunchCardStatsResponseData = Array>; +declare 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; +}; +declare type ReposCreateStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/statuses/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateStatusResponseData = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposCreateStatusResponseDataCreator; +}; +declare 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; +}; +declare type ActivityListWatchersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscribers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchersForRepoResponseData = Array; +declare type ActivityGetRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityGetRepoSubscriptionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare 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; +}; +declare type ActivitySetRepoSubscriptionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare type ActivityDeleteRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityDeleteRepoSubscriptionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListTagsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTagsResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListTagsResponseDataItem = { + name: string; + commit: ReposListTagsResponseDataItemCommit; + zipball_url: string; + tarball_url: string; +}; +declare type ReposListTagsResponseData = Array; +declare 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; +}; +declare type ReposListTeamsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListTeamsResponseData = Array; +declare type ReposGetAllTopicsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"mercy">; +declare type ReposGetAllTopicsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAllTopicsResponseData = { + names: Array; +}; +declare type ReposReplaceAllTopicsEndpoint = { + /** + * 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[]; +} & RequiredPreview<"mercy">; +declare type ReposReplaceAllTopicsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceAllTopicsResponseData = { + names: Array; +}; +declare type ReposGetClonesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetClonesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/clones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetClonesResponseDataClonesItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetClonesResponseData = { + count: number; + uniques: number; + clones: Array; +}; +declare type ReposGetTopPathsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopPathsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/paths"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopPathsResponseDataItem = { + path: string; + title: string; + count: number; + uniques: number; +}; +declare type ReposGetTopPathsResponseData = Array; +declare type ReposGetTopReferrersEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopReferrersRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/referrers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopReferrersResponseDataItem = { + referrer: string; + count: number; + uniques: number; +}; +declare type ReposGetTopReferrersResponseData = Array; +declare type ReposGetViewsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetViewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/views"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetViewsResponseDataViewsItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetViewsResponseData = { + count: number; + uniques: number; + views: Array; +}; +declare 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[]; +}; +declare type ReposTransferRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/transfer"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTransferResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposTransferResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposTransferResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposTransferResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposTransferResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCheckVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposCheckVulnerabilityAlertsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposEnableVulnerabilityAlertsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposDisableVulnerabilityAlertsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetArchiveLinkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * archive_format parameter + */ + archive_format: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetArchiveLinkRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/:archive_format/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"baptiste">; +declare type ReposCreateUsingTemplateRequestOptions = { + method: "POST"; + url: "/repos/:template_owner/:template_repo/generate"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCreateUsingTemplateResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: ReposCreateUsingTemplateResponseDataTemplateRepository; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPublicEndpoint = { + /** + * The integer ID of the last repository that you've seen. + */ + since?: number; +}; +declare type ReposListPublicRequestOptions = { + method: "GET"; + url: "/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPublicResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPublicResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListPublicResponseData = Array; +declare 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; +}; +declare type ScimListProvisionedIdentitiesRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemEmailsItem = { + value: string; + primary: boolean; + type: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemName = { + givenName: string; + familyName: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItem = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimListProvisionedIdentitiesResponseDataResourcesItemName; + emails: Array; + active: boolean; + meta: ScimListProvisionedIdentitiesResponseDataResourcesItemMeta; +}; +declare type ScimListProvisionedIdentitiesResponseData = { + schemas: Array; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: Array; +}; +declare type ScimProvisionAndInviteUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ScimProvisionAndInviteUsersRequestOptions = { + method: "POST"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimProvisionAndInviteUsersResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimProvisionAndInviteUsersResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimProvisionAndInviteUsersResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimProvisionAndInviteUsersResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimProvisionAndInviteUsersResponseDataName; + emails: Array; + active: boolean; + meta: ScimProvisionAndInviteUsersResponseDataMeta; +}; +declare type ScimGetProvisioningDetailsForUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimGetProvisioningDetailsForUserRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimGetProvisioningDetailsForUserResponseDataName; + emails: Array; + active: boolean; + meta: ScimGetProvisioningDetailsForUserResponseDataMeta; +}; +declare type ScimReplaceProvisionedUserInformationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimReplaceProvisionedUserInformationRequestOptions = { + method: "PUT"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimReplaceProvisionedUserInformationResponseDataName; + emails: Array; + active: boolean; + meta: ScimReplaceProvisionedUserInformationResponseDataMeta; +}; +declare type ScimUpdateUserAttributeEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimUpdateUserAttributeRequestOptions = { + method: "PATCH"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimUpdateUserAttributeResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimUpdateUserAttributeResponseDataEmailsItem = { + value: string; + type: string; + primary?: boolean; +}; +declare type ScimUpdateUserAttributeResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimUpdateUserAttributeResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimUpdateUserAttributeResponseDataName; + emails: Array; + active: boolean; + meta: ScimUpdateUserAttributeResponseDataMeta; +}; +declare type ScimRemoveUserFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimRemoveUserFromOrgRequestOptions = { + method: "DELETE"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type SearchCodeRequestOptions = { + method: "GET"; + url: "/search/code"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCodeResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCodeResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCodeResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; +}; +declare type SearchCodeResponseDataItemsItem = { + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + repository: SearchCodeResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCodeResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +} & RequiredPreview<"cloak">; +declare type SearchCommitsRequestOptions = { + method: "GET"; + url: "/search/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCommitsResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCommitsResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type SearchCommitsResponseDataItemsItemParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemCommitTree = { + url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommit = { + url: string; + author: SearchCommitsResponseDataItemsItemCommitAuthor; + committer: SearchCommitsResponseDataItemsItemCommitCommitter; + message: string; + tree: SearchCommitsResponseDataItemsItemCommitTree; + comment_count: number; +}; +declare type SearchCommitsResponseDataItemsItem = { + url: string; + sha: string; + html_url: string; + comments_url: string; + commit: SearchCommitsResponseDataItemsItemCommit; + author: SearchCommitsResponseDataItemsItemAuthor; + committer: SearchCommitsResponseDataItemsItemCommitter; + parents: Array; + repository: SearchCommitsResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCommitsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchIssuesAndPullRequestsRequestOptions = { + method: "GET"; + url: "/search/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest = { + html_url: null; + diff_url: null; + patch_url: null; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItem = { + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + user: SearchIssuesAndPullRequestsResponseDataItemsItemUser; + labels: Array; + state: string; + assignee: null; + milestone: null; + comments: number; + created_at: string; + updated_at: string; + closed_at: null; + pull_request: SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest; + body: string; + score: number; +}; +declare type SearchIssuesAndPullRequestsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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"; +}; +declare type SearchLabelsRequestOptions = { + method: "GET"; + url: "/search/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchLabelsResponseDataItemsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; + default: boolean; + description: string; + score: number; +}; +declare type SearchLabelsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchReposRequestOptions = { + method: "GET"; + url: "/search/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposResponseDataItemsItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + received_events_url: string; + type: string; +}; +declare type SearchReposResponseDataItemsItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchReposResponseDataItemsItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + created_at: string; + updated_at: string; + pushed_at: string; + homepage: string; + size: number; + stargazers_count: number; + watchers_count: number; + language: string; + forks_count: number; + open_issues_count: number; + master_branch: string; + default_branch: string; + score: number; +}; +declare type SearchReposResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchTopicsRequestOptions = { + method: "GET"; + url: "/search/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchTopicsResponseDataItemsItem = { + name: string; + display_name: string; + short_description: string; + description: string; + created_by: string; + released: string; + created_at: string; + updated_at: string; + featured: boolean; + curated: boolean; + score: number; +}; +declare type SearchTopicsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchUsersRequestOptions = { + method: "GET"; + url: "/search/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersResponseDataItemsItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + received_events_url: string; + type: string; + score: number; +}; +declare type SearchUsersResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type TeamsGetLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsGetLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetLegacyResponseDataOrganization; +}; +declare type TeamsUpdateLegacyEndpoint = { + /** + * 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. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateLegacyResponseDataOrganization; +}; +declare type TeamsDeleteLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsListDiscussionsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsLegacyResponseDataItem = { + author: TeamsListDiscussionsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionsLegacyResponseData = Array; +declare type TeamsCreateDiscussionLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsCreateDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionLegacyResponseData = { + author: TeamsCreateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionLegacyResponseData = { + author: TeamsGetDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsUpdateDiscussionLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionLegacyResponseData = { + author: TeamsUpdateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsListDiscussionCommentsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItem = { + author: TeamsListDiscussionCommentsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseData = Array; +declare type TeamsCreateDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseData = { + author: TeamsCreateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentLegacyResponseData = { + author: TeamsGetDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsUpdateDiscussionCommentLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseData = { + author: TeamsUpdateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyEndpoint = { + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentLegacyEndpoint = { + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyEndpoint = { + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionLegacyEndpoint = { + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type TeamsListPendingInvitationsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsLegacyResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsLegacyResponseData = Array; +declare type TeamsListMembersLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsListMembersLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersLegacyResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersLegacyResponseData = Array; +declare type TeamsGetMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMemberLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsAddMemberLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyResponseDataErrorsItem = { + code: string; + field: string; + resource: string; +}; +declare type TeamsAddMemberLegacyResponseData = { + message: string; + errors: Array; +}; +declare type TeamsRemoveMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMemberLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipLegacyEndpoint = { + /** + * 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"; +}; +declare type TeamsAddOrUpdateMembershipLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsLegacyResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsLegacyResponseDataItemPermissions; +}; +declare type TeamsListProjectsLegacyResponseData = Array; +declare type TeamsReviewProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectLegacyResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectLegacyResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectLegacyEndpoint = { + /** + * 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)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectLegacyResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposLegacyResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposLegacyResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposLegacyResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposLegacyResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposLegacyResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposLegacyResponseDataItemLicense; +}; +declare type TeamsListReposLegacyResponseData = Array; +declare type TeamsCheckManagesRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseData = { + organization: TeamsCheckManagesRepoLegacyResponseDataOrganization; + parent: TeamsCheckManagesRepoLegacyResponseDataParent; + source: TeamsCheckManagesRepoLegacyResponseDataSource; + permissions: TeamsCheckManagesRepoLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoLegacyEndpoint = { + /** + * 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. + */ + permission?: "pull" | "push" | "admin"; +}; +declare type TeamsAddOrUpdateRepoLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsListIdPGroupsForLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForLegacyResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint = { + /** + * 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: TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseData = { + groups: Array; +}; +declare type TeamsListChildLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildLegacyResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildLegacyResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildLegacyResponseDataItemParent; +}; +declare type TeamsListChildLegacyResponseData = Array; +declare type UsersGetAuthenticatedEndpoint = {}; +declare type UsersGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersGetAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists?: number; + total_private_repos?: number; + owned_private_repos?: number; + disk_usage?: number; + collaborators?: number; + two_factor_authentication?: boolean; + plan?: UsersGetAuthenticatedResponseDataPlan; +}; +declare 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; +}; +declare type UsersUpdateAuthenticatedRequestOptions = { + method: "PATCH"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUpdateAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersUpdateAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists: number; + total_private_repos: number; + owned_private_repos: number; + disk_usage: number; + collaborators: number; + two_factor_authentication: boolean; + plan: UsersUpdateAuthenticatedResponseDataPlan; +}; +declare type UsersListBlockedEndpoint = {}; +declare type UsersListBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListBlockedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListBlockedResponseData = Array; +declare type UsersCheckBlockedEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersBlockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersBlockRequestOptions = { + method: "PUT"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnblockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnblockRequestOptions = { + method: "DELETE"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type UsersTogglePrimaryEmailVisibilityRequestOptions = { + method: "PATCH"; + url: "/user/email/visibility"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseData = Array; +declare type UsersListEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListEmailsRequestOptions = { + method: "GET"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListEmailsResponseData = Array; +declare 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[]; +}; +declare type UsersAddEmailsRequestOptions = { + method: "POST"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersAddEmailsResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; +}; +declare type UsersAddEmailsResponseData = Array; +declare 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[]; +}; +declare type UsersDeleteEmailsRequestOptions = { + method: "DELETE"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForAuthenticatedUserResponseData = Array; +declare type UsersListFollowedByAuthenticatedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowedByAuthenticatedRequestOptions = { + method: "GET"; + url: "/user/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowedByAuthenticatedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowedByAuthenticatedResponseData = Array; +declare type UsersCheckFollowingEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckFollowingRequestOptions = { + method: "GET"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersFollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersFollowRequestOptions = { + method: "PUT"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnfollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnfollowRequestOptions = { + method: "DELETE"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysRequestOptions = { + method: "GET"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseData = Array; +declare 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; +}; +declare type UsersCreateGpgKeyRequestOptions = { + method: "POST"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreateGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersCreateGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersCreateGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersGetGpgKeyRequestOptions = { + method: "GET"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersGetGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersDeleteGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersDeleteGpgKeyRequestOptions = { + method: "DELETE"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url: string; + description?: string; + gravatar_id?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItem = { + id: number; + account: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions; + events: Array; + single_file_name: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseData = { + total_count: number; + installations: Array; +}; +declare 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; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations/:installation_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsAddRepoToInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsAddRepoToInstallationRequestOptions = { + method: "PUT"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRemoveRepoFromInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsRemoveRepoFromInstallationRequestOptions = { + method: "DELETE"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForAuthenticatedUserResponseDataItemUser; + labels: Array; + assignee: IssuesListForAuthenticatedUserResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForAuthenticatedUserResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForAuthenticatedUserResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForAuthenticatedUserResponseDataItemRepository; +}; +declare type IssuesListForAuthenticatedUserResponseData = Array; +declare type UsersListPublicKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysRequestOptions = { + method: "GET"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysResponseDataItem = { + key_id: string; + key: string; +}; +declare type UsersListPublicKeysResponseData = Array; +declare 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; +}; +declare type UsersCreatePublicKeyRequestOptions = { + method: "POST"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreatePublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersGetPublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersGetPublicKeyRequestOptions = { + method: "GET"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersDeletePublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersDeletePublicKeyRequestOptions = { + method: "DELETE"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseData = Array; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases/stubbed"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseData = Array; +declare 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; +}; +declare type OrgsListMembershipsRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembershipsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembershipsResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListMembershipsResponseDataItem = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsListMembershipsResponseDataItemOrganization; + user: OrgsListMembershipsResponseDataItemUser; +}; +declare type OrgsListMembershipsResponseData = Array; +declare type OrgsGetMembershipForAuthenticatedUserEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipForAuthenticatedUserResponseDataOrganization; + user: OrgsGetMembershipForAuthenticatedUserResponseDataUser; +}; +declare type OrgsUpdateMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; +}; +declare type OrgsUpdateMembershipRequestOptions = { + method: "PATCH"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsUpdateMembershipResponseDataOrganization; + user: OrgsUpdateMembershipResponseDataUser; +}; +declare 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; +}; +declare type MigrationsStartForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsStartForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItem = { + id: number; + owner: MigrationsListForAuthenticatedUserResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserResponseData = Array; +declare type MigrationsGetStatusForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsGetArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetArchiveForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForAuthenticatedUserResponseData = Array; +declare type ProjectsCreateForAuthenticatedUserEndpoint = { + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForAuthenticatedUserResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForAuthenticatedUserResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForAuthenticatedUserResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type UsersListPublicEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicEmailsRequestOptions = { + method: "GET"; + url: "/user/public_emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListPublicEmailsResponseData = Array; +declare type ReposListForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ReposListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForAuthenticatedUserResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForAuthenticatedUserResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForAuthenticatedUserResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListInvitationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListInvitationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repository_invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItem = { + id: number; + repository: ReposListInvitationsForAuthenticatedUserResponseDataItemRepository; + invitee: ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee; + inviter: ReposListInvitationsForAuthenticatedUserResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseData = Array; +declare type ReposAcceptInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposAcceptInvitationRequestOptions = { + method: "PATCH"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeclineInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeclineInvitationRequestOptions = { + method: "DELETE"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ActivityListReposStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseData = Array; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStarRepoForAuthenticatedUserRequestOptions = { + method: "PUT"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityUnstarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityUnstarRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListWatchedReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseData = Array; +declare type ActivityCheckWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckWatchingRepoLegacyRequestOptions = { + method: "GET"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityWatchRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityWatchRepoLegacyRequestOptions = { + method: "PUT"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStopWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStopWatchingRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsListForAuthenticatedUserResponseDataItemOrganization; +}; +declare type TeamsListForAuthenticatedUserResponseData = Array; +declare type MigrationsListReposForUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForUserRequestOptions = { + method: "GET"; + url: "/user/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForUserResponseDataItemLicense; +}; +declare type MigrationsListReposForUserResponseData = Array; +declare type UsersListEndpoint = { + /** + * The integer ID of the last User that you've seen. + */ + since?: string; +}; +declare type UsersListRequestOptions = { + method: "GET"; + url: "/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListResponseData = Array; +declare type UsersGetByUsernameEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersGetByUsernameRequestOptions = { + method: "GET"; + url: "/users/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetByUsernameResponseDataPlan = { + name: string; + space: number; + collaborators: number; + private_repos: number; +}; +declare type UsersGetByUsernameResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + plan?: UsersGetByUsernameResponseDataPlan; +}; +declare type ActivityListEventsForAuthenticatedUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListOrgEventsForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ActivityListOrgEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForUserRequestOptions = { + method: "GET"; + url: "/users/:username/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForUserResponseData = Array; +declare type UsersListFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowingForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowingForUserResponseData = Array; +declare type UsersCheckFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * target_user parameter + */ + target_user: string; +}; +declare type UsersCheckFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following/:target_user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserEndpoint = { + /** + * 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; +}; +declare type GistsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForUserResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListForUserResponseDataItemFiles = { + "hello_world.rb": GistsListForUserResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListForUserResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListForUserResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListForUserResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListForUserResponseData = Array; +declare type UsersListGpgKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysForUserResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysForUserResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseData = Array; +declare 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; +}; +declare type UsersGetContextForUserRequestOptions = { + method: "GET"; + url: "/users/:username/hovercard"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetContextForUserResponseDataContextsItem = { + message: string; + octicon: string; +}; +declare type UsersGetContextForUserResponseData = { + contexts: Array; +}; +declare type AppsGetUserInstallationEndpoint = { + /** + * username parameter + */ + username: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetUserInstallationRequestOptions = { + method: "GET"; + url: "/users/:username/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetUserInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetUserInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetUserInstallationResponseData = { + id: number; + account: AppsGetUserInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetUserInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type UsersListPublicKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysForUserResponseDataItem = { + id: number; + key: string; +}; +declare type UsersListPublicKeysForUserResponseData = Array; +declare type OrgsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForUserResponseData = Array; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForUserResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForUserResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForUserResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForUserResponseData = Array; +declare type ActivityListReceivedEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReceivedPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ActivityListReposStarredByUserRequestOptions = { + method: "GET"; + url: "/users/:username/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByUserResponseData = Array; +declare type ActivityListReposWatchedByUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposWatchedByUserRequestOptions = { + method: "GET"; + url: "/users/:username/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposWatchedByUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListReposWatchedByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposWatchedByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposWatchedByUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListReposWatchedByUserResponseDataItemLicense; +}; +declare type ActivityListReposWatchedByUserResponseData = Array; +declare type AppsCreateInstallationTokenParamsPermissions = {}; +declare type GistsCreateParamsFiles = { + content?: string; +}; +declare type GistsUpdateParamsFiles = { + content?: string; + filename?: string; +}; +declare type OrgsCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type OrgsUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type ReposUpdateBranchProtectionParamsRequiredStatusChecks = { + strict: boolean; + contexts: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviews = { + dismissal_restrictions?: ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRestrictions = { + users: string[]; + teams: string[]; + apps?: string[]; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ChecksCreateParamsOutput = { + title: string; + summary: string; + text?: string; + annotations?: ChecksCreateParamsOutputAnnotations[]; + images?: ChecksCreateParamsOutputImages[]; +}; +declare 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; +}; +declare type ChecksCreateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksCreateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksUpdateParamsOutput = { + title?: string; + summary: string; + text?: string; + annotations?: ChecksUpdateParamsOutputAnnotations[]; + images?: ChecksUpdateParamsOutputImages[]; +}; +declare 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; +}; +declare type ChecksUpdateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksUpdateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksSetSuitesPreferencesParamsAutoTriggerChecks = { + app_id: number; + setting: boolean; +}; +declare type ReposCreateOrUpdateFileParamsCommitter = { + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileParamsAuthor = { + name: string; + email: string; +}; +declare type ReposDeleteFileParamsCommitter = { + name?: string; + email?: string; +}; +declare type ReposDeleteFileParamsAuthor = { + name?: string; + email?: string; +}; +declare type ReposCreateDispatchEventParamsClientPayload = {}; +declare type GitCreateCommitParamsAuthor = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateCommitParamsCommitter = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTagParamsTagger = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTreeParamsTree = { + path?: string; + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + type?: "blob" | "tree" | "commit"; + sha?: string | null; + content?: string; +}; +declare type ReposCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposEnablePagesSiteParamsSource = { + branch?: "master" | "gh-pages"; + path?: string; +}; +declare type PullsCreateReviewParamsComments = { + path: string; + position: number; + body: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +export {}; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 0000000..5d2d5ae --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,20 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js new file mode 100644 index 0000000..3c0cafc --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js @@ -0,0 +1,4 @@ +const VERSION = "2.16.2"; + +export { VERSION }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js.map new file mode 100644 index 0000000..cd0e254 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/package.json b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/package.json new file mode 100644 index 0000000..9036e41 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types/package.json @@ -0,0 +1,49 @@ +{ + "name": "@octokit/types", + "description": "Shared TypeScript definitions for Octokit projects", + "version": "2.16.2", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "repository": "https://github.com/octokit/types.ts", + "dependencies": { + "@types/node": ">= 8" + }, + "devDependencies": { + "@gimenete/type-writer": "^0.1.5", + "@octokit/graphql": "^4.2.2", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "handlebars": "^4.7.6", + "lodash.set": "^4.3.2", + "npm-run-all": "^4.1.5", + "pascal-case": "^3.1.1", + "prettier": "^2.0.0", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.17.0", + "typescript": "^3.6.4" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/plugin-paginate-rest/package.json b/node_modules/@octokit/plugin-paginate-rest/package.json new file mode 100644 index 0000000..a8f9f88 --- /dev/null +++ b/node_modules/@octokit/plugin-paginate-rest/package.json @@ -0,0 +1,46 @@ +{ + "name": "@octokit/plugin-paginate-rest", + "description": "Octokit plugin to paginate REST API endpoint responses", + "version": "1.1.2", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "repository": "https://github.com/octokit/plugin-paginate-rest.js", + "dependencies": { + "@octokit/types": "^2.0.1" + }, + "devDependencies": { + "@octokit/core": "^2.0.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.8.1", + "@pika/plugin-build-web": "^0.8.1", + "@pika/plugin-ts-standard-pkg": "^0.8.1", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^24.0.18", + "@types/node": "^13.1.0", + "fetch-mock": "^8.0.0", + "jest": "^24.9.0", + "prettier": "^1.18.2", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^24.1.0", + "typescript": "^3.7.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/plugin-request-log/LICENSE b/node_modules/@octokit/plugin-request-log/LICENSE new file mode 100644 index 0000000..d7d5927 --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2020 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@octokit/plugin-request-log/README.md b/node_modules/@octokit/plugin-request-log/README.md new file mode 100644 index 0000000..cbc8f1b --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/README.md @@ -0,0 +1,69 @@ +# plugin-request-log.js + +> Log all requests and request errors + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-request-log.svg)](https://www.npmjs.com/package/@octokit/plugin-request-log) +[![Build Status](https://github.com/octokit/plugin-request-log.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-request-log.js/actions?workflow=Test) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-request-log` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-request-log`. Optionally replace `@octokit/core` with a core-compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { requestLog } = require("@octokit/plugin-request-log"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(requestLog); +const octokit = new MyOctokit({ auth: "secret123" }); + +octokit.request("GET /"); +// logs "GET / - 200 in 123ms + +octokit.request("GET /oops"); +// logs "GET / - 404 in 123ms +``` + +In order to log all request options, the `log.debug` option needs to be set. We recommend the [console-log-level](https://github.com/watson/console-log-level) package for a configurable log level + +```js +const octokit = new MyOctokit({ + log: require("console-log-level")({ + auth: "secret123", + level: "info", + }), +}); +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-request-log/dist-node/index.js b/node_modules/@octokit/plugin-request-log/dist-node/index.js new file mode 100644 index 0000000..acb457f --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-node/index.js @@ -0,0 +1,30 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "1.0.4"; + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ + +function requestLog(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; + }); + }); +} +requestLog.VERSION = VERSION; + +exports.requestLog = requestLog; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-request-log/dist-node/index.js.map b/node_modules/@octokit/plugin-request-log/dist-node/index.js.map new file mode 100644 index 0000000..e403f1a --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"1.0.4\";\n","import { VERSION } from \"./version\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function requestLog(octokit) {\n octokit.hook.wrap(\"request\", (request, options) => {\n octokit.log.debug(\"request\", options);\n const start = Date.now();\n const requestOptions = octokit.request.endpoint.parse(options);\n const path = requestOptions.url.replace(options.baseUrl, \"\");\n return request(options)\n .then((response) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`);\n return response;\n })\n .catch((error) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`);\n throw error;\n });\n });\n}\nrequestLog.VERSION = VERSION;\n"],"names":["VERSION","requestLog","octokit","hook","wrap","request","options","log","debug","start","Date","now","requestOptions","endpoint","parse","path","url","replace","baseUrl","then","response","info","method","status","catch","error"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACCP;AACA;AACA;AACA;;AACA,AAAO,SAASC,UAAT,CAAoBC,OAApB,EAA6B;AAChCA,EAAAA,OAAO,CAACC,IAAR,CAAaC,IAAb,CAAkB,SAAlB,EAA6B,CAACC,OAAD,EAAUC,OAAV,KAAsB;AAC/CJ,IAAAA,OAAO,CAACK,GAAR,CAAYC,KAAZ,CAAkB,SAAlB,EAA6BF,OAA7B;AACA,UAAMG,KAAK,GAAGC,IAAI,CAACC,GAAL,EAAd;AACA,UAAMC,cAAc,GAAGV,OAAO,CAACG,OAAR,CAAgBQ,QAAhB,CAAyBC,KAAzB,CAA+BR,OAA/B,CAAvB;AACA,UAAMS,IAAI,GAAGH,cAAc,CAACI,GAAf,CAAmBC,OAAnB,CAA2BX,OAAO,CAACY,OAAnC,EAA4C,EAA5C,CAAb;AACA,WAAOb,OAAO,CAACC,OAAD,CAAP,CACFa,IADE,CACIC,QAAD,IAAc;AACpBlB,MAAAA,OAAO,CAACK,GAAR,CAAYc,IAAZ,CAAkB,GAAET,cAAc,CAACU,MAAO,IAAGP,IAAK,MAAKK,QAAQ,CAACG,MAAO,OAAMb,IAAI,CAACC,GAAL,KAAaF,KAAM,IAAhG;AACA,aAAOW,QAAP;AACH,KAJM,EAKFI,KALE,CAKKC,KAAD,IAAW;AAClBvB,MAAAA,OAAO,CAACK,GAAR,CAAYc,IAAZ,CAAkB,GAAET,cAAc,CAACU,MAAO,IAAGP,IAAK,MAAKU,KAAK,CAACF,MAAO,OAAMb,IAAI,CAACC,GAAL,KAAaF,KAAM,IAA7F;AACA,YAAMgB,KAAN;AACH,KARM,CAAP;AASH,GAdD;AAeH;AACDxB,UAAU,CAACD,OAAX,GAAqBA,OAArB;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-request-log/dist-src/index.js b/node_modules/@octokit/plugin-request-log/dist-src/index.js new file mode 100644 index 0000000..033cc84 --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-src/index.js @@ -0,0 +1,23 @@ +import { VERSION } from "./version"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export function requestLog(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; + }); + }); +} +requestLog.VERSION = VERSION; diff --git a/node_modules/@octokit/plugin-request-log/dist-src/version.js b/node_modules/@octokit/plugin-request-log/dist-src/version.js new file mode 100644 index 0000000..0e972ed --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "1.0.4"; diff --git a/node_modules/@octokit/plugin-request-log/dist-types/index.d.ts b/node_modules/@octokit/plugin-request-log/dist-types/index.d.ts new file mode 100644 index 0000000..dc62f63 --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-types/index.d.ts @@ -0,0 +1,9 @@ +import type { Octokit } from "@octokit/core"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export declare function requestLog(octokit: Octokit): void; +export declare namespace requestLog { + var VERSION: string; +} diff --git a/node_modules/@octokit/plugin-request-log/dist-types/version.d.ts b/node_modules/@octokit/plugin-request-log/dist-types/version.d.ts new file mode 100644 index 0000000..43d0a4b --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "1.0.4"; diff --git a/node_modules/@octokit/plugin-request-log/dist-web/index.js b/node_modules/@octokit/plugin-request-log/dist-web/index.js new file mode 100644 index 0000000..3c1aaaf --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-web/index.js @@ -0,0 +1,27 @@ +const VERSION = "1.0.4"; + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +function requestLog(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; + }); + }); +} +requestLog.VERSION = VERSION; + +export { requestLog }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-request-log/dist-web/index.js.map b/node_modules/@octokit/plugin-request-log/dist-web/index.js.map new file mode 100644 index 0000000..4f1054c --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"1.0.4\";\n","import { VERSION } from \"./version\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function requestLog(octokit) {\n octokit.hook.wrap(\"request\", (request, options) => {\n octokit.log.debug(\"request\", options);\n const start = Date.now();\n const requestOptions = octokit.request.endpoint.parse(options);\n const path = requestOptions.url.replace(options.baseUrl, \"\");\n return request(options)\n .then((response) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`);\n return response;\n })\n .catch((error) => {\n octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`);\n throw error;\n });\n });\n}\nrequestLog.VERSION = VERSION;\n"],"names":[],"mappings":"AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACC1C;AACA;AACA;AACA;AACA,AAAO,SAAS,UAAU,CAAC,OAAO,EAAE;AACpC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK;AACvD,QAAQ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC9C,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACjC,QAAQ,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACvE,QAAQ,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACrE,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC;AAC/B,aAAa,IAAI,CAAC,CAAC,QAAQ,KAAK;AAChC,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACjH,YAAY,OAAO,QAAQ,CAAC;AAC5B,SAAS,CAAC;AACV,aAAa,KAAK,CAAC,CAAC,KAAK,KAAK;AAC9B,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9G,YAAY,MAAM,KAAK,CAAC;AACxB,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;AACD,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-request-log/package.json b/node_modules/@octokit/plugin-request-log/package.json new file mode 100644 index 0000000..22c1c8f --- /dev/null +++ b/node_modules/@octokit/plugin-request-log/package.json @@ -0,0 +1,47 @@ +{ + "name": "@octokit/plugin-request-log", + "description": "Log all requests and request errors", + "version": "1.0.4", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "repository": "github:octokit/plugin-request-log.js", + "dependencies": {}, + "peerDependencies": { + "@octokit/core": ">=3" + }, + "devDependencies": { + "@octokit/core": "^3.0.0", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/fetch-mock": "^7.3.2", + "@types/jest": "^26.0.0", + "@types/node": "^14.0.4", + "fetch-mock": "^9.0.0", + "jest": "^27.0.0", + "prettier": "2.3.1", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.0" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE b/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/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/plugin-rest-endpoint-methods/README.md b/node_modules/@octokit/plugin-rest-endpoint-methods/README.md new file mode 100644 index 0000000..2c3ae5c --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/README.md @@ -0,0 +1,2717 @@ +# plugin-rest-endpoint-methods.js + +> Octokit plugin adding one method for all of api.github.com REST API endpoints + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-rest-endpoint-methods.svg)](https://www.npmjs.com/package/@octokit/plugin-rest-endpoint-methods) +[![Build Status](https://github.com/octokit/plugin-rest-endpoint-methods.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-rest-endpoint-methods.js/actions?workflow=Test) +[![Greenkeeper](https://badges.greenkeeper.io/octokit/plugin-rest-endpoint-methods.js.svg)](https://greenkeeper.io/) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-rest-endpoint-methods` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [cdn.pika.dev](https://cdn.pika.dev) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-rest-endpoint-methods`. Optionally replace `@octokit/core` with a compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { + restEndpointMethods +} = require("@octokit/plugin-rest-endpoint-methods"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(restEndpointMethods); +const octokit = new MyOctokit({ auth: "secret123" }); + +// https://developer.github.com/v3/apps/#get-the-authenticated-github-app +octokit.apps.getAuthenticated(); + +// https://developer.github.com/v3/apps/#create-a-github-app-from-a-manifest +octokit.apps.createFromManifest({ code }); + +// https://developer.github.com/v3/apps/#list-installations +octokit.apps.listInstallations(); + +// https://developer.github.com/v3/apps/#get-an-installation +octokit.apps.getInstallation({ installation_id }); + +// https://developer.github.com/v3/apps/#delete-an-installation +octokit.apps.deleteInstallation({ installation_id }); + +// https://developer.github.com/v3/apps/#create-a-new-installation-token +octokit.apps.createInstallationToken({ + installation_id, + repository_ids, + permissions +}); + +// https://developer.github.com/v3/oauth_authorizations/#list-your-grants +octokit.oauthAuthorizations.listGrants(); + +// https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant +octokit.oauthAuthorizations.getGrant({ grant_id }); + +// https://developer.github.com/v3/oauth_authorizations/#delete-a-grant +octokit.oauthAuthorizations.deleteGrant({ grant_id }); + +// https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-authorization +octokit.apps.deleteAuthorization({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application +octokit.apps.revokeGrantForApplication({ client_id, access_token }); + +// DEPRECATED: octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() +octokit.oauthAuthorizations.revokeGrantForApplication({ + client_id, + access_token +}); + +// https://developer.github.com/v3/apps/oauth_applications/#check-a-token +octokit.apps.checkToken({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#reset-a-token +octokit.apps.resetToken({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token +octokit.apps.deleteToken({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization +octokit.apps.checkAuthorization({ client_id, access_token }); + +// DEPRECATED: octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() +octokit.oauthAuthorizations.checkAuthorization({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization +octokit.apps.resetAuthorization({ client_id, access_token }); + +// DEPRECATED: octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() +octokit.oauthAuthorizations.resetAuthorization({ client_id, access_token }); + +// https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application +octokit.apps.revokeAuthorizationForApplication({ client_id, access_token }); + +// DEPRECATED: octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() +octokit.oauthAuthorizations.revokeAuthorizationForApplication({ + client_id, + access_token +}); + +// https://developer.github.com/v3/apps/#get-a-single-github-app +octokit.apps.getBySlug({ app_slug }); + +// https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations +octokit.oauthAuthorizations.listAuthorizations(); + +// https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization +octokit.oauthAuthorizations.createAuthorization({ + scopes, + note, + note_url, + client_id, + client_secret, + fingerprint +}); + +// https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app +octokit.oauthAuthorizations.getOrCreateAuthorizationForApp({ + client_id, + client_secret, + scopes, + note, + note_url, + fingerprint +}); + +// https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint +octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint({ + client_id, + fingerprint, + client_secret, + scopes, + note, + note_url +}); + +// DEPRECATED: octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() +octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint({ + client_id, + fingerprint, + client_secret, + scopes, + note, + note_url +}); + +// https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization +octokit.oauthAuthorizations.getAuthorization({ authorization_id }); + +// https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization +octokit.oauthAuthorizations.updateAuthorization({ + authorization_id, + scopes, + add_scopes, + remove_scopes, + note, + note_url, + fingerprint +}); + +// https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization +octokit.oauthAuthorizations.deleteAuthorization({ authorization_id }); + +// https://developer.github.com/v3/codes_of_conduct/#list-all-codes-of-conduct +octokit.codesOfConduct.listConductCodes(); + +// https://developer.github.com/v3/codes_of_conduct/#get-an-individual-code-of-conduct +octokit.codesOfConduct.getConductCode({ key }); + +// https://developer.github.com/v3/apps/installations/#create-a-content-attachment +octokit.apps.createContentAttachment({ content_reference_id, title, body }); + +// https://developer.github.com/v3/emojis/#emojis +octokit.emojis.get(); + +// https://developer.github.com/v3/activity/events/#list-public-events +octokit.activity.listPublicEvents(); + +// https://developer.github.com/v3/activity/feeds/#list-feeds +octokit.activity.listFeeds(); + +// https://developer.github.com/v3/gists/#list-a-users-gists +octokit.gists.list({ since }); + +// https://developer.github.com/v3/gists/#create-a-gist +octokit.gists.create({ files, description, public }); + +// https://developer.github.com/v3/gists/#list-all-public-gists +octokit.gists.listPublic({ since }); + +// https://developer.github.com/v3/gists/#list-starred-gists +octokit.gists.listStarred({ since }); + +// https://developer.github.com/v3/gists/#get-a-single-gist +octokit.gists.get({ gist_id }); + +// https://developer.github.com/v3/gists/#edit-a-gist +octokit.gists.update({ gist_id, description, files }); + +// https://developer.github.com/v3/gists/#delete-a-gist +octokit.gists.delete({ gist_id }); + +// https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist +octokit.gists.listComments({ gist_id }); + +// https://developer.github.com/v3/gists/comments/#create-a-comment +octokit.gists.createComment({ gist_id, body }); + +// https://developer.github.com/v3/gists/comments/#get-a-single-comment +octokit.gists.getComment({ gist_id, comment_id }); + +// https://developer.github.com/v3/gists/comments/#edit-a-comment +octokit.gists.updateComment({ gist_id, comment_id, body }); + +// https://developer.github.com/v3/gists/comments/#delete-a-comment +octokit.gists.deleteComment({ gist_id, comment_id }); + +// https://developer.github.com/v3/gists/#list-gist-commits +octokit.gists.listCommits({ gist_id }); + +// https://developer.github.com/v3/gists/#fork-a-gist +octokit.gists.fork({ gist_id }); + +// https://developer.github.com/v3/gists/#list-gist-forks +octokit.gists.listForks({ gist_id }); + +// https://developer.github.com/v3/gists/#star-a-gist +octokit.gists.star({ gist_id }); + +// https://developer.github.com/v3/gists/#unstar-a-gist +octokit.gists.unstar({ gist_id }); + +// https://developer.github.com/v3/gists/#check-if-a-gist-is-starred +octokit.gists.checkIsStarred({ gist_id }); + +// https://developer.github.com/v3/gists/#get-a-specific-revision-of-a-gist +octokit.gists.getRevision({ gist_id, sha }); + +// https://developer.github.com/v3/gitignore/#listing-available-templates +octokit.gitignore.listTemplates(); + +// https://developer.github.com/v3/gitignore/#get-a-single-template +octokit.gitignore.getTemplate({ name }); + +// https://developer.github.com/v3/apps/installations/#list-repositories +octokit.apps.listRepos(); + +// https://developer.github.com/v3/apps/installations/#revoke-an-installation-token +octokit.apps.revokeInstallationToken(); + +// https://developer.github.com/v3/issues/#list-issues +octokit.issues.list({ filter, state, labels, sort, direction, since }); + +// https://developer.github.com/v3/licenses/#list-commonly-used-licenses +octokit.licenses.listCommonlyUsed(); + +// DEPRECATED: octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() +octokit.licenses.list(); + +// https://developer.github.com/v3/licenses/#get-an-individual-license +octokit.licenses.get({ license }); + +// https://developer.github.com/v3/markdown/#render-an-arbitrary-markdown-document +octokit.markdown.render({ text, mode, context }); + +// https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode +octokit.markdown.renderRaw({ data }); + +// https://developer.github.com/v3/apps/marketplace/#check-if-a-github-account-is-associated-with-any-marketplace-listing +octokit.apps.checkAccountIsAssociatedWithAny({ account_id }); + +// https://developer.github.com/v3/apps/marketplace/#list-all-plans-for-your-marketplace-listing +octokit.apps.listPlans(); + +// https://developer.github.com/v3/apps/marketplace/#list-all-github-accounts-user-or-organization-on-a-specific-plan +octokit.apps.listAccountsUserOrOrgOnPlan({ plan_id, sort, direction }); + +// https://developer.github.com/v3/apps/marketplace/#check-if-a-github-account-is-associated-with-any-marketplace-listing +octokit.apps.checkAccountIsAssociatedWithAnyStubbed({ account_id }); + +// https://developer.github.com/v3/apps/marketplace/#list-all-plans-for-your-marketplace-listing +octokit.apps.listPlansStubbed(); + +// https://developer.github.com/v3/apps/marketplace/#list-all-github-accounts-user-or-organization-on-a-specific-plan +octokit.apps.listAccountsUserOrOrgOnPlanStubbed({ plan_id, sort, direction }); + +// https://developer.github.com/v3/meta/#meta +octokit.meta.get(); + +// https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories +octokit.activity.listPublicEventsForRepoNetwork({ owner, repo }); + +// https://developer.github.com/v3/activity/notifications/#list-your-notifications +octokit.activity.listNotifications({ all, participating, since, before }); + +// https://developer.github.com/v3/activity/notifications/#mark-as-read +octokit.activity.markAsRead({ last_read_at }); + +// https://developer.github.com/v3/activity/notifications/#view-a-single-thread +octokit.activity.getThread({ thread_id }); + +// https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read +octokit.activity.markThreadAsRead({ thread_id }); + +// https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription +octokit.activity.getThreadSubscription({ thread_id }); + +// https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription +octokit.activity.setThreadSubscription({ thread_id, ignored }); + +// https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription +octokit.activity.deleteThreadSubscription({ thread_id }); + +// https://developer.github.com/v3/orgs/#list-all-organizations +octokit.orgs.list({ since }); + +// https://developer.github.com/v3/orgs/#get-an-organization +octokit.orgs.get({ org }); + +// https://developer.github.com/v3/orgs/#edit-an-organization +octokit.orgs.update({ + org, + billing_email, + company, + email, + location, + name, + description, + has_organization_projects, + has_repository_projects, + default_repository_permission, + members_can_create_repositories, + members_can_create_internal_repositories, + members_can_create_private_repositories, + members_can_create_public_repositories, + members_allowed_repository_creation_type +}); + +// https://developer.github.com/v3/orgs/blocking/#list-blocked-users +octokit.orgs.listBlockedUsers({ org }); + +// https://developer.github.com/v3/orgs/blocking/#check-whether-a-user-is-blocked-from-an-organization +octokit.orgs.checkBlockedUser({ org, username }); + +// https://developer.github.com/v3/orgs/blocking/#block-a-user +octokit.orgs.blockUser({ org, username }); + +// https://developer.github.com/v3/orgs/blocking/#unblock-a-user +octokit.orgs.unblockUser({ org, username }); + +// https://developer.github.com/v3/activity/events/#list-public-events-for-an-organization +octokit.activity.listPublicEventsForOrg({ org }); + +// https://developer.github.com/v3/orgs/hooks/#list-hooks +octokit.orgs.listHooks({ org }); + +// https://developer.github.com/v3/orgs/hooks/#create-a-hook +octokit.orgs.createHook({ org, name, config, events, active }); + +// https://developer.github.com/v3/orgs/hooks/#get-single-hook +octokit.orgs.getHook({ org, hook_id }); + +// https://developer.github.com/v3/orgs/hooks/#edit-a-hook +octokit.orgs.updateHook({ org, hook_id, config, events, active }); + +// https://developer.github.com/v3/orgs/hooks/#delete-a-hook +octokit.orgs.deleteHook({ org, hook_id }); + +// https://developer.github.com/v3/orgs/hooks/#ping-a-hook +octokit.orgs.pingHook({ org, hook_id }); + +// https://developer.github.com/v3/apps/#get-an-organization-installation +octokit.apps.getOrgInstallation({ org }); + +// DEPRECATED: octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() +octokit.apps.findOrgInstallation({ org }); + +// https://developer.github.com/v3/orgs/#list-installations-for-an-organization +octokit.orgs.listInstallations({ org }); + +// https://developer.github.com/v3/interactions/orgs/#get-interaction-restrictions-for-an-organization +octokit.interactions.getRestrictionsForOrg({ org }); + +// https://developer.github.com/v3/interactions/orgs/#add-or-update-interaction-restrictions-for-an-organization +octokit.interactions.addOrUpdateRestrictionsForOrg({ org, limit }); + +// https://developer.github.com/v3/interactions/orgs/#remove-interaction-restrictions-for-an-organization +octokit.interactions.removeRestrictionsForOrg({ org }); + +// https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations +octokit.orgs.listPendingInvitations({ org }); + +// https://developer.github.com/v3/orgs/members/#create-organization-invitation +octokit.orgs.createInvitation({ org, invitee_id, email, role, team_ids }); + +// https://developer.github.com/v3/orgs/members/#list-organization-invitation-teams +octokit.orgs.listInvitationTeams({ org, invitation_id }); + +// https://developer.github.com/v3/issues/#list-issues +octokit.issues.listForOrg({ + org, + filter, + state, + labels, + sort, + direction, + since +}); + +// https://developer.github.com/v3/orgs/members/#members-list +octokit.orgs.listMembers({ org, filter, role }); + +// https://developer.github.com/v3/orgs/members/#check-membership +octokit.orgs.checkMembership({ org, username }); + +// https://developer.github.com/v3/orgs/members/#remove-a-member +octokit.orgs.removeMember({ org, username }); + +// https://developer.github.com/v3/orgs/members/#get-organization-membership +octokit.orgs.getMembership({ org, username }); + +// https://developer.github.com/v3/orgs/members/#add-or-update-organization-membership +octokit.orgs.addOrUpdateMembership({ org, username, role }); + +// https://developer.github.com/v3/orgs/members/#remove-organization-membership +octokit.orgs.removeMembership({ org, username }); + +// https://developer.github.com/v3/migrations/orgs/#start-an-organization-migration +octokit.migrations.startForOrg({ + org, + repositories, + lock_repositories, + exclude_attachments +}); + +// https://developer.github.com/v3/migrations/orgs/#list-organization-migrations +octokit.migrations.listForOrg({ org }); + +// https://developer.github.com/v3/migrations/orgs/#get-the-status-of-an-organization-migration +octokit.migrations.getStatusForOrg({ org, migration_id }); + +// https://developer.github.com/v3/migrations/orgs/#download-an-organization-migration-archive +octokit.migrations.downloadArchiveForOrg({ org, migration_id }); + +// DEPRECATED: octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() +octokit.migrations.getArchiveForOrg({ org, migration_id }); + +// https://developer.github.com/v3/migrations/orgs/#delete-an-organization-migration-archive +octokit.migrations.deleteArchiveForOrg({ org, migration_id }); + +// https://developer.github.com/v3/migrations/orgs/#unlock-an-organization-repository +octokit.migrations.unlockRepoForOrg({ org, migration_id, repo_name }); + +// https://developer.github.com/v3/migrations/orgs/#list-repositories-in-an-organization-migration +octokit.migrations.listReposForOrg({ org, migration_id }); + +// https://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators +octokit.orgs.listOutsideCollaborators({ org, filter }); + +// https://developer.github.com/v3/orgs/outside_collaborators/#remove-outside-collaborator +octokit.orgs.removeOutsideCollaborator({ org, username }); + +// https://developer.github.com/v3/orgs/outside_collaborators/#convert-member-to-outside-collaborator +octokit.orgs.convertMemberToOutsideCollaborator({ org, username }); + +// https://developer.github.com/v3/projects/#list-organization-projects +octokit.projects.listForOrg({ org, state }); + +// https://developer.github.com/v3/projects/#create-an-organization-project +octokit.projects.createForOrg({ org, name, body }); + +// https://developer.github.com/v3/orgs/members/#public-members-list +octokit.orgs.listPublicMembers({ org }); + +// https://developer.github.com/v3/orgs/members/#check-public-membership +octokit.orgs.checkPublicMembership({ org, username }); + +// https://developer.github.com/v3/orgs/members/#publicize-a-users-membership +octokit.orgs.publicizeMembership({ org, username }); + +// https://developer.github.com/v3/orgs/members/#conceal-a-users-membership +octokit.orgs.concealMembership({ org, username }); + +// https://developer.github.com/v3/repos/#list-organization-repositories +octokit.repos.listForOrg({ org, type, sort, direction }); + +// https://developer.github.com/v3/repos/#create +octokit.repos.createInOrg({ + org, + name, + description, + homepage, + private, + visibility, + has_issues, + has_projects, + has_wiki, + is_template, + team_id, + auto_init, + gitignore_template, + license_template, + allow_squash_merge, + allow_merge_commit, + allow_rebase_merge, + delete_branch_on_merge +}); + +// https://developer.github.com/v3/teams/#list-teams +octokit.teams.list({ org }); + +// https://developer.github.com/v3/teams/#create-team +octokit.teams.create({ + org, + name, + description, + maintainers, + repo_names, + privacy, + permission, + parent_team_id +}); + +// https://developer.github.com/v3/teams/#get-team-by-name +octokit.teams.getByName({ org, team_slug }); + +// https://developer.github.com/v3/teams/#edit-team +octokit.teams.updateInOrg({ + org, + team_slug, + name, + description, + privacy, + permission, + parent_team_id +}); + +// https://developer.github.com/v3/teams/#delete-team +octokit.teams.deleteInOrg({ org, team_slug }); + +// https://developer.github.com/v3/teams/discussions/#list-discussions +octokit.teams.listDiscussionsInOrg({ org, team_slug, direction }); + +// https://developer.github.com/v3/teams/discussions/#create-a-discussion +octokit.teams.createDiscussionInOrg({ org, team_slug, title, body, private }); + +// https://developer.github.com/v3/teams/discussions/#get-a-single-discussion +octokit.teams.getDiscussionInOrg({ org, team_slug, discussion_number }); + +// https://developer.github.com/v3/teams/discussions/#edit-a-discussion +octokit.teams.updateDiscussionInOrg({ + org, + team_slug, + discussion_number, + title, + body +}); + +// https://developer.github.com/v3/teams/discussions/#delete-a-discussion +octokit.teams.deleteDiscussionInOrg({ org, team_slug, discussion_number }); + +// https://developer.github.com/v3/teams/discussion_comments/#list-comments +octokit.teams.listDiscussionCommentsInOrg({ + org, + team_slug, + discussion_number, + direction +}); + +// https://developer.github.com/v3/teams/discussion_comments/#create-a-comment +octokit.teams.createDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + body +}); + +// https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment +octokit.teams.getDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + comment_number +}); + +// https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment +octokit.teams.updateDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + comment_number, + body +}); + +// https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment +octokit.teams.deleteDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + comment_number +}); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment +octokit.reactions.listForTeamDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + comment_number, + content +}); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment +octokit.reactions.createForTeamDiscussionCommentInOrg({ + org, + team_slug, + discussion_number, + comment_number, + content +}); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion +octokit.reactions.listForTeamDiscussionInOrg({ + org, + team_slug, + discussion_number, + content +}); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion +octokit.reactions.createForTeamDiscussionInOrg({ + org, + team_slug, + discussion_number, + content +}); + +// https://developer.github.com/v3/teams/members/#list-pending-team-invitations +octokit.teams.listPendingInvitationsInOrg({ org, team_slug }); + +// https://developer.github.com/v3/teams/members/#list-team-members +octokit.teams.listMembersInOrg({ org, team_slug, role }); + +// https://developer.github.com/v3/teams/members/#get-team-membership +octokit.teams.getMembershipInOrg({ org, team_slug, username }); + +// https://developer.github.com/v3/teams/members/#add-or-update-team-membership +octokit.teams.addOrUpdateMembershipInOrg({ org, team_slug, username, role }); + +// https://developer.github.com/v3/teams/members/#remove-team-membership +octokit.teams.removeMembershipInOrg({ org, team_slug, username }); + +// https://developer.github.com/v3/teams/#list-team-projects +octokit.teams.listProjectsInOrg({ org, team_slug }); + +// https://developer.github.com/v3/teams/#review-a-team-project +octokit.teams.reviewProjectInOrg({ org, team_slug, project_id }); + +// https://developer.github.com/v3/teams/#add-or-update-team-project +octokit.teams.addOrUpdateProjectInOrg({ + org, + team_slug, + project_id, + permission +}); + +// https://developer.github.com/v3/teams/#remove-team-project +octokit.teams.removeProjectInOrg({ org, team_slug, project_id }); + +// https://developer.github.com/v3/teams/#list-team-repos +octokit.teams.listReposInOrg({ org, team_slug }); + +// https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository +octokit.teams.checkManagesRepoInOrg({ org, team_slug, owner, repo }); + +// https://developer.github.com/v3/teams/#add-or-update-team-repository +octokit.teams.addOrUpdateRepoInOrg({ org, team_slug, owner, repo, permission }); + +// https://developer.github.com/v3/teams/#remove-team-repository +octokit.teams.removeRepoInOrg({ org, team_slug, owner, repo }); + +// https://developer.github.com/v3/teams/#list-child-teams +octokit.teams.listChildInOrg({ org, team_slug }); + +// https://developer.github.com/v3/projects/cards/#get-a-project-card +octokit.projects.getCard({ card_id }); + +// https://developer.github.com/v3/projects/cards/#update-a-project-card +octokit.projects.updateCard({ card_id, note, archived }); + +// https://developer.github.com/v3/projects/cards/#delete-a-project-card +octokit.projects.deleteCard({ card_id }); + +// https://developer.github.com/v3/projects/cards/#move-a-project-card +octokit.projects.moveCard({ card_id, position, column_id }); + +// https://developer.github.com/v3/projects/columns/#get-a-project-column +octokit.projects.getColumn({ column_id }); + +// https://developer.github.com/v3/projects/columns/#update-a-project-column +octokit.projects.updateColumn({ column_id, name }); + +// https://developer.github.com/v3/projects/columns/#delete-a-project-column +octokit.projects.deleteColumn({ column_id }); + +// https://developer.github.com/v3/projects/cards/#list-project-cards +octokit.projects.listCards({ column_id, archived_state }); + +// https://developer.github.com/v3/projects/cards/#create-a-project-card +octokit.projects.createCard({ column_id, note, content_id, content_type }); + +// https://developer.github.com/v3/projects/columns/#move-a-project-column +octokit.projects.moveColumn({ column_id, position }); + +// https://developer.github.com/v3/projects/#get-a-project +octokit.projects.get({ project_id }); + +// https://developer.github.com/v3/projects/#update-a-project +octokit.projects.update({ + project_id, + name, + body, + state, + organization_permission, + private +}); + +// https://developer.github.com/v3/projects/#delete-a-project +octokit.projects.delete({ project_id }); + +// https://developer.github.com/v3/projects/collaborators/#list-collaborators +octokit.projects.listCollaborators({ project_id, affiliation }); + +// https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator +octokit.projects.addCollaborator({ project_id, username, permission }); + +// https://developer.github.com/v3/projects/collaborators/#remove-user-as-a-collaborator +octokit.projects.removeCollaborator({ project_id, username }); + +// https://developer.github.com/v3/projects/collaborators/#review-a-users-permission-level +octokit.projects.reviewUserPermissionLevel({ project_id, username }); + +// https://developer.github.com/v3/projects/columns/#list-project-columns +octokit.projects.listColumns({ project_id }); + +// https://developer.github.com/v3/projects/columns/#create-a-project-column +octokit.projects.createColumn({ project_id, name }); + +// https://developer.github.com/v3/rate_limit/#get-your-current-rate-limit-status +octokit.rateLimit.get(); + +// https://developer.github.com/v3/reactions/#delete-a-reaction +octokit.reactions.delete({ reaction_id }); + +// https://developer.github.com/v3/repos/#get +octokit.repos.get({ owner, repo }); + +// https://developer.github.com/v3/repos/#edit +octokit.repos.update({ + owner, + repo, + name, + description, + homepage, + private, + visibility, + has_issues, + has_projects, + has_wiki, + is_template, + default_branch, + allow_squash_merge, + allow_merge_commit, + allow_rebase_merge, + delete_branch_on_merge, + archived +}); + +// https://developer.github.com/v3/repos/#delete-a-repository +octokit.repos.delete({ owner, repo }); + +// https://developer.github.com/v3/actions/artifacts/#get-an-artifact +octokit.actions.getArtifact({ owner, repo, artifact_id }); + +// https://developer.github.com/v3/actions/artifacts/#delete-an-artifact +octokit.actions.deleteArtifact({ owner, repo, artifact_id }); + +// https://developer.github.com/v3/actions/artifacts/#download-an-artifact +octokit.actions.downloadArtifact({ owner, repo, artifact_id, archive_format }); + +// https://developer.github.com/v3/actions/workflow_jobs/#get-a-workflow-job +octokit.actions.getWorkflowJob({ owner, repo, job_id }); + +// https://developer.github.com/v3/actions/workflow_jobs/#list-workflow-job-logs +octokit.actions.listWorkflowJobLogs({ owner, repo, job_id }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#list-self-hosted-runners-for-a-repository +octokit.actions.listSelfHostedRunnersForRepo({ owner, repo }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#list-downloads-for-the-self-hosted-runner-application +octokit.actions.listDownloadsForSelfHostedRunnerApplication({ owner, repo }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#create-a-registration-token +octokit.actions.createRegistrationToken({ owner, repo }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#create-a-remove-token +octokit.actions.createRemoveToken({ owner, repo }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#get-a-self-hosted-runner +octokit.actions.getSelfHostedRunner({ owner, repo, runner_id }); + +// https://developer.github.com/v3/actions/self_hosted_runners/#remove-a-self-hosted-runner +octokit.actions.removeSelfHostedRunner({ owner, repo, runner_id }); + +// https://developer.github.com/v3/actions/workflow_runs/#list-repository-workflow-runs +octokit.actions.listRepoWorkflowRuns({ + owner, + repo, + actor, + branch, + event, + status +}); + +// https://developer.github.com/v3/actions/workflow_runs/#get-a-workflow-run +octokit.actions.getWorkflowRun({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/artifacts/#list-workflow-run-artifacts +octokit.actions.listWorkflowRunArtifacts({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/workflow_runs/#cancel-a-workflow-run +octokit.actions.cancelWorkflowRun({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/workflow_jobs/#list-jobs-for-a-workflow-run +octokit.actions.listJobsForWorkflowRun({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/workflow_runs/#list-workflow-run-logs +octokit.actions.listWorkflowRunLogs({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/workflow_runs/#re-run-a-workflow +octokit.actions.reRunWorkflow({ owner, repo, run_id }); + +// https://developer.github.com/v3/actions/secrets/#list-secrets-for-a-repository +octokit.actions.listSecretsForRepo({ owner, repo }); + +// https://developer.github.com/v3/actions/secrets/#get-your-public-key +octokit.actions.getPublicKey({ owner, repo }); + +// https://developer.github.com/v3/actions/secrets/#get-a-secret +octokit.actions.getSecret({ owner, repo, name }); + +// https://developer.github.com/v3/actions/secrets/#create-or-update-a-secret-for-a-repository +octokit.actions.createOrUpdateSecretForRepo({ + owner, + repo, + name, + encrypted_value, + key_id +}); + +// https://developer.github.com/v3/actions/secrets/#delete-a-secret-from-a-repository +octokit.actions.deleteSecretFromRepo({ owner, repo, name }); + +// https://developer.github.com/v3/actions/workflows/#list-repository-workflows +octokit.actions.listRepoWorkflows({ owner, repo }); + +// https://developer.github.com/v3/actions/workflows/#get-a-workflow +octokit.actions.getWorkflow({ owner, repo, workflow_id }); + +// https://developer.github.com/v3/actions/workflow_runs/#list-workflow-runs +octokit.actions.listWorkflowRuns({ + owner, + repo, + workflow_id, + actor, + branch, + event, + status +}); + +// https://developer.github.com/v3/issues/assignees/#list-assignees +octokit.issues.listAssignees({ owner, repo }); + +// https://developer.github.com/v3/issues/assignees/#check-assignee +octokit.issues.checkAssignee({ owner, repo, assignee }); + +// https://developer.github.com/v3/repos/#enable-automated-security-fixes +octokit.repos.enableAutomatedSecurityFixes({ owner, repo }); + +// https://developer.github.com/v3/repos/#disable-automated-security-fixes +octokit.repos.disableAutomatedSecurityFixes({ owner, repo }); + +// https://developer.github.com/v3/repos/branches/#list-branches +octokit.repos.listBranches({ owner, repo, protected }); + +// https://developer.github.com/v3/repos/branches/#get-branch +octokit.repos.getBranch({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#get-branch-protection +octokit.repos.getBranchProtection({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#update-branch-protection +octokit.repos.updateBranchProtection({ + owner, + repo, + branch, + required_status_checks, + enforce_admins, + required_pull_request_reviews, + restrictions, + required_linear_history, + allow_force_pushes, + allow_deletions +}); + +// https://developer.github.com/v3/repos/branches/#remove-branch-protection +octokit.repos.removeBranchProtection({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#get-admin-enforcement-of-protected-branch +octokit.repos.getProtectedBranchAdminEnforcement({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#add-admin-enforcement-of-protected-branch +octokit.repos.addProtectedBranchAdminEnforcement({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#remove-admin-enforcement-of-protected-branch +octokit.repos.removeProtectedBranchAdminEnforcement({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#get-pull-request-review-enforcement-of-protected-branch +octokit.repos.getProtectedBranchPullRequestReviewEnforcement({ + owner, + repo, + branch +}); + +// https://developer.github.com/v3/repos/branches/#update-pull-request-review-enforcement-of-protected-branch +octokit.repos.updateProtectedBranchPullRequestReviewEnforcement({ + owner, + repo, + branch, + dismissal_restrictions, + dismiss_stale_reviews, + require_code_owner_reviews, + required_approving_review_count +}); + +// https://developer.github.com/v3/repos/branches/#remove-pull-request-review-enforcement-of-protected-branch +octokit.repos.removeProtectedBranchPullRequestReviewEnforcement({ + owner, + repo, + branch +}); + +// https://developer.github.com/v3/repos/branches/#get-required-signatures-of-protected-branch +octokit.repos.getProtectedBranchRequiredSignatures({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#add-required-signatures-of-protected-branch +octokit.repos.addProtectedBranchRequiredSignatures({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#remove-required-signatures-of-protected-branch +octokit.repos.removeProtectedBranchRequiredSignatures({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#get-required-status-checks-of-protected-branch +octokit.repos.getProtectedBranchRequiredStatusChecks({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#update-required-status-checks-of-protected-branch +octokit.repos.updateProtectedBranchRequiredStatusChecks({ + owner, + repo, + branch, + strict, + contexts +}); + +// https://developer.github.com/v3/repos/branches/#remove-required-status-checks-of-protected-branch +octokit.repos.removeProtectedBranchRequiredStatusChecks({ + owner, + repo, + branch +}); + +// https://developer.github.com/v3/repos/branches/#list-required-status-checks-contexts-of-protected-branch +octokit.repos.listProtectedBranchRequiredStatusChecksContexts({ + owner, + repo, + branch +}); + +// https://developer.github.com/v3/repos/branches/#replace-required-status-checks-contexts-of-protected-branch +octokit.repos.replaceProtectedBranchRequiredStatusChecksContexts({ + owner, + repo, + branch, + contexts +}); + +// https://developer.github.com/v3/repos/branches/#add-required-status-checks-contexts-of-protected-branch +octokit.repos.addProtectedBranchRequiredStatusChecksContexts({ + owner, + repo, + branch, + contexts +}); + +// https://developer.github.com/v3/repos/branches/#remove-required-status-checks-contexts-of-protected-branch +octokit.repos.removeProtectedBranchRequiredStatusChecksContexts({ + owner, + repo, + branch, + contexts +}); + +// https://developer.github.com/v3/repos/branches/#get-restrictions-of-protected-branch +octokit.repos.getProtectedBranchRestrictions({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#remove-restrictions-of-protected-branch +octokit.repos.removeProtectedBranchRestrictions({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#list-apps-with-access-to-protected-branch +octokit.repos.getAppsWithAccessToProtectedBranch({ owner, repo, branch }); + +// DEPRECATED: octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() +octokit.repos.listAppsWithAccessToProtectedBranch({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#replace-app-restrictions-of-protected-branch +octokit.repos.replaceProtectedBranchAppRestrictions({ + owner, + repo, + branch, + apps +}); + +// https://developer.github.com/v3/repos/branches/#add-app-restrictions-of-protected-branch +octokit.repos.addProtectedBranchAppRestrictions({ owner, repo, branch, apps }); + +// https://developer.github.com/v3/repos/branches/#remove-app-restrictions-of-protected-branch +octokit.repos.removeProtectedBranchAppRestrictions({ + owner, + repo, + branch, + apps +}); + +// https://developer.github.com/v3/repos/branches/#list-teams-with-access-to-protected-branch +octokit.repos.getTeamsWithAccessToProtectedBranch({ owner, repo, branch }); + +// DEPRECATED: octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() +octokit.repos.listProtectedBranchTeamRestrictions({ owner, repo, branch }); + +// DEPRECATED: octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() +octokit.repos.listTeamsWithAccessToProtectedBranch({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#replace-team-restrictions-of-protected-branch +octokit.repos.replaceProtectedBranchTeamRestrictions({ + owner, + repo, + branch, + teams +}); + +// https://developer.github.com/v3/repos/branches/#add-team-restrictions-of-protected-branch +octokit.repos.addProtectedBranchTeamRestrictions({ + owner, + repo, + branch, + teams +}); + +// https://developer.github.com/v3/repos/branches/#remove-team-restrictions-of-protected-branch +octokit.repos.removeProtectedBranchTeamRestrictions({ + owner, + repo, + branch, + teams +}); + +// https://developer.github.com/v3/repos/branches/#list-users-with-access-to-protected-branch +octokit.repos.getUsersWithAccessToProtectedBranch({ owner, repo, branch }); + +// DEPRECATED: octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() +octokit.repos.listProtectedBranchUserRestrictions({ owner, repo, branch }); + +// DEPRECATED: octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() +octokit.repos.listUsersWithAccessToProtectedBranch({ owner, repo, branch }); + +// https://developer.github.com/v3/repos/branches/#replace-user-restrictions-of-protected-branch +octokit.repos.replaceProtectedBranchUserRestrictions({ + owner, + repo, + branch, + users +}); + +// https://developer.github.com/v3/repos/branches/#add-user-restrictions-of-protected-branch +octokit.repos.addProtectedBranchUserRestrictions({ + owner, + repo, + branch, + users +}); + +// https://developer.github.com/v3/repos/branches/#remove-user-restrictions-of-protected-branch +octokit.repos.removeProtectedBranchUserRestrictions({ + owner, + repo, + branch, + users +}); + +// https://developer.github.com/v3/checks/runs/#create-a-check-run +octokit.checks.create({ + owner, + repo, + name, + head_sha, + details_url, + external_id, + status, + started_at, + conclusion, + completed_at, + output, + actions +}); + +// https://developer.github.com/v3/checks/runs/#update-a-check-run +octokit.checks.update({ + owner, + repo, + check_run_id, + name, + details_url, + external_id, + started_at, + status, + conclusion, + completed_at, + output, + actions +}); + +// https://developer.github.com/v3/checks/runs/#get-a-single-check-run +octokit.checks.get({ owner, repo, check_run_id }); + +// https://developer.github.com/v3/checks/runs/#list-annotations-for-a-check-run +octokit.checks.listAnnotations({ owner, repo, check_run_id }); + +// https://developer.github.com/v3/checks/suites/#create-a-check-suite +octokit.checks.createSuite({ owner, repo, head_sha }); + +// https://developer.github.com/v3/checks/suites/#set-preferences-for-check-suites-on-a-repository +octokit.checks.setSuitesPreferences({ owner, repo, auto_trigger_checks }); + +// https://developer.github.com/v3/checks/suites/#get-a-single-check-suite +octokit.checks.getSuite({ owner, repo, check_suite_id }); + +// https://developer.github.com/v3/checks/runs/#list-check-runs-in-a-check-suite +octokit.checks.listForSuite({ + owner, + repo, + check_suite_id, + check_name, + status, + filter +}); + +// https://developer.github.com/v3/checks/suites/#rerequest-check-suite +octokit.checks.rerequestSuite({ owner, repo, check_suite_id }); + +// https://developer.github.com/v3/repos/collaborators/#list-collaborators +octokit.repos.listCollaborators({ owner, repo, affiliation }); + +// https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator +octokit.repos.checkCollaborator({ owner, repo, username }); + +// https://developer.github.com/v3/repos/collaborators/#add-user-as-a-collaborator +octokit.repos.addCollaborator({ owner, repo, username, permission }); + +// https://developer.github.com/v3/repos/collaborators/#remove-user-as-a-collaborator +octokit.repos.removeCollaborator({ owner, repo, username }); + +// https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level +octokit.repos.getCollaboratorPermissionLevel({ owner, repo, username }); + +// https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository +octokit.repos.listCommitComments({ owner, repo }); + +// https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment +octokit.repos.getCommitComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/repos/comments/#update-a-commit-comment +octokit.repos.updateCommitComment({ owner, repo, comment_id, body }); + +// https://developer.github.com/v3/repos/comments/#delete-a-commit-comment +octokit.repos.deleteCommitComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-commit-comment +octokit.reactions.listForCommitComment({ owner, repo, comment_id, content }); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-commit-comment +octokit.reactions.createForCommitComment({ owner, repo, comment_id, content }); + +// https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository +octokit.repos.listCommits({ owner, repo, sha, path, author, since, until }); + +// https://developer.github.com/v3/repos/commits/#list-branches-for-head-commit +octokit.repos.listBranchesForHeadCommit({ owner, repo, commit_sha }); + +// https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit +octokit.repos.listCommentsForCommit({ owner, repo, commit_sha }); + +// https://developer.github.com/v3/repos/comments/#create-a-commit-comment +octokit.repos.createCommitComment({ + owner, + repo, + commit_sha, + body, + path, + position, + line +}); + +// https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-commit +octokit.repos.listPullRequestsAssociatedWithCommit({ owner, repo, commit_sha }); + +// https://developer.github.com/v3/repos/commits/#get-a-single-commit +octokit.repos.getCommit({ owner, repo, ref }); + +// https://developer.github.com/v3/checks/runs/#list-check-runs-for-a-specific-ref +octokit.checks.listForRef({ owner, repo, ref, check_name, status, filter }); + +// https://developer.github.com/v3/checks/suites/#list-check-suites-for-a-specific-ref +octokit.checks.listSuitesForRef({ owner, repo, ref, app_id, check_name }); + +// https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref +octokit.repos.getCombinedStatusForRef({ owner, repo, ref }); + +// https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref +octokit.repos.listStatusesForRef({ owner, repo, ref }); + +// https://developer.github.com/v3/codes_of_conduct/#get-the-contents-of-a-repositorys-code-of-conduct +octokit.codesOfConduct.getForRepo({ owner, repo }); + +// https://developer.github.com/v3/repos/community/#retrieve-community-profile-metrics +octokit.repos.retrieveCommunityProfileMetrics({ owner, repo }); + +// https://developer.github.com/v3/repos/commits/#compare-two-commits +octokit.repos.compareCommits({ owner, repo, base, head }); + +// https://developer.github.com/v3/repos/contents/#get-contents +octokit.repos.getContents({ owner, repo, path, ref }); + +// https://developer.github.com/v3/repos/contents/#create-or-update-a-file +octokit.repos.createOrUpdateFile({ + owner, + repo, + path, + message, + content, + sha, + branch, + committer, + author +}); + +// DEPRECATED: octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() +octokit.repos.createFile({ + owner, + repo, + path, + message, + content, + sha, + branch, + committer, + author +}); + +// DEPRECATED: octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() +octokit.repos.updateFile({ + owner, + repo, + path, + message, + content, + sha, + branch, + committer, + author +}); + +// https://developer.github.com/v3/repos/contents/#delete-a-file +octokit.repos.deleteFile({ + owner, + repo, + path, + message, + sha, + branch, + committer, + author +}); + +// https://developer.github.com/v3/repos/#list-contributors +octokit.repos.listContributors({ owner, repo, anon }); + +// https://developer.github.com/v3/repos/deployments/#list-deployments +octokit.repos.listDeployments({ owner, repo, sha, ref, task, environment }); + +// https://developer.github.com/v3/repos/deployments/#create-a-deployment +octokit.repos.createDeployment({ + owner, + repo, + ref, + task, + auto_merge, + required_contexts, + payload, + environment, + description, + transient_environment, + production_environment +}); + +// https://developer.github.com/v3/repos/deployments/#get-a-single-deployment +octokit.repos.getDeployment({ owner, repo, deployment_id }); + +// https://developer.github.com/v3/repos/deployments/#list-deployment-statuses +octokit.repos.listDeploymentStatuses({ owner, repo, deployment_id }); + +// https://developer.github.com/v3/repos/deployments/#create-a-deployment-status +octokit.repos.createDeploymentStatus({ + owner, + repo, + deployment_id, + state, + target_url, + log_url, + description, + environment, + environment_url, + auto_inactive +}); + +// https://developer.github.com/v3/repos/deployments/#get-a-single-deployment-status +octokit.repos.getDeploymentStatus({ owner, repo, deployment_id, status_id }); + +// https://developer.github.com/v3/repos/#create-a-repository-dispatch-event +octokit.repos.createDispatchEvent({ owner, repo, event_type, client_payload }); + +// https://developer.github.com/v3/repos/downloads/#list-downloads-for-a-repository +octokit.repos.listDownloads({ owner, repo }); + +// https://developer.github.com/v3/repos/downloads/#get-a-single-download +octokit.repos.getDownload({ owner, repo, download_id }); + +// https://developer.github.com/v3/repos/downloads/#delete-a-download +octokit.repos.deleteDownload({ owner, repo, download_id }); + +// https://developer.github.com/v3/activity/events/#list-repository-events +octokit.activity.listRepoEvents({ owner, repo }); + +// https://developer.github.com/v3/repos/forks/#list-forks +octokit.repos.listForks({ owner, repo, sort }); + +// https://developer.github.com/v3/repos/forks/#create-a-fork +octokit.repos.createFork({ owner, repo, organization }); + +// https://developer.github.com/v3/git/blobs/#create-a-blob +octokit.git.createBlob({ owner, repo, content, encoding }); + +// https://developer.github.com/v3/git/blobs/#get-a-blob +octokit.git.getBlob({ owner, repo, file_sha }); + +// https://developer.github.com/v3/git/commits/#create-a-commit +octokit.git.createCommit({ + owner, + repo, + message, + tree, + parents, + author, + committer, + signature +}); + +// https://developer.github.com/v3/git/commits/#get-a-commit +octokit.git.getCommit({ owner, repo, commit_sha }); + +// https://developer.github.com/v3/git/refs/#list-matching-references +octokit.git.listMatchingRefs({ owner, repo, ref }); + +// https://developer.github.com/v3/git/refs/#get-a-single-reference +octokit.git.getRef({ owner, repo, ref }); + +// https://developer.github.com/v3/git/refs/#create-a-reference +octokit.git.createRef({ owner, repo, ref, sha }); + +// https://developer.github.com/v3/git/refs/#update-a-reference +octokit.git.updateRef({ owner, repo, ref, sha, force }); + +// https://developer.github.com/v3/git/refs/#delete-a-reference +octokit.git.deleteRef({ owner, repo, ref }); + +// https://developer.github.com/v3/git/tags/#create-a-tag-object +octokit.git.createTag({ owner, repo, tag, message, object, type, tagger }); + +// https://developer.github.com/v3/git/tags/#get-a-tag +octokit.git.getTag({ owner, repo, tag_sha }); + +// https://developer.github.com/v3/git/trees/#create-a-tree +octokit.git.createTree({ owner, repo, tree, base_tree }); + +// https://developer.github.com/v3/git/trees/#get-a-tree +octokit.git.getTree({ owner, repo, tree_sha, recursive }); + +// https://developer.github.com/v3/repos/hooks/#list-hooks +octokit.repos.listHooks({ owner, repo }); + +// https://developer.github.com/v3/repos/hooks/#create-a-hook +octokit.repos.createHook({ owner, repo, name, config, events, active }); + +// https://developer.github.com/v3/repos/hooks/#get-single-hook +octokit.repos.getHook({ owner, repo, hook_id }); + +// https://developer.github.com/v3/repos/hooks/#edit-a-hook +octokit.repos.updateHook({ + owner, + repo, + hook_id, + config, + events, + add_events, + remove_events, + active +}); + +// https://developer.github.com/v3/repos/hooks/#delete-a-hook +octokit.repos.deleteHook({ owner, repo, hook_id }); + +// https://developer.github.com/v3/repos/hooks/#ping-a-hook +octokit.repos.pingHook({ owner, repo, hook_id }); + +// https://developer.github.com/v3/repos/hooks/#test-a-push-hook +octokit.repos.testPushHook({ owner, repo, hook_id }); + +// https://developer.github.com/v3/migrations/source_imports/#start-an-import +octokit.migrations.startImport({ + owner, + repo, + vcs_url, + vcs, + vcs_username, + vcs_password, + tfvc_project +}); + +// https://developer.github.com/v3/migrations/source_imports/#get-import-progress +octokit.migrations.getImportProgress({ owner, repo }); + +// https://developer.github.com/v3/migrations/source_imports/#update-existing-import +octokit.migrations.updateImport({ owner, repo, vcs_username, vcs_password }); + +// https://developer.github.com/v3/migrations/source_imports/#cancel-an-import +octokit.migrations.cancelImport({ owner, repo }); + +// https://developer.github.com/v3/migrations/source_imports/#get-commit-authors +octokit.migrations.getCommitAuthors({ owner, repo, since }); + +// https://developer.github.com/v3/migrations/source_imports/#map-a-commit-author +octokit.migrations.mapCommitAuthor({ owner, repo, author_id, email, name }); + +// https://developer.github.com/v3/migrations/source_imports/#get-large-files +octokit.migrations.getLargeFiles({ owner, repo }); + +// https://developer.github.com/v3/migrations/source_imports/#set-git-lfs-preference +octokit.migrations.setLfsPreference({ owner, repo, use_lfs }); + +// https://developer.github.com/v3/apps/#get-a-repository-installation +octokit.apps.getRepoInstallation({ owner, repo }); + +// DEPRECATED: octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() +octokit.apps.findRepoInstallation({ owner, repo }); + +// https://developer.github.com/v3/interactions/repos/#get-interaction-restrictions-for-a-repository +octokit.interactions.getRestrictionsForRepo({ owner, repo }); + +// https://developer.github.com/v3/interactions/repos/#add-or-update-interaction-restrictions-for-a-repository +octokit.interactions.addOrUpdateRestrictionsForRepo({ owner, repo, limit }); + +// https://developer.github.com/v3/interactions/repos/#remove-interaction-restrictions-for-a-repository +octokit.interactions.removeRestrictionsForRepo({ owner, repo }); + +// https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository +octokit.repos.listInvitations({ owner, repo }); + +// https://developer.github.com/v3/repos/invitations/#delete-a-repository-invitation +octokit.repos.deleteInvitation({ owner, repo, invitation_id }); + +// https://developer.github.com/v3/repos/invitations/#update-a-repository-invitation +octokit.repos.updateInvitation({ owner, repo, invitation_id, permissions }); + +// https://developer.github.com/v3/issues/#list-issues-for-a-repository +octokit.issues.listForRepo({ + owner, + repo, + milestone, + state, + assignee, + creator, + mentioned, + labels, + sort, + direction, + since +}); + +// https://developer.github.com/v3/issues/#create-an-issue +octokit.issues.create({ + owner, + repo, + title, + body, + assignee, + milestone, + labels, + assignees +}); + +// https://developer.github.com/v3/issues/comments/#list-comments-in-a-repository +octokit.issues.listCommentsForRepo({ owner, repo, sort, direction, since }); + +// https://developer.github.com/v3/issues/comments/#get-a-single-comment +octokit.issues.getComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/issues/comments/#edit-a-comment +octokit.issues.updateComment({ owner, repo, comment_id, body }); + +// https://developer.github.com/v3/issues/comments/#delete-a-comment +octokit.issues.deleteComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/reactions/#list-reactions-for-an-issue-comment +octokit.reactions.listForIssueComment({ owner, repo, comment_id, content }); + +// https://developer.github.com/v3/reactions/#create-reaction-for-an-issue-comment +octokit.reactions.createForIssueComment({ owner, repo, comment_id, content }); + +// https://developer.github.com/v3/issues/events/#list-events-for-a-repository +octokit.issues.listEventsForRepo({ owner, repo }); + +// https://developer.github.com/v3/issues/events/#get-a-single-event +octokit.issues.getEvent({ owner, repo, event_id }); + +// https://developer.github.com/v3/issues/#get-a-single-issue +octokit.issues.get({ owner, repo, issue_number }); + +// https://developer.github.com/v3/issues/#edit-an-issue +octokit.issues.update({ + owner, + repo, + issue_number, + title, + body, + assignee, + state, + milestone, + labels, + assignees +}); + +// https://developer.github.com/v3/issues/assignees/#add-assignees-to-an-issue +octokit.issues.addAssignees({ owner, repo, issue_number, assignees }); + +// https://developer.github.com/v3/issues/assignees/#remove-assignees-from-an-issue +octokit.issues.removeAssignees({ owner, repo, issue_number, assignees }); + +// https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue +octokit.issues.listComments({ owner, repo, issue_number, since }); + +// https://developer.github.com/v3/issues/comments/#create-a-comment +octokit.issues.createComment({ owner, repo, issue_number, body }); + +// https://developer.github.com/v3/issues/events/#list-events-for-an-issue +octokit.issues.listEvents({ owner, repo, issue_number }); + +// https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue +octokit.issues.listLabelsOnIssue({ owner, repo, issue_number }); + +// https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue +octokit.issues.addLabels({ owner, repo, issue_number, labels }); + +// https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue +octokit.issues.replaceLabels({ owner, repo, issue_number, labels }); + +// https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue +octokit.issues.removeLabels({ owner, repo, issue_number }); + +// https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue +octokit.issues.removeLabel({ owner, repo, issue_number, name }); + +// https://developer.github.com/v3/issues/#lock-an-issue +octokit.issues.lock({ owner, repo, issue_number, lock_reason }); + +// https://developer.github.com/v3/issues/#unlock-an-issue +octokit.issues.unlock({ owner, repo, issue_number }); + +// https://developer.github.com/v3/reactions/#list-reactions-for-an-issue +octokit.reactions.listForIssue({ owner, repo, issue_number, content }); + +// https://developer.github.com/v3/reactions/#create-reaction-for-an-issue +octokit.reactions.createForIssue({ owner, repo, issue_number, content }); + +// https://developer.github.com/v3/issues/timeline/#list-events-for-an-issue +octokit.issues.listEventsForTimeline({ owner, repo, issue_number }); + +// https://developer.github.com/v3/repos/keys/#list-deploy-keys +octokit.repos.listDeployKeys({ owner, repo }); + +// https://developer.github.com/v3/repos/keys/#add-a-new-deploy-key +octokit.repos.addDeployKey({ owner, repo, title, key, read_only }); + +// https://developer.github.com/v3/repos/keys/#get-a-deploy-key +octokit.repos.getDeployKey({ owner, repo, key_id }); + +// https://developer.github.com/v3/repos/keys/#remove-a-deploy-key +octokit.repos.removeDeployKey({ owner, repo, key_id }); + +// https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository +octokit.issues.listLabelsForRepo({ owner, repo }); + +// https://developer.github.com/v3/issues/labels/#create-a-label +octokit.issues.createLabel({ owner, repo, name, color, description }); + +// https://developer.github.com/v3/issues/labels/#get-a-single-label +octokit.issues.getLabel({ owner, repo, name }); + +// https://developer.github.com/v3/issues/labels/#update-a-label +octokit.issues.updateLabel({ owner, repo, name, new_name, color, description }); + +// https://developer.github.com/v3/issues/labels/#delete-a-label +octokit.issues.deleteLabel({ owner, repo, name }); + +// https://developer.github.com/v3/repos/#list-languages +octokit.repos.listLanguages({ owner, repo }); + +// https://developer.github.com/v3/licenses/#get-the-contents-of-a-repositorys-license +octokit.licenses.getForRepo({ owner, repo }); + +// https://developer.github.com/v3/repos/merging/#perform-a-merge +octokit.repos.merge({ owner, repo, base, head, commit_message }); + +// https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository +octokit.issues.listMilestonesForRepo({ owner, repo, state, sort, direction }); + +// https://developer.github.com/v3/issues/milestones/#create-a-milestone +octokit.issues.createMilestone({ + owner, + repo, + title, + state, + description, + due_on +}); + +// https://developer.github.com/v3/issues/milestones/#get-a-single-milestone +octokit.issues.getMilestone({ owner, repo, milestone_number }); + +// https://developer.github.com/v3/issues/milestones/#update-a-milestone +octokit.issues.updateMilestone({ + owner, + repo, + milestone_number, + title, + state, + description, + due_on +}); + +// https://developer.github.com/v3/issues/milestones/#delete-a-milestone +octokit.issues.deleteMilestone({ owner, repo, milestone_number }); + +// https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone +octokit.issues.listLabelsForMilestone({ owner, repo, milestone_number }); + +// https://developer.github.com/v3/activity/notifications/#list-your-notifications-in-a-repository +octokit.activity.listNotificationsForRepo({ + owner, + repo, + all, + participating, + since, + before +}); + +// https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read-in-a-repository +octokit.activity.markNotificationsAsReadForRepo({ owner, repo, last_read_at }); + +// https://developer.github.com/v3/repos/pages/#get-information-about-a-pages-site +octokit.repos.getPages({ owner, repo }); + +// https://developer.github.com/v3/repos/pages/#enable-a-pages-site +octokit.repos.enablePagesSite({ owner, repo, source }); + +// https://developer.github.com/v3/repos/pages/#disable-a-pages-site +octokit.repos.disablePagesSite({ owner, repo }); + +// https://developer.github.com/v3/repos/pages/#update-information-about-a-pages-site +octokit.repos.updateInformationAboutPagesSite({ owner, repo, cname, source }); + +// https://developer.github.com/v3/repos/pages/#request-a-page-build +octokit.repos.requestPageBuild({ owner, repo }); + +// https://developer.github.com/v3/repos/pages/#list-pages-builds +octokit.repos.listPagesBuilds({ owner, repo }); + +// https://developer.github.com/v3/repos/pages/#get-latest-pages-build +octokit.repos.getLatestPagesBuild({ owner, repo }); + +// https://developer.github.com/v3/repos/pages/#get-a-specific-pages-build +octokit.repos.getPagesBuild({ owner, repo, build_id }); + +// https://developer.github.com/v3/projects/#list-repository-projects +octokit.projects.listForRepo({ owner, repo, state }); + +// https://developer.github.com/v3/projects/#create-a-repository-project +octokit.projects.createForRepo({ owner, repo, name, body }); + +// https://developer.github.com/v3/pulls/#list-pull-requests +octokit.pulls.list({ owner, repo, state, head, base, sort, direction }); + +// https://developer.github.com/v3/pulls/#create-a-pull-request +octokit.pulls.create({ + owner, + repo, + title, + head, + base, + body, + maintainer_can_modify, + draft +}); + +// https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository +octokit.pulls.listCommentsForRepo({ owner, repo, sort, direction, since }); + +// https://developer.github.com/v3/pulls/comments/#get-a-single-comment +octokit.pulls.getComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/pulls/comments/#edit-a-comment +octokit.pulls.updateComment({ owner, repo, comment_id, body }); + +// https://developer.github.com/v3/pulls/comments/#delete-a-comment +octokit.pulls.deleteComment({ owner, repo, comment_id }); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment +octokit.reactions.listForPullRequestReviewComment({ + owner, + repo, + comment_id, + content +}); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment +octokit.reactions.createForPullRequestReviewComment({ + owner, + repo, + comment_id, + content +}); + +// https://developer.github.com/v3/pulls/#get-a-single-pull-request +octokit.pulls.get({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/#update-a-pull-request +octokit.pulls.update({ + owner, + repo, + pull_number, + title, + body, + state, + base, + maintainer_can_modify +}); + +// https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request +octokit.pulls.listComments({ + owner, + repo, + pull_number, + sort, + direction, + since +}); + +// https://developer.github.com/v3/pulls/comments/#create-a-comment +octokit.pulls.createComment({ + owner, + repo, + pull_number, + body, + commit_id, + path, + position, + side, + line, + start_line, + start_side, + in_reply_to +}); + +// DEPRECATED: octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() +octokit.pulls.createCommentReply({ + owner, + repo, + pull_number, + body, + commit_id, + path, + position, + side, + line, + start_line, + start_side, + in_reply_to +}); + +// https://developer.github.com/v3/pulls/comments/#create-a-review-comment-reply +octokit.pulls.createReviewCommentReply({ + owner, + repo, + pull_number, + comment_id, + body +}); + +// https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request +octokit.pulls.listCommits({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/#list-pull-requests-files +octokit.pulls.listFiles({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged +octokit.pulls.checkIfMerged({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button +octokit.pulls.merge({ + owner, + repo, + pull_number, + commit_title, + commit_message, + sha, + merge_method +}); + +// https://developer.github.com/v3/pulls/review_requests/#list-review-requests +octokit.pulls.listReviewRequests({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/review_requests/#create-a-review-request +octokit.pulls.createReviewRequest({ + owner, + repo, + pull_number, + reviewers, + team_reviewers +}); + +// https://developer.github.com/v3/pulls/review_requests/#delete-a-review-request +octokit.pulls.deleteReviewRequest({ + owner, + repo, + pull_number, + reviewers, + team_reviewers +}); + +// https://developer.github.com/v3/pulls/reviews/#list-reviews-on-a-pull-request +octokit.pulls.listReviews({ owner, repo, pull_number }); + +// https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review +octokit.pulls.createReview({ + owner, + repo, + pull_number, + commit_id, + body, + event, + comments +}); + +// https://developer.github.com/v3/pulls/reviews/#get-a-single-review +octokit.pulls.getReview({ owner, repo, pull_number, review_id }); + +// https://developer.github.com/v3/pulls/reviews/#delete-a-pending-review +octokit.pulls.deletePendingReview({ owner, repo, pull_number, review_id }); + +// https://developer.github.com/v3/pulls/reviews/#update-a-pull-request-review +octokit.pulls.updateReview({ owner, repo, pull_number, review_id, body }); + +// https://developer.github.com/v3/pulls/reviews/#get-comments-for-a-single-review +octokit.pulls.getCommentsForReview({ owner, repo, pull_number, review_id }); + +// https://developer.github.com/v3/pulls/reviews/#dismiss-a-pull-request-review +octokit.pulls.dismissReview({ owner, repo, pull_number, review_id, message }); + +// https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review +octokit.pulls.submitReview({ + owner, + repo, + pull_number, + review_id, + body, + event +}); + +// https://developer.github.com/v3/pulls/#update-a-pull-request-branch +octokit.pulls.updateBranch({ owner, repo, pull_number, expected_head_sha }); + +// https://developer.github.com/v3/repos/contents/#get-the-readme +octokit.repos.getReadme({ owner, repo, ref }); + +// https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository +octokit.repos.listReleases({ owner, repo }); + +// https://developer.github.com/v3/repos/releases/#create-a-release +octokit.repos.createRelease({ + owner, + repo, + tag_name, + target_commitish, + name, + body, + draft, + prerelease +}); + +// https://developer.github.com/v3/repos/releases/#get-a-single-release-asset +octokit.repos.getReleaseAsset({ owner, repo, asset_id }); + +// https://developer.github.com/v3/repos/releases/#edit-a-release-asset +octokit.repos.updateReleaseAsset({ owner, repo, asset_id, name, label }); + +// https://developer.github.com/v3/repos/releases/#delete-a-release-asset +octokit.repos.deleteReleaseAsset({ owner, repo, asset_id }); + +// https://developer.github.com/v3/repos/releases/#get-the-latest-release +octokit.repos.getLatestRelease({ owner, repo }); + +// https://developer.github.com/v3/repos/releases/#get-a-release-by-tag-name +octokit.repos.getReleaseByTag({ owner, repo, tag }); + +// https://developer.github.com/v3/repos/releases/#get-a-single-release +octokit.repos.getRelease({ owner, repo, release_id }); + +// https://developer.github.com/v3/repos/releases/#edit-a-release +octokit.repos.updateRelease({ + owner, + repo, + release_id, + tag_name, + target_commitish, + name, + body, + draft, + prerelease +}); + +// https://developer.github.com/v3/repos/releases/#delete-a-release +octokit.repos.deleteRelease({ owner, repo, release_id }); + +// https://developer.github.com/v3/repos/releases/#list-assets-for-a-release +octokit.repos.listAssetsForRelease({ owner, repo, release_id }); + +// https://developer.github.com/v3/repos/releases/#upload-a-release-asset +octokit.repos.uploadReleaseAsset({ + owner, + repo, + release_id, + name, + label, + data, + origin +}); + +// https://developer.github.com/v3/activity/starring/#list-stargazers +octokit.activity.listStargazersForRepo({ owner, repo }); + +// https://developer.github.com/v3/repos/statistics/#get-the-number-of-additions-and-deletions-per-week +octokit.repos.getCodeFrequencyStats({ owner, repo }); + +// https://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data +octokit.repos.getCommitActivityStats({ owner, repo }); + +// https://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts +octokit.repos.getContributorsStats({ owner, repo }); + +// https://developer.github.com/v3/repos/statistics/#get-the-weekly-commit-count-for-the-repository-owner-and-everyone-else +octokit.repos.getParticipationStats({ owner, repo }); + +// https://developer.github.com/v3/repos/statistics/#get-the-number-of-commits-per-hour-in-each-day +octokit.repos.getPunchCardStats({ owner, repo }); + +// https://developer.github.com/v3/repos/statuses/#create-a-status +octokit.repos.createStatus({ + owner, + repo, + sha, + state, + target_url, + description, + context +}); + +// https://developer.github.com/v3/activity/watching/#list-watchers +octokit.activity.listWatchersForRepo({ owner, repo }); + +// https://developer.github.com/v3/activity/watching/#get-a-repository-subscription +octokit.activity.getRepoSubscription({ owner, repo }); + +// https://developer.github.com/v3/activity/watching/#set-a-repository-subscription +octokit.activity.setRepoSubscription({ owner, repo, subscribed, ignored }); + +// https://developer.github.com/v3/activity/watching/#delete-a-repository-subscription +octokit.activity.deleteRepoSubscription({ owner, repo }); + +// https://developer.github.com/v3/repos/#list-tags +octokit.repos.listTags({ owner, repo }); + +// https://developer.github.com/v3/repos/#list-teams +octokit.repos.listTeams({ owner, repo }); + +// https://developer.github.com/v3/repos/#list-all-topics-for-a-repository +octokit.repos.listTopics({ owner, repo }); + +// https://developer.github.com/v3/repos/#replace-all-topics-for-a-repository +octokit.repos.replaceTopics({ owner, repo, names }); + +// https://developer.github.com/v3/repos/traffic/#clones +octokit.repos.getClones({ owner, repo, per }); + +// https://developer.github.com/v3/repos/traffic/#list-paths +octokit.repos.getTopPaths({ owner, repo }); + +// https://developer.github.com/v3/repos/traffic/#list-referrers +octokit.repos.getTopReferrers({ owner, repo }); + +// https://developer.github.com/v3/repos/traffic/#views +octokit.repos.getViews({ owner, repo, per }); + +// https://developer.github.com/v3/repos/#transfer-a-repository +octokit.repos.transfer({ owner, repo, new_owner, team_ids }); + +// https://developer.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository +octokit.repos.checkVulnerabilityAlerts({ owner, repo }); + +// https://developer.github.com/v3/repos/#enable-vulnerability-alerts +octokit.repos.enableVulnerabilityAlerts({ owner, repo }); + +// https://developer.github.com/v3/repos/#disable-vulnerability-alerts +octokit.repos.disableVulnerabilityAlerts({ owner, repo }); + +// https://developer.github.com/v3/repos/contents/#get-archive-link +octokit.repos.getArchiveLink({ owner, repo, archive_format, ref }); + +// https://developer.github.com/v3/repos/#create-repository-using-a-repository-template +octokit.repos.createUsingTemplate({ + template_owner, + template_repo, + owner, + name, + description, + private +}); + +// https://developer.github.com/v3/repos/#list-all-public-repositories +octokit.repos.listPublic({ since }); + +// https://developer.github.com/v3/search/#search-code +octokit.search.code({ q, sort, order }); + +// https://developer.github.com/v3/search/#search-commits +octokit.search.commits({ q, sort, order }); + +// https://developer.github.com/v3/search/#search-issues-and-pull-requests +octokit.search.issuesAndPullRequests({ q, sort, order }); + +// DEPRECATED: octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() +octokit.search.issues({ q, sort, order }); + +// https://developer.github.com/v3/search/#search-labels +octokit.search.labels({ repository_id, q, sort, order }); + +// https://developer.github.com/v3/search/#search-repositories +octokit.search.repos({ q, sort, order }); + +// https://developer.github.com/v3/search/#search-topics +octokit.search.topics({ q }); + +// https://developer.github.com/v3/search/#search-users +octokit.search.users({ q, sort, order }); + +// https://developer.github.com/v3/teams/#get-team-legacy +octokit.teams.getLegacy({ team_id }); + +// DEPRECATED: octokit.teams.get() has been renamed to octokit.teams.getLegacy() +octokit.teams.get({ team_id }); + +// https://developer.github.com/v3/teams/#edit-team-legacy +octokit.teams.updateLegacy({ + team_id, + name, + description, + privacy, + permission, + parent_team_id +}); + +// DEPRECATED: octokit.teams.update() has been renamed to octokit.teams.updateLegacy() +octokit.teams.update({ + team_id, + name, + description, + privacy, + permission, + parent_team_id +}); + +// https://developer.github.com/v3/teams/#delete-team-legacy +octokit.teams.deleteLegacy({ team_id }); + +// DEPRECATED: octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() +octokit.teams.delete({ team_id }); + +// https://developer.github.com/v3/teams/discussions/#list-discussions-legacy +octokit.teams.listDiscussionsLegacy({ team_id, direction }); + +// DEPRECATED: octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() +octokit.teams.listDiscussions({ team_id, direction }); + +// https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy +octokit.teams.createDiscussionLegacy({ team_id, title, body, private }); + +// DEPRECATED: octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() +octokit.teams.createDiscussion({ team_id, title, body, private }); + +// https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy +octokit.teams.getDiscussionLegacy({ team_id, discussion_number }); + +// DEPRECATED: octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() +octokit.teams.getDiscussion({ team_id, discussion_number }); + +// https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy +octokit.teams.updateDiscussionLegacy({ + team_id, + discussion_number, + title, + body +}); + +// DEPRECATED: octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() +octokit.teams.updateDiscussion({ team_id, discussion_number, title, body }); + +// https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy +octokit.teams.deleteDiscussionLegacy({ team_id, discussion_number }); + +// DEPRECATED: octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() +octokit.teams.deleteDiscussion({ team_id, discussion_number }); + +// https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy +octokit.teams.listDiscussionCommentsLegacy({ + team_id, + discussion_number, + direction +}); + +// DEPRECATED: octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() +octokit.teams.listDiscussionComments({ team_id, discussion_number, direction }); + +// https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy +octokit.teams.createDiscussionCommentLegacy({ + team_id, + discussion_number, + body +}); + +// DEPRECATED: octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() +octokit.teams.createDiscussionComment({ team_id, discussion_number, body }); + +// https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy +octokit.teams.getDiscussionCommentLegacy({ + team_id, + discussion_number, + comment_number +}); + +// DEPRECATED: octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() +octokit.teams.getDiscussionComment({ + team_id, + discussion_number, + comment_number +}); + +// https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy +octokit.teams.updateDiscussionCommentLegacy({ + team_id, + discussion_number, + comment_number, + body +}); + +// DEPRECATED: octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() +octokit.teams.updateDiscussionComment({ + team_id, + discussion_number, + comment_number, + body +}); + +// https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy +octokit.teams.deleteDiscussionCommentLegacy({ + team_id, + discussion_number, + comment_number +}); + +// DEPRECATED: octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() +octokit.teams.deleteDiscussionComment({ + team_id, + discussion_number, + comment_number +}); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy +octokit.reactions.listForTeamDiscussionCommentLegacy({ + team_id, + discussion_number, + comment_number, + content +}); + +// DEPRECATED: octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() +octokit.reactions.listForTeamDiscussionComment({ + team_id, + discussion_number, + comment_number, + content +}); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy +octokit.reactions.createForTeamDiscussionCommentLegacy({ + team_id, + discussion_number, + comment_number, + content +}); + +// DEPRECATED: octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() +octokit.reactions.createForTeamDiscussionComment({ + team_id, + discussion_number, + comment_number, + content +}); + +// https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy +octokit.reactions.listForTeamDiscussionLegacy({ + team_id, + discussion_number, + content +}); + +// DEPRECATED: octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() +octokit.reactions.listForTeamDiscussion({ + team_id, + discussion_number, + content +}); + +// https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy +octokit.reactions.createForTeamDiscussionLegacy({ + team_id, + discussion_number, + content +}); + +// DEPRECATED: octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() +octokit.reactions.createForTeamDiscussion({ + team_id, + discussion_number, + content +}); + +// https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy +octokit.teams.listPendingInvitationsLegacy({ team_id }); + +// DEPRECATED: octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() +octokit.teams.listPendingInvitations({ team_id }); + +// https://developer.github.com/v3/teams/members/#list-team-members-legacy +octokit.teams.listMembersLegacy({ team_id, role }); + +// DEPRECATED: octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() +octokit.teams.listMembers({ team_id, role }); + +// https://developer.github.com/v3/teams/members/#get-team-member-legacy +octokit.teams.getMemberLegacy({ team_id, username }); + +// DEPRECATED: octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() +octokit.teams.getMember({ team_id, username }); + +// https://developer.github.com/v3/teams/members/#add-team-member-legacy +octokit.teams.addMemberLegacy({ team_id, username }); + +// DEPRECATED: octokit.teams.addMember() has been renamed to octokit.teams.addMemberLegacy() +octokit.teams.addMember({ team_id, username }); + +// https://developer.github.com/v3/teams/members/#remove-team-member-legacy +octokit.teams.removeMemberLegacy({ team_id, username }); + +// DEPRECATED: octokit.teams.removeMember() has been renamed to octokit.teams.removeMemberLegacy() +octokit.teams.removeMember({ team_id, username }); + +// https://developer.github.com/v3/teams/members/#get-team-membership-legacy +octokit.teams.getMembershipLegacy({ team_id, username }); + +// DEPRECATED: octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() +octokit.teams.getMembership({ team_id, username }); + +// https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy +octokit.teams.addOrUpdateMembershipLegacy({ team_id, username, role }); + +// DEPRECATED: octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() +octokit.teams.addOrUpdateMembership({ team_id, username, role }); + +// https://developer.github.com/v3/teams/members/#remove-team-membership-legacy +octokit.teams.removeMembershipLegacy({ team_id, username }); + +// DEPRECATED: octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() +octokit.teams.removeMembership({ team_id, username }); + +// https://developer.github.com/v3/teams/#list-team-projects-legacy +octokit.teams.listProjectsLegacy({ team_id }); + +// DEPRECATED: octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() +octokit.teams.listProjects({ team_id }); + +// https://developer.github.com/v3/teams/#review-a-team-project-legacy +octokit.teams.reviewProjectLegacy({ team_id, project_id }); + +// DEPRECATED: octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() +octokit.teams.reviewProject({ team_id, project_id }); + +// https://developer.github.com/v3/teams/#add-or-update-team-project-legacy +octokit.teams.addOrUpdateProjectLegacy({ team_id, project_id, permission }); + +// DEPRECATED: octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() +octokit.teams.addOrUpdateProject({ team_id, project_id, permission }); + +// https://developer.github.com/v3/teams/#remove-team-project-legacy +octokit.teams.removeProjectLegacy({ team_id, project_id }); + +// DEPRECATED: octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() +octokit.teams.removeProject({ team_id, project_id }); + +// https://developer.github.com/v3/teams/#list-team-repos-legacy +octokit.teams.listReposLegacy({ team_id }); + +// DEPRECATED: octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() +octokit.teams.listRepos({ team_id }); + +// https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy +octokit.teams.checkManagesRepoLegacy({ team_id, owner, repo }); + +// DEPRECATED: octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() +octokit.teams.checkManagesRepo({ team_id, owner, repo }); + +// https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy +octokit.teams.addOrUpdateRepoLegacy({ team_id, owner, repo, permission }); + +// DEPRECATED: octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() +octokit.teams.addOrUpdateRepo({ team_id, owner, repo, permission }); + +// https://developer.github.com/v3/teams/#remove-team-repository-legacy +octokit.teams.removeRepoLegacy({ team_id, owner, repo }); + +// DEPRECATED: octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() +octokit.teams.removeRepo({ team_id, owner, repo }); + +// https://developer.github.com/v3/teams/#list-child-teams-legacy +octokit.teams.listChildLegacy({ team_id }); + +// DEPRECATED: octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() +octokit.teams.listChild({ team_id }); + +// https://developer.github.com/v3/users/#get-the-authenticated-user +octokit.users.getAuthenticated(); + +// https://developer.github.com/v3/users/#update-the-authenticated-user +octokit.users.updateAuthenticated({ + name, + email, + blog, + company, + location, + hireable, + bio +}); + +// https://developer.github.com/v3/users/blocking/#list-blocked-users +octokit.users.listBlocked(); + +// https://developer.github.com/v3/users/blocking/#check-whether-youve-blocked-a-user +octokit.users.checkBlocked({ username }); + +// https://developer.github.com/v3/users/blocking/#block-a-user +octokit.users.block({ username }); + +// https://developer.github.com/v3/users/blocking/#unblock-a-user +octokit.users.unblock({ username }); + +// https://developer.github.com/v3/users/emails/#toggle-primary-email-visibility +octokit.users.togglePrimaryEmailVisibility({ email, visibility }); + +// https://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user +octokit.users.listEmails(); + +// https://developer.github.com/v3/users/emails/#add-email-addresses +octokit.users.addEmails({ emails }); + +// https://developer.github.com/v3/users/emails/#delete-email-addresses +octokit.users.deleteEmails({ emails }); + +// https://developer.github.com/v3/users/followers/#list-followers-of-a-user +octokit.users.listFollowersForAuthenticatedUser(); + +// https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user +octokit.users.listFollowingForAuthenticatedUser(); + +// https://developer.github.com/v3/users/followers/#check-if-you-are-following-a-user +octokit.users.checkFollowing({ username }); + +// https://developer.github.com/v3/users/followers/#follow-a-user +octokit.users.follow({ username }); + +// https://developer.github.com/v3/users/followers/#unfollow-a-user +octokit.users.unfollow({ username }); + +// https://developer.github.com/v3/users/gpg_keys/#list-your-gpg-keys +octokit.users.listGpgKeys(); + +// https://developer.github.com/v3/users/gpg_keys/#create-a-gpg-key +octokit.users.createGpgKey({ armored_public_key }); + +// https://developer.github.com/v3/users/gpg_keys/#get-a-single-gpg-key +octokit.users.getGpgKey({ gpg_key_id }); + +// https://developer.github.com/v3/users/gpg_keys/#delete-a-gpg-key +octokit.users.deleteGpgKey({ gpg_key_id }); + +// https://developer.github.com/v3/apps/installations/#list-installations-for-a-user +octokit.apps.listInstallationsForAuthenticatedUser(); + +// https://developer.github.com/v3/apps/installations/#list-repositories-accessible-to-the-user-for-an-installation +octokit.apps.listInstallationReposForAuthenticatedUser({ installation_id }); + +// https://developer.github.com/v3/apps/installations/#add-repository-to-installation +octokit.apps.addRepoToInstallation({ installation_id, repository_id }); + +// https://developer.github.com/v3/apps/installations/#remove-repository-from-installation +octokit.apps.removeRepoFromInstallation({ installation_id, repository_id }); + +// https://developer.github.com/v3/issues/#list-issues +octokit.issues.listForAuthenticatedUser({ + filter, + state, + labels, + sort, + direction, + since +}); + +// https://developer.github.com/v3/users/keys/#list-your-public-keys +octokit.users.listPublicKeys(); + +// https://developer.github.com/v3/users/keys/#create-a-public-key +octokit.users.createPublicKey({ title, key }); + +// https://developer.github.com/v3/users/keys/#get-a-single-public-key +octokit.users.getPublicKey({ key_id }); + +// https://developer.github.com/v3/users/keys/#delete-a-public-key +octokit.users.deletePublicKey({ key_id }); + +// https://developer.github.com/v3/apps/marketplace/#get-a-users-marketplace-purchases +octokit.apps.listMarketplacePurchasesForAuthenticatedUser(); + +// https://developer.github.com/v3/apps/marketplace/#get-a-users-marketplace-purchases +octokit.apps.listMarketplacePurchasesForAuthenticatedUserStubbed(); + +// https://developer.github.com/v3/orgs/members/#list-your-organization-memberships +octokit.orgs.listMemberships({ state }); + +// https://developer.github.com/v3/orgs/members/#get-your-organization-membership +octokit.orgs.getMembershipForAuthenticatedUser({ org }); + +// https://developer.github.com/v3/orgs/members/#edit-your-organization-membership +octokit.orgs.updateMembership({ org, state }); + +// https://developer.github.com/v3/migrations/users/#start-a-user-migration +octokit.migrations.startForAuthenticatedUser({ + repositories, + lock_repositories, + exclude_attachments +}); + +// https://developer.github.com/v3/migrations/users/#list-user-migrations +octokit.migrations.listForAuthenticatedUser(); + +// https://developer.github.com/v3/migrations/users/#get-the-status-of-a-user-migration +octokit.migrations.getStatusForAuthenticatedUser({ migration_id }); + +// https://developer.github.com/v3/migrations/users/#download-a-user-migration-archive +octokit.migrations.getArchiveForAuthenticatedUser({ migration_id }); + +// https://developer.github.com/v3/migrations/users/#delete-a-user-migration-archive +octokit.migrations.deleteArchiveForAuthenticatedUser({ migration_id }); + +// https://developer.github.com/v3/migrations/users/#unlock-a-user-repository +octokit.migrations.unlockRepoForAuthenticatedUser({ migration_id, repo_name }); + +// https://developer.github.com/v3/orgs/#list-your-organizations +octokit.orgs.listForAuthenticatedUser(); + +// https://developer.github.com/v3/projects/#create-a-user-project +octokit.projects.createForAuthenticatedUser({ name, body }); + +// https://developer.github.com/v3/users/emails/#list-public-email-addresses-for-a-user +octokit.users.listPublicEmails(); + +// https://developer.github.com/v3/repos/#list-your-repositories +octokit.repos.list({ visibility, affiliation, type, sort, direction }); + +// https://developer.github.com/v3/repos/#create +octokit.repos.createForAuthenticatedUser({ + name, + description, + homepage, + private, + visibility, + has_issues, + has_projects, + has_wiki, + is_template, + team_id, + auto_init, + gitignore_template, + license_template, + allow_squash_merge, + allow_merge_commit, + allow_rebase_merge, + delete_branch_on_merge +}); + +// https://developer.github.com/v3/repos/invitations/#list-a-users-repository-invitations +octokit.repos.listInvitationsForAuthenticatedUser(); + +// https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation +octokit.repos.acceptInvitation({ invitation_id }); + +// https://developer.github.com/v3/repos/invitations/#decline-a-repository-invitation +octokit.repos.declineInvitation({ invitation_id }); + +// https://developer.github.com/v3/activity/starring/#list-repositories-being-starred +octokit.activity.listReposStarredByAuthenticatedUser({ sort, direction }); + +// https://developer.github.com/v3/activity/starring/#check-if-you-are-starring-a-repository +octokit.activity.checkStarringRepo({ owner, repo }); + +// https://developer.github.com/v3/activity/starring/#star-a-repository +octokit.activity.starRepo({ owner, repo }); + +// https://developer.github.com/v3/activity/starring/#unstar-a-repository +octokit.activity.unstarRepo({ owner, repo }); + +// https://developer.github.com/v3/activity/watching/#list-repositories-being-watched +octokit.activity.listWatchedReposForAuthenticatedUser(); + +// https://developer.github.com/v3/teams/#list-user-teams +octokit.teams.listForAuthenticatedUser(); + +// https://developer.github.com/v3/migrations/users/#list-repositories-for-a-user-migration +octokit.migrations.listReposForUser({ migration_id }); + +// https://developer.github.com/v3/users/#get-all-users +octokit.users.list({ since }); + +// https://developer.github.com/v3/users/#get-a-single-user +octokit.users.getByUsername({ username }); + +// https://developer.github.com/v3/activity/events/#list-events-performed-by-a-user +octokit.activity.listEventsForUser({ username }); + +// https://developer.github.com/v3/activity/events/#list-events-for-an-organization +octokit.activity.listEventsForOrg({ username, org }); + +// https://developer.github.com/v3/activity/events/#list-public-events-performed-by-a-user +octokit.activity.listPublicEventsForUser({ username }); + +// https://developer.github.com/v3/users/followers/#list-followers-of-a-user +octokit.users.listFollowersForUser({ username }); + +// https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user +octokit.users.listFollowingForUser({ username }); + +// https://developer.github.com/v3/users/followers/#check-if-one-user-follows-another +octokit.users.checkFollowingForUser({ username, target_user }); + +// https://developer.github.com/v3/gists/#list-a-users-gists +octokit.gists.listPublicForUser({ username, since }); + +// https://developer.github.com/v3/users/gpg_keys/#list-gpg-keys-for-a-user +octokit.users.listGpgKeysForUser({ username }); + +// https://developer.github.com/v3/users/#get-contextual-information-about-a-user +octokit.users.getContextForUser({ username, subject_type, subject_id }); + +// https://developer.github.com/v3/apps/#get-a-user-installation +octokit.apps.getUserInstallation({ username }); + +// DEPRECATED: octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() +octokit.apps.findUserInstallation({ username }); + +// https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user +octokit.users.listPublicKeysForUser({ username }); + +// https://developer.github.com/v3/orgs/#list-user-organizations +octokit.orgs.listForUser({ username }); + +// https://developer.github.com/v3/projects/#list-user-projects +octokit.projects.listForUser({ username, state }); + +// https://developer.github.com/v3/activity/events/#list-events-that-a-user-has-received +octokit.activity.listReceivedEventsForUser({ username }); + +// https://developer.github.com/v3/activity/events/#list-public-events-that-a-user-has-received +octokit.activity.listReceivedPublicEventsForUser({ username }); + +// https://developer.github.com/v3/repos/#list-user-repositories +octokit.repos.listForUser({ username, type, sort, direction }); + +// https://developer.github.com/v3/activity/starring/#list-repositories-being-starred +octokit.activity.listReposStarredByUser({ username, sort, direction }); + +// https://developer.github.com/v3/activity/watching/#list-repositories-being-watched +octokit.activity.listReposWatchedByUser({ username }); + +// https://developer.github.com/v3/repos/commits/#get-a-single-commit +octokit.repos.getCommitRefSha({ owner, ref, repo }); + +// https://developer.github.com/v3/git/refs/#get-all-references +octokit.git.listRefs({ owner, repo, namespace }); + +// https://developer.github.com/v3/issues/labels/#update-a-label +octokit.issues.updateLabel({ + owner, + repo, + current_name, + color, + name, + description +}); + +// https://developer.github.com/v3/pulls/#create-a-pull-request +octokit.pulls.createFromIssue({ + owner, + repo, + base, + draft, + head, + issue, + maintainer_can_modify, + owner, + repo +}); + +// https://developer.github.com/v3/repos/releases/#upload-a-release-asset +octokit.repos.uploadReleaseAsset({ data, headers, label, name, url }); +``` + +There is one method for each REST API endpoint documented at [https://developer.github.com/v3](https://developer.github.com/v3). + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js new file mode 100644 index 0000000..f391f5e --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js @@ -0,0 +1,13196 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var deprecation = require('deprecation'); + +var endpointsByScope = { + actions: { + cancelWorkflowRun: { + method: "POST", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel" + }, + createOrUpdateSecretForRepo: { + method: "PUT", + params: { + encrypted_value: { + type: "string" + }, + key_id: { + type: "string" + }, + name: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + createRegistrationToken: { + method: "POST", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/runners/registration-token" + }, + createRemoveToken: { + method: "POST", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/runners/remove-token" + }, + deleteArtifact: { + method: "DELETE", + params: { + artifact_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + deleteSecretFromRepo: { + method: "DELETE", + params: { + name: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + downloadArtifact: { + method: "GET", + params: { + archive_format: { + required: true, + type: "string" + }, + artifact_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format" + }, + getArtifact: { + method: "GET", + params: { + artifact_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + getPublicKey: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/secrets/public-key" + }, + getSecret: { + method: "GET", + params: { + name: { + 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/actions/secrets/:name" + }, + getSelfHostedRunner: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + runner_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + }, + getWorkflow: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + workflow_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id" + }, + getWorkflowJob: { + method: "GET", + params: { + job_id: { + required: true, + type: "integer" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/jobs/:job_id" + }, + getWorkflowRun: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id" + }, + listDownloadsForSelfHostedRunnerApplication: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/runners/downloads" + }, + listJobsForWorkflowRun: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs" + }, + listRepoWorkflowRuns: { + method: "GET", + params: { + actor: { + type: "string" + }, + branch: { + type: "string" + }, + event: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + status: { + enum: ["completed", "status", "conclusion"], + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/runs" + }, + listRepoWorkflows: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/workflows" + }, + listSecretsForRepo: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/secrets" + }, + listSelfHostedRunnersForRepo: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/actions/runners" + }, + listWorkflowJobLogs: { + method: "GET", + params: { + job_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/actions/jobs/:job_id/logs" + }, + listWorkflowRunArtifacts: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts" + }, + listWorkflowRunLogs: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/logs" + }, + listWorkflowRuns: { + method: "GET", + params: { + actor: { + type: "string" + }, + branch: { + type: "string" + }, + event: { + type: "string" + }, + owner: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + repo: { + required: true, + type: "string" + }, + status: { + enum: ["completed", "status", "conclusion"], + type: "string" + }, + workflow_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs" + }, + reRunWorkflow: { + method: "POST", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + run_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun" + }, + removeSelfHostedRunner: { + method: "DELETE", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + runner_id: { + required: true, + type: "integer" + } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + } + }, + 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" + } + }, + url: "/marketplace_listing/accounts/:account_id" + }, + checkAccountIsAssociatedWithAnyStubbed: { + method: "GET", + params: { + account_id: { + required: true, + type: "integer" + } + }, + url: "/marketplace_listing/stubbed/accounts/:account_id" + }, + checkAuthorization: { + deprecated: "octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization", + method: "GET", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + checkToken: { + headers: { + accept: "application/vnd.github.doctor-strange-preview+json" + }, + method: "POST", + params: { + access_token: { + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/token" + }, + 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" + }, + deleteAuthorization: { + headers: { + accept: "application/vnd.github.doctor-strange-preview+json" + }, + method: "DELETE", + params: { + access_token: { + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/grant" + }, + 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" + }, + deleteToken: { + headers: { + accept: "application/vnd.github.doctor-strange-preview+json" + }, + method: "DELETE", + params: { + access_token: { + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/token" + }, + 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" + }, + resetAuthorization: { + deprecated: "octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization", + method: "POST", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + resetToken: { + headers: { + accept: "application/vnd.github.doctor-strange-preview+json" + }, + method: "PATCH", + params: { + access_token: { + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application", + method: "DELETE", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application", + method: "DELETE", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/grants/:access_token" + }, + revokeInstallationToken: { + headers: { + accept: "application/vnd.github.gambit-preview+json" + }, + method: "DELETE", + params: {}, + url: "/installation/token" + } + }, + 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" + }, + 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: { + 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" + }, + downloadArchiveForOrg: { + 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" + }, + 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: { + deprecated: "octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)", + 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: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + since: { + type: "string" + } + }, + url: "/repos/:owner/:repo/import/authors" + }, + getImportProgress: { + method: "GET", + params: { + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + } + }, + url: "/repos/:owner/:repo/import" + }, + getLargeFiles: { + 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" + }, + listReposForOrg: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "GET", + params: { + migration_id: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/orgs/:org/migrations/:migration_id/repositories" + }, + listReposForUser: { + headers: { + accept: "application/vnd.github.wyandotte-preview+json" + }, + method: "GET", + params: { + migration_id: { + required: true, + type: "integer" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/user/:migration_id/repositories" + }, + mapCommitAuthor: { + 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: { + 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: { + 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: { + 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: { + deprecated: "octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)", + method: "GET", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + createAuthorization: { + deprecated: "octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization", + 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: { + deprecated: "octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization", + method: "DELETE", + params: { + authorization_id: { + required: true, + type: "integer" + } + }, + url: "/authorizations/:authorization_id" + }, + deleteGrant: { + deprecated: "octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant", + method: "DELETE", + params: { + grant_id: { + required: true, + type: "integer" + } + }, + url: "/applications/grants/:grant_id" + }, + getAuthorization: { + deprecated: "octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization", + method: "GET", + params: { + authorization_id: { + required: true, + type: "integer" + } + }, + url: "/authorizations/:authorization_id" + }, + getGrant: { + deprecated: "octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant", + method: "GET", + params: { + grant_id: { + required: true, + type: "integer" + } + }, + url: "/applications/grants/:grant_id" + }, + getOrCreateAuthorizationForApp: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app", + 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: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint", + 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: { + deprecated: "octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/authorizations" + }, + listGrants: { + deprecated: "octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + } + }, + url: "/applications/grants" + }, + resetAuthorization: { + deprecated: "octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)", + method: "POST", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { + required: true, + type: "string" + }, + client_id: { + required: true, + type: "string" + } + }, + url: "/applications/:client_id/grants/:access_token" + }, + updateAuthorization: { + deprecated: "octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization", + 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: "integer" + } + }, + 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_internal_repositories: { + type: "boolean" + }, + members_can_create_private_repositories: { + type: "boolean" + }, + members_can_create_public_repositories: { + type: "boolean" + }, + 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: { + 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: { + deprecated: "octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)", + 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" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionComment: { + deprecated: "octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { + accept: "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" + }, + createForTeamDiscussionCommentInOrg: { + headers: { + accept: "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" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy", + headers: { + accept: "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" + }, + createForTeamDiscussionInOrg: { + 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" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy", + 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" + }, + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + delete: { + headers: { + accept: "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: { + deprecated: "octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)", + headers: { + accept: "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: { + deprecated: "octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { + accept: "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" + }, + listForTeamDiscussionCommentInOrg: { + headers: { + accept: "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" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy", + headers: { + accept: "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" + }, + listForTeamDiscussionInOrg: { + headers: { + accept: "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" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + listForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy", + headers: { + accept: "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" + } + }, + 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: { + 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" + }, + delete_branch_on_merge: { + 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" + }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + 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" + }, + delete_branch_on_merge: { + 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" + }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + 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", "internal"], + 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: "integer" + } + }, + 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: { + headers: { + accept: "application/vnd.github.mercy-preview+json" + }, + 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: { + headers: { + accept: "application/vnd.github.mercy-preview+json" + }, + 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: { + 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" + }, + delete_branch_on_merge: { + type: "boolean" + }, + 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" + }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/repos/:owner/:repo" + }, + updateBranchProtection: { + method: "PUT", + params: { + allow_deletions: { + type: "boolean" + }, + allow_force_pushes: { + allowNull: true, + type: "boolean" + }, + branch: { + required: true, + type: "string" + }, + enforce_admins: { + allowNull: true, + required: true, + type: "boolean" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + required_linear_history: { + type: "boolean" + }, + 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: { + data: { + mapTo: "data", + required: true, + type: "string | object" + }, + file: { + alias: "data", + deprecated: 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() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)", + method: "PUT", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + addMemberLegacy: { + deprecated: "octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy", + method: "PUT", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + addOrUpdateMembership: { + deprecated: "octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)", + 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" + }, + addOrUpdateMembershipInOrg: { + method: "PUT", + params: { + org: { + required: true, + type: "string" + }, + role: { + enum: ["member", "maintainer"], + type: "string" + }, + team_slug: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + addOrUpdateMembershipLegacy: { + deprecated: "octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy", + 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: { + deprecated: "octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)", + 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" + }, + addOrUpdateProjectInOrg: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "PUT", + params: { + org: { + required: true, + type: "string" + }, + permission: { + enum: ["read", "write", "admin"], + type: "string" + }, + project_id: { + required: true, + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + addOrUpdateProjectLegacy: { + deprecated: "octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy", + 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: { + deprecated: "octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)", + 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" + }, + addOrUpdateRepoInOrg: { + method: "PUT", + params: { + org: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + permission: { + enum: ["pull", "push", "admin"], + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + addOrUpdateRepoLegacy: { + deprecated: "octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy", + 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: { + deprecated: "octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)", + 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" + }, + checkManagesRepoInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + checkManagesRepoLegacy: { + deprecated: "octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy", + 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: { + deprecated: "octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + createDiscussionCommentInOrg: { + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + createDiscussionCommentLegacy: { + deprecated: "octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy", + 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" + }, + createDiscussionInOrg: { + method: "POST", + params: { + body: { + required: true, + type: "string" + }, + org: { + required: true, + type: "string" + }, + private: { + type: "boolean" + }, + team_slug: { + required: true, + type: "string" + }, + title: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + createDiscussionLegacy: { + deprecated: "octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy", + 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" + }, + delete: { + deprecated: "octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id" + }, + deleteDiscussion: { + deprecated: "octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)", + method: "DELETE", + params: { + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteDiscussionComment: { + deprecated: "octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + deleteDiscussionCommentInOrg: { + method: "DELETE", + params: { + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionCommentLegacy: { + deprecated: "octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy", + 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" + }, + deleteDiscussionInOrg: { + method: "DELETE", + params: { + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + deleteDiscussionLegacy: { + deprecated: "octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy", + method: "DELETE", + params: { + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteInOrg: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug" + }, + deleteLegacy: { + deprecated: "octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id" + }, + get: { + deprecated: "octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)", + method: "GET", + params: { + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getDiscussionComment: { + deprecated: "octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + getDiscussionCommentInOrg: { + method: "GET", + params: { + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionCommentLegacy: { + deprecated: "octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy", + 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" + }, + getDiscussionInOrg: { + method: "GET", + params: { + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + getDiscussionLegacy: { + deprecated: "octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy", + method: "GET", + params: { + discussion_number: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getLegacy: { + deprecated: "octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy", + method: "GET", + params: { + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id" + }, + getMember: { + deprecated: "octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + getMemberLegacy: { + deprecated: "octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy", + method: "GET", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + getMembership: { + deprecated: "octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/memberships/:username" + }, + getMembershipInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + getMembershipLegacy: { + deprecated: "octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy", + 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: { + deprecated: "octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/teams" + }, + listChildInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/teams" + }, + listChildLegacy: { + deprecated: "octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/teams" + }, + listDiscussionComments: { + deprecated: "octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)", + 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" + }, + listDiscussionCommentsInOrg: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + listDiscussionCommentsLegacy: { + deprecated: "octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy", + 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: { + deprecated: "octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)", + 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" + }, + listDiscussionsInOrg: { + method: "GET", + params: { + direction: { + enum: ["asc", "desc"], + type: "string" + }, + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + listDiscussionsLegacy: { + deprecated: "octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy", + 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: { + deprecated: "octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)", + 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" + }, + listMembersInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + role: { + enum: ["member", "maintainer", "all"], + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/members" + }, + listMembersLegacy: { + deprecated: "octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy", + 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: { + deprecated: "octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/invitations" + }, + listPendingInvitationsInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/invitations" + }, + listPendingInvitationsLegacy: { + deprecated: "octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/invitations" + }, + listProjects: { + deprecated: "octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)", + 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" + }, + listProjectsInOrg: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/projects" + }, + listProjectsLegacy: { + deprecated: "octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy", + 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: { + deprecated: "octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)", + method: "GET", + params: { + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/repos" + }, + listReposInOrg: { + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + page: { + type: "integer" + }, + per_page: { + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/repos" + }, + listReposLegacy: { + deprecated: "octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy", + 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() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + removeMemberLegacy: { + deprecated: "octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/members/:username" + }, + removeMembership: { + deprecated: "octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeMembershipInOrg: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + }, + username: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + removeMembershipLegacy: { + deprecated: "octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy", + method: "DELETE", + params: { + team_id: { + required: true, + type: "integer" + }, + username: { + required: true, + type: "string" + } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeProject: { + deprecated: "octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)", + method: "DELETE", + params: { + project_id: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeProjectInOrg: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + project_id: { + required: true, + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + removeProjectLegacy: { + deprecated: "octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy", + method: "DELETE", + params: { + project_id: { + required: true, + type: "integer" + }, + team_id: { + required: true, + type: "integer" + } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeRepo: { + deprecated: "octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)", + 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" + }, + removeRepoInOrg: { + method: "DELETE", + params: { + org: { + required: true, + type: "string" + }, + owner: { + required: true, + type: "string" + }, + repo: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + removeRepoLegacy: { + deprecated: "octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy", + 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: { + deprecated: "octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)", + 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" + }, + reviewProjectInOrg: { + headers: { + accept: "application/vnd.github.inertia-preview+json" + }, + method: "GET", + params: { + org: { + required: true, + type: "string" + }, + project_id: { + required: true, + type: "integer" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + reviewProjectLegacy: { + deprecated: "octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy", + 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: { + deprecated: "octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + updateDiscussionCommentInOrg: { + method: "PATCH", + params: { + body: { + required: true, + type: "string" + }, + comment_number: { + required: true, + type: "integer" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionCommentLegacy: { + deprecated: "octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy", + 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" + }, + updateDiscussionInOrg: { + method: "PATCH", + params: { + body: { + type: "string" + }, + discussion_number: { + required: true, + type: "integer" + }, + org: { + required: true, + type: "string" + }, + team_slug: { + required: true, + type: "string" + }, + title: { + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + updateDiscussionLegacy: { + deprecated: "octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy", + 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" + }, + updateInOrg: { + method: "PATCH", + params: { + description: { + 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" + }, + team_slug: { + required: true, + type: "string" + } + }, + url: "/orgs/:org/teams/:team_slug" + }, + updateLegacy: { + deprecated: "octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy", + 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" + } + }, + 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: { + 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" + } + } +}; + +const VERSION = "2.4.0"; + +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] = Object.assign(function deprecatedEndpointMethod() { + octokit.log.warn(new deprecation.Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`)); + octokit[namespaceName][apiName] = request; + return request.apply(null, arguments); + }, request); + 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.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; +} + +/** + * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary + * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is + * done, we will remove the registerEndpoints methods and return the methods + * directly as with the other plugins. At that point we will also remove the + * legacy workarounds and deprecations. + * + * See the plan at + * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 + */ + +function restEndpointMethods(octokit) { + // @ts-ignore + octokit.registerEndpoints = registerEndpoints.bind(null, octokit); + registerEndpoints(octokit, endpointsByScope); // Aliasing scopes for backward compatibility + // See https://github.com/octokit/rest.js/pull/1134 + + [["gitdata", "git"], ["authorization", "oauthAuthorizations"], ["pullRequests", "pulls"]].forEach(([deprecatedScope, scope]) => { + Object.defineProperty(octokit, deprecatedScope, { + get() { + octokit.log.warn( // @ts-ignore + new deprecation.Deprecation(`[@octokit/plugin-rest-endpoint-methods] "octokit.${deprecatedScope}.*" methods are deprecated, use "octokit.${scope}.*" instead`)); // @ts-ignore + + return octokit[scope]; + } + + }); + }); + return {}; +} +restEndpointMethods.VERSION = VERSION; + +exports.restEndpointMethods = restEndpointMethods; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map new file mode 100644 index 0000000..32beda9 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/register-endpoints.js","../dist-src/index.js"],"sourcesContent":["export default {\n actions: {\n cancelWorkflowRun: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/cancel\"\n },\n createOrUpdateSecretForRepo: {\n method: \"PUT\",\n params: {\n encrypted_value: { type: \"string\" },\n key_id: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n createRegistrationToken: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/registration-token\"\n },\n createRemoveToken: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/remove-token\"\n },\n deleteArtifact: {\n method: \"DELETE\",\n params: {\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id\"\n },\n deleteSecretFromRepo: {\n method: \"DELETE\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n downloadArtifact: {\n method: \"GET\",\n params: {\n archive_format: { required: true, type: \"string\" },\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format\"\n },\n getArtifact: {\n method: \"GET\",\n params: {\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id\"\n },\n getPublicKey: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/public-key\"\n },\n getSecret: {\n method: \"GET\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n getSelfHostedRunner: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n runner_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/:runner_id\"\n },\n getWorkflow: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n workflow_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows/:workflow_id\"\n },\n getWorkflowJob: {\n method: \"GET\",\n params: {\n job_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/jobs/:job_id\"\n },\n getWorkflowRun: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id\"\n },\n listDownloadsForSelfHostedRunnerApplication: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/downloads\"\n },\n listJobsForWorkflowRun: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/jobs\"\n },\n listRepoWorkflowRuns: {\n method: \"GET\",\n params: {\n actor: { type: \"string\" },\n branch: { type: \"string\" },\n event: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"completed\", \"status\", \"conclusion\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runs\"\n },\n listRepoWorkflows: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows\"\n },\n listSecretsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets\"\n },\n listSelfHostedRunnersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners\"\n },\n listWorkflowJobLogs: {\n method: \"GET\",\n params: {\n job_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/jobs/:job_id/logs\"\n },\n listWorkflowRunArtifacts: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/artifacts\"\n },\n listWorkflowRunLogs: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/logs\"\n },\n listWorkflowRuns: {\n method: \"GET\",\n params: {\n actor: { type: \"string\" },\n branch: { type: \"string\" },\n event: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"completed\", \"status\", \"conclusion\"], type: \"string\" },\n workflow_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows/:workflow_id/runs\"\n },\n reRunWorkflow: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/rerun\"\n },\n removeSelfHostedRunner: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n runner_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/:runner_id\"\n }\n },\n activity: {\n checkStarringRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n },\n deleteRepoSubscription: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n deleteThreadSubscription: {\n method: \"DELETE\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n getRepoSubscription: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n getThread: {\n method: \"GET\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id\"\n },\n getThreadSubscription: {\n method: \"GET\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n listEventsForOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events/orgs/:org\"\n },\n listEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events\"\n },\n listFeeds: { method: \"GET\", params: {}, url: \"/feeds\" },\n listNotifications: {\n method: \"GET\",\n params: {\n all: { type: \"boolean\" },\n before: { type: \"string\" },\n page: { type: \"integer\" },\n participating: { type: \"boolean\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/notifications\"\n },\n listNotificationsForRepo: {\n method: \"GET\",\n params: {\n all: { type: \"boolean\" },\n before: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n participating: { type: \"boolean\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/notifications\"\n },\n listPublicEvents: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/events\"\n },\n listPublicEventsForOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/events\"\n },\n listPublicEventsForRepoNetwork: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/networks/:owner/:repo/events\"\n },\n listPublicEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events/public\"\n },\n listReceivedEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/received_events\"\n },\n listReceivedPublicEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/received_events/public\"\n },\n listRepoEvents: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/events\"\n },\n listReposStarredByAuthenticatedUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/user/starred\"\n },\n listReposStarredByUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/starred\"\n },\n listReposWatchedByUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/subscriptions\"\n },\n listStargazersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stargazers\"\n },\n listWatchedReposForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/subscriptions\"\n },\n listWatchersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscribers\"\n },\n markAsRead: {\n method: \"PUT\",\n params: { last_read_at: { type: \"string\" } },\n url: \"/notifications\"\n },\n markNotificationsAsReadForRepo: {\n method: \"PUT\",\n params: {\n last_read_at: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/notifications\"\n },\n markThreadAsRead: {\n method: \"PATCH\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id\"\n },\n setRepoSubscription: {\n method: \"PUT\",\n params: {\n ignored: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n subscribed: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n setThreadSubscription: {\n method: \"PUT\",\n params: {\n ignored: { type: \"boolean\" },\n thread_id: { required: true, type: \"integer\" }\n },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n starRepo: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n },\n unstarRepo: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n }\n },\n apps: {\n addRepoToInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"PUT\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n repository_id: { required: true, type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories/:repository_id\"\n },\n checkAccountIsAssociatedWithAny: {\n method: \"GET\",\n params: { account_id: { required: true, type: \"integer\" } },\n url: \"/marketplace_listing/accounts/:account_id\"\n },\n checkAccountIsAssociatedWithAnyStubbed: {\n method: \"GET\",\n params: { account_id: { required: true, type: \"integer\" } },\n url: \"/marketplace_listing/stubbed/accounts/:account_id\"\n },\n checkAuthorization: {\n deprecated: \"octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization\",\n method: \"GET\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n checkToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"POST\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n createContentAttachment: {\n headers: { accept: \"application/vnd.github.corsair-preview+json\" },\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n content_reference_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/content_references/:content_reference_id/attachments\"\n },\n createFromManifest: {\n headers: { accept: \"application/vnd.github.fury-preview+json\" },\n method: \"POST\",\n params: { code: { required: true, type: \"string\" } },\n url: \"/app-manifests/:code/conversions\"\n },\n createInstallationToken: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"POST\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n permissions: { type: \"object\" },\n repository_ids: { type: \"integer[]\" }\n },\n url: \"/app/installations/:installation_id/access_tokens\"\n },\n deleteAuthorization: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"DELETE\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grant\"\n },\n deleteInstallation: {\n headers: {\n accept: \"application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json\"\n },\n method: \"DELETE\",\n params: { installation_id: { required: true, type: \"integer\" } },\n url: \"/app/installations/:installation_id\"\n },\n deleteToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"DELETE\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n findOrgInstallation: {\n deprecated: \"octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/installation\"\n },\n findRepoInstallation: {\n deprecated: \"octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/installation\"\n },\n findUserInstallation: {\n deprecated: \"octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username/installation\"\n },\n getAuthenticated: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {},\n url: \"/app\"\n },\n getBySlug: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { app_slug: { required: true, type: \"string\" } },\n url: \"/apps/:app_slug\"\n },\n getInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { installation_id: { required: true, type: \"integer\" } },\n url: \"/app/installations/:installation_id\"\n },\n getOrgInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/installation\"\n },\n getRepoInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/installation\"\n },\n getUserInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username/installation\"\n },\n listAccountsUserOrOrgOnPlan: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n plan_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/marketplace_listing/plans/:plan_id/accounts\"\n },\n listAccountsUserOrOrgOnPlanStubbed: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n plan_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/marketplace_listing/stubbed/plans/:plan_id/accounts\"\n },\n listInstallationReposForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories\"\n },\n listInstallations: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/app/installations\"\n },\n listInstallationsForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/installations\"\n },\n listMarketplacePurchasesForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/marketplace_purchases\"\n },\n listMarketplacePurchasesForAuthenticatedUserStubbed: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/marketplace_purchases/stubbed\"\n },\n listPlans: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/marketplace_listing/plans\"\n },\n listPlansStubbed: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/marketplace_listing/stubbed/plans\"\n },\n listRepos: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/installation/repositories\"\n },\n removeRepoFromInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"DELETE\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n repository_id: { required: true, type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories/:repository_id\"\n },\n resetAuthorization: {\n deprecated: \"octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization\",\n method: \"POST\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n resetToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"PATCH\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n revokeAuthorizationForApplication: {\n deprecated: \"octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeGrantForApplication: {\n deprecated: \"octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grants/:access_token\"\n },\n revokeInstallationToken: {\n headers: { accept: \"application/vnd.github.gambit-preview+json\" },\n method: \"DELETE\",\n params: {},\n url: \"/installation/token\"\n }\n },\n checks: {\n create: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n actions: { type: \"object[]\" },\n \"actions[].description\": { required: true, type: \"string\" },\n \"actions[].identifier\": { required: true, type: \"string\" },\n \"actions[].label\": { required: true, type: \"string\" },\n completed_at: { type: \"string\" },\n conclusion: {\n enum: [\n \"success\",\n \"failure\",\n \"neutral\",\n \"cancelled\",\n \"timed_out\",\n \"action_required\"\n ],\n type: \"string\"\n },\n details_url: { type: \"string\" },\n external_id: { type: \"string\" },\n head_sha: { required: true, type: \"string\" },\n name: { required: true, type: \"string\" },\n output: { type: \"object\" },\n \"output.annotations\": { type: \"object[]\" },\n \"output.annotations[].annotation_level\": {\n enum: [\"notice\", \"warning\", \"failure\"],\n required: true,\n type: \"string\"\n },\n \"output.annotations[].end_column\": { type: \"integer\" },\n \"output.annotations[].end_line\": { required: true, type: \"integer\" },\n \"output.annotations[].message\": { required: true, type: \"string\" },\n \"output.annotations[].path\": { required: true, type: \"string\" },\n \"output.annotations[].raw_details\": { type: \"string\" },\n \"output.annotations[].start_column\": { type: \"integer\" },\n \"output.annotations[].start_line\": { required: true, type: \"integer\" },\n \"output.annotations[].title\": { type: \"string\" },\n \"output.images\": { type: \"object[]\" },\n \"output.images[].alt\": { required: true, type: \"string\" },\n \"output.images[].caption\": { type: \"string\" },\n \"output.images[].image_url\": { required: true, type: \"string\" },\n \"output.summary\": { required: true, type: \"string\" },\n \"output.text\": { type: \"string\" },\n \"output.title\": { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n started_at: { type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs\"\n },\n createSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n head_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites\"\n },\n get: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_run_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id\"\n },\n getSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_suite_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id\"\n },\n listAnnotations: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_run_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id/annotations\"\n },\n listForRef: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_name: { type: \"string\" },\n filter: { enum: [\"latest\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/check-runs\"\n },\n listForSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_name: { type: \"string\" },\n check_suite_id: { required: true, type: \"integer\" },\n filter: { enum: [\"latest\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id/check-runs\"\n },\n listSuitesForRef: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n app_id: { type: \"integer\" },\n check_name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/check-suites\"\n },\n rerequestSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n check_suite_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id/rerequest\"\n },\n setSuitesPreferences: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"PATCH\",\n params: {\n auto_trigger_checks: { type: \"object[]\" },\n \"auto_trigger_checks[].app_id\": { required: true, type: \"integer\" },\n \"auto_trigger_checks[].setting\": { required: true, type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/preferences\"\n },\n update: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"PATCH\",\n params: {\n actions: { type: \"object[]\" },\n \"actions[].description\": { required: true, type: \"string\" },\n \"actions[].identifier\": { required: true, type: \"string\" },\n \"actions[].label\": { required: true, type: \"string\" },\n check_run_id: { required: true, type: \"integer\" },\n completed_at: { type: \"string\" },\n conclusion: {\n enum: [\n \"success\",\n \"failure\",\n \"neutral\",\n \"cancelled\",\n \"timed_out\",\n \"action_required\"\n ],\n type: \"string\"\n },\n details_url: { type: \"string\" },\n external_id: { type: \"string\" },\n name: { type: \"string\" },\n output: { type: \"object\" },\n \"output.annotations\": { type: \"object[]\" },\n \"output.annotations[].annotation_level\": {\n enum: [\"notice\", \"warning\", \"failure\"],\n required: true,\n type: \"string\"\n },\n \"output.annotations[].end_column\": { type: \"integer\" },\n \"output.annotations[].end_line\": { required: true, type: \"integer\" },\n \"output.annotations[].message\": { required: true, type: \"string\" },\n \"output.annotations[].path\": { required: true, type: \"string\" },\n \"output.annotations[].raw_details\": { type: \"string\" },\n \"output.annotations[].start_column\": { type: \"integer\" },\n \"output.annotations[].start_line\": { required: true, type: \"integer\" },\n \"output.annotations[].title\": { type: \"string\" },\n \"output.images\": { type: \"object[]\" },\n \"output.images[].alt\": { required: true, type: \"string\" },\n \"output.images[].caption\": { type: \"string\" },\n \"output.images[].image_url\": { required: true, type: \"string\" },\n \"output.summary\": { required: true, type: \"string\" },\n \"output.text\": { type: \"string\" },\n \"output.title\": { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n started_at: { type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id\"\n }\n },\n codesOfConduct: {\n getConductCode: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: { key: { required: true, type: \"string\" } },\n url: \"/codes_of_conduct/:key\"\n },\n getForRepo: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/community/code_of_conduct\"\n },\n listConductCodes: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: {},\n url: \"/codes_of_conduct\"\n }\n },\n emojis: { get: { method: \"GET\", params: {}, url: \"/emojis\" } },\n gists: {\n checkIsStarred: {\n method: \"GET\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n create: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n files: { required: true, type: \"object\" },\n \"files.content\": { type: \"string\" },\n public: { type: \"boolean\" }\n },\n url: \"/gists\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments\"\n },\n delete: {\n method: \"DELETE\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n },\n fork: {\n method: \"POST\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/forks\"\n },\n get: {\n method: \"GET\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n },\n getRevision: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/:sha\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists\"\n },\n listComments: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/commits\"\n },\n listForks: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/forks\"\n },\n listPublic: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists/public\"\n },\n listPublicForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/gists\"\n },\n listStarred: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists/starred\"\n },\n star: {\n method: \"PUT\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n unstar: {\n method: \"DELETE\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n update: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n files: { type: \"object\" },\n \"files.content\": { type: \"string\" },\n \"files.filename\": { type: \"string\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n }\n },\n git: {\n createBlob: {\n method: \"POST\",\n params: {\n content: { required: true, type: \"string\" },\n encoding: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/blobs\"\n },\n createCommit: {\n method: \"POST\",\n params: {\n author: { type: \"object\" },\n \"author.date\": { type: \"string\" },\n \"author.email\": { type: \"string\" },\n \"author.name\": { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.date\": { type: \"string\" },\n \"committer.email\": { type: \"string\" },\n \"committer.name\": { type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n parents: { required: true, type: \"string[]\" },\n repo: { required: true, type: \"string\" },\n signature: { type: \"string\" },\n tree: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/commits\"\n },\n createRef: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs\"\n },\n createTag: {\n method: \"POST\",\n params: {\n message: { required: true, type: \"string\" },\n object: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag: { required: true, type: \"string\" },\n tagger: { type: \"object\" },\n \"tagger.date\": { type: \"string\" },\n \"tagger.email\": { type: \"string\" },\n \"tagger.name\": { type: \"string\" },\n type: {\n enum: [\"commit\", \"tree\", \"blob\"],\n required: true,\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo/git/tags\"\n },\n createTree: {\n method: \"POST\",\n params: {\n base_tree: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tree: { required: true, type: \"object[]\" },\n \"tree[].content\": { type: \"string\" },\n \"tree[].mode\": {\n enum: [\"100644\", \"100755\", \"040000\", \"160000\", \"120000\"],\n type: \"string\"\n },\n \"tree[].path\": { type: \"string\" },\n \"tree[].sha\": { allowNull: true, type: \"string\" },\n \"tree[].type\": { enum: [\"blob\", \"tree\", \"commit\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/trees\"\n },\n deleteRef: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:ref\"\n },\n getBlob: {\n method: \"GET\",\n params: {\n file_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/blobs/:file_sha\"\n },\n getCommit: {\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/commits/:commit_sha\"\n },\n getRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/ref/:ref\"\n },\n getTag: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag_sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/tags/:tag_sha\"\n },\n getTree: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n recursive: { enum: [\"1\"], type: \"integer\" },\n repo: { required: true, type: \"string\" },\n tree_sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/trees/:tree_sha\"\n },\n listMatchingRefs: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/matching-refs/:ref\"\n },\n listRefs: {\n method: \"GET\",\n params: {\n namespace: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:namespace\"\n },\n updateRef: {\n method: \"PATCH\",\n params: {\n force: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:ref\"\n }\n },\n gitignore: {\n getTemplate: {\n method: \"GET\",\n params: { name: { required: true, type: \"string\" } },\n url: \"/gitignore/templates/:name\"\n },\n listTemplates: { method: \"GET\", params: {}, url: \"/gitignore/templates\" }\n },\n interactions: {\n addOrUpdateRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"PUT\",\n params: {\n limit: {\n enum: [\"existing_users\", \"contributors_only\", \"collaborators_only\"],\n required: true,\n type: \"string\"\n },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/interaction-limits\"\n },\n addOrUpdateRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"PUT\",\n params: {\n limit: {\n enum: [\"existing_users\", \"contributors_only\", \"collaborators_only\"],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n },\n getRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/interaction-limits\"\n },\n getRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n },\n removeRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"DELETE\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/interaction-limits\"\n },\n removeRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n }\n },\n issues: {\n addAssignees: {\n method: \"POST\",\n params: {\n assignees: { type: \"string[]\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/assignees\"\n },\n addLabels: {\n method: \"POST\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n labels: { required: true, type: \"string[]\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n checkAssignee: {\n method: \"GET\",\n params: {\n assignee: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/assignees/:assignee\"\n },\n create: {\n method: \"POST\",\n params: {\n assignee: { type: \"string\" },\n assignees: { type: \"string[]\" },\n body: { type: \"string\" },\n labels: { type: \"string[]\" },\n milestone: { type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/comments\"\n },\n createLabel: {\n method: \"POST\",\n params: {\n color: { required: true, type: \"string\" },\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels\"\n },\n createMilestone: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n due_on: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n deleteLabel: {\n method: \"DELETE\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:name\"\n },\n deleteMilestone: {\n method: \"DELETE\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n },\n get: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n getEvent: {\n method: \"GET\",\n params: {\n event_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/events/:event_id\"\n },\n getLabel: {\n method: \"GET\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:name\"\n },\n getMilestone: {\n method: \"GET\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n },\n list: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/issues\"\n },\n listAssignees: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/assignees\"\n },\n listComments: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/comments\"\n },\n listCommentsForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments\"\n },\n listEvents: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/events\"\n },\n listEventsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/events\"\n },\n listEventsForTimeline: {\n headers: { accept: \"application/vnd.github.mockingbird-preview+json\" },\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/timeline\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/user/issues\"\n },\n listForOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/orgs/:org/issues\"\n },\n listForRepo: {\n method: \"GET\",\n params: {\n assignee: { type: \"string\" },\n creator: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n labels: { type: \"string\" },\n mentioned: { type: \"string\" },\n milestone: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues\"\n },\n listLabelsForMilestone: {\n method: \"GET\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number/labels\"\n },\n listLabelsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels\"\n },\n listLabelsOnIssue: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n listMilestonesForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: { enum: [\"due_on\", \"completeness\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones\"\n },\n lock: {\n method: \"PUT\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n lock_reason: {\n enum: [\"off-topic\", \"too heated\", \"resolved\", \"spam\"],\n type: \"string\"\n },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/lock\"\n },\n removeAssignees: {\n method: \"DELETE\",\n params: {\n assignees: { type: \"string[]\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/assignees\"\n },\n removeLabel: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n name: { required: true, type: \"string\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels/:name\"\n },\n removeLabels: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n replaceLabels: {\n method: \"PUT\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n labels: { type: \"string[]\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n unlock: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/lock\"\n },\n update: {\n method: \"PATCH\",\n params: {\n assignee: { type: \"string\" },\n assignees: { type: \"string[]\" },\n body: { type: \"string\" },\n issue_number: { required: true, type: \"integer\" },\n labels: { type: \"string[]\" },\n milestone: { allowNull: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n updateLabel: {\n method: \"PATCH\",\n params: {\n color: { type: \"string\" },\n current_name: { required: true, type: \"string\" },\n description: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:current_name\"\n },\n updateMilestone: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n due_on: { type: \"string\" },\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n }\n },\n licenses: {\n get: {\n method: \"GET\",\n params: { license: { required: true, type: \"string\" } },\n url: \"/licenses/:license\"\n },\n getForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/license\"\n },\n list: {\n deprecated: \"octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)\",\n method: \"GET\",\n params: {},\n url: \"/licenses\"\n },\n listCommonlyUsed: { method: \"GET\", params: {}, url: \"/licenses\" }\n },\n markdown: {\n render: {\n method: \"POST\",\n params: {\n context: { type: \"string\" },\n mode: { enum: [\"markdown\", \"gfm\"], type: \"string\" },\n text: { required: true, type: \"string\" }\n },\n url: \"/markdown\"\n },\n renderRaw: {\n headers: { \"content-type\": \"text/plain; charset=utf-8\" },\n method: \"POST\",\n params: { data: { mapTo: \"data\", required: true, type: \"string\" } },\n url: \"/markdown/raw\"\n }\n },\n meta: { get: { method: \"GET\", params: {}, url: \"/meta\" } },\n migrations: {\n cancelImport: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n deleteArchiveForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id/archive\"\n },\n deleteArchiveForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n downloadArchiveForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n getArchiveForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id/archive\"\n },\n getArchiveForOrg: {\n deprecated: \"octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)\",\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n getCommitAuthors: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/authors\"\n },\n getImportProgress: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n getLargeFiles: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/large_files\"\n },\n getStatusForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id\"\n },\n getStatusForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id\"\n },\n listForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/migrations\"\n },\n listForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/migrations\"\n },\n listReposForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/repositories\"\n },\n listReposForUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/user/:migration_id/repositories\"\n },\n mapCommitAuthor: {\n method: \"PATCH\",\n params: {\n author_id: { required: true, type: \"integer\" },\n email: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/authors/:author_id\"\n },\n setLfsPreference: {\n method: \"PATCH\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n use_lfs: { enum: [\"opt_in\", \"opt_out\"], required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/lfs\"\n },\n startForAuthenticatedUser: {\n method: \"POST\",\n params: {\n exclude_attachments: { type: \"boolean\" },\n lock_repositories: { type: \"boolean\" },\n repositories: { required: true, type: \"string[]\" }\n },\n url: \"/user/migrations\"\n },\n startForOrg: {\n method: \"POST\",\n params: {\n exclude_attachments: { type: \"boolean\" },\n lock_repositories: { type: \"boolean\" },\n org: { required: true, type: \"string\" },\n repositories: { required: true, type: \"string[]\" }\n },\n url: \"/orgs/:org/migrations\"\n },\n startImport: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tfvc_project: { type: \"string\" },\n vcs: {\n enum: [\"subversion\", \"git\", \"mercurial\", \"tfvc\"],\n type: \"string\"\n },\n vcs_password: { type: \"string\" },\n vcs_url: { required: true, type: \"string\" },\n vcs_username: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n unlockRepoForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n repo_name: { required: true, type: \"string\" }\n },\n url: \"/user/migrations/:migration_id/repos/:repo_name/lock\"\n },\n unlockRepoForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n repo_name: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/repos/:repo_name/lock\"\n },\n updateImport: {\n method: \"PATCH\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n vcs_password: { type: \"string\" },\n vcs_username: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n }\n },\n oauthAuthorizations: {\n checkAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)\",\n method: \"GET\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n createAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization\",\n method: \"POST\",\n params: {\n client_id: { type: \"string\" },\n client_secret: { type: \"string\" },\n fingerprint: { type: \"string\" },\n note: { required: true, type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations\"\n },\n deleteAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization\",\n method: \"DELETE\",\n params: { authorization_id: { required: true, type: \"integer\" } },\n url: \"/authorizations/:authorization_id\"\n },\n deleteGrant: {\n deprecated: \"octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant\",\n method: \"DELETE\",\n params: { grant_id: { required: true, type: \"integer\" } },\n url: \"/applications/grants/:grant_id\"\n },\n getAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization\",\n method: \"GET\",\n params: { authorization_id: { required: true, type: \"integer\" } },\n url: \"/authorizations/:authorization_id\"\n },\n getGrant: {\n deprecated: \"octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant\",\n method: \"GET\",\n params: { grant_id: { required: true, type: \"integer\" } },\n url: \"/applications/grants/:grant_id\"\n },\n getOrCreateAuthorizationForApp: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id\"\n },\n getOrCreateAuthorizationForAppAndFingerprint: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { required: true, type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id/:fingerprint\"\n },\n getOrCreateAuthorizationForAppFingerprint: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { required: true, type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id/:fingerprint\"\n },\n listAuthorizations: {\n deprecated: \"octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations\",\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/authorizations\"\n },\n listGrants: {\n deprecated: \"octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants\",\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/applications/grants\"\n },\n resetAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)\",\n method: \"POST\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeAuthorizationForApplication: {\n deprecated: \"octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeGrantForApplication: {\n deprecated: \"octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grants/:access_token\"\n },\n updateAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization\",\n method: \"PATCH\",\n params: {\n add_scopes: { type: \"string[]\" },\n authorization_id: { required: true, type: \"integer\" },\n fingerprint: { type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n remove_scopes: { type: \"string[]\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/:authorization_id\"\n }\n },\n orgs: {\n addOrUpdateMembership: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n role: { enum: [\"admin\", \"member\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n blockUser: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n checkBlockedUser: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n checkMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/members/:username\"\n },\n checkPublicMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n concealMembership: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n convertMemberToOutsideCollaborator: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/outside_collaborators/:username\"\n },\n createHook: {\n method: \"POST\",\n params: {\n active: { type: \"boolean\" },\n config: { required: true, type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks\"\n },\n createInvitation: {\n method: \"POST\",\n params: {\n email: { type: \"string\" },\n invitee_id: { type: \"integer\" },\n org: { required: true, type: \"string\" },\n role: {\n enum: [\"admin\", \"direct_member\", \"billing_manager\"],\n type: \"string\"\n },\n team_ids: { type: \"integer[]\" }\n },\n url: \"/orgs/:org/invitations\"\n },\n deleteHook: {\n method: \"DELETE\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n get: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org\"\n },\n getHook: {\n method: \"GET\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n getMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n getMembershipForAuthenticatedUser: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/user/memberships/orgs/:org\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"integer\" }\n },\n url: \"/organizations\"\n },\n listBlockedUsers: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/blocks\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/orgs\"\n },\n listForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/orgs\"\n },\n listHooks: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/hooks\"\n },\n listInstallations: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/installations\"\n },\n listInvitationTeams: {\n method: \"GET\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/invitations/:invitation_id/teams\"\n },\n listMembers: {\n method: \"GET\",\n params: {\n filter: { enum: [\"2fa_disabled\", \"all\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"all\", \"admin\", \"member\"], type: \"string\" }\n },\n url: \"/orgs/:org/members\"\n },\n listMemberships: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"active\", \"pending\"], type: \"string\" }\n },\n url: \"/user/memberships/orgs\"\n },\n listOutsideCollaborators: {\n method: \"GET\",\n params: {\n filter: { enum: [\"2fa_disabled\", \"all\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/outside_collaborators\"\n },\n listPendingInvitations: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/invitations\"\n },\n listPublicMembers: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/public_members\"\n },\n pingHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id/pings\"\n },\n publicizeMembership: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n removeMember: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/members/:username\"\n },\n removeMembership: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n removeOutsideCollaborator: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/outside_collaborators/:username\"\n },\n unblockUser: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n update: {\n method: \"PATCH\",\n params: {\n billing_email: { type: \"string\" },\n company: { type: \"string\" },\n default_repository_permission: {\n enum: [\"read\", \"write\", \"admin\", \"none\"],\n type: \"string\"\n },\n description: { type: \"string\" },\n email: { type: \"string\" },\n has_organization_projects: { type: \"boolean\" },\n has_repository_projects: { type: \"boolean\" },\n location: { type: \"string\" },\n members_allowed_repository_creation_type: {\n enum: [\"all\", \"private\", \"none\"],\n type: \"string\"\n },\n members_can_create_internal_repositories: { type: \"boolean\" },\n members_can_create_private_repositories: { type: \"boolean\" },\n members_can_create_public_repositories: { type: \"boolean\" },\n members_can_create_repositories: { type: \"boolean\" },\n name: { type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org\"\n },\n updateHook: {\n method: \"PATCH\",\n params: {\n active: { type: \"boolean\" },\n config: { type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n updateMembership: {\n method: \"PATCH\",\n params: {\n org: { required: true, type: \"string\" },\n state: { enum: [\"active\"], required: true, type: \"string\" }\n },\n url: \"/user/memberships/orgs/:org\"\n }\n },\n projects: {\n addCollaborator: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username\"\n },\n createCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n column_id: { required: true, type: \"integer\" },\n content_id: { type: \"integer\" },\n content_type: { type: \"string\" },\n note: { type: \"string\" }\n },\n url: \"/projects/columns/:column_id/cards\"\n },\n createColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n name: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/columns\"\n },\n createForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" }\n },\n url: \"/user/projects\"\n },\n createForOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/projects\"\n },\n createForRepo: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/projects\"\n },\n delete: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { project_id: { required: true, type: \"integer\" } },\n url: \"/projects/:project_id\"\n },\n deleteCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { card_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/cards/:card_id\"\n },\n deleteColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { column_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/:column_id\"\n },\n get: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { project_id: { required: true, type: \"integer\" } },\n url: \"/projects/:project_id\"\n },\n getCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { card_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/cards/:card_id\"\n },\n getColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { column_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/:column_id\"\n },\n listCards: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n archived_state: {\n enum: [\"all\", \"archived\", \"not_archived\"],\n type: \"string\"\n },\n column_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/projects/columns/:column_id/cards\"\n },\n listCollaborators: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n affiliation: { enum: [\"outside\", \"direct\", \"all\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/collaborators\"\n },\n listColumns: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/columns\"\n },\n listForOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/orgs/:org/projects\"\n },\n listForRepo: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/projects\"\n },\n listForUser: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/projects\"\n },\n moveCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n card_id: { required: true, type: \"integer\" },\n column_id: { type: \"integer\" },\n position: {\n required: true,\n type: \"string\",\n validation: \"^(top|bottom|after:\\\\d+)$\"\n }\n },\n url: \"/projects/columns/cards/:card_id/moves\"\n },\n moveColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n column_id: { required: true, type: \"integer\" },\n position: {\n required: true,\n type: \"string\",\n validation: \"^(first|last|after:\\\\d+)$\"\n }\n },\n url: \"/projects/columns/:column_id/moves\"\n },\n removeCollaborator: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username\"\n },\n reviewUserPermissionLevel: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username/permission\"\n },\n update: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n name: { type: \"string\" },\n organization_permission: { type: \"string\" },\n private: { type: \"boolean\" },\n project_id: { required: true, type: \"integer\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" }\n },\n url: \"/projects/:project_id\"\n },\n updateCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n archived: { type: \"boolean\" },\n card_id: { required: true, type: \"integer\" },\n note: { type: \"string\" }\n },\n url: \"/projects/columns/cards/:card_id\"\n },\n updateColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n column_id: { required: true, type: \"integer\" },\n name: { required: true, type: \"string\" }\n },\n url: \"/projects/columns/:column_id\"\n }\n },\n pulls: {\n checkIfMerged: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/merge\"\n },\n create: {\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n head: { required: true, type: \"string\" },\n maintainer_can_modify: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_id: { required: true, type: \"string\" },\n in_reply_to: {\n deprecated: true,\n 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.\",\n type: \"integer\"\n },\n line: { type: \"integer\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n position: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n side: { enum: [\"LEFT\", \"RIGHT\"], type: \"string\" },\n start_line: { type: \"integer\" },\n start_side: { enum: [\"LEFT\", \"RIGHT\", \"side\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n createCommentReply: {\n deprecated: \"octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_id: { required: true, type: \"string\" },\n in_reply_to: {\n deprecated: true,\n 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.\",\n type: \"integer\"\n },\n line: { type: \"integer\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n position: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n side: { enum: [\"LEFT\", \"RIGHT\"], type: \"string\" },\n start_line: { type: \"integer\" },\n start_side: { enum: [\"LEFT\", \"RIGHT\", \"side\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n createFromIssue: {\n deprecated: \"octokit.pulls.createFromIssue() is deprecated, see https://developer.github.com/v3/pulls/#create-a-pull-request\",\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n draft: { type: \"boolean\" },\n head: { required: true, type: \"string\" },\n issue: { required: true, type: \"integer\" },\n maintainer_can_modify: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n createReview: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n comments: { type: \"object[]\" },\n \"comments[].body\": { required: true, type: \"string\" },\n \"comments[].path\": { required: true, type: \"string\" },\n \"comments[].position\": { required: true, type: \"integer\" },\n commit_id: { type: \"string\" },\n event: {\n enum: [\"APPROVE\", \"REQUEST_CHANGES\", \"COMMENT\"],\n type: \"string\"\n },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews\"\n },\n createReviewCommentReply: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies\"\n },\n createReviewRequest: {\n method: \"POST\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n reviewers: { type: \"string[]\" },\n team_reviewers: { type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n deletePendingReview: {\n method: \"DELETE\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n },\n deleteReviewRequest: {\n method: \"DELETE\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n reviewers: { type: \"string[]\" },\n team_reviewers: { type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n dismissReview: {\n method: \"PUT\",\n params: {\n message: { required: true, type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals\"\n },\n get: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n getCommentsForReview: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments\"\n },\n getReview: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n },\n list: {\n method: \"GET\",\n params: {\n base: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n head: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: {\n enum: [\"created\", \"updated\", \"popularity\", \"long-running\"],\n type: \"string\"\n },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n listComments: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n listCommentsForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/commits\"\n },\n listFiles: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/files\"\n },\n listReviewRequests: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n listReviews: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews\"\n },\n merge: {\n method: \"PUT\",\n params: {\n commit_message: { type: \"string\" },\n commit_title: { type: \"string\" },\n merge_method: { enum: [\"merge\", \"squash\", \"rebase\"], type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/merge\"\n },\n submitReview: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n event: {\n enum: [\"APPROVE\", \"REQUEST_CHANGES\", \"COMMENT\"],\n required: true,\n type: \"string\"\n },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events\"\n },\n update: {\n method: \"PATCH\",\n params: {\n base: { type: \"string\" },\n body: { type: \"string\" },\n maintainer_can_modify: { type: \"boolean\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number\"\n },\n updateBranch: {\n headers: { accept: \"application/vnd.github.lydian-preview+json\" },\n method: \"PUT\",\n params: {\n expected_head_sha: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/update-branch\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n updateReview: {\n method: \"PUT\",\n params: {\n body: { required: true, type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n }\n },\n rateLimit: { get: { method: \"GET\", params: {}, url: \"/rate_limit\" } },\n reactions: {\n createForCommitComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id/reactions\"\n },\n createForIssue: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/reactions\"\n },\n createForIssueComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id/reactions\"\n },\n createForPullRequestReviewComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id/reactions\"\n },\n createForTeamDiscussion: {\n deprecated: \"octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n createForTeamDiscussionComment: {\n deprecated: \"octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionCommentInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionCommentLegacy: {\n deprecated: \"octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions\"\n },\n createForTeamDiscussionLegacy: {\n deprecated: \"octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n delete: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"DELETE\",\n params: { reaction_id: { required: true, type: \"integer\" } },\n url: \"/reactions/:reaction_id\"\n },\n listForCommitComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id/reactions\"\n },\n listForIssue: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/reactions\"\n },\n listForIssueComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id/reactions\"\n },\n listForPullRequestReviewComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id/reactions\"\n },\n listForTeamDiscussion: {\n deprecated: \"octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n listForTeamDiscussionComment: {\n deprecated: \"octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionCommentInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionCommentLegacy: {\n deprecated: \"octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions\"\n },\n listForTeamDiscussionLegacy: {\n deprecated: \"octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n }\n },\n repos: {\n acceptInvitation: {\n method: \"PATCH\",\n params: { invitation_id: { required: true, type: \"integer\" } },\n url: \"/user/repository_invitations/:invitation_id\"\n },\n addCollaborator: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n addDeployKey: {\n method: \"POST\",\n params: {\n key: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n read_only: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys\"\n },\n addProtectedBranchAdminEnforcement: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n addProtectedBranchAppRestrictions: {\n method: \"POST\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n addProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n addProtectedBranchRequiredStatusChecksContexts: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n addProtectedBranchTeamRestrictions: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n addProtectedBranchUserRestrictions: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n checkCollaborator: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n checkVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n compareCommits: {\n method: \"GET\",\n params: {\n base: { required: true, type: \"string\" },\n head: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/compare/:base...:head\"\n },\n createCommitComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_sha: { required: true, type: \"string\" },\n line: { type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { type: \"string\" },\n position: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { alias: \"commit_sha\", deprecated: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/comments\"\n },\n createDeployment: {\n method: \"POST\",\n params: {\n auto_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n environment: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n payload: { type: \"string\" },\n production_environment: { type: \"boolean\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n required_contexts: { type: \"string[]\" },\n task: { type: \"string\" },\n transient_environment: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/deployments\"\n },\n createDeploymentStatus: {\n method: \"POST\",\n params: {\n auto_inactive: { type: \"boolean\" },\n deployment_id: { required: true, type: \"integer\" },\n description: { type: \"string\" },\n environment: { enum: [\"production\", \"staging\", \"qa\"], type: \"string\" },\n environment_url: { type: \"string\" },\n log_url: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: {\n enum: [\n \"error\",\n \"failure\",\n \"inactive\",\n \"in_progress\",\n \"queued\",\n \"pending\",\n \"success\"\n ],\n required: true,\n type: \"string\"\n },\n target_url: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses\"\n },\n createDispatchEvent: {\n method: \"POST\",\n params: {\n client_payload: { type: \"object\" },\n event_type: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/dispatches\"\n },\n createFile: {\n deprecated: \"octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)\",\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n createForAuthenticatedUser: {\n method: \"POST\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n auto_init: { type: \"boolean\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n gitignore_template: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n license_template: { type: \"string\" },\n name: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { type: \"integer\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/user/repos\"\n },\n createFork: {\n method: \"POST\",\n params: {\n organization: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/forks\"\n },\n createHook: {\n method: \"POST\",\n params: {\n active: { type: \"boolean\" },\n config: { required: true, type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks\"\n },\n createInOrg: {\n method: \"POST\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n auto_init: { type: \"boolean\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n gitignore_template: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n license_template: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { type: \"integer\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/orgs/:org/repos\"\n },\n createOrUpdateFile: {\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n createRelease: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n prerelease: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n tag_name: { required: true, type: \"string\" },\n target_commitish: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases\"\n },\n createStatus: {\n method: \"POST\",\n params: {\n context: { type: \"string\" },\n description: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" },\n state: {\n enum: [\"error\", \"failure\", \"pending\", \"success\"],\n required: true,\n type: \"string\"\n },\n target_url: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/statuses/:sha\"\n },\n createUsingTemplate: {\n headers: { accept: \"application/vnd.github.baptiste-preview+json\" },\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { type: \"string\" },\n private: { type: \"boolean\" },\n template_owner: { required: true, type: \"string\" },\n template_repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:template_owner/:template_repo/generate\"\n },\n declineInvitation: {\n method: \"DELETE\",\n params: { invitation_id: { required: true, type: \"integer\" } },\n url: \"/user/repository_invitations/:invitation_id\"\n },\n delete: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo\"\n },\n deleteCommitComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n deleteDownload: {\n method: \"DELETE\",\n params: {\n download_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads/:download_id\"\n },\n deleteFile: {\n method: \"DELETE\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { type: \"string\" },\n \"author.name\": { type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { type: \"string\" },\n \"committer.name\": { type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n deleteHook: {\n method: \"DELETE\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n deleteInvitation: {\n method: \"DELETE\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations/:invitation_id\"\n },\n deleteRelease: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n deleteReleaseAsset: {\n method: \"DELETE\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n disableAutomatedSecurityFixes: {\n headers: { accept: \"application/vnd.github.london-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/automated-security-fixes\"\n },\n disablePagesSite: {\n headers: { accept: \"application/vnd.github.switcheroo-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n disableVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n enableAutomatedSecurityFixes: {\n headers: { accept: \"application/vnd.github.london-preview+json\" },\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/automated-security-fixes\"\n },\n enablePagesSite: {\n headers: { accept: \"application/vnd.github.switcheroo-preview+json\" },\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n source: { type: \"object\" },\n \"source.branch\": { enum: [\"master\", \"gh-pages\"], type: \"string\" },\n \"source.path\": { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n enableVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n get: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo\"\n },\n getAppsWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n getArchiveLink: {\n method: \"GET\",\n params: {\n archive_format: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/:archive_format/:ref\"\n },\n getBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch\"\n },\n getBranchProtection: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n getClones: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n per: { enum: [\"day\", \"week\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/clones\"\n },\n getCodeFrequencyStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/code_frequency\"\n },\n getCollaboratorPermissionLevel: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username/permission\"\n },\n getCombinedStatusForRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/status\"\n },\n getCommit: {\n method: \"GET\",\n params: {\n commit_sha: { alias: \"ref\", deprecated: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { alias: \"ref\", deprecated: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref\"\n },\n getCommitActivityStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/commit_activity\"\n },\n getCommitComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n getCommitRefSha: {\n deprecated: \"octokit.repos.getCommitRefSha() is deprecated, see https://developer.github.com/v3/repos/commits/#get-a-single-commit\",\n headers: { accept: \"application/vnd.github.v3.sha\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref\"\n },\n getContents: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n getContributorsStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/contributors\"\n },\n getDeployKey: {\n method: \"GET\",\n params: {\n key_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys/:key_id\"\n },\n getDeployment: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id\"\n },\n getDeploymentStatus: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n status_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id\"\n },\n getDownload: {\n method: \"GET\",\n params: {\n download_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads/:download_id\"\n },\n getHook: {\n method: \"GET\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n getLatestPagesBuild: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds/latest\"\n },\n getLatestRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/latest\"\n },\n getPages: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n getPagesBuild: {\n method: \"GET\",\n params: {\n build_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds/:build_id\"\n },\n getParticipationStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/participation\"\n },\n getProtectedBranchAdminEnforcement: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n getProtectedBranchPullRequestReviewEnforcement: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n getProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n getProtectedBranchRequiredStatusChecks: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n getProtectedBranchRestrictions: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions\"\n },\n getPunchCardStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/punch_card\"\n },\n getReadme: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/readme\"\n },\n getRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n getReleaseAsset: {\n method: \"GET\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n getReleaseByTag: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/tags/:tag\"\n },\n getTeamsWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n getTopPaths: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/popular/paths\"\n },\n getTopReferrers: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/popular/referrers\"\n },\n getUsersWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n getViews: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n per: { enum: [\"day\", \"week\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/views\"\n },\n list: {\n method: \"GET\",\n params: {\n affiliation: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: {\n enum: [\"all\", \"owner\", \"public\", \"private\", \"member\"],\n type: \"string\"\n },\n visibility: { enum: [\"all\", \"public\", \"private\"], type: \"string\" }\n },\n url: \"/user/repos\"\n },\n listAppsWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n listAssetsForRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id/assets\"\n },\n listBranches: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n protected: { type: \"boolean\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches\"\n },\n listBranchesForHeadCommit: {\n headers: { accept: \"application/vnd.github.groot-preview+json\" },\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/branches-where-head\"\n },\n listCollaborators: {\n method: \"GET\",\n params: {\n affiliation: { enum: [\"outside\", \"direct\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators\"\n },\n listCommentsForCommit: {\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { alias: \"commit_sha\", deprecated: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/comments\"\n },\n listCommitComments: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n author: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n path: { type: \"string\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" },\n since: { type: \"string\" },\n until: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits\"\n },\n listContributors: {\n method: \"GET\",\n params: {\n anon: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contributors\"\n },\n listDeployKeys: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys\"\n },\n listDeploymentStatuses: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses\"\n },\n listDeployments: {\n method: \"GET\",\n params: {\n environment: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" },\n task: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments\"\n },\n listDownloads: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads\"\n },\n listForOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: {\n enum: [\n \"all\",\n \"public\",\n \"private\",\n \"forks\",\n \"sources\",\n \"member\",\n \"internal\"\n ],\n type: \"string\"\n }\n },\n url: \"/orgs/:org/repos\"\n },\n listForUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: { enum: [\"all\", \"owner\", \"member\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/repos\"\n },\n listForks: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: { enum: [\"newest\", \"oldest\", \"stargazers\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/forks\"\n },\n listHooks: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks\"\n },\n listInvitations: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations\"\n },\n listInvitationsForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/repository_invitations\"\n },\n listLanguages: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/languages\"\n },\n listPagesBuilds: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds\"\n },\n listProtectedBranchRequiredStatusChecksContexts: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n listProtectedBranchTeamRestrictions: {\n deprecated: \"octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n listProtectedBranchUserRestrictions: {\n deprecated: \"octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n listPublic: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"integer\" }\n },\n url: \"/repositories\"\n },\n listPullRequestsAssociatedWithCommit: {\n headers: { accept: \"application/vnd.github.groot-preview+json\" },\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/pulls\"\n },\n listReleases: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases\"\n },\n listStatusesForRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/statuses\"\n },\n listTags: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/tags\"\n },\n listTeams: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/teams\"\n },\n listTeamsWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n listTopics: {\n headers: { accept: \"application/vnd.github.mercy-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/topics\"\n },\n listUsersWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n merge: {\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n commit_message: { type: \"string\" },\n head: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/merges\"\n },\n pingHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id/pings\"\n },\n removeBranchProtection: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n removeCollaborator: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n removeDeployKey: {\n method: \"DELETE\",\n params: {\n key_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys/:key_id\"\n },\n removeProtectedBranchAdminEnforcement: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n removeProtectedBranchAppRestrictions: {\n method: \"DELETE\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n removeProtectedBranchPullRequestReviewEnforcement: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n removeProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n removeProtectedBranchRequiredStatusChecks: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n removeProtectedBranchRequiredStatusChecksContexts: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n removeProtectedBranchRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions\"\n },\n removeProtectedBranchTeamRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n removeProtectedBranchUserRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n replaceProtectedBranchAppRestrictions: {\n method: \"PUT\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n replaceProtectedBranchRequiredStatusChecksContexts: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n replaceProtectedBranchTeamRestrictions: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n replaceProtectedBranchUserRestrictions: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n replaceTopics: {\n headers: { accept: \"application/vnd.github.mercy-preview+json\" },\n method: \"PUT\",\n params: {\n names: { required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/topics\"\n },\n requestPageBuild: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds\"\n },\n retrieveCommunityProfileMetrics: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/community/profile\"\n },\n testPushHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id/tests\"\n },\n transfer: {\n method: \"POST\",\n params: {\n new_owner: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_ids: { type: \"integer[]\" }\n },\n url: \"/repos/:owner/:repo/transfer\"\n },\n update: {\n method: \"PATCH\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n archived: { type: \"boolean\" },\n default_branch: { type: \"string\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo\"\n },\n updateBranchProtection: {\n method: \"PUT\",\n params: {\n allow_deletions: { type: \"boolean\" },\n allow_force_pushes: { allowNull: true, type: \"boolean\" },\n branch: { required: true, type: \"string\" },\n enforce_admins: { allowNull: true, required: true, type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n required_linear_history: { type: \"boolean\" },\n required_pull_request_reviews: {\n allowNull: true,\n required: true,\n type: \"object\"\n },\n \"required_pull_request_reviews.dismiss_stale_reviews\": {\n type: \"boolean\"\n },\n \"required_pull_request_reviews.dismissal_restrictions\": {\n type: \"object\"\n },\n \"required_pull_request_reviews.dismissal_restrictions.teams\": {\n type: \"string[]\"\n },\n \"required_pull_request_reviews.dismissal_restrictions.users\": {\n type: \"string[]\"\n },\n \"required_pull_request_reviews.require_code_owner_reviews\": {\n type: \"boolean\"\n },\n \"required_pull_request_reviews.required_approving_review_count\": {\n type: \"integer\"\n },\n required_status_checks: {\n allowNull: true,\n required: true,\n type: \"object\"\n },\n \"required_status_checks.contexts\": { required: true, type: \"string[]\" },\n \"required_status_checks.strict\": { required: true, type: \"boolean\" },\n restrictions: { allowNull: true, required: true, type: \"object\" },\n \"restrictions.apps\": { type: \"string[]\" },\n \"restrictions.teams\": { required: true, type: \"string[]\" },\n \"restrictions.users\": { required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n updateCommitComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n updateFile: {\n deprecated: \"octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)\",\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n updateHook: {\n method: \"PATCH\",\n params: {\n active: { type: \"boolean\" },\n add_events: { type: \"string[]\" },\n config: { type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n remove_events: { type: \"string[]\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n updateInformationAboutPagesSite: {\n method: \"PUT\",\n params: {\n cname: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n source: {\n enum: ['\"gh-pages\"', '\"master\"', '\"master /docs\"'],\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n updateInvitation: {\n method: \"PATCH\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n permissions: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations/:invitation_id\"\n },\n updateProtectedBranchPullRequestReviewEnforcement: {\n method: \"PATCH\",\n params: {\n branch: { required: true, type: \"string\" },\n dismiss_stale_reviews: { type: \"boolean\" },\n dismissal_restrictions: { type: \"object\" },\n \"dismissal_restrictions.teams\": { type: \"string[]\" },\n \"dismissal_restrictions.users\": { type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n require_code_owner_reviews: { type: \"boolean\" },\n required_approving_review_count: { type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n updateProtectedBranchRequiredStatusChecks: {\n method: \"PATCH\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n strict: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n updateRelease: {\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n prerelease: { type: \"boolean\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n tag_name: { type: \"string\" },\n target_commitish: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n updateReleaseAsset: {\n method: \"PATCH\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n label: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n uploadReleaseAsset: {\n method: \"POST\",\n params: {\n data: { mapTo: \"data\", required: true, type: \"string | object\" },\n file: { alias: \"data\", deprecated: true, type: \"string | object\" },\n headers: { required: true, type: \"object\" },\n \"headers.content-length\": { required: true, type: \"integer\" },\n \"headers.content-type\": { required: true, type: \"string\" },\n label: { type: \"string\" },\n name: { required: true, type: \"string\" },\n url: { required: true, type: \"string\" }\n },\n url: \":url\"\n }\n },\n search: {\n code: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"indexed\"], type: \"string\" }\n },\n url: \"/search/code\"\n },\n commits: {\n headers: { accept: \"application/vnd.github.cloak-preview+json\" },\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"author-date\", \"committer-date\"], type: \"string\" }\n },\n url: \"/search/commits\"\n },\n issues: {\n deprecated: \"octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)\",\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\n \"comments\",\n \"reactions\",\n \"reactions-+1\",\n \"reactions--1\",\n \"reactions-smile\",\n \"reactions-thinking_face\",\n \"reactions-heart\",\n \"reactions-tada\",\n \"interactions\",\n \"created\",\n \"updated\"\n ],\n type: \"string\"\n }\n },\n url: \"/search/issues\"\n },\n issuesAndPullRequests: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\n \"comments\",\n \"reactions\",\n \"reactions-+1\",\n \"reactions--1\",\n \"reactions-smile\",\n \"reactions-thinking_face\",\n \"reactions-heart\",\n \"reactions-tada\",\n \"interactions\",\n \"created\",\n \"updated\"\n ],\n type: \"string\"\n }\n },\n url: \"/search/issues\"\n },\n labels: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n q: { required: true, type: \"string\" },\n repository_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/search/labels\"\n },\n repos: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\"stars\", \"forks\", \"help-wanted-issues\", \"updated\"],\n type: \"string\"\n }\n },\n url: \"/search/repositories\"\n },\n topics: {\n method: \"GET\",\n params: { q: { required: true, type: \"string\" } },\n url: \"/search/topics\"\n },\n users: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"followers\", \"repositories\", \"joined\"], type: \"string\" }\n },\n url: \"/search/users\"\n }\n },\n teams: {\n addMember: {\n deprecated: \"octokit.teams.addMember() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n addMemberLegacy: {\n deprecated: \"octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy\",\n method: \"PUT\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n addOrUpdateMembership: {\n deprecated: \"octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n addOrUpdateMembershipInOrg: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n addOrUpdateMembershipLegacy: {\n deprecated: \"octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy\",\n method: \"PUT\",\n params: {\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n addOrUpdateProject: {\n deprecated: \"octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n addOrUpdateProjectInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n addOrUpdateProjectLegacy: {\n deprecated: \"octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n addOrUpdateRepo: {\n deprecated: \"octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n addOrUpdateRepoInOrg: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n addOrUpdateRepoLegacy: {\n deprecated: \"octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy\",\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n checkManagesRepo: {\n deprecated: \"octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n checkManagesRepoInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n checkManagesRepoLegacy: {\n deprecated: \"octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy\",\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n create: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n maintainers: { type: \"string[]\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n repo_names: { type: \"string[]\" }\n },\n url: \"/orgs/:org/teams\"\n },\n createDiscussion: {\n deprecated: \"octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n createDiscussionComment: {\n deprecated: \"octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n createDiscussionCommentInOrg: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments\"\n },\n createDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n createDiscussionInOrg: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_slug: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions\"\n },\n createDiscussionLegacy: {\n deprecated: \"octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n delete: {\n deprecated: \"octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n deleteDiscussion: {\n deprecated: \"octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n deleteDiscussionComment: {\n deprecated: \"octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionCommentInOrg: {\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy\",\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionInOrg: {\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n deleteDiscussionLegacy: {\n deprecated: \"octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy\",\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n deleteInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n deleteLegacy: {\n deprecated: \"octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy\",\n method: \"DELETE\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n get: {\n deprecated: \"octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)\",\n method: \"GET\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n getByName: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n getDiscussion: {\n deprecated: \"octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n getDiscussionComment: {\n deprecated: \"octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionCommentInOrg: {\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy\",\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionInOrg: {\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n getDiscussionLegacy: {\n deprecated: \"octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy\",\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n getLegacy: {\n deprecated: \"octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy\",\n method: \"GET\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n getMember: {\n deprecated: \"octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n getMemberLegacy: {\n deprecated: \"octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n getMembership: {\n deprecated: \"octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n getMembershipInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n getMembershipLegacy: {\n deprecated: \"octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n list: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/teams\"\n },\n listChild: {\n deprecated: \"octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/teams\"\n },\n listChildInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/teams\"\n },\n listChildLegacy: {\n deprecated: \"octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/teams\"\n },\n listDiscussionComments: {\n deprecated: \"octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n listDiscussionCommentsInOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments\"\n },\n listDiscussionCommentsLegacy: {\n deprecated: \"octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n listDiscussions: {\n deprecated: \"octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n listDiscussionsInOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions\"\n },\n listDiscussionsLegacy: {\n deprecated: \"octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/teams\"\n },\n listMembers: {\n deprecated: \"octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/members\"\n },\n listMembersInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/members\"\n },\n listMembersLegacy: {\n deprecated: \"octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/members\"\n },\n listPendingInvitations: {\n deprecated: \"octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/invitations\"\n },\n listPendingInvitationsInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/invitations\"\n },\n listPendingInvitationsLegacy: {\n deprecated: \"octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/invitations\"\n },\n listProjects: {\n deprecated: \"octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects\"\n },\n listProjectsInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects\"\n },\n listProjectsLegacy: {\n deprecated: \"octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects\"\n },\n listRepos: {\n deprecated: \"octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos\"\n },\n listReposInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos\"\n },\n listReposLegacy: {\n deprecated: \"octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos\"\n },\n removeMember: {\n deprecated: \"octokit.teams.removeMember() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n removeMemberLegacy: {\n deprecated: \"octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n removeMembership: {\n deprecated: \"octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n removeMembershipInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n removeMembershipLegacy: {\n deprecated: \"octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n removeProject: {\n deprecated: \"octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n removeProjectInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n removeProjectLegacy: {\n deprecated: \"octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy\",\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n removeRepo: {\n deprecated: \"octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n removeRepoInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n removeRepoLegacy: {\n deprecated: \"octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy\",\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n reviewProject: {\n deprecated: \"octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n reviewProjectInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n reviewProjectLegacy: {\n deprecated: \"octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n update: {\n deprecated: \"octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id\"\n },\n updateDiscussion: {\n deprecated: \"octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" },\n title: { type: \"string\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n updateDiscussionComment: {\n deprecated: \"octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionCommentInOrg: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy\",\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionInOrg: {\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n updateDiscussionLegacy: {\n deprecated: \"octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy\",\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" },\n title: { type: \"string\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n updateInOrg: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n updateLegacy: {\n deprecated: \"octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy\",\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id\"\n }\n },\n users: {\n addEmails: {\n method: \"POST\",\n params: { emails: { required: true, type: \"string[]\" } },\n url: \"/user/emails\"\n },\n block: {\n method: \"PUT\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n checkBlocked: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n checkFollowing: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n checkFollowingForUser: {\n method: \"GET\",\n params: {\n target_user: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/following/:target_user\"\n },\n createGpgKey: {\n method: \"POST\",\n params: { armored_public_key: { type: \"string\" } },\n url: \"/user/gpg_keys\"\n },\n createPublicKey: {\n method: \"POST\",\n params: { key: { type: \"string\" }, title: { type: \"string\" } },\n url: \"/user/keys\"\n },\n deleteEmails: {\n method: \"DELETE\",\n params: { emails: { required: true, type: \"string[]\" } },\n url: \"/user/emails\"\n },\n deleteGpgKey: {\n method: \"DELETE\",\n params: { gpg_key_id: { required: true, type: \"integer\" } },\n url: \"/user/gpg_keys/:gpg_key_id\"\n },\n deletePublicKey: {\n method: \"DELETE\",\n params: { key_id: { required: true, type: \"integer\" } },\n url: \"/user/keys/:key_id\"\n },\n follow: {\n method: \"PUT\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n getAuthenticated: { method: \"GET\", params: {}, url: \"/user\" },\n getByUsername: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username\"\n },\n getContextForUser: {\n method: \"GET\",\n params: {\n subject_id: { type: \"string\" },\n subject_type: {\n enum: [\"organization\", \"repository\", \"issue\", \"pull_request\"],\n type: \"string\"\n },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/hovercard\"\n },\n getGpgKey: {\n method: \"GET\",\n params: { gpg_key_id: { required: true, type: \"integer\" } },\n url: \"/user/gpg_keys/:gpg_key_id\"\n },\n getPublicKey: {\n method: \"GET\",\n params: { key_id: { required: true, type: \"integer\" } },\n url: \"/user/keys/:key_id\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/users\"\n },\n listBlocked: { method: \"GET\", params: {}, url: \"/user/blocks\" },\n listEmails: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/emails\"\n },\n listFollowersForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/followers\"\n },\n listFollowersForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/followers\"\n },\n listFollowingForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/following\"\n },\n listFollowingForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/following\"\n },\n listGpgKeys: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/gpg_keys\"\n },\n listGpgKeysForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/gpg_keys\"\n },\n listPublicEmails: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/public_emails\"\n },\n listPublicKeys: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/keys\"\n },\n listPublicKeysForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/keys\"\n },\n togglePrimaryEmailVisibility: {\n method: \"PATCH\",\n params: {\n email: { required: true, type: \"string\" },\n visibility: { required: true, type: \"string\" }\n },\n url: \"/user/email/visibility\"\n },\n unblock: {\n method: \"DELETE\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n unfollow: {\n method: \"DELETE\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n updateAuthenticated: {\n method: \"PATCH\",\n params: {\n bio: { type: \"string\" },\n blog: { type: \"string\" },\n company: { type: \"string\" },\n email: { type: \"string\" },\n hireable: { type: \"boolean\" },\n location: { type: \"string\" },\n name: { type: \"string\" }\n },\n url: \"/user\"\n }\n }\n};\n","export const VERSION = \"2.4.0\";\n","import { Deprecation } from \"deprecation\";\nexport function registerEndpoints(octokit, routes) {\n Object.keys(routes).forEach(namespaceName => {\n if (!octokit[namespaceName]) {\n octokit[namespaceName] = {};\n }\n Object.keys(routes[namespaceName]).forEach(apiName => {\n const apiOptions = routes[namespaceName][apiName];\n const endpointDefaults = [\"method\", \"url\", \"headers\"].reduce((map, key) => {\n if (typeof apiOptions[key] !== \"undefined\") {\n map[key] = apiOptions[key];\n }\n return map;\n }, {});\n endpointDefaults.request = {\n validate: apiOptions.params\n };\n let request = octokit.request.defaults(endpointDefaults);\n // patch request & endpoint methods to support deprecated parameters.\n // Not the most elegant solution, but we don’t want to move deprecation\n // logic into octokit/endpoint.js as it’s out of scope\n const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find(key => apiOptions.params[key].deprecated);\n if (hasDeprecatedParam) {\n const patch = patchForDeprecation.bind(null, octokit, apiOptions);\n request = patch(octokit.request.defaults(endpointDefaults), `.${namespaceName}.${apiName}()`);\n request.endpoint = patch(request.endpoint, `.${namespaceName}.${apiName}.endpoint()`);\n request.endpoint.merge = patch(request.endpoint.merge, `.${namespaceName}.${apiName}.endpoint.merge()`);\n }\n if (apiOptions.deprecated) {\n octokit[namespaceName][apiName] = Object.assign(function deprecatedEndpointMethod() {\n octokit.log.warn(new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`));\n octokit[namespaceName][apiName] = request;\n return request.apply(null, arguments);\n }, request);\n return;\n }\n octokit[namespaceName][apiName] = request;\n });\n });\n}\nfunction patchForDeprecation(octokit, apiOptions, method, methodName) {\n const patchedMethod = (options) => {\n options = Object.assign({}, options);\n Object.keys(options).forEach(key => {\n if (apiOptions.params[key] && apiOptions.params[key].deprecated) {\n const aliasKey = apiOptions.params[key].alias;\n octokit.log.warn(new Deprecation(`[@octokit/rest] \"${key}\" parameter is deprecated for \"${methodName}\". Use \"${aliasKey}\" instead`));\n if (!(aliasKey in options)) {\n options[aliasKey] = options[key];\n }\n delete options[key];\n }\n });\n return method(options);\n };\n Object.keys(method).forEach(key => {\n patchedMethod[key] = method[key];\n });\n return patchedMethod;\n}\n","import { Deprecation } from \"deprecation\";\nimport endpointsByScope from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { registerEndpoints } from \"./register-endpoints\";\n/**\n * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary\n * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is\n * done, we will remove the registerEndpoints methods and return the methods\n * directly as with the other plugins. At that point we will also remove the\n * legacy workarounds and deprecations.\n *\n * See the plan at\n * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1\n */\nexport function restEndpointMethods(octokit) {\n // @ts-ignore\n octokit.registerEndpoints = registerEndpoints.bind(null, octokit);\n registerEndpoints(octokit, endpointsByScope);\n // Aliasing scopes for backward compatibility\n // See https://github.com/octokit/rest.js/pull/1134\n [\n [\"gitdata\", \"git\"],\n [\"authorization\", \"oauthAuthorizations\"],\n [\"pullRequests\", \"pulls\"]\n ].forEach(([deprecatedScope, scope]) => {\n Object.defineProperty(octokit, deprecatedScope, {\n get() {\n octokit.log.warn(\n // @ts-ignore\n new Deprecation(`[@octokit/plugin-rest-endpoint-methods] \"octokit.${deprecatedScope}.*\" methods are deprecated, use \"octokit.${scope}.*\" instead`));\n // @ts-ignore\n return octokit[scope];\n }\n });\n });\n return {};\n}\nrestEndpointMethods.VERSION = VERSION;\n"],"names":["actions","cancelWorkflowRun","method","params","owner","required","type","repo","run_id","url","createOrUpdateSecretForRepo","encrypted_value","key_id","name","createRegistrationToken","createRemoveToken","deleteArtifact","artifact_id","deleteSecretFromRepo","downloadArtifact","archive_format","getArtifact","getPublicKey","getSecret","page","per_page","getSelfHostedRunner","runner_id","getWorkflow","workflow_id","getWorkflowJob","job_id","getWorkflowRun","listDownloadsForSelfHostedRunnerApplication","listJobsForWorkflowRun","listRepoWorkflowRuns","actor","branch","event","status","enum","listRepoWorkflows","listSecretsForRepo","listSelfHostedRunnersForRepo","listWorkflowJobLogs","listWorkflowRunArtifacts","listWorkflowRunLogs","listWorkflowRuns","reRunWorkflow","removeSelfHostedRunner","activity","checkStarringRepo","deleteRepoSubscription","deleteThreadSubscription","thread_id","getRepoSubscription","getThread","getThreadSubscription","listEventsForOrg","org","username","listEventsForUser","listFeeds","listNotifications","all","before","participating","since","listNotificationsForRepo","listPublicEvents","listPublicEventsForOrg","listPublicEventsForRepoNetwork","listPublicEventsForUser","listReceivedEventsForUser","listReceivedPublicEventsForUser","listRepoEvents","listReposStarredByAuthenticatedUser","direction","sort","listReposStarredByUser","listReposWatchedByUser","listStargazersForRepo","listWatchedReposForAuthenticatedUser","listWatchersForRepo","markAsRead","last_read_at","markNotificationsAsReadForRepo","markThreadAsRead","setRepoSubscription","ignored","subscribed","setThreadSubscription","starRepo","unstarRepo","apps","addRepoToInstallation","headers","accept","installation_id","repository_id","checkAccountIsAssociatedWithAny","account_id","checkAccountIsAssociatedWithAnyStubbed","checkAuthorization","deprecated","access_token","client_id","checkToken","createContentAttachment","body","content_reference_id","title","createFromManifest","code","createInstallationToken","permissions","repository_ids","deleteAuthorization","deleteInstallation","deleteToken","findOrgInstallation","findRepoInstallation","findUserInstallation","getAuthenticated","getBySlug","app_slug","getInstallation","getOrgInstallation","getRepoInstallation","getUserInstallation","listAccountsUserOrOrgOnPlan","plan_id","listAccountsUserOrOrgOnPlanStubbed","listInstallationReposForAuthenticatedUser","listInstallations","listInstallationsForAuthenticatedUser","listMarketplacePurchasesForAuthenticatedUser","listMarketplacePurchasesForAuthenticatedUserStubbed","listPlans","listPlansStubbed","listRepos","removeRepoFromInstallation","resetAuthorization","resetToken","revokeAuthorizationForApplication","revokeGrantForApplication","revokeInstallationToken","checks","create","completed_at","conclusion","details_url","external_id","head_sha","output","started_at","createSuite","get","check_run_id","getSuite","check_suite_id","listAnnotations","listForRef","check_name","filter","ref","listForSuite","listSuitesForRef","app_id","rerequestSuite","setSuitesPreferences","auto_trigger_checks","update","codesOfConduct","getConductCode","key","getForRepo","listConductCodes","emojis","gists","checkIsStarred","gist_id","description","files","public","createComment","delete","deleteComment","comment_id","fork","getComment","getRevision","sha","list","listComments","listCommits","listForks","listPublic","listPublicForUser","listStarred","star","unstar","updateComment","git","createBlob","content","encoding","createCommit","author","committer","message","parents","signature","tree","createRef","createTag","object","tag","tagger","createTree","base_tree","allowNull","deleteRef","getBlob","file_sha","getCommit","commit_sha","getRef","getTag","tag_sha","getTree","recursive","tree_sha","listMatchingRefs","listRefs","namespace","updateRef","force","gitignore","getTemplate","listTemplates","interactions","addOrUpdateRestrictionsForOrg","limit","addOrUpdateRestrictionsForRepo","getRestrictionsForOrg","getRestrictionsForRepo","removeRestrictionsForOrg","removeRestrictionsForRepo","issues","addAssignees","assignees","issue_number","number","alias","addLabels","labels","checkAssignee","assignee","milestone","createLabel","color","createMilestone","due_on","state","deleteLabel","deleteMilestone","milestone_number","getEvent","event_id","getLabel","getMilestone","listAssignees","listCommentsForRepo","listEvents","listEventsForRepo","listEventsForTimeline","listForAuthenticatedUser","listForOrg","listForRepo","creator","mentioned","listLabelsForMilestone","listLabelsForRepo","listLabelsOnIssue","listMilestonesForRepo","lock","lock_reason","removeAssignees","removeLabel","removeLabels","replaceLabels","unlock","updateLabel","current_name","updateMilestone","licenses","license","listCommonlyUsed","markdown","render","context","mode","text","renderRaw","data","mapTo","meta","migrations","cancelImport","deleteArchiveForAuthenticatedUser","migration_id","deleteArchiveForOrg","downloadArchiveForOrg","getArchiveForAuthenticatedUser","getArchiveForOrg","getCommitAuthors","getImportProgress","getLargeFiles","getStatusForAuthenticatedUser","getStatusForOrg","listReposForOrg","listReposForUser","mapCommitAuthor","author_id","email","setLfsPreference","use_lfs","startForAuthenticatedUser","exclude_attachments","lock_repositories","repositories","startForOrg","startImport","tfvc_project","vcs","vcs_password","vcs_url","vcs_username","unlockRepoForAuthenticatedUser","repo_name","unlockRepoForOrg","updateImport","oauthAuthorizations","createAuthorization","client_secret","fingerprint","note","note_url","scopes","authorization_id","deleteGrant","grant_id","getAuthorization","getGrant","getOrCreateAuthorizationForApp","getOrCreateAuthorizationForAppAndFingerprint","getOrCreateAuthorizationForAppFingerprint","listAuthorizations","listGrants","updateAuthorization","add_scopes","remove_scopes","orgs","addOrUpdateMembership","role","blockUser","checkBlockedUser","checkMembership","checkPublicMembership","concealMembership","convertMemberToOutsideCollaborator","createHook","active","config","events","createInvitation","invitee_id","team_ids","deleteHook","hook_id","getHook","getMembership","getMembershipForAuthenticatedUser","listBlockedUsers","listForUser","listHooks","listInvitationTeams","invitation_id","listMembers","listMemberships","listOutsideCollaborators","listPendingInvitations","listPublicMembers","pingHook","publicizeMembership","removeMember","removeMembership","removeOutsideCollaborator","unblockUser","billing_email","company","default_repository_permission","has_organization_projects","has_repository_projects","location","members_allowed_repository_creation_type","members_can_create_internal_repositories","members_can_create_private_repositories","members_can_create_public_repositories","members_can_create_repositories","updateHook","updateMembership","projects","addCollaborator","permission","project_id","createCard","column_id","content_id","content_type","createColumn","createForAuthenticatedUser","createForOrg","createForRepo","deleteCard","card_id","deleteColumn","getCard","getColumn","listCards","archived_state","listCollaborators","affiliation","listColumns","moveCard","position","validation","moveColumn","removeCollaborator","reviewUserPermissionLevel","organization_permission","private","updateCard","archived","updateColumn","pulls","checkIfMerged","pull_number","base","draft","head","maintainer_can_modify","commit_id","in_reply_to","line","path","side","start_line","start_side","createCommentReply","createFromIssue","issue","createReview","comments","createReviewCommentReply","createReviewRequest","reviewers","team_reviewers","deletePendingReview","review_id","deleteReviewRequest","dismissReview","getCommentsForReview","getReview","listFiles","listReviewRequests","listReviews","merge","commit_message","commit_title","merge_method","submitReview","updateBranch","expected_head_sha","updateReview","rateLimit","reactions","createForCommitComment","createForIssue","createForIssueComment","createForPullRequestReviewComment","createForTeamDiscussion","discussion_number","team_id","createForTeamDiscussionComment","comment_number","createForTeamDiscussionCommentInOrg","team_slug","createForTeamDiscussionCommentLegacy","createForTeamDiscussionInOrg","createForTeamDiscussionLegacy","reaction_id","listForCommitComment","listForIssue","listForIssueComment","listForPullRequestReviewComment","listForTeamDiscussion","listForTeamDiscussionComment","listForTeamDiscussionCommentInOrg","listForTeamDiscussionCommentLegacy","listForTeamDiscussionInOrg","listForTeamDiscussionLegacy","repos","acceptInvitation","addDeployKey","read_only","addProtectedBranchAdminEnforcement","addProtectedBranchAppRestrictions","addProtectedBranchRequiredSignatures","addProtectedBranchRequiredStatusChecksContexts","contexts","addProtectedBranchTeamRestrictions","teams","addProtectedBranchUserRestrictions","users","checkCollaborator","checkVulnerabilityAlerts","compareCommits","createCommitComment","createDeployment","auto_merge","environment","payload","production_environment","required_contexts","task","transient_environment","createDeploymentStatus","auto_inactive","deployment_id","environment_url","log_url","target_url","createDispatchEvent","client_payload","event_type","createFile","allow_merge_commit","allow_rebase_merge","allow_squash_merge","auto_init","delete_branch_on_merge","gitignore_template","has_issues","has_projects","has_wiki","homepage","is_template","license_template","visibility","createFork","organization","createInOrg","createOrUpdateFile","createRelease","prerelease","tag_name","target_commitish","createStatus","createUsingTemplate","template_owner","template_repo","declineInvitation","deleteCommitComment","deleteDownload","download_id","deleteFile","deleteInvitation","deleteRelease","release_id","deleteReleaseAsset","asset_id","disableAutomatedSecurityFixes","disablePagesSite","disableVulnerabilityAlerts","enableAutomatedSecurityFixes","enablePagesSite","source","enableVulnerabilityAlerts","getAppsWithAccessToProtectedBranch","getArchiveLink","getBranch","getBranchProtection","getClones","per","getCodeFrequencyStats","getCollaboratorPermissionLevel","getCombinedStatusForRef","getCommitActivityStats","getCommitComment","getCommitRefSha","getContents","getContributorsStats","getDeployKey","getDeployment","getDeploymentStatus","status_id","getDownload","getLatestPagesBuild","getLatestRelease","getPages","getPagesBuild","build_id","getParticipationStats","getProtectedBranchAdminEnforcement","getProtectedBranchPullRequestReviewEnforcement","getProtectedBranchRequiredSignatures","getProtectedBranchRequiredStatusChecks","getProtectedBranchRestrictions","getPunchCardStats","getReadme","getRelease","getReleaseAsset","getReleaseByTag","getTeamsWithAccessToProtectedBranch","getTopPaths","getTopReferrers","getUsersWithAccessToProtectedBranch","getViews","listAppsWithAccessToProtectedBranch","listAssetsForRelease","listBranches","protected","listBranchesForHeadCommit","listCommentsForCommit","listCommitComments","until","listContributors","anon","listDeployKeys","listDeploymentStatuses","listDeployments","listDownloads","listInvitations","listInvitationsForAuthenticatedUser","listLanguages","listPagesBuilds","listProtectedBranchRequiredStatusChecksContexts","listProtectedBranchTeamRestrictions","listProtectedBranchUserRestrictions","listPullRequestsAssociatedWithCommit","listReleases","listStatusesForRef","listTags","listTeams","listTeamsWithAccessToProtectedBranch","listTopics","listUsersWithAccessToProtectedBranch","removeBranchProtection","removeDeployKey","removeProtectedBranchAdminEnforcement","removeProtectedBranchAppRestrictions","removeProtectedBranchPullRequestReviewEnforcement","removeProtectedBranchRequiredSignatures","removeProtectedBranchRequiredStatusChecks","removeProtectedBranchRequiredStatusChecksContexts","removeProtectedBranchRestrictions","removeProtectedBranchTeamRestrictions","removeProtectedBranchUserRestrictions","replaceProtectedBranchAppRestrictions","replaceProtectedBranchRequiredStatusChecksContexts","replaceProtectedBranchTeamRestrictions","replaceProtectedBranchUserRestrictions","replaceTopics","names","requestPageBuild","retrieveCommunityProfileMetrics","testPushHook","transfer","new_owner","default_branch","updateBranchProtection","allow_deletions","allow_force_pushes","enforce_admins","required_linear_history","required_pull_request_reviews","required_status_checks","restrictions","updateCommitComment","updateFile","add_events","remove_events","updateInformationAboutPagesSite","cname","updateInvitation","updateProtectedBranchPullRequestReviewEnforcement","dismiss_stale_reviews","dismissal_restrictions","require_code_owner_reviews","required_approving_review_count","updateProtectedBranchRequiredStatusChecks","strict","updateRelease","updateReleaseAsset","label","uploadReleaseAsset","file","search","order","q","commits","issuesAndPullRequests","topics","addMember","addMemberLegacy","addOrUpdateMembershipInOrg","addOrUpdateMembershipLegacy","addOrUpdateProject","addOrUpdateProjectInOrg","addOrUpdateProjectLegacy","addOrUpdateRepo","addOrUpdateRepoInOrg","addOrUpdateRepoLegacy","checkManagesRepo","checkManagesRepoInOrg","checkManagesRepoLegacy","maintainers","parent_team_id","privacy","repo_names","createDiscussion","createDiscussionComment","createDiscussionCommentInOrg","createDiscussionCommentLegacy","createDiscussionInOrg","createDiscussionLegacy","deleteDiscussion","deleteDiscussionComment","deleteDiscussionCommentInOrg","deleteDiscussionCommentLegacy","deleteDiscussionInOrg","deleteDiscussionLegacy","deleteInOrg","deleteLegacy","getByName","getDiscussion","getDiscussionComment","getDiscussionCommentInOrg","getDiscussionCommentLegacy","getDiscussionInOrg","getDiscussionLegacy","getLegacy","getMember","getMemberLegacy","getMembershipInOrg","getMembershipLegacy","listChild","listChildInOrg","listChildLegacy","listDiscussionComments","listDiscussionCommentsInOrg","listDiscussionCommentsLegacy","listDiscussions","listDiscussionsInOrg","listDiscussionsLegacy","listMembersInOrg","listMembersLegacy","listPendingInvitationsInOrg","listPendingInvitationsLegacy","listProjects","listProjectsInOrg","listProjectsLegacy","listReposInOrg","listReposLegacy","removeMemberLegacy","removeMembershipInOrg","removeMembershipLegacy","removeProject","removeProjectInOrg","removeProjectLegacy","removeRepo","removeRepoInOrg","removeRepoLegacy","reviewProject","reviewProjectInOrg","reviewProjectLegacy","updateDiscussion","updateDiscussionComment","updateDiscussionCommentInOrg","updateDiscussionCommentLegacy","updateDiscussionInOrg","updateDiscussionLegacy","updateInOrg","updateLegacy","addEmails","emails","block","checkBlocked","checkFollowing","checkFollowingForUser","target_user","createGpgKey","armored_public_key","createPublicKey","deleteEmails","deleteGpgKey","gpg_key_id","deletePublicKey","follow","getByUsername","getContextForUser","subject_id","subject_type","getGpgKey","listBlocked","listEmails","listFollowersForAuthenticatedUser","listFollowersForUser","listFollowingForAuthenticatedUser","listFollowingForUser","listGpgKeys","listGpgKeysForUser","listPublicEmails","listPublicKeys","listPublicKeysForUser","togglePrimaryEmailVisibility","unblock","unfollow","updateAuthenticated","bio","blog","hireable","VERSION","registerEndpoints","octokit","routes","Object","keys","forEach","namespaceName","apiName","apiOptions","endpointDefaults","reduce","map","request","validate","defaults","hasDeprecatedParam","find","patch","patchForDeprecation","bind","endpoint","assign","deprecatedEndpointMethod","log","warn","Deprecation","apply","arguments","methodName","patchedMethod","options","aliasKey","restEndpointMethods","endpointsByScope","deprecatedScope","scope","defineProperty"],"mappings":";;;;;;AAAA,uBAAe;EACXA,OAAO,EAAE;IACLC,iBAAiB,EAAE;MACfC,MAAM,EAAE,MADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALrB;MAOfG,GAAG,EAAE;KARJ;IAULC,2BAA2B,EAAE;MACzBR,MAAM,EAAE,KADiB;MAEzBC,MAAM,EAAE;QACJQ,eAAe,EAAE;UAAEL,IAAI,EAAE;SADrB;QAEJM,MAAM,EAAE;UAAEN,IAAI,EAAE;SAFZ;QAGJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPT;MASzBG,GAAG,EAAE;KAnBJ;IAqBLK,uBAAuB,EAAE;MACrBZ,MAAM,EAAE,MADa;MAErBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJb;MAMrBG,GAAG,EAAE;KA3BJ;IA6BLM,iBAAiB,EAAE;MACfb,MAAM,EAAE,MADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMfG,GAAG,EAAE;KAnCJ;IAqCLO,cAAc,EAAE;MACZd,MAAM,EAAE,QADI;MAEZC,MAAM,EAAE;QACJc,WAAW,EAAE;UAAEZ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADjC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOZG,GAAG,EAAE;KA5CJ;IA8CLS,oBAAoB,EAAE;MAClBhB,MAAM,EAAE,QADU;MAElBC,MAAM,EAAE;QACJU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALhB;MAOlBG,GAAG,EAAE;KArDJ;IAuDLU,gBAAgB,EAAE;MACdjB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJiB,cAAc,EAAE;UAAEf,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJW,WAAW,EAAE;UAAEZ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFjC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANpB;MAQdG,GAAG,EAAE;KA/DJ;IAiELY,WAAW,EAAE;MACTnB,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJc,WAAW,EAAE;UAAEZ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADjC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAOTG,GAAG,EAAE;KAxEJ;IA0ELa,YAAY,EAAE;MACVpB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJxB;MAMVG,GAAG,EAAE;KAhFJ;IAkFLc,SAAS,EAAE;MACPrB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP3B;MASPG,GAAG,EAAE;KA3FJ;IA6FLiB,mBAAmB,EAAE;MACjBxB,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJqB,SAAS,EAAE;UAAEtB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOjBG,GAAG,EAAE;KApGJ;IAsGLmB,WAAW,EAAE;MACT1B,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJuB,WAAW,EAAE;UAAExB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALhC;MAOTG,GAAG,EAAE;KA7GJ;IA+GLqB,cAAc,EAAE;MACZ5B,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJ4B,MAAM,EAAE;UAAE1B,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOZG,GAAG,EAAE;KAtHJ;IAwHLuB,cAAc,EAAE;MACZ9B,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOZG,GAAG,EAAE;KA/HJ;IAiILwB,2CAA2C,EAAE;MACzC/B,MAAM,EAAE,KADiC;MAEzCC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJO;MAMzCG,GAAG,EAAE;KAvIJ;IAyILyB,sBAAsB,EAAE;MACpBhC,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPhB;MASpBG,GAAG,EAAE;KAlJJ;IAoJL0B,oBAAoB,EAAE;MAClBjC,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJiC,KAAK,EAAE;UAAE9B,IAAI,EAAE;SADX;QAEJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAFZ;QAGJgC,KAAK,EAAE;UAAEhC,IAAI,EAAE;SAHX;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SALV;QAMJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,WAAD,EAAc,QAAd,EAAwB,YAAxB,CAAR;UAA+ClC,IAAI,EAAE;;OAV/C;MAYlBG,GAAG,EAAE;KAhKJ;IAkKLgC,iBAAiB,EAAE;MACfvC,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQfG,GAAG,EAAE;KA1KJ;IA4KLiC,kBAAkB,EAAE;MAChBxC,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANlB;MAQhBG,GAAG,EAAE;KApLJ;IAsLLkC,4BAA4B,EAAE;MAC1BzC,MAAM,EAAE,KADkB;MAE1BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANR;MAQ1BG,GAAG,EAAE;KA9LJ;IAgMLmC,mBAAmB,EAAE;MACjB1C,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJ4B,MAAM,EAAE;UAAE1B,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPjB;MASjBG,GAAG,EAAE;KAzMJ;IA2MLoC,wBAAwB,EAAE;MACtB3C,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPd;MAStBG,GAAG,EAAE;KApNJ;IAsNLqC,mBAAmB,EAAE;MACjB5C,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPnB;MASjBG,GAAG,EAAE;KA/NJ;IAiOLsC,gBAAgB,EAAE;MACd7C,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJiC,KAAK,EAAE;UAAE9B,IAAI,EAAE;SADX;QAEJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAFZ;QAGJgC,KAAK,EAAE;UAAEhC,IAAI,EAAE;SAHX;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SALV;QAMJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,WAAD,EAAc,QAAd,EAAwB,YAAxB,CAAR;UAA+ClC,IAAI,EAAE;SARzD;QASJuB,WAAW,EAAE;UAAExB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAX3B;MAadG,GAAG,EAAE;KA9OJ;IAgPLuC,aAAa,EAAE;MACX9C,MAAM,EAAE,MADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJE,MAAM,EAAE;UAAEH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAOXG,GAAG,EAAE;KAvPJ;IAyPLwC,sBAAsB,EAAE;MACpB/C,MAAM,EAAE,QADY;MAEpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJqB,SAAS,EAAE;UAAEtB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOpBG,GAAG,EAAE;;GAjQF;EAoQXyC,QAAQ,EAAE;IACNC,iBAAiB,EAAE;MACfjD,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMfG,GAAG,EAAE;KAPH;IASN2C,sBAAsB,EAAE;MACpBlD,MAAM,EAAE,QADY;MAEpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJd;MAMpBG,GAAG,EAAE;KAfH;IAiBN4C,wBAAwB,EAAE;MACtBnD,MAAM,EAAE,QADc;MAEtBC,MAAM,EAAE;QAAEmD,SAAS,EAAE;UAAEjD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFvB;MAGtBG,GAAG,EAAE;KApBH;IAsBN8C,mBAAmB,EAAE;MACjBrD,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJjB;MAMjBG,GAAG,EAAE;KA5BH;IA8BN+C,SAAS,EAAE;MACPtD,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QAAEmD,SAAS,EAAE;UAAEjD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFtC;MAGPG,GAAG,EAAE;KAjCH;IAmCNgD,qBAAqB,EAAE;MACnBvD,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QAAEmD,SAAS,EAAE;UAAEjD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF1B;MAGnBG,GAAG,EAAE;KAtCH;IAwCNiD,gBAAgB,EAAE;MACdxD,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANxB;MAQdG,GAAG,EAAE;KAhDH;IAkDNoD,iBAAiB,EAAE;MACf3D,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOfG,GAAG,EAAE;KAzDH;IA2DNqD,SAAS,EAAE;MAAE5D,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;KA3DvC;IA4DNsD,iBAAiB,EAAE;MACf7D,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJ6D,GAAG,EAAE;UAAE1D,IAAI,EAAE;SADT;QAEJ2D,MAAM,EAAE;UAAE3D,IAAI,EAAE;SAFZ;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJ4D,aAAa,EAAE;UAAE5D,IAAI,EAAE;SAJnB;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OARJ;MAUfG,GAAG,EAAE;KAtEH;IAwEN2D,wBAAwB,EAAE;MACtBlE,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QACJ6D,GAAG,EAAE;UAAE1D,IAAI,EAAE;SADT;QAEJ2D,MAAM,EAAE;UAAE3D,IAAI,EAAE;SAFZ;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJ4D,aAAa,EAAE;UAAE5D,IAAI,EAAE;SALnB;QAMJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OAVG;MAYtBG,GAAG,EAAE;KApFH;IAsFN4D,gBAAgB,EAAE;MACdnE,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFzC;MAGdG,GAAG,EAAE;KAzFH;IA2FN6D,sBAAsB,EAAE;MACpBpE,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALF;MAOpBG,GAAG,EAAE;KAlGH;IAoGN8D,8BAA8B,EAAE;MAC5BrE,MAAM,EAAE,KADoB;MAE5BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANN;MAQ5BG,GAAG,EAAE;KA5GH;IA8GN+D,uBAAuB,EAAE;MACrBtE,MAAM,EAAE,KADa;MAErBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjB;MAOrBG,GAAG,EAAE;KArHH;IAuHNgE,yBAAyB,EAAE;MACvBvE,MAAM,EAAE,KADe;MAEvBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALf;MAOvBG,GAAG,EAAE;KA9HH;IAgINiE,+BAA+B,EAAE;MAC7BxE,MAAM,EAAE,KADqB;MAE7BC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALT;MAO7BG,GAAG,EAAE;KAvIH;IAyINkE,cAAc,EAAE;MACZzE,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQZG,GAAG,EAAE;KAjJH;IAmJNmE,mCAAmC,EAAE;MACjC1E,MAAM,EAAE,KADyB;MAEjCC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OANf;MAQjCG,GAAG,EAAE;KA3JH;IA6JNsE,sBAAsB,EAAE;MACpB7E,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;SAJxC;QAKJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MASpBG,GAAG,EAAE;KAtKH;IAwKNuE,sBAAsB,EAAE;MACpB9E,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALlB;MAOpBG,GAAG,EAAE;KA/KH;IAiLNwE,qBAAqB,EAAE;MACnB/E,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANf;MAQnBG,GAAG,EAAE;KAzLH;IA2LNyE,oCAAoC,EAAE;MAClChF,MAAM,EAAE,KAD0B;MAElCC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFrB;MAGlCG,GAAG,EAAE;KA9LH;IAgMN0E,mBAAmB,EAAE;MACjBjF,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjB;MAQjBG,GAAG,EAAE;KAxMH;IA0MN2E,UAAU,EAAE;MACRlF,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QAAEkF,YAAY,EAAE;UAAE/E,IAAI,EAAE;;OAFxB;MAGRG,GAAG,EAAE;KA7MH;IA+MN6E,8BAA8B,EAAE;MAC5BpF,MAAM,EAAE,KADoB;MAE5BC,MAAM,EAAE;QACJkF,YAAY,EAAE;UAAE/E,IAAI,EAAE;SADlB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALN;MAO5BG,GAAG,EAAE;KAtNH;IAwNN8E,gBAAgB,EAAE;MACdrF,MAAM,EAAE,OADM;MAEdC,MAAM,EAAE;QAAEmD,SAAS,EAAE;UAAEjD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF/B;MAGdG,GAAG,EAAE;KA3NH;IA6NN+E,mBAAmB,EAAE;MACjBtF,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJsF,OAAO,EAAE;UAAEnF,IAAI,EAAE;SADb;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJoF,UAAU,EAAE;UAAEpF,IAAI,EAAE;;OANP;MAQjBG,GAAG,EAAE;KArOH;IAuONkF,qBAAqB,EAAE;MACnBzF,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJsF,OAAO,EAAE;UAAEnF,IAAI,EAAE;SADb;QAEJgD,SAAS,EAAE;UAAEjD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJpB;MAMnBG,GAAG,EAAE;KA7OH;IA+ONmF,QAAQ,EAAE;MACN1F,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ5B;MAMNG,GAAG,EAAE;KArPH;IAuPNoF,UAAU,EAAE;MACR3F,MAAM,EAAE,QADA;MAERC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ1B;MAMRG,GAAG,EAAE;;GAjgBF;EAogBXqF,IAAI,EAAE;IACFC,qBAAqB,EAAE;MACnBC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADA;MAEnB/F,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJ+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADrC;QAEJ6F,aAAa,EAAE;UAAE9F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOnBG,GAAG,EAAE;KARP;IAUF2F,+BAA+B,EAAE;MAC7BlG,MAAM,EAAE,KADqB;MAE7BC,MAAM,EAAE;QAAEkG,UAAU,EAAE;UAAEhG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFjB;MAG7BG,GAAG,EAAE;KAbP;IAeF6F,sCAAsC,EAAE;MACpCpG,MAAM,EAAE,KAD4B;MAEpCC,MAAM,EAAE;QAAEkG,UAAU,EAAE;UAAEhG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFV;MAGpCG,GAAG,EAAE;KAlBP;IAoBF8F,kBAAkB,EAAE;MAChBC,UAAU,EAAE,sIADI;MAEhBtG,MAAM,EAAE,KAFQ;MAGhBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KA3BP;IA6BFkG,UAAU,EAAE;MACRX,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,MAFA;MAGRC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEnG,IAAI,EAAE;SADlB;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL/B;MAORG,GAAG,EAAE;KApCP;IAsCFmG,uBAAuB,EAAE;MACrBZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADE;MAErB/F,MAAM,EAAE,MAFa;MAGrBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJwG,oBAAoB,EAAE;UAAEzG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1C;QAGJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANd;MAQrBG,GAAG,EAAE;KA9CP;IAgDFuG,kBAAkB,EAAE;MAChBhB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADH;MAEhB/F,MAAM,EAAE,MAFQ;MAGhBC,MAAM,EAAE;QAAE8G,IAAI,EAAE;UAAE5G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHxB;MAIhBG,GAAG,EAAE;KApDP;IAsDFyG,uBAAuB,EAAE;MACrBlB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADE;MAErB/F,MAAM,EAAE,MAFa;MAGrBC,MAAM,EAAE;QACJ+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADrC;QAEJ6G,WAAW,EAAE;UAAE7G,IAAI,EAAE;SAFjB;QAGJ8G,cAAc,EAAE;UAAE9G,IAAI,EAAE;;OANP;MAQrBG,GAAG,EAAE;KA9DP;IAgEF4G,mBAAmB,EAAE;MACjBrB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,QAFS;MAGjBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEnG,IAAI,EAAE;SADlB;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOjBG,GAAG,EAAE;KAvEP;IAyEF6G,kBAAkB,EAAE;MAChBtB,OAAO,EAAE;QACLC,MAAM,EAAE;OAFI;MAIhB/F,MAAM,EAAE,QAJQ;MAKhBC,MAAM,EAAE;QAAE+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnC;MAMhBG,GAAG,EAAE;KA/EP;IAiFF8G,WAAW,EAAE;MACTvB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADV;MAET/F,MAAM,EAAE,QAFC;MAGTC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEnG,IAAI,EAAE;SADlB;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL9B;MAOTG,GAAG,EAAE;KAxFP;IA0FF+G,mBAAmB,EAAE;MACjBhB,UAAU,EAAE,uGADK;MAEjBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFF;MAGjB/F,MAAM,EAAE,KAHS;MAIjBC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJtB;MAKjBG,GAAG,EAAE;KA/FP;IAiGFgH,oBAAoB,EAAE;MAClBjB,UAAU,EAAE,yGADM;MAElBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFD;MAGlB/F,MAAM,EAAE,KAHU;MAIlBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANhB;MAQlBG,GAAG,EAAE;KAzGP;IA2GFiH,oBAAoB,EAAE;MAClBlB,UAAU,EAAE,yGADM;MAElBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFD;MAGlB/F,MAAM,EAAE,KAHU;MAIlBC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ1B;MAKlBG,GAAG,EAAE;KAhHP;IAkHFkH,gBAAgB,EAAE;MACd3B,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE,EAHM;MAIdM,GAAG,EAAE;KAtHP;IAwHFmH,SAAS,EAAE;MACP5B,OAAO,EAAE;QAAEC,MAAM,EAAE;OADZ;MAEP/F,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QAAE0H,QAAQ,EAAE;UAAExH,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHrC;MAIPG,GAAG,EAAE;KA5HP;IA8HFqH,eAAe,EAAE;MACb9B,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QAAE+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHtC;MAIbG,GAAG,EAAE;KAlIP;IAoIFsH,kBAAkB,EAAE;MAChB/B,OAAO,EAAE;QAAEC,MAAM,EAAE;OADH;MAEhB/F,MAAM,EAAE,KAFQ;MAGhBC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHvB;MAIhBG,GAAG,EAAE;KAxIP;IA0IFuH,mBAAmB,EAAE;MACjBhC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,KAFS;MAGjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjB;MAOjBG,GAAG,EAAE;KAjJP;IAmJFwH,mBAAmB,EAAE;MACjBjC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,KAFS;MAGjBC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH3B;MAIjBG,GAAG,EAAE;KAvJP;IAyJFyH,2BAA2B,EAAE;MACzBhI,MAAM,EAAE,KADiB;MAEzBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ6H,OAAO,EAAE;UAAE9H,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ7B;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAPvB;MASzBG,GAAG,EAAE;KAlKP;IAoKF2H,kCAAkC,EAAE;MAChClI,MAAM,EAAE,KADwB;MAEhCC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ6H,OAAO,EAAE;UAAE9H,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ7B;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAPhB;MAShCG,GAAG,EAAE;KA7KP;IA+KF4H,yCAAyC,EAAE;MACvCrC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADoB;MAEvC/F,MAAM,EAAE,KAF+B;MAGvCC,MAAM,EAAE;QACJ+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADrC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANiB;MAQvCG,GAAG,EAAE;KAvLP;IAyLF6H,iBAAiB,EAAE;MACftC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADJ;MAEf/F,MAAM,EAAE,KAFO;MAGfC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAHxC;MAIfG,GAAG,EAAE;KA7LP;IA+LF8H,qCAAqC,EAAE;MACnCvC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADgB;MAEnC/F,MAAM,EAAE,KAF2B;MAGnCC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAHpB;MAInCG,GAAG,EAAE;KAnMP;IAqMF+H,4CAA4C,EAAE;MAC1CtI,MAAM,EAAE,KADkC;MAE1CC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFb;MAG1CG,GAAG,EAAE;KAxMP;IA0MFgI,mDAAmD,EAAE;MACjDvI,MAAM,EAAE,KADyC;MAEjDC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFN;MAGjDG,GAAG,EAAE;KA7MP;IA+MFiI,SAAS,EAAE;MACPxI,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFhD;MAGPG,GAAG,EAAE;KAlNP;IAoNFkI,gBAAgB,EAAE;MACdzI,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFzC;MAGdG,GAAG,EAAE;KAvNP;IAyNFmI,SAAS,EAAE;MACP5C,OAAO,EAAE;QAAEC,MAAM,EAAE;OADZ;MAEP/F,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAHhD;MAIPG,GAAG,EAAE;KA7NP;IA+NFoI,0BAA0B,EAAE;MACxB7C,OAAO,EAAE;QAAEC,MAAM,EAAE;OADK;MAExB/F,MAAM,EAAE,QAFgB;MAGxBC,MAAM,EAAE;QACJ+F,eAAe,EAAE;UAAE7F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADrC;QAEJ6F,aAAa,EAAE;UAAE9F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOxBG,GAAG,EAAE;KAtOP;IAwOFqI,kBAAkB,EAAE;MAChBtC,UAAU,EAAE,sIADI;MAEhBtG,MAAM,EAAE,MAFQ;MAGhBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KA/OP;IAiPFsI,UAAU,EAAE;MACR/C,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,OAFA;MAGRC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEnG,IAAI,EAAE;SADlB;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL/B;MAORG,GAAG,EAAE;KAxPP;IA0PFuI,iCAAiC,EAAE;MAC/BxC,UAAU,EAAE,yKADmB;MAE/BtG,MAAM,EAAE,QAFuB;MAG/BC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALR;MAO/BG,GAAG,EAAE;KAjQP;IAmQFwI,yBAAyB,EAAE;MACvBzC,UAAU,EAAE,wJADW;MAEvBtG,MAAM,EAAE,QAFe;MAGvBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALhB;MAOvBG,GAAG,EAAE;KA1QP;IA4QFyI,uBAAuB,EAAE;MACrBlD,OAAO,EAAE;QAAEC,MAAM,EAAE;OADE;MAErB/F,MAAM,EAAE,QAFa;MAGrBC,MAAM,EAAE,EAHa;MAIrBM,GAAG,EAAE;;GApxBF;EAuxBX0I,MAAM,EAAE;IACJC,MAAM,EAAE;MACJpD,OAAO,EAAE;QAAEC,MAAM,EAAE;OADf;MAEJ/F,MAAM,EAAE,MAFJ;MAGJC,MAAM,EAAE;QACJH,OAAO,EAAE;UAAEM,IAAI,EAAE;SADb;iCAEqB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF7C;gCAGoB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH5C;2BAIe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvC;QAKJ+I,YAAY,EAAE;UAAE/I,IAAI,EAAE;SALlB;QAMJgJ,UAAU,EAAE;UACR9G,IAAI,EAAE,CACF,SADE,EAEF,SAFE,EAGF,SAHE,EAIF,WAJE,EAKF,WALE,EAMF,iBANE,CADE;UASRlC,IAAI,EAAE;SAfN;QAiBJiJ,WAAW,EAAE;UAAEjJ,IAAI,EAAE;SAjBjB;QAkBJkJ,WAAW,EAAE;UAAElJ,IAAI,EAAE;SAlBjB;QAmBJmJ,QAAQ,EAAE;UAAEpJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAnB9B;QAoBJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SApB1B;QAqBJoJ,MAAM,EAAE;UAAEpJ,IAAI,EAAE;SArBZ;8BAsBkB;UAAEA,IAAI,EAAE;SAtB1B;iDAuBqC;UACrCkC,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,SAAtB,CAD+B;UAErCnC,QAAQ,EAAE,IAF2B;UAGrCC,IAAI,EAAE;SA1BN;2CA4B+B;UAAEA,IAAI,EAAE;SA5BvC;yCA6B6B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA7BrD;wCA8B4B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA9BpD;qCA+ByB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA/BjD;4CAgCgC;UAAEA,IAAI,EAAE;SAhCxC;6CAiCiC;UAAEA,IAAI,EAAE;SAjCzC;2CAkC+B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAlCvD;sCAmC0B;UAAEA,IAAI,EAAE;SAnClC;yBAoCa;UAAEA,IAAI,EAAE;SApCrB;+BAqCmB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SArC3C;mCAsCuB;UAAEA,IAAI,EAAE;SAtC/B;qCAuCyB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAvCjD;0BAwCc;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAxCtC;uBAyCW;UAAEA,IAAI,EAAE;SAzCnB;wBA0CY;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA1CpC;QA2CJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA3C3B;QA4CJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA5C1B;QA6CJqJ,UAAU,EAAE;UAAErJ,IAAI,EAAE;SA7ChB;QA8CJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,QAAD,EAAW,aAAX,EAA0B,WAA1B,CAAR;UAAgDlC,IAAI,EAAE;;OAjD9D;MAmDJG,GAAG,EAAE;KApDL;IAsDJmJ,WAAW,EAAE;MACT5D,OAAO,EAAE;QAAEC,MAAM,EAAE;OADV;MAET/F,MAAM,EAAE,MAFC;MAGTC,MAAM,EAAE;QACJsJ,QAAQ,EAAE;UAAEpJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANzB;MAQTG,GAAG,EAAE;KA9DL;IAgEJoJ,GAAG,EAAE;MACD7D,OAAO,EAAE;QAAEC,MAAM,EAAE;OADlB;MAED/F,MAAM,EAAE,KAFP;MAGDC,MAAM,EAAE;QACJ2J,YAAY,EAAE;UAAEzJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjC;MAQDG,GAAG,EAAE;KAxEL;IA0EJsJ,QAAQ,EAAE;MACN/D,OAAO,EAAE;QAAEC,MAAM,EAAE;OADb;MAEN/F,MAAM,EAAE,KAFF;MAGNC,MAAM,EAAE;QACJ6J,cAAc,EAAE;UAAE3J,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN5B;MAQNG,GAAG,EAAE;KAlFL;IAoFJwJ,eAAe,EAAE;MACbjE,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJ2J,YAAY,EAAE;UAAEzJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARrB;MAUbG,GAAG,EAAE;KA9FL;IAgGJyJ,UAAU,EAAE;MACRlE,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJgK,UAAU,EAAE;UAAE7J,IAAI,EAAE;SADhB;QAEJ8J,MAAM,EAAE;UAAE5H,IAAI,EAAE,CAAC,QAAD,EAAW,KAAX,CAAR;UAA2BlC,IAAI,EAAE;SAFrC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANzB;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,QAAD,EAAW,aAAX,EAA0B,WAA1B,CAAR;UAAgDlC,IAAI,EAAE;;OAX1D;MAaRG,GAAG,EAAE;KA7GL;IA+GJ6J,YAAY,EAAE;MACVtE,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,KAFE;MAGVC,MAAM,EAAE;QACJgK,UAAU,EAAE;UAAE7J,IAAI,EAAE;SADhB;QAEJ0J,cAAc,EAAE;UAAE3J,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;QAGJ8J,MAAM,EAAE;UAAE5H,IAAI,EAAE,CAAC,QAAD,EAAW,KAAX,CAAR;UAA2BlC,IAAI,EAAE;SAHrC;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SALV;QAMJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,QAAD,EAAW,aAAX,EAA0B,WAA1B,CAAR;UAAgDlC,IAAI,EAAE;;OAXxD;MAaVG,GAAG,EAAE;KA5HL;IA8HJ8J,gBAAgB,EAAE;MACdvE,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE;QACJqK,MAAM,EAAE;UAAElK,IAAI,EAAE;SADZ;QAEJ6J,UAAU,EAAE;UAAE7J,IAAI,EAAE;SAFhB;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANzB;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVpB;MAYdG,GAAG,EAAE;KA1IL;IA4IJgK,cAAc,EAAE;MACZzE,OAAO,EAAE;QAAEC,MAAM,EAAE;OADP;MAEZ/F,MAAM,EAAE,MAFI;MAGZC,MAAM,EAAE;QACJ6J,cAAc,EAAE;UAAE3J,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQZG,GAAG,EAAE;KApJL;IAsJJiK,oBAAoB,EAAE;MAClB1E,OAAO,EAAE;QAAEC,MAAM,EAAE;OADD;MAElB/F,MAAM,EAAE,OAFU;MAGlBC,MAAM,EAAE;QACJwK,mBAAmB,EAAE;UAAErK,IAAI,EAAE;SADzB;wCAE4B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpD;yCAG6B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARhB;MAUlBG,GAAG,EAAE;KAhKL;IAkKJmK,MAAM,EAAE;MACJ5E,OAAO,EAAE;QAAEC,MAAM,EAAE;OADf;MAEJ/F,MAAM,EAAE,OAFJ;MAGJC,MAAM,EAAE;QACJH,OAAO,EAAE;UAAEM,IAAI,EAAE;SADb;iCAEqB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF7C;gCAGoB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH5C;2BAIe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvC;QAKJwJ,YAAY,EAAE;UAAEzJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALlC;QAMJ+I,YAAY,EAAE;UAAE/I,IAAI,EAAE;SANlB;QAOJgJ,UAAU,EAAE;UACR9G,IAAI,EAAE,CACF,SADE,EAEF,SAFE,EAGF,SAHE,EAIF,WAJE,EAKF,WALE,EAMF,iBANE,CADE;UASRlC,IAAI,EAAE;SAhBN;QAkBJiJ,WAAW,EAAE;UAAEjJ,IAAI,EAAE;SAlBjB;QAmBJkJ,WAAW,EAAE;UAAElJ,IAAI,EAAE;SAnBjB;QAoBJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SApBV;QAqBJoJ,MAAM,EAAE;UAAEpJ,IAAI,EAAE;SArBZ;8BAsBkB;UAAEA,IAAI,EAAE;SAtB1B;iDAuBqC;UACrCkC,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,SAAtB,CAD+B;UAErCnC,QAAQ,EAAE,IAF2B;UAGrCC,IAAI,EAAE;SA1BN;2CA4B+B;UAAEA,IAAI,EAAE;SA5BvC;yCA6B6B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA7BrD;wCA8B4B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA9BpD;qCA+ByB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA/BjD;4CAgCgC;UAAEA,IAAI,EAAE;SAhCxC;6CAiCiC;UAAEA,IAAI,EAAE;SAjCzC;2CAkC+B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAlCvD;sCAmC0B;UAAEA,IAAI,EAAE;SAnClC;yBAoCa;UAAEA,IAAI,EAAE;SApCrB;+BAqCmB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SArC3C;mCAsCuB;UAAEA,IAAI,EAAE;SAtC/B;qCAuCyB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAvCjD;0BAwCc;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAxCtC;uBAyCW;UAAEA,IAAI,EAAE;SAzCnB;wBA0CY;UAAEA,IAAI,EAAE;SA1CpB;QA2CJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA3C3B;QA4CJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SA5C1B;QA6CJqJ,UAAU,EAAE;UAAErJ,IAAI,EAAE;SA7ChB;QA8CJiC,MAAM,EAAE;UAAEC,IAAI,EAAE,CAAC,QAAD,EAAW,aAAX,EAA0B,WAA1B,CAAR;UAAgDlC,IAAI,EAAE;;OAjD9D;MAmDJG,GAAG,EAAE;;GA5+BF;EA++BXoK,cAAc,EAAE;IACZC,cAAc,EAAE;MACZ9E,OAAO,EAAE;QAAEC,MAAM,EAAE;OADP;MAEZ/F,MAAM,EAAE,KAFI;MAGZC,MAAM,EAAE;QAAE4K,GAAG,EAAE;UAAE1K,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH3B;MAIZG,GAAG,EAAE;KALG;IAOZuK,UAAU,EAAE;MACRhF,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KAdG;IAgBZwK,gBAAgB,EAAE;MACdjF,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE,EAHM;MAIdM,GAAG,EAAE;;GAngCF;EAsgCXyK,MAAM,EAAE;IAAErB,GAAG,EAAE;MAAE3J,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;;GAtgCtC;EAugCX0K,KAAK,EAAE;IACHC,cAAc,EAAE;MACZlL,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF/B;MAGZG,GAAG,EAAE;KAJN;IAMH2I,MAAM,EAAE;MACJlJ,MAAM,EAAE,MADJ;MAEJC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJiL,KAAK,EAAE;UAAElL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;yBAGa;UAAEA,IAAI,EAAE;SAHrB;QAIJkL,MAAM,EAAE;UAAElL,IAAI,EAAE;;OANhB;MAQJG,GAAG,EAAE;KAdN;IAgBHgL,aAAa,EAAE;MACXvL,MAAM,EAAE,MADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ+K,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ1B;MAMXG,GAAG,EAAE;KAtBN;IAwBHiL,MAAM,EAAE;MACJxL,MAAM,EAAE,QADJ;MAEJC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFvC;MAGJG,GAAG,EAAE;KA3BN;IA6BHkL,aAAa,EAAE;MACXzL,MAAM,EAAE,QADG;MAEXC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJ+K,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ1B;MAMXG,GAAG,EAAE;KAnCN;IAqCHoL,IAAI,EAAE;MACF3L,MAAM,EAAE,MADN;MAEFC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFzC;MAGFG,GAAG,EAAE;KAxCN;IA0CHoJ,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF1C;MAGDG,GAAG,EAAE;KA7CN;IA+CHqL,UAAU,EAAE;MACR5L,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJ+K,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ7B;MAMRG,GAAG,EAAE;KArDN;IAuDHsL,WAAW,EAAE;MACT7L,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJ0L,GAAG,EAAE;UAAE3L,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJxB;MAMTG,GAAG,EAAE;KA7DN;IA+DHwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALjB;MAOFG,GAAG,EAAE;KAtEN;IAwEHyL,YAAY,EAAE;MACVhM,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALZ;MAOVG,GAAG,EAAE;KA/EN;IAiFH0L,WAAW,EAAE;MACTjM,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALb;MAOTG,GAAG,EAAE;KAxFN;IA0FH2L,SAAS,EAAE;MACPlM,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALf;MAOPG,GAAG,EAAE;KAjGN;IAmGH4L,UAAU,EAAE;MACRnM,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALX;MAORG,GAAG,EAAE;KA1GN;IA4GH6L,iBAAiB,EAAE;MACfpM,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SAHX;QAIJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQfG,GAAG,EAAE;KApHN;IAsHH8L,WAAW,EAAE;MACTrM,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALV;MAOTG,GAAG,EAAE;KA7HN;IA+HH+L,IAAI,EAAE;MACFtM,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFzC;MAGFG,GAAG,EAAE;KAlIN;IAoIHgM,MAAM,EAAE;MACJvM,MAAM,EAAE,QADJ;MAEJC,MAAM,EAAE;QAAEkL,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFvC;MAGJG,GAAG,EAAE;KAvIN;IAyIHmK,MAAM,EAAE;MACJ1K,MAAM,EAAE,OADJ;MAEJC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJiL,KAAK,EAAE;UAAEjL,IAAI,EAAE;SAFX;yBAGa;UAAEA,IAAI,EAAE;SAHrB;0BAIc;UAAEA,IAAI,EAAE;SAJtB;QAKJ+K,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPjC;MASJG,GAAG,EAAE;KAlJN;IAoJHiM,aAAa,EAAE;MACXxM,MAAM,EAAE,OADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJ+K,OAAO,EAAE;UAAEhL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAOXG,GAAG,EAAE;;GAlqCF;EAqqCXkM,GAAG,EAAE;IACDC,UAAU,EAAE;MACR1M,MAAM,EAAE,MADA;MAERC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UAAExM,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJwM,QAAQ,EAAE;UAAExM,IAAI,EAAE;SAFd;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN1B;MAQRG,GAAG,EAAE;KATR;IAWDsM,YAAY,EAAE;MACV7M,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;uBAEW;UAAEA,IAAI,EAAE;SAFnB;wBAGY;UAAEA,IAAI,EAAE;SAHpB;uBAIW;UAAEA,IAAI,EAAE;SAJnB;QAKJ2M,SAAS,EAAE;UAAE3M,IAAI,EAAE;SALf;0BAMc;UAAEA,IAAI,EAAE;SANtB;2BAOe;UAAEA,IAAI,EAAE;SAPvB;0BAQc;UAAEA,IAAI,EAAE;SARtB;QASJ4M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJ6M,OAAO,EAAE;UAAE9M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX7B;QAYJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAZ1B;QAaJ8M,SAAS,EAAE;UAAE9M,IAAI,EAAE;SAbf;QAcJ+M,IAAI,EAAE;UAAEhN,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAhBxB;MAkBVG,GAAG,EAAE;KA7BR;IA+BD6M,SAAS,EAAE;MACPpN,MAAM,EAAE,MADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJ0L,GAAG,EAAE;UAAE3L,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN1B;MAQPG,GAAG,EAAE;KAvCR;IAyCD8M,SAAS,EAAE;MACPrN,MAAM,EAAE,MADD;MAEPC,MAAM,EAAE;QACJ+M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJkN,MAAM,EAAE;UAAEnN,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJmN,GAAG,EAAE;UAAEpN,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALzB;QAMJoN,MAAM,EAAE;UAAEpN,IAAI,EAAE;SANZ;uBAOW;UAAEA,IAAI,EAAE;SAPnB;wBAQY;UAAEA,IAAI,EAAE;SARpB;uBASW;UAAEA,IAAI,EAAE;SATnB;QAUJA,IAAI,EAAE;UACFkC,IAAI,EAAE,CAAC,QAAD,EAAW,MAAX,EAAmB,MAAnB,CADJ;UAEFnC,QAAQ,EAAE,IAFR;UAGFC,IAAI,EAAE;;OAfP;MAkBPG,GAAG,EAAE;KA3DR;IA6DDkN,UAAU,EAAE;MACRzN,MAAM,EAAE,MADA;MAERC,MAAM,EAAE;QACJyN,SAAS,EAAE;UAAEtN,IAAI,EAAE;SADf;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJ+M,IAAI,EAAE;UAAEhN,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;0BAKc;UAAEA,IAAI,EAAE;SALtB;uBAMW;UACXkC,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,EAAqB,QAArB,EAA+B,QAA/B,EAAyC,QAAzC,CADK;UAEXlC,IAAI,EAAE;SARN;uBAUW;UAAEA,IAAI,EAAE;SAVnB;sBAWU;UAAEuN,SAAS,EAAE,IAAb;UAAmBvN,IAAI,EAAE;SAXnC;uBAYW;UAAEkC,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,QAAjB,CAAR;UAAoClC,IAAI,EAAE;;OAdrD;MAgBRG,GAAG,EAAE;KA7ER;IA+EDqN,SAAS,EAAE;MACP5N,MAAM,EAAE,QADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOPG,GAAG,EAAE;KAtFR;IAwFDsN,OAAO,EAAE;MACL7N,MAAM,EAAE,KADH;MAELC,MAAM,EAAE;QACJ6N,QAAQ,EAAE;UAAE3N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL7B;MAOLG,GAAG,EAAE;KA/FR;IAiGDwN,SAAS,EAAE;MACP/N,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJ+N,UAAU,EAAE;UAAE7N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOPG,GAAG,EAAE;KAxGR;IA0GD0N,MAAM,EAAE;MACJjO,MAAM,EAAE,KADJ;MAEJC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL9B;MAOJG,GAAG,EAAE;KAjHR;IAmHD2N,MAAM,EAAE;MACJlO,MAAM,EAAE,KADJ;MAEJC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJ+N,OAAO,EAAE;UAAEhO,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjC;MAOJG,GAAG,EAAE;KA1HR;IA4HD6N,OAAO,EAAE;MACLpO,MAAM,EAAE,KADH;MAELC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJiO,SAAS,EAAE;UAAE/L,IAAI,EAAE,CAAC,GAAD,CAAR;UAAelC,IAAI,EAAE;SAF5B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJkO,QAAQ,EAAE;UAAEnO,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjC;MAQLG,GAAG,EAAE;KApIR;IAsIDgO,gBAAgB,EAAE;MACdvO,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJzB;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPpB;MASdG,GAAG,EAAE;KA/IR;IAiJDiO,QAAQ,EAAE;MACNxO,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJwO,SAAS,EAAE;UAAErO,IAAI,EAAE;SADf;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP5B;MASNG,GAAG,EAAE;KA1JR;IA4JDmO,SAAS,EAAE;MACP1O,MAAM,EAAE,OADD;MAEPC,MAAM,EAAE;QACJ0O,KAAK,EAAE;UAAEvO,IAAI,EAAE;SADX;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ0L,GAAG,EAAE;UAAE3L,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP1B;MASPG,GAAG,EAAE;;GA10CF;EA60CXqO,SAAS,EAAE;IACPC,WAAW,EAAE;MACT7O,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QAAEU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF/B;MAGTG,GAAG,EAAE;KAJF;IAMPuO,aAAa,EAAE;MAAE9O,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;;GAn1C1C;EAq1CXwO,YAAY,EAAE;IACVC,6BAA6B,EAAE;MAC3BlJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADQ;MAE3B/F,MAAM,EAAE,KAFmB;MAG3BC,MAAM,EAAE;QACJgP,KAAK,EAAE;UACH3M,IAAI,EAAE,CAAC,gBAAD,EAAmB,mBAAnB,EAAwC,oBAAxC,CADH;UAEHnC,QAAQ,EAAE,IAFP;UAGHC,IAAI,EAAE;SAJN;QAMJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OATN;MAW3BG,GAAG,EAAE;KAZC;IAcV2O,8BAA8B,EAAE;MAC5BpJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADS;MAE5B/F,MAAM,EAAE,KAFoB;MAG5BC,MAAM,EAAE;QACJgP,KAAK,EAAE;UACH3M,IAAI,EAAE,CAAC,gBAAD,EAAmB,mBAAnB,EAAwC,oBAAxC,CADH;UAEHnC,QAAQ,EAAE,IAFP;UAGHC,IAAI,EAAE;SAJN;QAMJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN3B;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVN;MAY5BG,GAAG,EAAE;KA1BC;IA4BV4O,qBAAqB,EAAE;MACnBrJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADA;MAEnB/F,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHpB;MAInBG,GAAG,EAAE;KAhCC;IAkCV6O,sBAAsB,EAAE;MACpBtJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADC;MAEpB/F,MAAM,EAAE,KAFY;MAGpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALd;MAOpBG,GAAG,EAAE;KAzCC;IA2CV8O,wBAAwB,EAAE;MACtBvJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADG;MAEtB/F,MAAM,EAAE,QAFc;MAGtBC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHjB;MAItBG,GAAG,EAAE;KA/CC;IAiDV+O,yBAAyB,EAAE;MACvBxJ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADI;MAEvB/F,MAAM,EAAE,QAFe;MAGvBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALX;MAOvBG,GAAG,EAAE;;GA74CF;EAg5CXgP,MAAM,EAAE;IACJC,YAAY,EAAE;MACVxP,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJwP,SAAS,EAAE;UAAErP,IAAI,EAAE;SADf;QAEJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFlC;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASVG,GAAG,EAAE;KAVL;IAYJsP,SAAS,EAAE;MACP7P,MAAM,EAAE,MADD;MAEPC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJ0P,MAAM,EAAE;UAAE3P,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP3B;MASPG,GAAG,EAAE;KArBL;IAuBJwP,aAAa,EAAE;MACX/P,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJ+P,QAAQ,EAAE;UAAE7P,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KA9BL;IAgCJ2I,MAAM,EAAE;MACJlJ,MAAM,EAAE,MADJ;MAEJC,MAAM,EAAE;QACJ+P,QAAQ,EAAE;UAAE5P,IAAI,EAAE;SADd;QAEJqP,SAAS,EAAE;UAAErP,IAAI,EAAE;SAFf;QAGJuG,IAAI,EAAE;UAAEvG,IAAI,EAAE;SAHV;QAIJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SAJZ;QAKJ6P,SAAS,EAAE;UAAE7P,IAAI,EAAE;SALf;QAMJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN3B;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAV/B;MAYJG,GAAG,EAAE;KA5CL;IA8CJgL,aAAa,EAAE;MACXvL,MAAM,EAAE,MADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFlC;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPvB;MASXG,GAAG,EAAE;KAvDL;IAyDJ2P,WAAW,EAAE;MACTlQ,MAAM,EAAE,MADC;MAETC,MAAM,EAAE;QACJkQ,KAAK,EAAE;UAAEhQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAFjB;QAGJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPzB;MASTG,GAAG,EAAE;KAlEL;IAoEJ6P,eAAe,EAAE;MACbpQ,MAAM,EAAE,MADK;MAEbC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJiQ,MAAM,EAAE;UAAEjQ,IAAI,EAAE;SAFZ;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CAAR;UAA4BlC,IAAI,EAAE;SALrC;QAMJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARtB;MAUbG,GAAG,EAAE;KA9EL;IAgFJkL,aAAa,EAAE;MACXzL,MAAM,EAAE,QADG;MAEXC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KAvFL;IAyFJgQ,WAAW,EAAE;MACTvQ,MAAM,EAAE,QADC;MAETC,MAAM,EAAE;QACJU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAOTG,GAAG,EAAE;KAhGL;IAkGJiQ,eAAe,EAAE;MACbxQ,MAAM,EAAE,QADK;MAEbC,MAAM,EAAE;QACJwQ,gBAAgB,EAAE;UAAEtQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADtC;QAEJuP,MAAM,EAAE;UACJC,KAAK,EAAE,kBADH;UAEJtJ,UAAU,EAAE,IAFR;UAGJlG,IAAI,EAAE;SALN;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVrB;MAYbG,GAAG,EAAE;KA9GL;IAgHJoJ,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjC;MAQDG,GAAG,EAAE;KAxHL;IA0HJqL,UAAU,EAAE;MACR5L,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KAjIL;IAmIJmQ,QAAQ,EAAE;MACN1Q,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJ0Q,QAAQ,EAAE;UAAExQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL5B;MAONG,GAAG,EAAE;KA1IL;IA4IJqQ,QAAQ,EAAE;MACN5Q,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL5B;MAONG,GAAG,EAAE;KAnJL;IAqJJsQ,YAAY,EAAE;MACV7Q,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJwQ,gBAAgB,EAAE;UAAEtQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADtC;QAEJuP,MAAM,EAAE;UACJC,KAAK,EAAE,kBADH;UAEJtJ,UAAU,EAAE,IAFR;UAGJlG,IAAI,EAAE;SALN;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVxB;MAYVG,GAAG,EAAE;KAjKL;IAmKJwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJ8J,MAAM,EAAE;UACJ5H,IAAI,EAAE,CAAC,UAAD,EAAa,SAAb,EAAwB,WAAxB,EAAqC,YAArC,EAAmD,KAAnD,CADF;UAEJlC,IAAI,EAAE;SAJN;QAMJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SANZ;QAOJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAPV;QAQJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SARd;QASJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SATX;QAUJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,UAAvB,CAAR;UAA4ClC,IAAI,EAAE;SAVpD;QAWJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAblD;MAeFG,GAAG,EAAE;KAlLL;IAoLJuQ,aAAa,EAAE;MACX9Q,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KA5LL;IA8LJyL,YAAY,EAAE;MACVhM,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OATT;MAWVG,GAAG,EAAE;KAzML;IA2MJwQ,mBAAmB,EAAE;MACjB/Q,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SAJX;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAP/B;MASjBG,GAAG,EAAE;KApNL;IAsNJyQ,UAAU,EAAE;MACRhR,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAR1B;MAURG,GAAG,EAAE;KAhOL;IAkOJ0Q,iBAAiB,EAAE;MACfjR,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQfG,GAAG,EAAE;KA1OL;IA4OJ2Q,qBAAqB,EAAE;MACnBpL,OAAO,EAAE;QAAEC,MAAM,EAAE;OADA;MAEnB/F,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OATf;MAWnBG,GAAG,EAAE;KAvPL;IAyPJ4Q,wBAAwB,EAAE;MACtBnR,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJ8J,MAAM,EAAE;UACJ5H,IAAI,EAAE,CAAC,UAAD,EAAa,SAAb,EAAwB,WAAxB,EAAqC,YAArC,EAAmD,KAAnD,CADF;UAEJlC,IAAI,EAAE;SAJN;QAMJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SANZ;QAOJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAPV;QAQJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SARd;QASJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SATX;QAUJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,UAAvB,CAAR;UAA4ClC,IAAI,EAAE;SAVpD;QAWJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAb9B;MAetBG,GAAG,EAAE;KAxQL;IA0QJ6Q,UAAU,EAAE;MACRpR,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJ8J,MAAM,EAAE;UACJ5H,IAAI,EAAE,CAAC,UAAD,EAAa,SAAb,EAAwB,WAAxB,EAAqC,YAArC,EAAmD,KAAnD,CADF;UAEJlC,IAAI,EAAE;SAJN;QAMJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SANZ;QAOJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPzB;QAQJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SARV;QASJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SATd;QAUJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SAVX;QAWJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,UAAvB,CAAR;UAA4ClC,IAAI,EAAE;SAXpD;QAYJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAd5C;MAgBRG,GAAG,EAAE;KA1RL;IA4RJ8Q,WAAW,EAAE;MACTrR,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ+P,QAAQ,EAAE;UAAE5P,IAAI,EAAE;SADd;QAEJkR,OAAO,EAAE;UAAElR,IAAI,EAAE;SAFb;QAGJuE,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SAHtC;QAIJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SAJZ;QAKJmR,SAAS,EAAE;UAAEnR,IAAI,EAAE;SALf;QAMJ6P,SAAS,EAAE;UAAE7P,IAAI,EAAE;SANf;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SARV;QASJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SATd;QAUJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV1B;QAWJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SAXX;QAYJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,UAAvB,CAAR;UAA4ClC,IAAI,EAAE;SAZpD;QAaJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAf3C;MAiBTG,GAAG,EAAE;KA7SL;IA+SJiR,sBAAsB,EAAE;MACpBxR,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJwQ,gBAAgB,EAAE;UAAEtQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADtC;QAEJuP,MAAM,EAAE;UACJC,KAAK,EAAE,kBADH;UAEJtJ,UAAU,EAAE,IAFR;UAGJlG,IAAI,EAAE;SALN;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SARV;QASJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SATd;QAUJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAZd;MAcpBG,GAAG,EAAE;KA7TL;IA+TJkR,iBAAiB,EAAE;MACfzR,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQfG,GAAG,EAAE;KAvUL;IAyUJmR,iBAAiB,EAAE;MACf1R,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARnB;MAUfG,GAAG,EAAE;KAnVL;IAqVJoR,qBAAqB,EAAE;MACnB3R,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL1B;QAMJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,QAAD,EAAW,cAAX,CAAR;UAAoClC,IAAI,EAAE;SAN5C;QAOJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OATjC;MAWnBG,GAAG,EAAE;KAhWL;IAkWJqR,IAAI,EAAE;MACF5R,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJyR,WAAW,EAAE;UACTvP,IAAI,EAAE,CAAC,WAAD,EAAc,YAAd,EAA4B,UAA5B,EAAwC,MAAxC,CADG;UAETlC,IAAI,EAAE;SAJN;QAMJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SANrD;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVhC;MAYFG,GAAG,EAAE;KA9WL;IAgXJuR,eAAe,EAAE;MACb9R,MAAM,EAAE,QADK;MAEbC,MAAM,EAAE;QACJwP,SAAS,EAAE;UAAErP,IAAI,EAAE;SADf;QAEJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFlC;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASbG,GAAG,EAAE;KAzXL;IA2XJwR,WAAW,EAAE;MACT/R,MAAM,EAAE,QADC;MAETC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPzB;MASTG,GAAG,EAAE;KApYL;IAsYJyR,YAAY,EAAE;MACVhS,MAAM,EAAE,QADE;MAEVC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANxB;MAQVG,GAAG,EAAE;KA9YL;IAgZJ0R,aAAa,EAAE;MACXjS,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SAFZ;QAGJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAHrD;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPvB;MASXG,GAAG,EAAE;KAzZL;IA2ZJ2R,MAAM,EAAE;MACJlS,MAAM,EAAE,QADJ;MAEJC,MAAM,EAAE;QACJyP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAFrD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN9B;MAQJG,GAAG,EAAE;KAnaL;IAqaJmK,MAAM,EAAE;MACJ1K,MAAM,EAAE,OADJ;MAEJC,MAAM,EAAE;QACJ+P,QAAQ,EAAE;UAAE5P,IAAI,EAAE;SADd;QAEJqP,SAAS,EAAE;UAAErP,IAAI,EAAE;SAFf;QAGJuG,IAAI,EAAE;UAAEvG,IAAI,EAAE;SAHV;QAIJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJlC;QAKJ0P,MAAM,EAAE;UAAE1P,IAAI,EAAE;SALZ;QAMJ6P,SAAS,EAAE;UAAEtC,SAAS,EAAE,IAAb;UAAmBvN,IAAI,EAAE;SANhC;QAOJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAPrD;QAQJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR3B;QASJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT1B;QAUJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CAAR;UAA4BlC,IAAI,EAAE;SAVrC;QAWJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAbf;MAeJG,GAAG,EAAE;KApbL;IAsbJiM,aAAa,EAAE;MACXxM,MAAM,EAAE,OADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KA9bL;IAgcJ4R,WAAW,EAAE;MACTnS,MAAM,EAAE,OADC;MAETC,MAAM,EAAE;QACJkQ,KAAK,EAAE;UAAE/P,IAAI,EAAE;SADX;QAEJgS,YAAY,EAAE;UAAEjS,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFlC;QAGJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAHjB;QAIJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAJV;QAKJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL3B;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARzB;MAUTG,GAAG,EAAE;KA1cL;IA4cJ8R,eAAe,EAAE;MACbrS,MAAM,EAAE,OADK;MAEbC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJiQ,MAAM,EAAE;UAAEjQ,IAAI,EAAE;SAFZ;QAGJqQ,gBAAgB,EAAE;UAAEtQ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHtC;QAIJuP,MAAM,EAAE;UACJC,KAAK,EAAE,kBADH;UAEJtJ,UAAU,EAAE,IAFR;UAGJlG,IAAI,EAAE;SAPN;QASJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT3B;QAUJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV1B;QAWJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CAAR;UAA4BlC,IAAI,EAAE;SAXrC;QAYJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAdN;MAgBbG,GAAG,EAAE;;GA52DF;EA+2DX+R,QAAQ,EAAE;IACN3I,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QAAEsS,OAAO,EAAE;UAAEpS,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF1C;MAGDG,GAAG,EAAE;KAJH;IAMNuK,UAAU,EAAE;MACR9K,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ1B;MAMRG,GAAG,EAAE;KAZH;IAcNwL,IAAI,EAAE;MACFzF,UAAU,EAAE,8FADV;MAEFtG,MAAM,EAAE,KAFN;MAGFC,MAAM,EAAE,EAHN;MAIFM,GAAG,EAAE;KAlBH;IAoBNiS,gBAAgB,EAAE;MAAExS,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;;GAn4D7C;EAq4DXkS,QAAQ,EAAE;IACNC,MAAM,EAAE;MACJ1S,MAAM,EAAE,MADJ;MAEJC,MAAM,EAAE;QACJ0S,OAAO,EAAE;UAAEvS,IAAI,EAAE;SADb;QAEJwS,IAAI,EAAE;UAAEtQ,IAAI,EAAE,CAAC,UAAD,EAAa,KAAb,CAAR;UAA6BlC,IAAI,EAAE;SAFrC;QAGJyS,IAAI,EAAE;UAAE1S,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL9B;MAOJG,GAAG,EAAE;KARH;IAUNuS,SAAS,EAAE;MACPhN,OAAO,EAAE;wBAAkB;OADpB;MAEP9F,MAAM,EAAE,MAFD;MAGPC,MAAM,EAAE;QAAE8S,IAAI,EAAE;UAAEC,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OAHhD;MAIPG,GAAG,EAAE;;GAn5DF;EAs5DX0S,IAAI,EAAE;IAAEtJ,GAAG,EAAE;MAAE3J,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;;GAt5DpC;EAu5DX2S,UAAU,EAAE;IACRC,YAAY,EAAE;MACVnT,MAAM,EAAE,QADE;MAEVC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJxB;MAMVG,GAAG,EAAE;KAPD;IASR6S,iCAAiC,EAAE;MAC/BtN,OAAO,EAAE;QAAEC,MAAM,EAAE;OADY;MAE/B/F,MAAM,EAAE,QAFuB;MAG/BC,MAAM,EAAE;QAAEoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHjB;MAI/BG,GAAG,EAAE;KAbD;IAeR+S,mBAAmB,EAAE;MACjBxN,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,QAFS;MAGjBC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALhB;MAOjBG,GAAG,EAAE;KAtBD;IAwBRgT,qBAAqB,EAAE;MACnBzN,OAAO,EAAE;QAAEC,MAAM,EAAE;OADA;MAEnB/F,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALd;MAOnBG,GAAG,EAAE;KA/BD;IAiCRiT,8BAA8B,EAAE;MAC5B1N,OAAO,EAAE;QAAEC,MAAM,EAAE;OADS;MAE5B/F,MAAM,EAAE,KAFoB;MAG5BC,MAAM,EAAE;QAAEoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHpB;MAI5BG,GAAG,EAAE;KArCD;IAuCRkT,gBAAgB,EAAE;MACdnN,UAAU,EAAE,mHADE;MAEdR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFL;MAGd/F,MAAM,EAAE,KAHM;MAIdC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQdG,GAAG,EAAE;KA/CD;IAiDRmT,gBAAgB,EAAE;MACd1T,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALL;MAOdG,GAAG,EAAE;KAxDD;IA0DRoT,iBAAiB,EAAE;MACf3T,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMfG,GAAG,EAAE;KAhED;IAkERqT,aAAa,EAAE;MACX5T,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJvB;MAMXG,GAAG,EAAE;KAxED;IA0ERsT,6BAA6B,EAAE;MAC3B/N,OAAO,EAAE;QAAEC,MAAM,EAAE;OADQ;MAE3B/F,MAAM,EAAE,KAFmB;MAG3BC,MAAM,EAAE;QAAEoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHrB;MAI3BG,GAAG,EAAE;KA9ED;IAgFRuT,eAAe,EAAE;MACbhO,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAObG,GAAG,EAAE;KAvFD;IAyFR4Q,wBAAwB,EAAE;MACtBrL,OAAO,EAAE;QAAEC,MAAM,EAAE;OADG;MAEtB/F,MAAM,EAAE,KAFc;MAGtBC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAHjC;MAItBG,GAAG,EAAE;KA7FD;IA+FR6Q,UAAU,EAAE;MACRtL,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANd;MAQRG,GAAG,EAAE;KAvGD;IAyGRwT,eAAe,EAAE;MACbjO,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAPT;MASbG,GAAG,EAAE;KAlHD;IAoHRyT,gBAAgB,EAAE;MACdlO,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANR;MAQdG,GAAG,EAAE;KA5HD;IA8HR0T,eAAe,EAAE;MACbjU,MAAM,EAAE,OADK;MAEbC,MAAM,EAAE;QACJiU,SAAS,EAAE;UAAE/T,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJ+T,KAAK,EAAE;UAAE/T,IAAI,EAAE;SAFX;QAGJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASbG,GAAG,EAAE;KAvID;IAyIR6T,gBAAgB,EAAE;MACdpU,MAAM,EAAE,OADM;MAEdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJiU,OAAO,EAAE;UAAE/R,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,CAAR;UAA+BnC,QAAQ,EAAE,IAAzC;UAA+CC,IAAI,EAAE;;OALpD;MAOdG,GAAG,EAAE;KAhJD;IAkJR+T,yBAAyB,EAAE;MACvBtU,MAAM,EAAE,MADe;MAEvBC,MAAM,EAAE;QACJsU,mBAAmB,EAAE;UAAEnU,IAAI,EAAE;SADzB;QAEJoU,iBAAiB,EAAE;UAAEpU,IAAI,EAAE;SAFvB;QAGJqU,YAAY,EAAE;UAAEtU,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOvBG,GAAG,EAAE;KAzJD;IA2JRmU,WAAW,EAAE;MACT1U,MAAM,EAAE,MADC;MAETC,MAAM,EAAE;QACJsU,mBAAmB,EAAE;UAAEnU,IAAI,EAAE;SADzB;QAEJoU,iBAAiB,EAAE;UAAEpU,IAAI,EAAE;SAFvB;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJqU,YAAY,EAAE;UAAEtU,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjC;MAQTG,GAAG,EAAE;KAnKD;IAqKRoU,WAAW,EAAE;MACT3U,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJwU,YAAY,EAAE;UAAExU,IAAI,EAAE;SAHlB;QAIJyU,GAAG,EAAE;UACDvS,IAAI,EAAE,CAAC,YAAD,EAAe,KAAf,EAAsB,WAAtB,EAAmC,MAAnC,CADL;UAEDlC,IAAI,EAAE;SANN;QAQJ0U,YAAY,EAAE;UAAE1U,IAAI,EAAE;SARlB;QASJ2U,OAAO,EAAE;UAAE5U,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJ4U,YAAY,EAAE;UAAE5U,IAAI,EAAE;;OAZjB;MAcTG,GAAG,EAAE;KAnLD;IAqLR0U,8BAA8B,EAAE;MAC5BnP,OAAO,EAAE;QAAEC,MAAM,EAAE;OADS;MAE5B/F,MAAM,EAAE,QAFoB;MAG5BC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJ8U,SAAS,EAAE;UAAE/U,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALX;MAO5BG,GAAG,EAAE;KA5LD;IA8LR4U,gBAAgB,EAAE;MACdrP,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,QAFM;MAGdC,MAAM,EAAE;QACJoT,YAAY,EAAE;UAAElT,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJ8U,SAAS,EAAE;UAAE/U,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANzB;MAQdG,GAAG,EAAE;KAtMD;IAwMR6U,YAAY,EAAE;MACVpV,MAAM,EAAE,OADE;MAEVC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJ0U,YAAY,EAAE;UAAE1U,IAAI,EAAE;SAHlB;QAIJ4U,YAAY,EAAE;UAAE5U,IAAI,EAAE;;OANhB;MAQVG,GAAG,EAAE;;GAvmEF;EA0mEX8U,mBAAmB,EAAE;IACjBhP,kBAAkB,EAAE;MAChBC,UAAU,EAAE,qHADI;MAEhBtG,MAAM,EAAE,KAFQ;MAGhBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KARQ;IAUjB+U,mBAAmB,EAAE;MACjBhP,UAAU,EAAE,uJADK;MAEjBtG,MAAM,EAAE,MAFS;MAGjBC,MAAM,EAAE;QACJuG,SAAS,EAAE;UAAEpG,IAAI,EAAE;SADf;QAEJmV,aAAa,EAAE;UAAEnV,IAAI,EAAE;SAFnB;QAGJoV,WAAW,EAAE;UAAEpV,IAAI,EAAE;SAHjB;QAIJqV,IAAI,EAAE;UAAEtV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJsV,QAAQ,EAAE;UAAEtV,IAAI,EAAE;SALd;QAMJuV,MAAM,EAAE;UAAEvV,IAAI,EAAE;;OATH;MAWjBG,GAAG,EAAE;KArBQ;IAuBjB4G,mBAAmB,EAAE;MACjBb,UAAU,EAAE,oJADK;MAEjBtG,MAAM,EAAE,QAFS;MAGjBC,MAAM,EAAE;QAAE2V,gBAAgB,EAAE;UAAEzV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHnC;MAIjBG,GAAG,EAAE;KA3BQ;IA6BjBsV,WAAW,EAAE;MACTvP,UAAU,EAAE,mIADH;MAETtG,MAAM,EAAE,QAFC;MAGTC,MAAM,EAAE;QAAE6V,QAAQ,EAAE;UAAE3V,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHnC;MAITG,GAAG,EAAE;KAjCQ;IAmCjBwV,gBAAgB,EAAE;MACdzP,UAAU,EAAE,oJADE;MAEdtG,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE;QAAE2V,gBAAgB,EAAE;UAAEzV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHtC;MAIdG,GAAG,EAAE;KAvCQ;IAyCjByV,QAAQ,EAAE;MACN1P,UAAU,EAAE,oIADN;MAENtG,MAAM,EAAE,KAFF;MAGNC,MAAM,EAAE;QAAE6V,QAAQ,EAAE;UAAE3V,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHtC;MAING,GAAG,EAAE;KA7CQ;IA+CjB0V,8BAA8B,EAAE;MAC5B3P,UAAU,EAAE,yLADgB;MAE5BtG,MAAM,EAAE,KAFoB;MAG5BC,MAAM,EAAE;QACJuG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJmV,aAAa,EAAE;UAAEpV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFnC;QAGJoV,WAAW,EAAE;UAAEpV,IAAI,EAAE;SAHjB;QAIJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;SAJV;QAKJsV,QAAQ,EAAE;UAAEtV,IAAI,EAAE;SALd;QAMJuV,MAAM,EAAE;UAAEvV,IAAI,EAAE;;OATQ;MAW5BG,GAAG,EAAE;KA1DQ;IA4DjB2V,4CAA4C,EAAE;MAC1C5P,UAAU,EAAE,uNAD8B;MAE1CtG,MAAM,EAAE,KAFkC;MAG1CC,MAAM,EAAE;QACJuG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJmV,aAAa,EAAE;UAAEpV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFnC;QAGJoV,WAAW,EAAE;UAAErV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;SAJV;QAKJsV,QAAQ,EAAE;UAAEtV,IAAI,EAAE;SALd;QAMJuV,MAAM,EAAE;UAAEvV,IAAI,EAAE;;OATsB;MAW1CG,GAAG,EAAE;KAvEQ;IAyEjB4V,yCAAyC,EAAE;MACvC7P,UAAU,EAAE,qLAD2B;MAEvCtG,MAAM,EAAE,KAF+B;MAGvCC,MAAM,EAAE;QACJuG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJmV,aAAa,EAAE;UAAEpV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFnC;QAGJoV,WAAW,EAAE;UAAErV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;SAJV;QAKJsV,QAAQ,EAAE;UAAEtV,IAAI,EAAE;SALd;QAMJuV,MAAM,EAAE;UAAEvV,IAAI,EAAE;;OATmB;MAWvCG,GAAG,EAAE;KApFQ;IAsFjB6V,kBAAkB,EAAE;MAChB9P,UAAU,EAAE,oJADI;MAEhBtG,MAAM,EAAE,KAFQ;MAGhBC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAHvC;MAIhBG,GAAG,EAAE;KA1FQ;IA4FjB8V,UAAU,EAAE;MACR/P,UAAU,EAAE,oIADJ;MAERtG,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAH/C;MAIRG,GAAG,EAAE;KAhGQ;IAkGjBqI,kBAAkB,EAAE;MAChBtC,UAAU,EAAE,qHADI;MAEhBtG,MAAM,EAAE,MAFQ;MAGhBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KAzGQ;IA2GjBuI,iCAAiC,EAAE;MAC/BxC,UAAU,EAAE,mJADmB;MAE/BtG,MAAM,EAAE,QAFuB;MAG/BC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALR;MAO/BG,GAAG,EAAE;KAlHQ;IAoHjBwI,yBAAyB,EAAE;MACvBzC,UAAU,EAAE,mIADW;MAEvBtG,MAAM,EAAE,QAFe;MAGvBC,MAAM,EAAE;QACJsG,YAAY,EAAE;UAAEpG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADlC;QAEJoG,SAAS,EAAE;UAAErG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALhB;MAOvBG,GAAG,EAAE;KA3HQ;IA6HjB+V,mBAAmB,EAAE;MACjBhQ,UAAU,EAAE,6JADK;MAEjBtG,MAAM,EAAE,OAFS;MAGjBC,MAAM,EAAE;QACJsW,UAAU,EAAE;UAAEnW,IAAI,EAAE;SADhB;QAEJwV,gBAAgB,EAAE;UAAEzV,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFtC;QAGJoV,WAAW,EAAE;UAAEpV,IAAI,EAAE;SAHjB;QAIJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;SAJV;QAKJsV,QAAQ,EAAE;UAAEtV,IAAI,EAAE;SALd;QAMJoW,aAAa,EAAE;UAAEpW,IAAI,EAAE;SANnB;QAOJuV,MAAM,EAAE;UAAEvV,IAAI,EAAE;;OAVH;MAYjBG,GAAG,EAAE;;GAnvEF;EAsvEXkW,IAAI,EAAE;IACFC,qBAAqB,EAAE;MACnB1W,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,OAAD,EAAU,QAAV,CAAR;UAA6BlC,IAAI,EAAE;SAFrC;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOnBG,GAAG,EAAE;KARP;IAUFqW,SAAS,EAAE;MACP5W,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ/B;MAMPG,GAAG,EAAE;KAhBP;IAkBFsW,gBAAgB,EAAE;MACd7W,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJxB;MAMdG,GAAG,EAAE;KAxBP;IA0BFuW,eAAe,EAAE;MACb9W,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJzB;MAMbG,GAAG,EAAE;KAhCP;IAkCFwW,qBAAqB,EAAE;MACnB/W,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMnBG,GAAG,EAAE;KAxCP;IA0CFyW,iBAAiB,EAAE;MACfhX,MAAM,EAAE,QADO;MAEfC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJvB;MAMfG,GAAG,EAAE;KAhDP;IAkDF0W,kCAAkC,EAAE;MAChCjX,MAAM,EAAE,KADwB;MAEhCC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJN;MAMhCG,GAAG,EAAE;KAxDP;IA0DF2W,UAAU,EAAE;MACRlX,MAAM,EAAE,MADA;MAERC,MAAM,EAAE;QACJkX,MAAM,EAAE;UAAE/W,IAAI,EAAE;SADZ;QAEJgX,MAAM,EAAE;UAAEjX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;+BAGmB;UAAEA,IAAI,EAAE;SAH3B;+BAImB;UAAEA,IAAI,EAAE;SAJ3B;yBAKa;UAAEA,IAAI,EAAE;SALrB;sBAMU;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANlC;QAOJiX,MAAM,EAAE;UAAEjX,IAAI,EAAE;SAPZ;QAQJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR1B;QASJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAXzB;MAaRG,GAAG,EAAE;KAvEP;IAyEF+W,gBAAgB,EAAE;MACdtX,MAAM,EAAE,MADM;MAEdC,MAAM,EAAE;QACJkU,KAAK,EAAE;UAAE/T,IAAI,EAAE;SADX;QAEJmX,UAAU,EAAE;UAAEnX,IAAI,EAAE;SAFhB;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJuW,IAAI,EAAE;UACFrU,IAAI,EAAE,CAAC,OAAD,EAAU,eAAV,EAA2B,iBAA3B,CADJ;UAEFlC,IAAI,EAAE;SANN;QAQJoX,QAAQ,EAAE;UAAEpX,IAAI,EAAE;;OAVR;MAYdG,GAAG,EAAE;KArFP;IAuFFkX,UAAU,EAAE;MACRzX,MAAM,EAAE,QADA;MAERC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJzB;MAMRG,GAAG,EAAE;KA7FP;IA+FFoJ,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFtC;MAGDG,GAAG,EAAE;KAlGP;IAoGFoX,OAAO,EAAE;MACL3X,MAAM,EAAE,KADH;MAELC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ5B;MAMLG,GAAG,EAAE;KA1GP;IA4GFqX,aAAa,EAAE;MACX5X,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ3B;MAMXG,GAAG,EAAE;KAlHP;IAoHFsX,iCAAiC,EAAE;MAC/B7X,MAAM,EAAE,KADuB;MAE/BC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFR;MAG/BG,GAAG,EAAE;KAvHP;IAyHFwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALjB;MAOFG,GAAG,EAAE;KAhIP;IAkIFuX,gBAAgB,EAAE;MACd9X,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QAAEwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFzB;MAGdG,GAAG,EAAE;KArIP;IAuIF4Q,wBAAwB,EAAE;MACtBnR,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFjC;MAGtBG,GAAG,EAAE;KA1IP;IA4IFwX,WAAW,EAAE;MACT/X,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL7B;MAOTG,GAAG,EAAE;KAnJP;IAqJFyX,SAAS,EAAE;MACPhY,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALf;MAOPG,GAAG,EAAE;KA5JP;IA8JF6H,iBAAiB,EAAE;MACftC,OAAO,EAAE;QAAEC,MAAM,EAAE;OADJ;MAEf/F,MAAM,EAAE,KAFO;MAGfC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANP;MAQfG,GAAG,EAAE;KAtKP;IAwKF0X,mBAAmB,EAAE;MACjBjY,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJiY,aAAa,EAAE;UAAE/X,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANL;MAQjBG,GAAG,EAAE;KAhLP;IAkLF4X,WAAW,EAAE;MACTnY,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJiK,MAAM,EAAE;UAAE5H,IAAI,EAAE,CAAC,cAAD,EAAiB,KAAjB,CAAR;UAAiClC,IAAI,EAAE;SAD3C;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,KAAD,EAAQ,OAAR,EAAiB,QAAjB,CAAR;UAAoClC,IAAI,EAAE;;OAP3C;MASTG,GAAG,EAAE;KA3LP;IA6LF6X,eAAe,EAAE;MACbpY,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,CAAR;UAA+BlC,IAAI,EAAE;;OALnC;MAObG,GAAG,EAAE;KApMP;IAsMF8X,wBAAwB,EAAE;MACtBrY,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QACJiK,MAAM,EAAE;UAAE5H,IAAI,EAAE,CAAC,cAAD,EAAiB,KAAjB,CAAR;UAAiClC,IAAI,EAAE;SAD3C;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OANA;MAQtBG,GAAG,EAAE;KA9MP;IAgNF+X,sBAAsB,EAAE;MACpBtY,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALF;MAOpBG,GAAG,EAAE;KAvNP;IAyNFgY,iBAAiB,EAAE;MACfvY,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALP;MAOfG,GAAG,EAAE;KAhOP;IAkOFiY,QAAQ,EAAE;MACNxY,MAAM,EAAE,MADF;MAENC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ3B;MAMNG,GAAG,EAAE;KAxOP;IA0OFkY,mBAAmB,EAAE;MACjBzY,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJrB;MAMjBG,GAAG,EAAE;KAhPP;IAkPFmY,YAAY,EAAE;MACV1Y,MAAM,EAAE,QADE;MAEVC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ5B;MAMVG,GAAG,EAAE;KAxPP;IA0PFoY,gBAAgB,EAAE;MACd3Y,MAAM,EAAE,QADM;MAEdC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJxB;MAMdG,GAAG,EAAE;KAhQP;IAkQFqY,yBAAyB,EAAE;MACvB5Y,MAAM,EAAE,QADe;MAEvBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJf;MAMvBG,GAAG,EAAE;KAxQP;IA0QFsY,WAAW,EAAE;MACT7Y,MAAM,EAAE,QADC;MAETC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ7B;MAMTG,GAAG,EAAE;KAhRP;IAkRFmK,MAAM,EAAE;MACJ1K,MAAM,EAAE,OADJ;MAEJC,MAAM,EAAE;QACJ6Y,aAAa,EAAE;UAAE1Y,IAAI,EAAE;SADnB;QAEJ2Y,OAAO,EAAE;UAAE3Y,IAAI,EAAE;SAFb;QAGJ4Y,6BAA6B,EAAE;UAC3B1W,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,EAA2B,MAA3B,CADqB;UAE3BlC,IAAI,EAAE;SALN;QAOJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAPjB;QAQJ+T,KAAK,EAAE;UAAE/T,IAAI,EAAE;SARX;QASJ6Y,yBAAyB,EAAE;UAAE7Y,IAAI,EAAE;SAT/B;QAUJ8Y,uBAAuB,EAAE;UAAE9Y,IAAI,EAAE;SAV7B;QAWJ+Y,QAAQ,EAAE;UAAE/Y,IAAI,EAAE;SAXd;QAYJgZ,wCAAwC,EAAE;UACtC9W,IAAI,EAAE,CAAC,KAAD,EAAQ,SAAR,EAAmB,MAAnB,CADgC;UAEtClC,IAAI,EAAE;SAdN;QAgBJiZ,wCAAwC,EAAE;UAAEjZ,IAAI,EAAE;SAhB9C;QAiBJkZ,uCAAuC,EAAE;UAAElZ,IAAI,EAAE;SAjB7C;QAkBJmZ,sCAAsC,EAAE;UAAEnZ,IAAI,EAAE;SAlB5C;QAmBJoZ,+BAA+B,EAAE;UAAEpZ,IAAI,EAAE;SAnBrC;QAoBJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SApBV;QAqBJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAvB7B;MAyBJG,GAAG,EAAE;KA3SP;IA6SFkZ,UAAU,EAAE;MACRzZ,MAAM,EAAE,OADA;MAERC,MAAM,EAAE;QACJkX,MAAM,EAAE;UAAE/W,IAAI,EAAE;SADZ;QAEJgX,MAAM,EAAE;UAAEhX,IAAI,EAAE;SAFZ;+BAGmB;UAAEA,IAAI,EAAE;SAH3B;+BAImB;UAAEA,IAAI,EAAE;SAJ3B;yBAKa;UAAEA,IAAI,EAAE;SALrB;sBAMU;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANlC;QAOJiX,MAAM,EAAE;UAAEjX,IAAI,EAAE;SAPZ;QAQJsX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR7B;QASJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAXzB;MAaRG,GAAG,EAAE;KA1TP;IA4TFmZ,gBAAgB,EAAE;MACd1Z,MAAM,EAAE,OADM;MAEdC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,QAAD,CAAR;UAAoBnC,QAAQ,EAAE,IAA9B;UAAoCC,IAAI,EAAE;;OAJvC;MAMdG,GAAG,EAAE;;GAxjFF;EA2jFXoZ,QAAQ,EAAE;IACNC,eAAe,EAAE;MACb9T,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJ4Z,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAAR;UAAoClC,IAAI,EAAE;SADlD;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANzB;MAQbG,GAAG,EAAE;KATH;IAWNwZ,UAAU,EAAE;MACRjU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,MAFA;MAGRC,MAAM,EAAE;QACJ+Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJ6Z,UAAU,EAAE;UAAE7Z,IAAI,EAAE;SAFhB;QAGJ8Z,YAAY,EAAE;UAAE9Z,IAAI,EAAE;SAHlB;QAIJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;;OAPV;MASRG,GAAG,EAAE;KApBH;IAsBN4Z,YAAY,EAAE;MACVrU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,MAFE;MAGVC,MAAM,EAAE;QACJU,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL9B;MAOVG,GAAG,EAAE;KA7BH;IA+BN6Z,0BAA0B,EAAE;MACxBtU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADK;MAExB/F,MAAM,EAAE,MAFgB;MAGxBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALV;MAOxBG,GAAG,EAAE;KAtCH;IAwCN8Z,YAAY,EAAE;MACVvU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,MAFE;MAGVC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQVG,GAAG,EAAE;KAhDH;IAkDN+Z,aAAa,EAAE;MACXxU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADR;MAEX/F,MAAM,EAAE,MAFG;MAGXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPvB;MASXG,GAAG,EAAE;KA3DH;IA6DNiL,MAAM,EAAE;MACJ1F,OAAO,EAAE;QAAEC,MAAM,EAAE;OADf;MAEJ/F,MAAM,EAAE,QAFJ;MAGJC,MAAM,EAAE;QAAE6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH1C;MAIJG,GAAG,EAAE;KAjEH;IAmENga,UAAU,EAAE;MACRzU,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,QAFA;MAGRC,MAAM,EAAE;QAAEua,OAAO,EAAE;UAAEra,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHnC;MAIRG,GAAG,EAAE;KAvEH;IAyENka,YAAY,EAAE;MACV3U,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,QAFE;MAGVC,MAAM,EAAE;QAAE+Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHnC;MAIVG,GAAG,EAAE;KA7EH;IA+ENoJ,GAAG,EAAE;MACD7D,OAAO,EAAE;QAAEC,MAAM,EAAE;OADlB;MAED/F,MAAM,EAAE,KAFP;MAGDC,MAAM,EAAE;QAAE6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH7C;MAIDG,GAAG,EAAE;KAnFH;IAqFNma,OAAO,EAAE;MACL5U,OAAO,EAAE;QAAEC,MAAM,EAAE;OADd;MAEL/F,MAAM,EAAE,KAFH;MAGLC,MAAM,EAAE;QAAEua,OAAO,EAAE;UAAEra,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHtC;MAILG,GAAG,EAAE;KAzFH;IA2FNoa,SAAS,EAAE;MACP7U,OAAO,EAAE;QAAEC,MAAM,EAAE;OADZ;MAEP/F,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QAAE+Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHtC;MAIPG,GAAG,EAAE;KA/FH;IAiGNqa,SAAS,EAAE;MACP9U,OAAO,EAAE;QAAEC,MAAM,EAAE;OADZ;MAEP/F,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QACJ4a,cAAc,EAAE;UACZvY,IAAI,EAAE,CAAC,KAAD,EAAQ,UAAR,EAAoB,cAApB,CADM;UAEZlC,IAAI,EAAE;SAHN;QAKJ4Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL/B;QAMJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SANV;QAOJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAVf;MAYPG,GAAG,EAAE;KA7GH;IA+GNua,iBAAiB,EAAE;MACfhV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADJ;MAEf/F,MAAM,EAAE,KAFO;MAGfC,MAAM,EAAE;QACJ8a,WAAW,EAAE;UAAEzY,IAAI,EAAE,CAAC,SAAD,EAAY,QAAZ,EAAsB,KAAtB,CAAR;UAAsClC,IAAI,EAAE;SADrD;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPzB;MASfG,GAAG,EAAE;KAxHH;IA0HNya,WAAW,EAAE;MACTlV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADV;MAET/F,MAAM,EAAE,KAFC;MAGTC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN/B;MAQTG,GAAG,EAAE;KAlIH;IAoIN6Q,UAAU,EAAE;MACRtL,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAP5C;MASRG,GAAG,EAAE;KA7IH;IA+IN8Q,WAAW,EAAE;MACTvL,OAAO,EAAE;QAAEC,MAAM,EAAE;OADV;MAET/F,MAAM,EAAE,KAFC;MAGTC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAR3C;MAUTG,GAAG,EAAE;KAzJH;IA2JNwX,WAAW,EAAE;MACTjS,OAAO,EAAE;QAAEC,MAAM,EAAE;OADV;MAET/F,MAAM,EAAE,KAFC;MAGTC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;SAH5C;QAIJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP7B;MASTG,GAAG,EAAE;KApKH;IAsKN0a,QAAQ,EAAE;MACNnV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADb;MAEN/F,MAAM,EAAE,MAFF;MAGNC,MAAM,EAAE;QACJua,OAAO,EAAE;UAAEra,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJ4Z,SAAS,EAAE;UAAE5Z,IAAI,EAAE;SAFf;QAGJ8a,QAAQ,EAAE;UACN/a,QAAQ,EAAE,IADJ;UAENC,IAAI,EAAE,QAFA;UAGN+a,UAAU,EAAE;;OATd;MAYN5a,GAAG,EAAE;KAlLH;IAoLN6a,UAAU,EAAE;MACRtV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,MAFA;MAGRC,MAAM,EAAE;QACJ+Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJ8a,QAAQ,EAAE;UACN/a,QAAQ,EAAE,IADJ;UAENC,IAAI,EAAE,QAFA;UAGN+a,UAAU,EAAE;;OARZ;MAWR5a,GAAG,EAAE;KA/LH;IAiMN8a,kBAAkB,EAAE;MAChBvV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADH;MAEhB/F,MAAM,EAAE,QAFQ;MAGhBC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOhBG,GAAG,EAAE;KAxMH;IA0MN+a,yBAAyB,EAAE;MACvBxV,OAAO,EAAE;QAAEC,MAAM,EAAE;OADI;MAEvB/F,MAAM,EAAE,KAFe;MAGvBC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALf;MAOvBG,GAAG,EAAE;KAjNH;IAmNNmK,MAAM,EAAE;MACJ5E,OAAO,EAAE;QAAEC,MAAM,EAAE;OADf;MAEJ/F,MAAM,EAAE,OAFJ;MAGJC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAFV;QAGJmb,uBAAuB,EAAE;UAAEnb,IAAI,EAAE;SAH7B;QAIJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAJb;QAKJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALhC;QAMJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CAAR;UAA4BlC,IAAI,EAAE;;OATzC;MAWJG,GAAG,EAAE;KA9NH;IAgONkb,UAAU,EAAE;MACR3V,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,OAFA;MAGRC,MAAM,EAAE;QACJyb,QAAQ,EAAE;UAAEtb,IAAI,EAAE;SADd;QAEJoa,OAAO,EAAE;UAAEra,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF7B;QAGJqV,IAAI,EAAE;UAAErV,IAAI,EAAE;;OANV;MAQRG,GAAG,EAAE;KAxOH;IA0ONob,YAAY,EAAE;MACV7V,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,OAFE;MAGVC,MAAM,EAAE;QACJ+Z,SAAS,EAAE;UAAE7Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD/B;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOVG,GAAG,EAAE;;GA5yFF;EA+yFXqb,KAAK,EAAE;IACHC,aAAa,EAAE;MACX7b,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KATN;IAWH2I,MAAM,EAAE;MACJlJ,MAAM,EAAE,MADJ;MAEJC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE5b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJuG,IAAI,EAAE;UAAEvG,IAAI,EAAE;SAFV;QAGJ4b,KAAK,EAAE;UAAE5b,IAAI,EAAE;SAHX;QAIJ6b,IAAI,EAAE;UAAE9b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ8b,qBAAqB,EAAE;UAAE9b,IAAI,EAAE;SAL3B;QAMJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN3B;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAV/B;MAYJG,GAAG,EAAE;KAvBN;IAyBHgL,aAAa,EAAE;MACXvL,MAAM,EAAE,MADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ+b,SAAS,EAAE;UAAEhc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF/B;QAGJgc,WAAW,EAAE;UACT9V,UAAU,EAAE,IADH;UAET8E,WAAW,EAAE,sJAFJ;UAGThL,IAAI,EAAE;SANN;QAQJic,IAAI,EAAE;UAAEjc,IAAI,EAAE;SARV;QASJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SATpD;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJ8a,QAAQ,EAAE;UAAE9a,IAAI,EAAE;SAZd;QAaJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAbjC;QAcJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAd1B;QAeJmc,IAAI,EAAE;UAAEja,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,CAAR;UAA2BlC,IAAI,EAAE;SAfnC;QAgBJoc,UAAU,EAAE;UAAEpc,IAAI,EAAE;SAhBhB;QAiBJqc,UAAU,EAAE;UAAEna,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,MAAlB,CAAR;UAAmClC,IAAI,EAAE;;OAnB9C;MAqBXG,GAAG,EAAE;KA9CN;IAgDHmc,kBAAkB,EAAE;MAChBpW,UAAU,EAAE,mGADI;MAEhBtG,MAAM,EAAE,MAFQ;MAGhBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ+b,SAAS,EAAE;UAAEhc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF/B;QAGJgc,WAAW,EAAE;UACT9V,UAAU,EAAE,IADH;UAET8E,WAAW,EAAE,sJAFJ;UAGThL,IAAI,EAAE;SANN;QAQJic,IAAI,EAAE;UAAEjc,IAAI,EAAE;SARV;QASJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SATpD;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJ8a,QAAQ,EAAE;UAAE9a,IAAI,EAAE;SAZd;QAaJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAbjC;QAcJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAd1B;QAeJmc,IAAI,EAAE;UAAEja,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,CAAR;UAA2BlC,IAAI,EAAE;SAfnC;QAgBJoc,UAAU,EAAE;UAAEpc,IAAI,EAAE;SAhBhB;QAiBJqc,UAAU,EAAE;UAAEna,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,MAAlB,CAAR;UAAmClC,IAAI,EAAE;;OApBzC;MAsBhBG,GAAG,EAAE;KAtEN;IAwEHoc,eAAe,EAAE;MACbrW,UAAU,EAAE,iHADC;MAEbtG,MAAM,EAAE,MAFK;MAGbC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE5b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ4b,KAAK,EAAE;UAAE5b,IAAI,EAAE;SAFX;QAGJ6b,IAAI,EAAE;UAAE9b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJwc,KAAK,EAAE;UAAEzc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJ8b,qBAAqB,EAAE;UAAE9b,IAAI,EAAE;SAL3B;QAMJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN3B;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVrB;MAYbG,GAAG,EAAE;KApFN;IAsFHsc,YAAY,EAAE;MACV7c,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJ0c,QAAQ,EAAE;UAAE1c,IAAI,EAAE;SAFd;2BAGe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHvC;2BAIe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvC;+BAKmB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL3C;QAMJ+b,SAAS,EAAE;UAAE/b,IAAI,EAAE;SANf;QAOJgC,KAAK,EAAE;UACHE,IAAI,EAAE,CAAC,SAAD,EAAY,iBAAZ,EAA+B,SAA/B,CADH;UAEHlC,IAAI,EAAE;SATN;QAWJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAXpD;QAYJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAZ3B;QAaJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAbjC;QAcJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAhBxB;MAkBVG,GAAG,EAAE;KAxGN;IA0GHwc,wBAAwB,EAAE;MACtB/c,MAAM,EAAE,MADc;MAEtBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJjC;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPZ;MAStBG,GAAG,EAAE;KAnHN;IAqHHyc,mBAAmB,EAAE;MACjBhd,MAAM,EAAE,MADS;MAEjBC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ6c,SAAS,EAAE;UAAE7c,IAAI,EAAE;SALf;QAMJ8c,cAAc,EAAE;UAAE9c,IAAI,EAAE;;OARX;MAUjBG,GAAG,EAAE;KA/HN;IAiIHkL,aAAa,EAAE;MACXzL,MAAM,EAAE,QADG;MAEXC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KAxIN;IA0IH4c,mBAAmB,EAAE;MACjBnd,MAAM,EAAE,QADS;MAEjBC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPtB;MASjBG,GAAG,EAAE;KAnJN;IAqJH8c,mBAAmB,EAAE;MACjBrd,MAAM,EAAE,QADS;MAEjBC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ6c,SAAS,EAAE;UAAE7c,IAAI,EAAE;SALf;QAMJ8c,cAAc,EAAE;UAAE9c,IAAI,EAAE;;OARX;MAUjBG,GAAG,EAAE;KA/JN;IAiKH+c,aAAa,EAAE;MACXtd,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJ+M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAFpD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJjC;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL1B;QAMJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAR5B;MAUXG,GAAG,EAAE;KA3KN;IA6KHoJ,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjC;MAQDG,GAAG,EAAE;KArLN;IAuLHqL,UAAU,EAAE;MACR5L,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KA9LN;IAgMHgd,oBAAoB,EAAE;MAClBvd,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALjC;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OATrB;MAWlBG,GAAG,EAAE;KA3MN;IA6MHid,SAAS,EAAE;MACPxd,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPhC;MASPG,GAAG,EAAE;KAtNN;IAwNHwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE3b,IAAI,EAAE;SADV;QAEJuE,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SAFtC;QAGJ6b,IAAI,EAAE;UAAE7b,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SALV;QAMJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,YAAvB,EAAqC,cAArC,CADJ;UAEFlC,IAAI,EAAE;SAVN;QAYJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,KAAnB,CAAR;UAAmClC,IAAI,EAAE;;OAdlD;MAgBFG,GAAG,EAAE;KAxON;IA0OHyL,YAAY,EAAE;MACVhM,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAFpD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANjC;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SARX;QASJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAXtC;MAaVG,GAAG,EAAE;KAvPN;IAyPHwQ,mBAAmB,EAAE;MACjB/Q,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL1B;QAMJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SANX;QAOJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAT/B;MAWjBG,GAAG,EAAE;KApQN;IAsQH0L,WAAW,EAAE;MACTjM,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALjC;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARzB;MAUTG,GAAG,EAAE;KAhRN;IAkRHkd,SAAS,EAAE;MACPzd,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALjC;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAR3B;MAUPG,GAAG,EAAE;KA5RN;IA8RHmd,kBAAkB,EAAE;MAChB1d,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALjC;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARlB;MAUhBG,GAAG,EAAE;KAxSN;IA0SHod,WAAW,EAAE;MACT3d,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ0P,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SADpD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALjC;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARzB;MAUTG,GAAG,EAAE;KApTN;IAsTHqd,KAAK,EAAE;MACH5d,MAAM,EAAE,KADL;MAEHC,MAAM,EAAE;QACJ4d,cAAc,EAAE;UAAEzd,IAAI,EAAE;SADpB;QAEJ0d,YAAY,EAAE;UAAE1d,IAAI,EAAE;SAFlB;QAGJ2d,YAAY,EAAE;UAAEzb,IAAI,EAAE,CAAC,OAAD,EAAU,QAAV,EAAoB,QAApB,CAAR;UAAuClC,IAAI,EAAE;SAHvD;QAIJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAJpD;QAKJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL3B;QAMJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANjC;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;;OAVd;MAYHG,GAAG,EAAE;KAlUN;IAoUHyd,YAAY,EAAE;MACVhe,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJgC,KAAK,EAAE;UACHE,IAAI,EAAE,CAAC,SAAD,EAAY,iBAAZ,EAA+B,SAA/B,CADH;UAEHnC,QAAQ,EAAE,IAFP;UAGHC,IAAI,EAAE;SALN;QAOJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAPpD;QAQJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR3B;QASJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SATjC;QAUJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV1B;QAWJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAb7B;MAeVG,GAAG,EAAE;KAnVN;IAqVHmK,MAAM,EAAE;MACJ1K,MAAM,EAAE,OADJ;MAEJC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE3b,IAAI,EAAE;SADV;QAEJuG,IAAI,EAAE;UAAEvG,IAAI,EAAE;SAFV;QAGJ8b,qBAAqB,EAAE;UAAE9b,IAAI,EAAE;SAH3B;QAIJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAJpD;QAKJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL3B;QAMJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANjC;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJkQ,KAAK,EAAE;UAAEhO,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CAAR;UAA4BlC,IAAI,EAAE;SARrC;QASJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAXf;MAaJG,GAAG,EAAE;KAlWN;IAoWH0d,YAAY,EAAE;MACVnY,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,KAFE;MAGVC,MAAM,EAAE;QACJie,iBAAiB,EAAE;UAAE9d,IAAI,EAAE;SADvB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHjC;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASVG,GAAG,EAAE;KA7WN;IA+WHiM,aAAa,EAAE;MACXxM,MAAM,EAAE,OADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KAvXN;IAyXH4d,YAAY,EAAE;MACVne,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,aAAT;UAAwBtJ,UAAU,EAAE,IAApC;UAA0ClG,IAAI,EAAE;SAFpD;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJ0b,WAAW,EAAE;UAAE3b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJjC;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL1B;QAMJgd,SAAS,EAAE;UAAEjd,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAR7B;MAUVG,GAAG,EAAE;;GAlrGF;EAqrGX6d,SAAS,EAAE;IAAEzU,GAAG,EAAE;MAAE3J,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;;GArrGzC;EAsrGX8d,SAAS,EAAE;IACPC,sBAAsB,EAAE;MACpBxY,OAAO,EAAE;QAAEC,MAAM,EAAE;OADC;MAEpB/F,MAAM,EAAE,MAFY;MAGpBC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhB3B;QAiBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBd;MAsBpBG,GAAG,EAAE;KAvBF;IAyBPge,cAAc,EAAE;MACZzY,OAAO,EAAE;QAAEC,MAAM,EAAE;OADP;MAEZ/F,MAAM,EAAE,MAFI;MAGZC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAbN;QAeJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAflC;QAgBJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAhBrD;QAiBJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAjB3B;QAkBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBtB;MAuBZG,GAAG,EAAE;KAhDF;IAkDPie,qBAAqB,EAAE;MACnB1Y,OAAO,EAAE;QAAEC,MAAM,EAAE;OADA;MAEnB/F,MAAM,EAAE,MAFW;MAGnBC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhB3B;QAiBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBf;MAsBnBG,GAAG,EAAE;KAxEF;IA0EPke,iCAAiC,EAAE;MAC/B3Y,OAAO,EAAE;QAAEC,MAAM,EAAE;OADY;MAE/B/F,MAAM,EAAE,MAFuB;MAG/BC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhB3B;QAiBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBH;MAsB/BG,GAAG,EAAE;KAhGF;IAkGPme,uBAAuB,EAAE;MACrBpY,UAAU,EAAE,gIADS;MAErBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFE;MAGrB/F,MAAM,EAAE,MAHa;MAIrBC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBhB;MAsBrBG,GAAG,EAAE;KAxHF;IA0HPse,8BAA8B,EAAE;MAC5BvY,UAAU,EAAE,8IADgB;MAE5BR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFS;MAG5B/F,MAAM,EAAE,MAHoB;MAI5BC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhBvC;QAiBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBT;MAuB5BG,GAAG,EAAE;KAjJF;IAmJPwe,mCAAmC,EAAE;MACjCjZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADc;MAEjC/F,MAAM,EAAE,MAFyB;MAGjCC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhBvC;QAiBJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAjBzB;QAkBJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBN;MAuBjCG,GAAG,EAAE;KA1KF;IA4KP0e,oCAAoC,EAAE;MAClC3Y,UAAU,EAAE,6KADsB;MAElCR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFe;MAGlC/F,MAAM,EAAE,MAH0B;MAIlCC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAdN;QAgBJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhBvC;QAiBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBH;MAuBlCG,GAAG,EAAE;KAnMF;IAqMP2e,4BAA4B,EAAE;MAC1BpZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADO;MAE1B/F,MAAM,EAAE,MAFkB;MAG1BC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhBzB;QAiBJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBb;MAsB1BG,GAAG,EAAE;KA3NF;IA6NP4e,6BAA6B,EAAE;MAC3B7Y,UAAU,EAAE,8JADe;MAE3BR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFQ;MAG3B/F,MAAM,EAAE,MAHmB;MAI3BC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLnC,QAAQ,EAAE,IAXL;UAYLC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OApBV;MAsB3BG,GAAG,EAAE;KAnPF;IAqPPiL,MAAM,EAAE;MACJ1F,OAAO,EAAE;QAAEC,MAAM,EAAE;OADf;MAEJ/F,MAAM,EAAE,QAFJ;MAGJC,MAAM,EAAE;QAAEmf,WAAW,EAAE;UAAEjf,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH3C;MAIJG,GAAG,EAAE;KAzPF;IA2PP8e,oBAAoB,EAAE;MAClBvZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADD;MAElB/F,MAAM,EAAE,KAFU;MAGlBC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAf3B;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBhB;MAuBlBG,GAAG,EAAE;KAlRF;IAoRP+e,YAAY,EAAE;MACVxZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADT;MAEV/F,MAAM,EAAE,KAFE;MAGVC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAZN;QAcJsP,YAAY,EAAE;UAAEvP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAdlC;QAeJuP,MAAM,EAAE;UAAEC,KAAK,EAAE,cAAT;UAAyBtJ,UAAU,EAAE,IAArC;UAA2ClG,IAAI,EAAE;SAfrD;QAgBJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhB3B;QAiBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAjBV;QAkBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAlBd;QAmBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAtBxB;MAwBVG,GAAG,EAAE;KA5SF;IA8SPgf,mBAAmB,EAAE;MACjBzZ,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,KAFS;MAGjBC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAf3B;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBjB;MAuBjBG,GAAG,EAAE;KArUF;IAuUPif,+BAA+B,EAAE;MAC7B1Z,OAAO,EAAE;QAAEC,MAAM,EAAE;OADU;MAE7B/F,MAAM,EAAE,KAFqB;MAG7BC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAf3B;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBL;MAuB7BG,GAAG,EAAE;KA9VF;IAgWPkf,qBAAqB,EAAE;MACnBnZ,UAAU,EAAE,4HADO;MAEnBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFA;MAGnB/F,MAAM,EAAE,KAHW;MAInBC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAZN;QAcJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAdvC;QAeJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAfV;QAgBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAhBd;QAiBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBlB;MAuBnBG,GAAG,EAAE;KAvXF;IAyXPmf,4BAA4B,EAAE;MAC1BpZ,UAAU,EAAE,0IADc;MAE1BR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFO;MAG1B/F,MAAM,EAAE,KAHkB;MAI1BC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAtBX;MAwB1BG,GAAG,EAAE;KAjZF;IAmZPof,iCAAiC,EAAE;MAC/B7Z,OAAO,EAAE;QAAEC,MAAM,EAAE;OADY;MAE/B/F,MAAM,EAAE,KAFuB;MAG/BC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhBzB;QAiBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAjBV;QAkBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAlBd;QAmBJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAtBR;MAwB/BG,GAAG,EAAE;KA3aF;IA6aPqf,kCAAkC,EAAE;MAChCtZ,UAAU,EAAE,0KADoB;MAEhCR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFa;MAGhC/F,MAAM,EAAE,KAHwB;MAIhCC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJuM,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAbN;QAeJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfvC;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAtBL;MAwBhCG,GAAG,EAAE;KArcF;IAucPsf,0BAA0B,EAAE;MACxB/Z,OAAO,EAAE;QAAEC,MAAM,EAAE;OADK;MAExB/F,MAAM,EAAE,KAFgB;MAGxBC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAZN;QAcJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAdvC;QAeJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfzB;QAgBJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAhBV;QAiBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAjBd;QAkBJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBf;MAuBxBG,GAAG,EAAE;KA9dF;IAgePuf,2BAA2B,EAAE;MACzBxZ,UAAU,EAAE,2JADa;MAEzBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFM;MAGzB/F,MAAM,EAAE,KAHiB;MAIzBC,MAAM,EAAE;QACJ0M,OAAO,EAAE;UACLrK,IAAI,EAAE,CACF,IADE,EAEF,IAFE,EAGF,OAHE,EAIF,UAJE,EAKF,OALE,EAMF,QANE,EAOF,QAPE,EAQF,MARE,CADD;UAWLlC,IAAI,EAAE;SAZN;QAcJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAdvC;QAeJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAfV;QAgBJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAhBd;QAiBJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OArBZ;MAuBzBG,GAAG,EAAE;;GA7qHF;EAgrHXwf,KAAK,EAAE;IACHC,gBAAgB,EAAE;MACdhgB,MAAM,EAAE,OADM;MAEdC,MAAM,EAAE;QAAEiY,aAAa,EAAE;UAAE/X,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFnC;MAGdG,GAAG,EAAE;KAJN;IAMHqZ,eAAe,EAAE;MACb5Z,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAFjD;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANzB;MAQbG,GAAG,EAAE;KAdN;IAgBH0f,YAAY,EAAE;MACVjgB,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJ4K,GAAG,EAAE;UAAE1K,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ8f,SAAS,EAAE;UAAE9f,IAAI,EAAE;SAHf;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAPT;MASVG,GAAG,EAAE;KAzBN;IA2BH4f,kCAAkC,EAAE;MAChCngB,MAAM,EAAE,MADwB;MAEhCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALF;MAOhCG,GAAG,EAAE;KAlCN;IAoCH6f,iCAAiC,EAAE;MAC/BpgB,MAAM,EAAE,MADuB;MAE/BC,MAAM,EAAE;QACJ2F,IAAI,EAAE;UAAEoN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SADzC;QAEJ+B,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANH;MAQ/BG,GAAG,EAAE;KA5CN;IA8CH8f,oCAAoC,EAAE;MAClCva,OAAO,EAAE;QAAEC,MAAM,EAAE;OADe;MAElC/F,MAAM,EAAE,MAF0B;MAGlCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANA;MAQlCG,GAAG,EAAE;KAtDN;IAwDH+f,8CAA8C,EAAE;MAC5CtgB,MAAM,EAAE,MADoC;MAE5CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJmgB,QAAQ,EAAE;UAAEvN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SAF7C;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANU;MAQ5CG,GAAG,EAAE;KAhEN;IAkEHigB,kCAAkC,EAAE;MAChCxgB,MAAM,EAAE,MADwB;MAEhCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJqgB,KAAK,EAAE;UAAEzN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANlB;MAQhCG,GAAG,EAAE;KA1EN;IA4EHmgB,kCAAkC,EAAE;MAChC1gB,MAAM,EAAE,MADwB;MAEhCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJugB,KAAK,EAAE;UAAE3N,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANlB;MAQhCG,GAAG,EAAE;KApFN;IAsFHqgB,iBAAiB,EAAE;MACf5gB,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOfG,GAAG,EAAE;KA7FN;IA+FHsgB,wBAAwB,EAAE;MACtB/a,OAAO,EAAE;QAAEC,MAAM,EAAE;OADG;MAEtB/F,MAAM,EAAE,KAFc;MAGtBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALZ;MAOtBG,GAAG,EAAE;KAtGN;IAwGHugB,cAAc,EAAE;MACZ9gB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE5b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ6b,IAAI,EAAE;UAAE9b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQZG,GAAG,EAAE;KAhHN;IAkHHwgB,mBAAmB,EAAE;MACjB/gB,MAAM,EAAE,MADS;MAEjBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ4N,UAAU,EAAE;UAAE7N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJic,IAAI,EAAE;UAAEjc,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJkc,IAAI,EAAE;UAAElc,IAAI,EAAE;SALV;QAMJ8a,QAAQ,EAAE;UAAE9a,IAAI,EAAE;SANd;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJ0L,GAAG,EAAE;UAAE8D,KAAK,EAAE,YAAT;UAAuBtJ,UAAU,EAAE,IAAnC;UAAyClG,IAAI,EAAE;;OAVvC;MAYjBG,GAAG,EAAE;KA9HN;IAgIHygB,gBAAgB,EAAE;MACdhhB,MAAM,EAAE,MADM;MAEdC,MAAM,EAAE;QACJghB,UAAU,EAAE;UAAE7gB,IAAI,EAAE;SADhB;QAEJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAFjB;QAGJ8gB,WAAW,EAAE;UAAE9gB,IAAI,EAAE;SAHjB;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJ+gB,OAAO,EAAE;UAAE/gB,IAAI,EAAE;SALb;QAMJghB,sBAAsB,EAAE;UAAEhhB,IAAI,EAAE;SAN5B;QAOJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPzB;QAQJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR1B;QASJihB,iBAAiB,EAAE;UAAEjhB,IAAI,EAAE;SATvB;QAUJkhB,IAAI,EAAE;UAAElhB,IAAI,EAAE;SAVV;QAWJmhB,qBAAqB,EAAE;UAAEnhB,IAAI,EAAE;;OAbrB;MAedG,GAAG,EAAE;KA/IN;IAiJHihB,sBAAsB,EAAE;MACpBxhB,MAAM,EAAE,MADY;MAEpBC,MAAM,EAAE;QACJwhB,aAAa,EAAE;UAAErhB,IAAI,EAAE;SADnB;QAEJshB,aAAa,EAAE;UAAEvhB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFnC;QAGJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAHjB;QAIJ8gB,WAAW,EAAE;UAAE5e,IAAI,EAAE,CAAC,YAAD,EAAe,SAAf,EAA0B,IAA1B,CAAR;UAAyClC,IAAI,EAAE;SAJxD;QAKJuhB,eAAe,EAAE;UAAEvhB,IAAI,EAAE;SALrB;QAMJwhB,OAAO,EAAE;UAAExhB,IAAI,EAAE;SANb;QAOJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP3B;QAQJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR1B;QASJkQ,KAAK,EAAE;UACHhO,IAAI,EAAE,CACF,OADE,EAEF,SAFE,EAGF,UAHE,EAIF,aAJE,EAKF,QALE,EAMF,SANE,EAOF,SAPE,CADH;UAUHnC,QAAQ,EAAE,IAVP;UAWHC,IAAI,EAAE;SApBN;QAsBJyhB,UAAU,EAAE;UAAEzhB,IAAI,EAAE;;OAxBJ;MA0BpBG,GAAG,EAAE;KA3KN;IA6KHuhB,mBAAmB,EAAE;MACjB9hB,MAAM,EAAE,MADS;MAEjBC,MAAM,EAAE;QACJ8hB,cAAc,EAAE;UAAE3hB,IAAI,EAAE;SADpB;QAEJ4hB,UAAU,EAAE;UAAE5hB,IAAI,EAAE;SAFhB;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjB;MAQjBG,GAAG,EAAE;KArLN;IAuLH0hB,UAAU,EAAE;MACR3b,UAAU,EAAE,gGADJ;MAERtG,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;wBAEY;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;uBAGW;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHnC;QAIJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAJZ;QAKJ2M,SAAS,EAAE;UAAE3M,IAAI,EAAE;SALf;2BAMe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANvC;0BAOc;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPtC;QAQJuM,OAAO,EAAE;UAAExM,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR7B;QASJ4M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAZ1B;QAaJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;;OAhBT;MAkBRG,GAAG,EAAE;KAzMN;IA2MH6Z,0BAA0B,EAAE;MACxBpa,MAAM,EAAE,MADgB;MAExBC,MAAM,EAAE;QACJiiB,kBAAkB,EAAE;UAAE9hB,IAAI,EAAE;SADxB;QAEJ+hB,kBAAkB,EAAE;UAAE/hB,IAAI,EAAE;SAFxB;QAGJgiB,kBAAkB,EAAE;UAAEhiB,IAAI,EAAE;SAHxB;QAIJiiB,SAAS,EAAE;UAAEjiB,IAAI,EAAE;SAJf;QAKJkiB,sBAAsB,EAAE;UAAEliB,IAAI,EAAE;SAL5B;QAMJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SANjB;QAOJmiB,kBAAkB,EAAE;UAAEniB,IAAI,EAAE;SAPxB;QAQJoiB,UAAU,EAAE;UAAEpiB,IAAI,EAAE;SARhB;QASJqiB,YAAY,EAAE;UAAEriB,IAAI,EAAE;SATlB;QAUJsiB,QAAQ,EAAE;UAAEtiB,IAAI,EAAE;SAVd;QAWJuiB,QAAQ,EAAE;UAAEviB,IAAI,EAAE;SAXd;QAYJwiB,WAAW,EAAE;UAAExiB,IAAI,EAAE;SAZjB;QAaJyiB,gBAAgB,EAAE;UAAEziB,IAAI,EAAE;SAbtB;QAcJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAd1B;QAeJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAfb;QAgBJwe,OAAO,EAAE;UAAExe,IAAI,EAAE;SAhBb;QAiBJ0iB,UAAU,EAAE;UACRxgB,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,YAAtB,EAAoC,UAApC,CADE;UAERlC,IAAI,EAAE;;OArBU;MAwBxBG,GAAG,EAAE;KAnON;IAqOHwiB,UAAU,EAAE;MACR/iB,MAAM,EAAE,MADA;MAERC,MAAM,EAAE;QACJ+iB,YAAY,EAAE;UAAE5iB,IAAI,EAAE;SADlB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KA5ON;IA8OH2W,UAAU,EAAE;MACRlX,MAAM,EAAE,MADA;MAERC,MAAM,EAAE;QACJkX,MAAM,EAAE;UAAE/W,IAAI,EAAE;SADZ;QAEJgX,MAAM,EAAE;UAAEjX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;+BAGmB;UAAEA,IAAI,EAAE;SAH3B;+BAImB;UAAEA,IAAI,EAAE;SAJ3B;yBAKa;UAAEA,IAAI,EAAE;SALrB;sBAMU;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANlC;QAOJiX,MAAM,EAAE;UAAEjX,IAAI,EAAE;SAPZ;QAQJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SARV;QASJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT3B;QAUJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAZ1B;MAcRG,GAAG,EAAE;KA5PN;IA8PH0iB,WAAW,EAAE;MACTjjB,MAAM,EAAE,MADC;MAETC,MAAM,EAAE;QACJiiB,kBAAkB,EAAE;UAAE9hB,IAAI,EAAE;SADxB;QAEJ+hB,kBAAkB,EAAE;UAAE/hB,IAAI,EAAE;SAFxB;QAGJgiB,kBAAkB,EAAE;UAAEhiB,IAAI,EAAE;SAHxB;QAIJiiB,SAAS,EAAE;UAAEjiB,IAAI,EAAE;SAJf;QAKJkiB,sBAAsB,EAAE;UAAEliB,IAAI,EAAE;SAL5B;QAMJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SANjB;QAOJmiB,kBAAkB,EAAE;UAAEniB,IAAI,EAAE;SAPxB;QAQJoiB,UAAU,EAAE;UAAEpiB,IAAI,EAAE;SARhB;QASJqiB,YAAY,EAAE;UAAEriB,IAAI,EAAE;SATlB;QAUJsiB,QAAQ,EAAE;UAAEtiB,IAAI,EAAE;SAVd;QAWJuiB,QAAQ,EAAE;UAAEviB,IAAI,EAAE;SAXd;QAYJwiB,WAAW,EAAE;UAAExiB,IAAI,EAAE;SAZjB;QAaJyiB,gBAAgB,EAAE;UAAEziB,IAAI,EAAE;SAbtB;QAcJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAd1B;QAeJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAfzB;QAgBJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAhBb;QAiBJwe,OAAO,EAAE;UAAExe,IAAI,EAAE;SAjBb;QAkBJ0iB,UAAU,EAAE;UACRxgB,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,YAAtB,EAAoC,UAApC,CADE;UAERlC,IAAI,EAAE;;OAtBL;MAyBTG,GAAG,EAAE;KAvRN;IAyRH2iB,kBAAkB,EAAE;MAChBljB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;wBAEY;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;uBAGW;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHnC;QAIJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAJZ;QAKJ2M,SAAS,EAAE;UAAE3M,IAAI,EAAE;SALf;2BAMe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANvC;0BAOc;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPtC;QAQJuM,OAAO,EAAE;UAAExM,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR7B;QASJ4M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAZ1B;QAaJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;;OAfD;MAiBhBG,GAAG,EAAE;KA1SN;IA4SH4iB,aAAa,EAAE;MACXnjB,MAAM,EAAE,MADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJ4b,KAAK,EAAE;UAAE5b,IAAI,EAAE;SAFX;QAGJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJgjB,UAAU,EAAE;UAAEhjB,IAAI,EAAE;SALhB;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJijB,QAAQ,EAAE;UAAEljB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP9B;QAQJkjB,gBAAgB,EAAE;UAAEljB,IAAI,EAAE;;OAVnB;MAYXG,GAAG,EAAE;KAxTN;IA0THgjB,YAAY,EAAE;MACVvjB,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJ0S,OAAO,EAAE;UAAEvS,IAAI,EAAE;SADb;QAEJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAFjB;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ0L,GAAG,EAAE;UAAE3L,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALzB;QAMJkQ,KAAK,EAAE;UACHhO,IAAI,EAAE,CAAC,OAAD,EAAU,SAAV,EAAqB,SAArB,EAAgC,SAAhC,CADH;UAEHnC,QAAQ,EAAE,IAFP;UAGHC,IAAI,EAAE;SATN;QAWJyhB,UAAU,EAAE;UAAEzhB,IAAI,EAAE;;OAbd;MAeVG,GAAG,EAAE;KAzUN;IA2UHijB,mBAAmB,EAAE;MACjB1d,OAAO,EAAE;QAAEC,MAAM,EAAE;OADF;MAEjB/F,MAAM,EAAE,MAFS;MAGjBC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJF,KAAK,EAAE;UAAEE,IAAI,EAAE;SAHX;QAIJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAJb;QAKJqjB,cAAc,EAAE;UAAEtjB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SALpC;QAMJsjB,aAAa,EAAE;UAAEvjB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAT1B;MAWjBG,GAAG,EAAE;KAtVN;IAwVHojB,iBAAiB,EAAE;MACf3jB,MAAM,EAAE,QADO;MAEfC,MAAM,EAAE;QAAEiY,aAAa,EAAE;UAAE/X,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFlC;MAGfG,GAAG,EAAE;KA3VN;IA6VHiL,MAAM,EAAE;MACJxL,MAAM,EAAE,QADJ;MAEJC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ9B;MAMJG,GAAG,EAAE;KAnWN;IAqWHqjB,mBAAmB,EAAE;MACjB5jB,MAAM,EAAE,QADS;MAEjBC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjB;MAOjBG,GAAG,EAAE;KA5WN;IA8WHsjB,cAAc,EAAE;MACZ7jB,MAAM,EAAE,QADI;MAEZC,MAAM,EAAE;QACJ6jB,WAAW,EAAE;UAAE3jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADjC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOZG,GAAG,EAAE;KArXN;IAuXHwjB,UAAU,EAAE;MACR/jB,MAAM,EAAE,QADA;MAERC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;wBAEY;UAAEA,IAAI,EAAE;SAFpB;uBAGW;UAAEA,IAAI,EAAE;SAHnB;QAIJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAJZ;QAKJ2M,SAAS,EAAE;UAAE3M,IAAI,EAAE;SALf;2BAMe;UAAEA,IAAI,EAAE;SANvB;0BAOc;UAAEA,IAAI,EAAE;SAPtB;QAQJ4M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR7B;QASJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT3B;QAUJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV1B;QAWJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJ0L,GAAG,EAAE;UAAE3L,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAdzB;MAgBRG,GAAG,EAAE;KAvYN;IAyYHkX,UAAU,EAAE;MACRzX,MAAM,EAAE,QADA;MAERC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KAhZN;IAkZHyjB,gBAAgB,EAAE;MACdhkB,MAAM,EAAE,QADM;MAEdC,MAAM,EAAE;QACJiY,aAAa,EAAE;UAAE/X,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOdG,GAAG,EAAE;KAzZN;IA2ZH0jB,aAAa,EAAE;MACXjkB,MAAM,EAAE,QADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ8jB,UAAU,EAAE;UAAE/jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KAlaN;IAoaH4jB,kBAAkB,EAAE;MAChBnkB,MAAM,EAAE,QADQ;MAEhBC,MAAM,EAAE;QACJmkB,QAAQ,EAAE;UAAEjkB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALlB;MAOhBG,GAAG,EAAE;KA3aN;IA6aH8jB,6BAA6B,EAAE;MAC3Bve,OAAO,EAAE;QAAEC,MAAM,EAAE;OADQ;MAE3B/F,MAAM,EAAE,QAFmB;MAG3BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALP;MAO3BG,GAAG,EAAE;KApbN;IAsbH+jB,gBAAgB,EAAE;MACdxe,OAAO,EAAE;QAAEC,MAAM,EAAE;OADL;MAEd/F,MAAM,EAAE,QAFM;MAGdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOdG,GAAG,EAAE;KA7bN;IA+bHgkB,0BAA0B,EAAE;MACxBze,OAAO,EAAE;QAAEC,MAAM,EAAE;OADK;MAExB/F,MAAM,EAAE,QAFgB;MAGxBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALV;MAOxBG,GAAG,EAAE;KAtcN;IAwcHikB,4BAA4B,EAAE;MAC1B1e,OAAO,EAAE;QAAEC,MAAM,EAAE;OADO;MAE1B/F,MAAM,EAAE,KAFkB;MAG1BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALR;MAO1BG,GAAG,EAAE;KA/cN;IAidHkkB,eAAe,EAAE;MACb3e,OAAO,EAAE;QAAEC,MAAM,EAAE;OADN;MAEb/F,MAAM,EAAE,MAFK;MAGbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJskB,MAAM,EAAE;UAAEtkB,IAAI,EAAE;SAHZ;yBAIa;UAAEkC,IAAI,EAAE,CAAC,QAAD,EAAW,UAAX,CAAR;UAAgClC,IAAI,EAAE;SAJnD;uBAKW;UAAEA,IAAI,EAAE;;OARd;MAUbG,GAAG,EAAE;KA3dN;IA6dHokB,yBAAyB,EAAE;MACvB7e,OAAO,EAAE;QAAEC,MAAM,EAAE;OADI;MAEvB/F,MAAM,EAAE,KAFe;MAGvBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALX;MAOvBG,GAAG,EAAE;KApeN;IAseHoJ,GAAG,EAAE;MACD3J,MAAM,EAAE,KADP;MAEDC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJjC;MAMDG,GAAG,EAAE;KA5eN;IA8eHqkB,kCAAkC,EAAE;MAChC5kB,MAAM,EAAE,KADwB;MAEhCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALF;MAOhCG,GAAG,EAAE;KArfN;IAufHskB,cAAc,EAAE;MACZ7kB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJiB,cAAc,EAAE;UAAEf,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQZG,GAAG,EAAE;KA/fN;IAigBHukB,SAAS,EAAE;MACP9kB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOPG,GAAG,EAAE;KAxgBN;IA0gBHwkB,mBAAmB,EAAE;MACjB/kB,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjB;MAOjBG,GAAG,EAAE;KAjhBN;IAmhBHykB,SAAS,EAAE;MACPhlB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ6kB,GAAG,EAAE;UAAE3iB,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SAFhC;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOPG,GAAG,EAAE;KA1hBN;IA4hBH2kB,qBAAqB,EAAE;MACnBllB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJf;MAMnBG,GAAG,EAAE;KAliBN;IAoiBH4kB,8BAA8B,EAAE;MAC5BnlB,MAAM,EAAE,KADoB;MAE5BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALV;MAO5BG,GAAG,EAAE;KA3iBN;IA6iBH6kB,uBAAuB,EAAE;MACrBplB,MAAM,EAAE,KADa;MAErBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALb;MAOrBG,GAAG,EAAE;KApjBN;IAsjBHwN,SAAS,EAAE;MACP/N,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJ+N,UAAU,EAAE;UAAE4B,KAAK,EAAE,KAAT;UAAgBtJ,UAAU,EAAE,IAA5B;UAAkClG,IAAI,EAAE;SADhD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ0L,GAAG,EAAE;UAAE8D,KAAK,EAAE,KAAT;UAAgBtJ,UAAU,EAAE,IAA5B;UAAkClG,IAAI,EAAE;;OAP1C;MASPG,GAAG,EAAE;KA/jBN;IAikBH8kB,sBAAsB,EAAE;MACpBrlB,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJd;MAMpBG,GAAG,EAAE;KAvkBN;IAykBH+kB,gBAAgB,EAAE;MACdtlB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJyL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOdG,GAAG,EAAE;KAhlBN;IAklBHglB,eAAe,EAAE;MACbjf,UAAU,EAAE,uHADC;MAEbR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFN;MAGb/F,MAAM,EAAE,KAHK;MAIbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASbG,GAAG,EAAE;KA3lBN;IA6lBHilB,WAAW,EAAE;MACTxlB,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJ+J,GAAG,EAAE;UAAE/J,IAAI,EAAE;SAHT;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANzB;MAQTG,GAAG,EAAE;KArmBN;IAumBHklB,oBAAoB,EAAE;MAClBzlB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJhB;MAMlBG,GAAG,EAAE;KA7mBN;IA+mBHmlB,YAAY,EAAE;MACV1lB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJS,MAAM,EAAE;UAAEP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOVG,GAAG,EAAE;KAtnBN;IAwnBHolB,aAAa,EAAE;MACX3lB,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJyhB,aAAa,EAAE;UAAEvhB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KA/nBN;IAioBHqlB,mBAAmB,EAAE;MACjB5lB,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJyhB,aAAa,EAAE;UAAEvhB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJylB,SAAS,EAAE;UAAE1lB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQjBG,GAAG,EAAE;KAzoBN;IA2oBHulB,WAAW,EAAE;MACT9lB,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ6jB,WAAW,EAAE;UAAE3jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADjC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAOTG,GAAG,EAAE;KAlpBN;IAopBHoX,OAAO,EAAE;MACL3X,MAAM,EAAE,KADH;MAELC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL7B;MAOLG,GAAG,EAAE;KA3pBN;IA6pBHwlB,mBAAmB,EAAE;MACjB/lB,MAAM,EAAE,KADS;MAEjBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJjB;MAMjBG,GAAG,EAAE;KAnqBN;IAqqBHylB,gBAAgB,EAAE;MACdhmB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJpB;MAMdG,GAAG,EAAE;KA3qBN;IA6qBH0lB,QAAQ,EAAE;MACNjmB,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ5B;MAMNG,GAAG,EAAE;KAnrBN;IAqrBH2lB,aAAa,EAAE;MACXlmB,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJkmB,QAAQ,EAAE;UAAEhmB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOXG,GAAG,EAAE;KA5rBN;IA8rBH6lB,qBAAqB,EAAE;MACnBpmB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJf;MAMnBG,GAAG,EAAE;KApsBN;IAssBH8lB,kCAAkC,EAAE;MAChCrmB,MAAM,EAAE,KADwB;MAEhCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALF;MAOhCG,GAAG,EAAE;KA7sBN;IA+sBH+lB,8CAA8C,EAAE;MAC5CtmB,MAAM,EAAE,KADoC;MAE5CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALU;MAO5CG,GAAG,EAAE;KAttBN;IAwtBHgmB,oCAAoC,EAAE;MAClCzgB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADe;MAElC/F,MAAM,EAAE,KAF0B;MAGlCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANA;MAQlCG,GAAG,EAAE;KAhuBN;IAkuBHimB,sCAAsC,EAAE;MACpCxmB,MAAM,EAAE,KAD4B;MAEpCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALE;MAOpCG,GAAG,EAAE;KAzuBN;IA2uBHkmB,8BAA8B,EAAE;MAC5BzmB,MAAM,EAAE,KADoB;MAE5BC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALN;MAO5BG,GAAG,EAAE;KAlvBN;IAovBHmmB,iBAAiB,EAAE;MACf1mB,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMfG,GAAG,EAAE;KA1vBN;IA4vBHomB,SAAS,EAAE;MACP3mB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ+J,GAAG,EAAE;UAAE/J,IAAI,EAAE;SAFT;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOPG,GAAG,EAAE;KAnwBN;IAqwBHqmB,UAAU,EAAE;MACR5mB,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ8jB,UAAU,EAAE;UAAE/jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KA5wBN;IA8wBHsmB,eAAe,EAAE;MACb7mB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJmkB,QAAQ,EAAE;UAAEjkB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALrB;MAObG,GAAG,EAAE;KArxBN;IAuxBHumB,eAAe,EAAE;MACb9mB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJmN,GAAG,EAAE;UAAEpN,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAObG,GAAG,EAAE;KA9xBN;IAgyBHwmB,mCAAmC,EAAE;MACjC/mB,MAAM,EAAE,KADyB;MAEjCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALD;MAOjCG,GAAG,EAAE;KAvyBN;IAyyBHymB,WAAW,EAAE;MACThnB,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJzB;MAMTG,GAAG,EAAE;KA/yBN;IAizBH0mB,eAAe,EAAE;MACbjnB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJrB;MAMbG,GAAG,EAAE;KAvzBN;IAyzBH2mB,mCAAmC,EAAE;MACjClnB,MAAM,EAAE,KADyB;MAEjCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALD;MAOjCG,GAAG,EAAE;KAh0BN;IAk0BH4mB,QAAQ,EAAE;MACNnnB,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ6kB,GAAG,EAAE;UAAE3iB,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SAFhC;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL5B;MAONG,GAAG,EAAE;KAz0BN;IA20BHwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJ8a,WAAW,EAAE;UAAE3a,IAAI,EAAE;SADjB;QAEJuE,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SAFtC;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,QAAvB,EAAiC,WAAjC,CADJ;UAEFlC,IAAI,EAAE;SAPN;QASJA,IAAI,EAAE;UACFkC,IAAI,EAAE,CAAC,KAAD,EAAQ,OAAR,EAAiB,QAAjB,EAA2B,SAA3B,EAAsC,QAAtC,CADJ;UAEFlC,IAAI,EAAE;SAXN;QAaJ0iB,UAAU,EAAE;UAAExgB,IAAI,EAAE,CAAC,KAAD,EAAQ,QAAR,EAAkB,SAAlB,CAAR;UAAsClC,IAAI,EAAE;;OAf1D;MAiBFG,GAAG,EAAE;KA51BN;IA81BH6mB,mCAAmC,EAAE;MACjC9gB,UAAU,EAAE,yIADqB;MAEjCtG,MAAM,EAAE,KAFyB;MAGjCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAND;MAQjCG,GAAG,EAAE;KAt2BN;IAw2BH8mB,oBAAoB,EAAE;MAClBrnB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ8jB,UAAU,EAAE;UAAE/jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJhC;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPhB;MASlBG,GAAG,EAAE;KAj3BN;IAm3BH+mB,YAAY,EAAE;MACVtnB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJmnB,SAAS,EAAE;UAAEnnB,IAAI,EAAE;SAJf;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASVG,GAAG,EAAE;KA53BN;IA83BHinB,yBAAyB,EAAE;MACvB1hB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADI;MAEvB/F,MAAM,EAAE,KAFe;MAGvBC,MAAM,EAAE;QACJ+N,UAAU,EAAE;UAAE7N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANX;MAQvBG,GAAG,EAAE;KAt4BN;IAw4BHua,iBAAiB,EAAE;MACf9a,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJ8a,WAAW,EAAE;UAAEzY,IAAI,EAAE,CAAC,SAAD,EAAY,QAAZ,EAAsB,KAAtB,CAAR;UAAsClC,IAAI,EAAE;SADrD;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPnB;MASfG,GAAG,EAAE;KAj5BN;IAm5BHknB,qBAAqB,EAAE;MACnBznB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJ+N,UAAU,EAAE;UAAE7N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ+J,GAAG,EAAE;UAAEyF,KAAK,EAAE,YAAT;UAAuBtJ,UAAU,EAAE,IAAnC;UAAyClG,IAAI,EAAE;SALhD;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARf;MAUnBG,GAAG,EAAE;KA75BN;IA+5BHmnB,kBAAkB,EAAE;MAChB1nB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANlB;MAQhBG,GAAG,EAAE;KAv6BN;IAy6BH0L,WAAW,EAAE;MACTjM,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJkc,IAAI,EAAE;UAAElc,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;SAPT;QAQJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;SARX;QASJunB,KAAK,EAAE;UAAEvnB,IAAI,EAAE;;OAXV;MAaTG,GAAG,EAAE;KAt7BN;IAw7BHqnB,gBAAgB,EAAE;MACd5nB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJ4nB,IAAI,EAAE;UAAEznB,IAAI,EAAE;SADV;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPpB;MASdG,GAAG,EAAE;KAj8BN;IAm8BHunB,cAAc,EAAE;MACZ9nB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANtB;MAQZG,GAAG,EAAE;KA38BN;IA68BHwnB,sBAAsB,EAAE;MACpB/nB,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJyhB,aAAa,EAAE;UAAEvhB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPd;MASpBG,GAAG,EAAE;KAt9BN;IAw9BHynB,eAAe,EAAE;MACbhoB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJihB,WAAW,EAAE;UAAE9gB,IAAI,EAAE;SADjB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ+J,GAAG,EAAE;UAAE/J,IAAI,EAAE;SALT;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;SAPT;QAQJkhB,IAAI,EAAE;UAAElhB,IAAI,EAAE;;OAVL;MAYbG,GAAG,EAAE;KAp+BN;IAs+BH0nB,aAAa,EAAE;MACXjoB,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KA9+BN;IAg/BH6Q,UAAU,EAAE;MACRpR,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,QAAvB,EAAiC,WAAjC,CADJ;UAEFlC,IAAI,EAAE;SAPN;QASJA,IAAI,EAAE;UACFkC,IAAI,EAAE,CACF,KADE,EAEF,QAFE,EAGF,SAHE,EAIF,OAJE,EAKF,SALE,EAMF,QANE,EAOF,UAPE,CADJ;UAUFlC,IAAI,EAAE;;OArBN;MAwBRG,GAAG,EAAE;KAxgCN;IA0gCHwX,WAAW,EAAE;MACT/X,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,QAAvB,EAAiC,WAAjC,CADJ;UAEFlC,IAAI,EAAE;SANN;QAQJA,IAAI,EAAE;UAAEkC,IAAI,EAAE,CAAC,KAAD,EAAQ,OAAR,EAAiB,QAAjB,CAAR;UAAoClC,IAAI,EAAE;SAR5C;QASJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAX7B;MAaTG,GAAG,EAAE;KAvhCN;IAyhCH2L,SAAS,EAAE;MACPlM,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,EAAqB,YAArB,CAAR;UAA4ClC,IAAI,EAAE;;OAPrD;MASPG,GAAG,EAAE;KAliCN;IAoiCHyX,SAAS,EAAE;MACPhY,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN3B;MAQPG,GAAG,EAAE;KA5iCN;IA8iCH2nB,eAAe,EAAE;MACbloB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANrB;MAQbG,GAAG,EAAE;KAtjCN;IAwjCH4nB,mCAAmC,EAAE;MACjCnoB,MAAM,EAAE,KADyB;MAEjCC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFtB;MAGjCG,GAAG,EAAE;KA3jCN;IA6jCH6nB,aAAa,EAAE;MACXpoB,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJvB;MAMXG,GAAG,EAAE;KAnkCN;IAqkCH8nB,eAAe,EAAE;MACbroB,MAAM,EAAE,KADK;MAEbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANrB;MAQbG,GAAG,EAAE;KA7kCN;IA+kCH+nB,+CAA+C,EAAE;MAC7CtoB,MAAM,EAAE,KADqC;MAE7CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALW;MAO7CG,GAAG,EAAE;KAtlCN;IAwlCHgoB,mCAAmC,EAAE;MACjCjiB,UAAU,EAAE,0IADqB;MAEjCtG,MAAM,EAAE,KAFyB;MAGjCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAND;MAQjCG,GAAG,EAAE;KAhmCN;IAkmCHioB,mCAAmC,EAAE;MACjCliB,UAAU,EAAE,0IADqB;MAEjCtG,MAAM,EAAE,KAFyB;MAGjCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAND;MAQjCG,GAAG,EAAE;KA1mCN;IA4mCH4L,UAAU,EAAE;MACRnM,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALX;MAORG,GAAG,EAAE;KAnnCN;IAqnCHkoB,oCAAoC,EAAE;MAClC3iB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADe;MAElC/F,MAAM,EAAE,KAF0B;MAGlCC,MAAM,EAAE;QACJ+N,UAAU,EAAE;UAAE7N,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARA;MAUlCG,GAAG,EAAE;KA/nCN;IAioCHmoB,YAAY,EAAE;MACV1oB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANxB;MAQVG,GAAG,EAAE;KAzoCN;IA2oCHooB,kBAAkB,EAAE;MAChB3oB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ+J,GAAG,EAAE;UAAEhK,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJzB;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MAShBG,GAAG,EAAE;KAppCN;IAspCHqoB,QAAQ,EAAE;MACN5oB,MAAM,EAAE,KADF;MAENC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN5B;MAQNG,GAAG,EAAE;KA9pCN;IAgqCHsoB,SAAS,EAAE;MACP7oB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN3B;MAQPG,GAAG,EAAE;KAxqCN;IA0qCHuoB,oCAAoC,EAAE;MAClCxiB,UAAU,EAAE,2IADsB;MAElCtG,MAAM,EAAE,KAF0B;MAGlCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANA;MAQlCG,GAAG,EAAE;KAlrCN;IAorCHwoB,UAAU,EAAE;MACRjjB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADX;MAER/F,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAORG,GAAG,EAAE;KA3rCN;IA6rCHyoB,oCAAoC,EAAE;MAClC1iB,UAAU,EAAE,2IADsB;MAElCtG,MAAM,EAAE,KAF0B;MAGlCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANA;MAQlCG,GAAG,EAAE;KArsCN;IAusCHqd,KAAK,EAAE;MACH5d,MAAM,EAAE,MADL;MAEHC,MAAM,EAAE;QACJ8b,IAAI,EAAE;UAAE5b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJyd,cAAc,EAAE;UAAEzd,IAAI,EAAE;SAFpB;QAGJ6b,IAAI,EAAE;UAAE9b,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP/B;MASHG,GAAG,EAAE;KAhtCN;IAktCHiY,QAAQ,EAAE;MACNxY,MAAM,EAAE,MADF;MAENC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL5B;MAONG,GAAG,EAAE;KAztCN;IA2tCH0oB,sBAAsB,EAAE;MACpBjpB,MAAM,EAAE,QADY;MAEpBC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALd;MAOpBG,GAAG,EAAE;KAluCN;IAouCH8a,kBAAkB,EAAE;MAChBrb,MAAM,EAAE,QADQ;MAEhBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOhBG,GAAG,EAAE;KA3uCN;IA6uCH2oB,eAAe,EAAE;MACblpB,MAAM,EAAE,QADK;MAEbC,MAAM,EAAE;QACJS,MAAM,EAAE;UAAEP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALrB;MAObG,GAAG,EAAE;KApvCN;IAsvCH4oB,qCAAqC,EAAE;MACnCnpB,MAAM,EAAE,QAD2B;MAEnCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALC;MAOnCG,GAAG,EAAE;KA7vCN;IA+vCH6oB,oCAAoC,EAAE;MAClCppB,MAAM,EAAE,QAD0B;MAElCC,MAAM,EAAE;QACJ2F,IAAI,EAAE;UAAEoN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SADzC;QAEJ+B,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANA;MAQlCG,GAAG,EAAE;KAvwCN;IAywCH8oB,iDAAiD,EAAE;MAC/CrpB,MAAM,EAAE,QADuC;MAE/CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALa;MAO/CG,GAAG,EAAE;KAhxCN;IAkxCH+oB,uCAAuC,EAAE;MACrCxjB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADkB;MAErC/F,MAAM,EAAE,QAF6B;MAGrCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANG;MAQrCG,GAAG,EAAE;KA1xCN;IA4xCHgpB,yCAAyC,EAAE;MACvCvpB,MAAM,EAAE,QAD+B;MAEvCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALK;MAOvCG,GAAG,EAAE;KAnyCN;IAqyCHipB,iDAAiD,EAAE;MAC/CxpB,MAAM,EAAE,QADuC;MAE/CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJmgB,QAAQ,EAAE;UAAEvN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SAF7C;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANa;MAQ/CG,GAAG,EAAE;KA7yCN;IA+yCHkpB,iCAAiC,EAAE;MAC/BzpB,MAAM,EAAE,QADuB;MAE/BC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALH;MAO/BG,GAAG,EAAE;KAtzCN;IAwzCHmpB,qCAAqC,EAAE;MACnC1pB,MAAM,EAAE,QAD2B;MAEnCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJqgB,KAAK,EAAE;UAAEzN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANf;MAQnCG,GAAG,EAAE;KAh0CN;IAk0CHopB,qCAAqC,EAAE;MACnC3pB,MAAM,EAAE,QAD2B;MAEnCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJugB,KAAK,EAAE;UAAE3N,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANf;MAQnCG,GAAG,EAAE;KA10CN;IA40CHqpB,qCAAqC,EAAE;MACnC5pB,MAAM,EAAE,KAD2B;MAEnCC,MAAM,EAAE;QACJ2F,IAAI,EAAE;UAAEoN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SADzC;QAEJ+B,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF5B;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANC;MAQnCG,GAAG,EAAE;KAp1CN;IAs1CHspB,kDAAkD,EAAE;MAChD7pB,MAAM,EAAE,KADwC;MAEhDC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJmgB,QAAQ,EAAE;UAAEvN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SAF7C;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANc;MAQhDG,GAAG,EAAE;KA91CN;IAg2CHupB,sCAAsC,EAAE;MACpC9pB,MAAM,EAAE,KAD4B;MAEpCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJqgB,KAAK,EAAE;UAAEzN,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANd;MAQpCG,GAAG,EAAE;KAx2CN;IA02CHwpB,sCAAsC,EAAE;MACpC/pB,MAAM,EAAE,KAD4B;MAEpCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJugB,KAAK,EAAE;UAAE3N,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;;OANd;MAQpCG,GAAG,EAAE;KAl3CN;IAo3CHypB,aAAa,EAAE;MACXlkB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADR;MAEX/F,MAAM,EAAE,KAFG;MAGXC,MAAM,EAAE;QACJgqB,KAAK,EAAE;UAAE9pB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQXG,GAAG,EAAE;KA53CN;IA83CH2pB,gBAAgB,EAAE;MACdlqB,MAAM,EAAE,MADM;MAEdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJpB;MAMdG,GAAG,EAAE;KAp4CN;IAs4CH4pB,+BAA+B,EAAE;MAC7BnqB,MAAM,EAAE,KADqB;MAE7BC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJL;MAM7BG,GAAG,EAAE;KA54CN;IA84CH6pB,YAAY,EAAE;MACVpqB,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QACJyX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOVG,GAAG,EAAE;KAr5CN;IAu5CH8pB,QAAQ,EAAE;MACNrqB,MAAM,EAAE,MADF;MAENC,MAAM,EAAE;QACJqqB,SAAS,EAAE;UAAElqB,IAAI,EAAE;SADf;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJoX,QAAQ,EAAE;UAAEpX,IAAI,EAAE;;OANhB;MAQNG,GAAG,EAAE;KA/5CN;IAi6CHmK,MAAM,EAAE;MACJ1K,MAAM,EAAE,OADJ;MAEJC,MAAM,EAAE;QACJiiB,kBAAkB,EAAE;UAAE9hB,IAAI,EAAE;SADxB;QAEJ+hB,kBAAkB,EAAE;UAAE/hB,IAAI,EAAE;SAFxB;QAGJgiB,kBAAkB,EAAE;UAAEhiB,IAAI,EAAE;SAHxB;QAIJsb,QAAQ,EAAE;UAAEtb,IAAI,EAAE;SAJd;QAKJmqB,cAAc,EAAE;UAAEnqB,IAAI,EAAE;SALpB;QAMJkiB,sBAAsB,EAAE;UAAEliB,IAAI,EAAE;SAN5B;QAOJgL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SAPjB;QAQJoiB,UAAU,EAAE;UAAEpiB,IAAI,EAAE;SARhB;QASJqiB,YAAY,EAAE;UAAEriB,IAAI,EAAE;SATlB;QAUJsiB,QAAQ,EAAE;UAAEtiB,IAAI,EAAE;SAVd;QAWJuiB,QAAQ,EAAE;UAAEviB,IAAI,EAAE;SAXd;QAYJwiB,WAAW,EAAE;UAAExiB,IAAI,EAAE;SAZjB;QAaJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAbV;QAcJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAd3B;QAeJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAfb;QAgBJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAhB1B;QAiBJ0iB,UAAU,EAAE;UACRxgB,IAAI,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,YAAtB,EAAoC,UAApC,CADE;UAERlC,IAAI,EAAE;;OArBV;MAwBJG,GAAG,EAAE;KAz7CN;IA27CHiqB,sBAAsB,EAAE;MACpBxqB,MAAM,EAAE,KADY;MAEpBC,MAAM,EAAE;QACJwqB,eAAe,EAAE;UAAErqB,IAAI,EAAE;SADrB;QAEJsqB,kBAAkB,EAAE;UAAE/c,SAAS,EAAE,IAAb;UAAmBvN,IAAI,EAAE;SAFzC;QAGJ+B,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH5B;QAIJuqB,cAAc,EAAE;UAAEhd,SAAS,EAAE,IAAb;UAAmBxN,QAAQ,EAAE,IAA7B;UAAmCC,IAAI,EAAE;SAJrD;QAKJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL3B;QAMJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN1B;QAOJwqB,uBAAuB,EAAE;UAAExqB,IAAI,EAAE;SAP7B;QAQJyqB,6BAA6B,EAAE;UAC3Bld,SAAS,EAAE,IADgB;UAE3BxN,QAAQ,EAAE,IAFiB;UAG3BC,IAAI,EAAE;SAXN;+DAamD;UACnDA,IAAI,EAAE;SAdN;gEAgBoD;UACpDA,IAAI,EAAE;SAjBN;sEAmB0D;UAC1DA,IAAI,EAAE;SApBN;sEAsB0D;UAC1DA,IAAI,EAAE;SAvBN;oEAyBwD;UACxDA,IAAI,EAAE;SA1BN;yEA4B6D;UAC7DA,IAAI,EAAE;SA7BN;QA+BJ0qB,sBAAsB,EAAE;UACpBnd,SAAS,EAAE,IADS;UAEpBxN,QAAQ,EAAE,IAFU;UAGpBC,IAAI,EAAE;SAlCN;2CAoC+B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SApCvD;yCAqC6B;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SArCrD;QAsCJ2qB,YAAY,EAAE;UAAEpd,SAAS,EAAE,IAAb;UAAmBxN,QAAQ,EAAE,IAA7B;UAAmCC,IAAI,EAAE;SAtCnD;6BAuCiB;UAAEA,IAAI,EAAE;SAvCzB;8BAwCkB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAxC1C;8BAyCkB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OA3C9B;MA6CpBG,GAAG,EAAE;KAx+CN;IA0+CHyqB,mBAAmB,EAAE;MACjBhrB,MAAM,EAAE,OADS;MAEjBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJsL,UAAU,EAAE;UAAEvL,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjB;MAQjBG,GAAG,EAAE;KAl/CN;IAo/CH0qB,UAAU,EAAE;MACR3kB,UAAU,EAAE,gGADJ;MAERtG,MAAM,EAAE,KAFA;MAGRC,MAAM,EAAE;QACJ6M,MAAM,EAAE;UAAE1M,IAAI,EAAE;SADZ;wBAEY;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;uBAGW;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHnC;QAIJ+B,MAAM,EAAE;UAAE/B,IAAI,EAAE;SAJZ;QAKJ2M,SAAS,EAAE;UAAE3M,IAAI,EAAE;SALf;2BAMe;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANvC;0BAOc;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPtC;QAQJuM,OAAO,EAAE;UAAExM,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAR7B;QASJ4M,OAAO,EAAE;UAAE7M,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJkc,IAAI,EAAE;UAAEnc,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAX1B;QAYJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAZ1B;QAaJ0L,GAAG,EAAE;UAAE1L,IAAI,EAAE;;OAhBT;MAkBRG,GAAG,EAAE;KAtgDN;IAwgDHkZ,UAAU,EAAE;MACRzZ,MAAM,EAAE,OADA;MAERC,MAAM,EAAE;QACJkX,MAAM,EAAE;UAAE/W,IAAI,EAAE;SADZ;QAEJ8qB,UAAU,EAAE;UAAE9qB,IAAI,EAAE;SAFhB;QAGJgX,MAAM,EAAE;UAAEhX,IAAI,EAAE;SAHZ;+BAImB;UAAEA,IAAI,EAAE;SAJ3B;+BAKmB;UAAEA,IAAI,EAAE;SAL3B;yBAMa;UAAEA,IAAI,EAAE;SANrB;sBAOU;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAPlC;QAQJiX,MAAM,EAAE;UAAEjX,IAAI,EAAE;SARZ;QASJsX,OAAO,EAAE;UAAEvX,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAT7B;QAUJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAV3B;QAWJ+qB,aAAa,EAAE;UAAE/qB,IAAI,EAAE;SAXnB;QAYJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAd1B;MAgBRG,GAAG,EAAE;KAxhDN;IA0hDH6qB,+BAA+B,EAAE;MAC7BprB,MAAM,EAAE,KADqB;MAE7BC,MAAM,EAAE;QACJorB,KAAK,EAAE;UAAEjrB,IAAI,EAAE;SADX;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJskB,MAAM,EAAE;UACJpiB,IAAI,EAAE,CAAC,YAAD,EAAe,UAAf,EAA2B,gBAA3B,CADF;UAEJlC,IAAI,EAAE;;OARe;MAW7BG,GAAG,EAAE;KAriDN;IAuiDH+qB,gBAAgB,EAAE;MACdtrB,MAAM,EAAE,OADM;MAEdC,MAAM,EAAE;QACJiY,aAAa,EAAE;UAAE/X,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADnC;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJ6G,WAAW,EAAE;UAAE3E,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAAR;UAAoClC,IAAI,EAAE;SAHnD;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANpB;MAQdG,GAAG,EAAE;KA/iDN;IAijDHgrB,iDAAiD,EAAE;MAC/CvrB,MAAM,EAAE,OADuC;MAE/CC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJorB,qBAAqB,EAAE;UAAEprB,IAAI,EAAE;SAF3B;QAGJqrB,sBAAsB,EAAE;UAAErrB,IAAI,EAAE;SAH5B;wCAI4B;UAAEA,IAAI,EAAE;SAJpC;wCAK4B;UAAEA,IAAI,EAAE;SALpC;QAMJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAN3B;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJsrB,0BAA0B,EAAE;UAAEtrB,IAAI,EAAE;SARhC;QASJurB,+BAA+B,EAAE;UAAEvrB,IAAI,EAAE;;OAXE;MAa/CG,GAAG,EAAE;KA9jDN;IAgkDHqrB,yCAAyC,EAAE;MACvC5rB,MAAM,EAAE,OAD+B;MAEvCC,MAAM,EAAE;QACJkC,MAAM,EAAE;UAAEhC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD5B;QAEJmgB,QAAQ,EAAE;UAAEngB,IAAI,EAAE;SAFd;QAGJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH3B;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJyrB,MAAM,EAAE;UAAEzrB,IAAI,EAAE;;OAPmB;MASvCG,GAAG,EAAE;KAzkDN;IA2kDHurB,aAAa,EAAE;MACX9rB,MAAM,EAAE,OADG;MAEXC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJ4b,KAAK,EAAE;UAAE5b,IAAI,EAAE;SAFX;QAGJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJgjB,UAAU,EAAE;UAAEhjB,IAAI,EAAE;SALhB;QAMJ8jB,UAAU,EAAE;UAAE/jB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SANhC;QAOJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJijB,QAAQ,EAAE;UAAEjjB,IAAI,EAAE;SARd;QASJkjB,gBAAgB,EAAE;UAAEljB,IAAI,EAAE;;OAXnB;MAaXG,GAAG,EAAE;KAxlDN;IA0lDHwrB,kBAAkB,EAAE;MAChB/rB,MAAM,EAAE,OADQ;MAEhBC,MAAM,EAAE;QACJmkB,QAAQ,EAAE;UAAEjkB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD9B;QAEJ4rB,KAAK,EAAE;UAAE5rB,IAAI,EAAE;SAFX;QAGJO,IAAI,EAAE;UAAEP,IAAI,EAAE;SAHV;QAIJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ3B;QAKJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MAShBG,GAAG,EAAE;KAnmDN;IAqmDH0rB,kBAAkB,EAAE;MAChBjsB,MAAM,EAAE,MADQ;MAEhBC,MAAM,EAAE;QACJ8S,IAAI,EAAE;UAAEC,KAAK,EAAE,MAAT;UAAiB7S,QAAQ,EAAE,IAA3B;UAAiCC,IAAI,EAAE;SADzC;QAEJ8rB,IAAI,EAAE;UAAEtc,KAAK,EAAE,MAAT;UAAiBtJ,UAAU,EAAE,IAA7B;UAAmClG,IAAI,EAAE;SAF3C;QAGJ0F,OAAO,EAAE;UAAE3F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH7B;kCAIsB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ9C;gCAKoB;UAAED,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAL5C;QAMJ4rB,KAAK,EAAE;UAAE5rB,IAAI,EAAE;SANX;QAOJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAP1B;QAQJG,GAAG,EAAE;UAAEJ,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAVjB;MAYhBG,GAAG,EAAE;;GAjyKF;EAoyKX4rB,MAAM,EAAE;IACJplB,IAAI,EAAE;MACF/G,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,CAAR;UAAqBlC,IAAI,EAAE;;OAPnC;MASFG,GAAG,EAAE;KAVL;IAYJ+rB,OAAO,EAAE;MACLxmB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADd;MAEL/F,MAAM,EAAE,KAFH;MAGLC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,aAAD,EAAgB,gBAAhB,CAAR;UAA2ClC,IAAI,EAAE;;OARtD;MAULG,GAAG,EAAE;KAtBL;IAwBJgP,MAAM,EAAE;MACJjJ,UAAU,EAAE,iGADR;MAEJtG,MAAM,EAAE,KAFJ;MAGJC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CACF,UADE,EAEF,WAFE,EAGF,cAHE,EAIF,cAJE,EAKF,iBALE,EAMF,yBANE,EAOF,iBAPE,EAQF,gBARE,EASF,cATE,EAUF,SAVE,EAWF,SAXE,CADJ;UAcFlC,IAAI,EAAE;;OAtBV;MAyBJG,GAAG,EAAE;KAjDL;IAmDJgsB,qBAAqB,EAAE;MACnBvsB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CACF,UADE,EAEF,WAFE,EAGF,cAHE,EAIF,cAJE,EAKF,iBALE,EAMF,yBANE,EAOF,iBAPE,EAQF,gBARE,EASF,cATE,EAUF,SAVE,EAWF,SAXE,CADJ;UAcFlC,IAAI,EAAE;;OArBK;MAwBnBG,GAAG,EAAE;KA3EL;IA6EJuP,MAAM,EAAE;MACJ9P,MAAM,EAAE,KADJ;MAEJC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvB;QAGJ6F,aAAa,EAAE;UAAE9F,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHnC;QAIJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,SAAD,EAAY,SAAZ,CAAR;UAAgClC,IAAI,EAAE;;OAN5C;MAQJG,GAAG,EAAE;KArFL;IAuFJwf,KAAK,EAAE;MACH/f,MAAM,EAAE,KADL;MAEHC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UACFtC,IAAI,EAAE,CAAC,OAAD,EAAU,OAAV,EAAmB,oBAAnB,EAAyC,SAAzC,CADJ;UAEFlC,IAAI,EAAE;;OATX;MAYHG,GAAG,EAAE;KAnGL;IAqGJisB,MAAM,EAAE;MACJxsB,MAAM,EAAE,KADJ;MAEJC,MAAM,EAAE;QAAEosB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFjC;MAGJG,GAAG,EAAE;KAxGL;IA0GJogB,KAAK,EAAE;MACH3gB,MAAM,EAAE,KADL;MAEHC,MAAM,EAAE;QACJmsB,KAAK,EAAE;UAAE9pB,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CAAR;UAAyBlC,IAAI,EAAE;SADlC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJisB,CAAC,EAAE;UAAElsB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJvB;QAKJwE,IAAI,EAAE;UAAEtC,IAAI,EAAE,CAAC,WAAD,EAAc,cAAd,EAA8B,QAA9B,CAAR;UAAiDlC,IAAI,EAAE;;OAP9D;MASHG,GAAG,EAAE;;GAv5KF;EA05KXkgB,KAAK,EAAE;IACHgM,SAAS,EAAE;MACPnmB,UAAU,EAAE,4FADL;MAEPtG,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL/B;MAOPG,GAAG,EAAE;KARN;IAUHmsB,eAAe,EAAE;MACbpmB,UAAU,EAAE,0HADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAObG,GAAG,EAAE;KAjBN;IAmBHmW,qBAAqB,EAAE;MACnBpQ,UAAU,EAAE,oHADO;MAEnBtG,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJ0W,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,CAAR;UAAkClC,IAAI,EAAE;SAD1C;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF7B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQnBG,GAAG,EAAE;KA3BN;IA6BHosB,0BAA0B,EAAE;MACxB3sB,MAAM,EAAE,KADgB;MAExBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,CAAR;UAAkClC,IAAI,EAAE;SAF1C;QAGJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH/B;QAIJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANd;MAQxBG,GAAG,EAAE;KArCN;IAuCHqsB,2BAA2B,EAAE;MACzBtmB,UAAU,EAAE,oJADa;MAEzBtG,MAAM,EAAE,KAFiB;MAGzBC,MAAM,EAAE;QACJ0W,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,CAAR;UAAkClC,IAAI,EAAE;SAD1C;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF7B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANb;MAQzBG,GAAG,EAAE;KA/CN;IAiDHssB,kBAAkB,EAAE;MAChBvmB,UAAU,EAAE,8GADI;MAEhBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFH;MAGhB/F,MAAM,EAAE,KAHQ;MAIhBC,MAAM,EAAE;QACJ4Z,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAAR;UAAoClC,IAAI,EAAE;SADlD;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MAShBG,GAAG,EAAE;KA1DN;IA4DHusB,uBAAuB,EAAE;MACrBhnB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADE;MAErB/F,MAAM,EAAE,KAFa;MAGrBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAAR;UAAoClC,IAAI,EAAE;SAFlD;QAGJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHhC;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MASrBG,GAAG,EAAE;KArEN;IAuEHwsB,wBAAwB,EAAE;MACtBzmB,UAAU,EAAE,sIADU;MAEtBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFG;MAGtB/F,MAAM,EAAE,KAHc;MAItBC,MAAM,EAAE;QACJ4Z,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,OAAlB,CAAR;UAAoClC,IAAI,EAAE;SADlD;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPf;MAStBG,GAAG,EAAE;KAhFN;IAkFHysB,eAAe,EAAE;MACb1mB,UAAU,EAAE,wGADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAFjD;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASbG,GAAG,EAAE;KA3FN;IA6FH0sB,oBAAoB,EAAE;MAClBjtB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAHjD;QAIJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ1B;QAKJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASlBG,GAAG,EAAE;KAtGN;IAwGH2sB,qBAAqB,EAAE;MACnB5mB,UAAU,EAAE,sIADO;MAEnBtG,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAFjD;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MASnBG,GAAG,EAAE;KAjHN;IAmHH4sB,gBAAgB,EAAE;MACd7mB,UAAU,EAAE,0GADE;MAEdtG,MAAM,EAAE,KAFM;MAGdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQdG,GAAG,EAAE;KA3HN;IA6HH6sB,qBAAqB,EAAE;MACnBptB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANpB;MAQnBG,GAAG,EAAE;KArIN;IAuIH8sB,sBAAsB,EAAE;MACpB/mB,UAAU,EAAE,8IADQ;MAEpBtG,MAAM,EAAE,KAFY;MAGpBC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjB;MAQpBG,GAAG,EAAE;KA/IN;IAiJH2I,MAAM,EAAE;MACJlJ,MAAM,EAAE,MADJ;MAEJC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJktB,WAAW,EAAE;UAAEltB,IAAI,EAAE;SAFjB;QAGJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJzB;QAKJmtB,cAAc,EAAE;UAAEntB,IAAI,EAAE;SALpB;QAMJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SANjD;QAOJotB,OAAO,EAAE;UAAElrB,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,CAAR;UAA8BlC,IAAI,EAAE;SAPzC;QAQJqtB,UAAU,EAAE;UAAErtB,IAAI,EAAE;;OAVpB;MAYJG,GAAG,EAAE;KA7JN;IA+JHmtB,gBAAgB,EAAE;MACdpnB,UAAU,EAAE,0GADE;MAEdtG,MAAM,EAAE,MAFM;MAGdC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAFb;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH7B;QAIJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASdG,GAAG,EAAE;KAxKN;IA0KHotB,uBAAuB,EAAE;MACrBrnB,UAAU,EAAE,wHADS;MAErBtG,MAAM,EAAE,MAFa;MAGrBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANhB;MAQrBG,GAAG,EAAE;KAlLN;IAoLHqtB,4BAA4B,EAAE;MAC1B5tB,MAAM,EAAE,MADkB;MAE1BC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANb;MAQ1BG,GAAG,EAAE;KA5LN;IA8LHstB,6BAA6B,EAAE;MAC3BvnB,UAAU,EAAE,qJADe;MAE3BtG,MAAM,EAAE,MAFmB;MAG3BC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANV;MAQ3BG,GAAG,EAAE;KAtMN;IAwMHutB,qBAAqB,EAAE;MACnB9tB,MAAM,EAAE,MADW;MAEnBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAHb;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ/B;QAKJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPhB;MASnBG,GAAG,EAAE;KAjNN;IAmNHwtB,sBAAsB,EAAE;MACpBznB,UAAU,EAAE,yIADQ;MAEpBtG,MAAM,EAAE,MAFY;MAGpBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJob,OAAO,EAAE;UAAEpb,IAAI,EAAE;SAFb;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH7B;QAIJyG,KAAK,EAAE;UAAE1G,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPf;MASpBG,GAAG,EAAE;KA5NN;IA8NHiL,MAAM,EAAE;MACJlF,UAAU,EAAE,sFADR;MAEJtG,MAAM,EAAE,QAFJ;MAGJC,MAAM,EAAE;QAAE2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHvC;MAIJG,GAAG,EAAE;KAlON;IAoOHytB,gBAAgB,EAAE;MACd1nB,UAAU,EAAE,0GADE;MAEdtG,MAAM,EAAE,QAFM;MAGdC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOdG,GAAG,EAAE;KA3ON;IA6OH0tB,uBAAuB,EAAE;MACrB3nB,UAAU,EAAE,wHADS;MAErBtG,MAAM,EAAE,QAFa;MAGrBC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANhB;MAQrBG,GAAG,EAAE;KArPN;IAuPH2tB,4BAA4B,EAAE;MAC1BluB,MAAM,EAAE,QADkB;MAE1BC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANb;MAQ1BG,GAAG,EAAE;KA/PN;IAiQH4tB,6BAA6B,EAAE;MAC3B7nB,UAAU,EAAE,qJADe;MAE3BtG,MAAM,EAAE,QAFmB;MAG3BC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANV;MAQ3BG,GAAG,EAAE;KAzQN;IA2QH6tB,qBAAqB,EAAE;MACnBpuB,MAAM,EAAE,QADW;MAEnBC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOnBG,GAAG,EAAE;KAlRN;IAoRH8tB,sBAAsB,EAAE;MACpB/nB,UAAU,EAAE,yIADQ;MAEpBtG,MAAM,EAAE,QAFY;MAGpBC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALjB;MAOpBG,GAAG,EAAE;KA3RN;IA6RH+tB,WAAW,EAAE;MACTtuB,MAAM,EAAE,QADC;MAETC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJ9B;MAMTG,GAAG,EAAE;KAnSN;IAqSHguB,YAAY,EAAE;MACVjoB,UAAU,EAAE,2GADF;MAEVtG,MAAM,EAAE,QAFE;MAGVC,MAAM,EAAE;QAAE2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHjC;MAIVG,GAAG,EAAE;KAzSN;IA2SHoJ,GAAG,EAAE;MACDrD,UAAU,EAAE,gFADX;MAEDtG,MAAM,EAAE,KAFP;MAGDC,MAAM,EAAE;QAAE2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAH1C;MAIDG,GAAG,EAAE;KA/SN;IAiTHiuB,SAAS,EAAE;MACPxuB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJhC;MAMPG,GAAG,EAAE;KAvTN;IAyTHkuB,aAAa,EAAE;MACXnoB,UAAU,EAAE,oGADD;MAEXtG,MAAM,EAAE,KAFG;MAGXC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAOXG,GAAG,EAAE;KAhUN;IAkUHmuB,oBAAoB,EAAE;MAClBpoB,UAAU,EAAE,kHADM;MAElBtG,MAAM,EAAE,KAFU;MAGlBC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANnB;MAQlBG,GAAG,EAAE;KA1UN;IA4UHouB,yBAAyB,EAAE;MACvB3uB,MAAM,EAAE,KADe;MAEvBC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANhB;MAQvBG,GAAG,EAAE;KApVN;IAsVHquB,0BAA0B,EAAE;MACxBtoB,UAAU,EAAE,sJADY;MAExBtG,MAAM,EAAE,KAFgB;MAGxBC,MAAM,EAAE;QACJ6e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADpC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANb;MAQxBG,GAAG,EAAE;KA9VN;IAgWHsuB,kBAAkB,EAAE;MAChB7uB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KAvWN;IAyWHuuB,mBAAmB,EAAE;MACjBxoB,UAAU,EAAE,0IADK;MAEjBtG,MAAM,EAAE,KAFS;MAGjBC,MAAM,EAAE;QACJ0e,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADvC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOjBG,GAAG,EAAE;KAhXN;IAkXHwuB,SAAS,EAAE;MACPzoB,UAAU,EAAE,qGADL;MAEPtG,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QAAE2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAHpC;MAIPG,GAAG,EAAE;KAtXN;IAwXHyuB,SAAS,EAAE;MACP1oB,UAAU,EAAE,4FADL;MAEPtG,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL/B;MAOPG,GAAG,EAAE;KA/XN;IAiYH0uB,eAAe,EAAE;MACb3oB,UAAU,EAAE,0HADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALzB;MAObG,GAAG,EAAE;KAxYN;IA0YHqX,aAAa,EAAE;MACXtR,UAAU,EAAE,oGADD;MAEXtG,MAAM,EAAE,KAFG;MAGXC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL3B;MAOXG,GAAG,EAAE;KAjZN;IAmZH2uB,kBAAkB,EAAE;MAChBlvB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF/B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOhBG,GAAG,EAAE;KA1ZN;IA4ZH4uB,mBAAmB,EAAE;MACjB7oB,UAAU,EAAE,kIADK;MAEjBtG,MAAM,EAAE,KAFS;MAGjBC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALrB;MAOjBG,GAAG,EAAE;KAnaN;IAqaHwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OALpB;MAOFG,GAAG,EAAE;KA5aN;IA8aH6uB,SAAS,EAAE;MACP9oB,UAAU,EAAE,4FADL;MAEPtG,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN9B;MAQPG,GAAG,EAAE;KAtbN;IAwbH8uB,cAAc,EAAE;MACZrvB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN3B;MAQZG,GAAG,EAAE;KAhcN;IAkcH+uB,eAAe,EAAE;MACbhpB,UAAU,EAAE,mHADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANxB;MAQbG,GAAG,EAAE;KA1cN;IA4cHgvB,sBAAsB,EAAE;MACpBjpB,UAAU,EAAE,sHADQ;MAEpBtG,MAAM,EAAE,KAFY;MAGpBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARjB;MAUpBG,GAAG,EAAE;KAtdN;IAwdHivB,2BAA2B,EAAE;MACzBxvB,MAAM,EAAE,KADiB;MAEzBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAJV;QAKJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SALd;QAMJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARd;MAUzBG,GAAG,EAAE;KAleN;IAoeHkvB,4BAA4B,EAAE;MAC1BnpB,UAAU,EAAE,iJADc;MAE1BtG,MAAM,EAAE,KAFkB;MAG1BC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARX;MAU1BG,GAAG,EAAE;KA9eN;IAgfHmvB,eAAe,EAAE;MACbppB,UAAU,EAAE,wGADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASbG,GAAG,EAAE;KAzfN;IA2fHovB,oBAAoB,EAAE;MAClB3vB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFzB;QAGJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAHV;QAIJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAJd;QAKJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MASlBG,GAAG,EAAE;KApgBN;IAsgBHqvB,qBAAqB,EAAE;MACnBtpB,UAAU,EAAE,qIADO;MAEnBtG,MAAM,EAAE,KAFW;MAGnBC,MAAM,EAAE;QACJ0E,SAAS,EAAE;UAAErC,IAAI,EAAE,CAAC,KAAD,EAAQ,MAAR,CAAR;UAAyBlC,IAAI,EAAE;SADtC;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPlB;MASnBG,GAAG,EAAE;KA/gBN;IAihBH4Q,wBAAwB,EAAE;MACtBnR,MAAM,EAAE,KADc;MAEtBC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFjC;MAGtBG,GAAG,EAAE;KAphBN;IAshBH4X,WAAW,EAAE;MACT7R,UAAU,EAAE,gGADH;MAETtG,MAAM,EAAE,KAFC;MAGTC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,EAAyB,KAAzB,CAAR;UAAyClC,IAAI,EAAE;SAHjD;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP5B;MASTG,GAAG,EAAE;KA/hBN;IAiiBHsvB,gBAAgB,EAAE;MACd7vB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,EAAyB,KAAzB,CAAR;UAAyClC,IAAI,EAAE;SAJjD;QAKJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPzB;MASdG,GAAG,EAAE;KA1iBN;IA4iBHuvB,iBAAiB,EAAE;MACfxpB,UAAU,EAAE,8HADG;MAEftG,MAAM,EAAE,KAFO;MAGfC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJuW,IAAI,EAAE;UAAErU,IAAI,EAAE,CAAC,QAAD,EAAW,YAAX,EAAyB,KAAzB,CAAR;UAAyClC,IAAI,EAAE;SAHjD;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPtB;MASfG,GAAG,EAAE;KArjBN;IAujBH+X,sBAAsB,EAAE;MACpBhS,UAAU,EAAE,sHADQ;MAEpBtG,MAAM,EAAE,KAFY;MAGpBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANjB;MAQpBG,GAAG,EAAE;KA/jBN;IAikBHwvB,2BAA2B,EAAE;MACzB/vB,MAAM,EAAE,KADiB;MAEzBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANd;MAQzBG,GAAG,EAAE;KAzkBN;IA2kBHyvB,4BAA4B,EAAE;MAC1B1pB,UAAU,EAAE,qJADc;MAE1BtG,MAAM,EAAE,KAFkB;MAG1BC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANX;MAQ1BG,GAAG,EAAE;KAnlBN;IAqlBH0vB,YAAY,EAAE;MACV3pB,UAAU,EAAE,kGADF;MAEVR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFT;MAGV/F,MAAM,EAAE,KAHE;MAIVC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAP3B;MASVG,GAAG,EAAE;KA9lBN;IAgmBH2vB,iBAAiB,EAAE;MACfpqB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADJ;MAEf/F,MAAM,EAAE,KAFO;MAGfC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPxB;MASfG,GAAG,EAAE;KAzmBN;IA2mBH4vB,kBAAkB,EAAE;MAChB7pB,UAAU,EAAE,wHADI;MAEhBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFH;MAGhB/F,MAAM,EAAE,KAHQ;MAIhBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPrB;MAShBG,GAAG,EAAE;KApnBN;IAsnBHmI,SAAS,EAAE;MACPpC,UAAU,EAAE,4FADL;MAEPtG,MAAM,EAAE,KAFD;MAGPC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN9B;MAQPG,GAAG,EAAE;KA9nBN;IAgoBH6vB,cAAc,EAAE;MACZpwB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJkB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAFV;QAGJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAHd;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN3B;MAQZG,GAAG,EAAE;KAxoBN;IA0oBH8vB,eAAe,EAAE;MACb/pB,UAAU,EAAE,kHADC;MAEbtG,MAAM,EAAE,KAFK;MAGbC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANxB;MAQbG,GAAG,EAAE;KAlpBN;IAopBHmY,YAAY,EAAE;MACVpS,UAAU,EAAE,kGADF;MAEVtG,MAAM,EAAE,QAFE;MAGVC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL5B;MAOVG,GAAG,EAAE;KA3pBN;IA6pBH+vB,kBAAkB,EAAE;MAChBhqB,UAAU,EAAE,gIADI;MAEhBtG,MAAM,EAAE,QAFQ;MAGhBC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOhBG,GAAG,EAAE;KApqBN;IAsqBHoY,gBAAgB,EAAE;MACdrS,UAAU,EAAE,0GADE;MAEdtG,MAAM,EAAE,QAFM;MAGdC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALxB;MAOdG,GAAG,EAAE;KA7qBN;IA+qBHgwB,qBAAqB,EAAE;MACnBvwB,MAAM,EAAE,QADW;MAEnBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF/B;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOnBG,GAAG,EAAE;KAtrBN;IAwrBHiwB,sBAAsB,EAAE;MACpBlqB,UAAU,EAAE,wIADQ;MAEpBtG,MAAM,EAAE,QAFY;MAGpBC,MAAM,EAAE;QACJ2e,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD7B;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALlB;MAOpBG,GAAG,EAAE;KA/rBN;IAisBHkwB,aAAa,EAAE;MACXnqB,UAAU,EAAE,oGADD;MAEXtG,MAAM,EAAE,QAFG;MAGXC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAL1B;MAOXG,GAAG,EAAE;KAxsBN;IA0sBHmwB,kBAAkB,EAAE;MAChB1wB,MAAM,EAAE,QADQ;MAEhBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALvB;MAOhBG,GAAG,EAAE;KAjtBN;IAmtBHowB,mBAAmB,EAAE;MACjBrqB,UAAU,EAAE,0HADK;MAEjBtG,MAAM,EAAE,QAFS;MAGjBC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOjBG,GAAG,EAAE;KA1tBN;IA4tBHqwB,UAAU,EAAE;MACRtqB,UAAU,EAAE,8FADJ;MAERtG,MAAM,EAAE,QAFA;MAGRC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN7B;MAQRG,GAAG,EAAE;KApuBN;IAsuBHswB,eAAe,EAAE;MACb7wB,MAAM,EAAE,QADK;MAEbC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJF,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF3B;QAGJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH1B;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN1B;MAQbG,GAAG,EAAE;KA9uBN;IAgvBHuwB,gBAAgB,EAAE;MACdxqB,UAAU,EAAE,0HADE;MAEdtG,MAAM,EAAE,QAFM;MAGdC,MAAM,EAAE;QACJC,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJC,IAAI,EAAE;UAAEF,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQdG,GAAG,EAAE;KAxvBN;IA0vBHwwB,aAAa,EAAE;MACXzqB,UAAU,EAAE,oGADD;MAEXR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFR;MAGX/F,MAAM,EAAE,KAHG;MAIXC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAN1B;MAQXG,GAAG,EAAE;KAlwBN;IAowBHywB,kBAAkB,EAAE;MAChBlrB,OAAO,EAAE;QAAEC,MAAM,EAAE;OADH;MAEhB/F,MAAM,EAAE,KAFQ;MAGhBC,MAAM,EAAE;QACJwD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADzB;QAEJ0Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFhC;QAGJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANvB;MAQhBG,GAAG,EAAE;KA5wBN;IA8wBH0wB,mBAAmB,EAAE;MACjB3qB,UAAU,EAAE,4HADK;MAEjBR,OAAO,EAAE;QAAEC,MAAM,EAAE;OAFF;MAGjB/F,MAAM,EAAE,KAHS;MAIjBC,MAAM,EAAE;QACJ6Z,UAAU,EAAE;UAAE3Z,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADhC;QAEJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OANpB;MAQjBG,GAAG,EAAE;KAtxBN;IAwxBHmK,MAAM,EAAE;MACJpE,UAAU,EAAE,sFADR;MAEJtG,MAAM,EAAE,OAFJ;MAGJC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJmtB,cAAc,EAAE;UAAEntB,IAAI,EAAE;SAHpB;QAIJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAJjD;QAKJotB,OAAO,EAAE;UAAElrB,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,CAAR;UAA8BlC,IAAI,EAAE;SALzC;QAMJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OATjC;MAWJG,GAAG,EAAE;KAnyBN;IAqyBH2wB,gBAAgB,EAAE;MACd5qB,UAAU,EAAE,0GADE;MAEdtG,MAAM,EAAE,OAFM;MAGdC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH7B;QAIJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAPL;MASdG,GAAG,EAAE;KA9yBN;IAgzBH4wB,uBAAuB,EAAE;MACrB7qB,UAAU,EAAE,wHADS;MAErBtG,MAAM,EAAE,OAFa;MAGrBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ0e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;QAGJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHvC;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPhB;MASrBG,GAAG,EAAE;KAzzBN;IA2zBH6wB,4BAA4B,EAAE;MAC1BpxB,MAAM,EAAE,OADkB;MAE1BC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ0e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;QAGJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHvC;QAIJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJzB;QAKJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPb;MAS1BG,GAAG,EAAE;KAp0BN;IAs0BH8wB,6BAA6B,EAAE;MAC3B/qB,UAAU,EAAE,mJADe;MAE3BtG,MAAM,EAAE,OAFmB;MAG3BC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAExG,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD1B;QAEJ0e,cAAc,EAAE;UAAE3e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFpC;QAGJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHvC;QAIJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAPV;MAS3BG,GAAG,EAAE;KA/0BN;IAi1BH+wB,qBAAqB,EAAE;MACnBtxB,MAAM,EAAE,OADW;MAEnBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAJ/B;QAKJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAPA;MASnBG,GAAG,EAAE;KA11BN;IA41BHgxB,sBAAsB,EAAE;MACpBjrB,UAAU,EAAE,uIADQ;MAEpBtG,MAAM,EAAE,OAFY;MAGpBC,MAAM,EAAE;QACJ0G,IAAI,EAAE;UAAEvG,IAAI,EAAE;SADV;QAEJue,iBAAiB,EAAE;UAAExe,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAFvC;QAGJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAH7B;QAIJyG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAPC;MASpBG,GAAG,EAAE;KAr2BN;IAu2BHixB,WAAW,EAAE;MACTxxB,MAAM,EAAE,OADC;MAETC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJqD,GAAG,EAAE;UAAEtD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAHzB;QAIJmtB,cAAc,EAAE;UAAEntB,IAAI,EAAE;SAJpB;QAKJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SALjD;QAMJotB,OAAO,EAAE;UAAElrB,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,CAAR;UAA8BlC,IAAI,EAAE;SANzC;QAOJ4e,SAAS,EAAE;UAAE7e,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAT9B;MAWTG,GAAG,EAAE;KAl3BN;IAo3BHkxB,YAAY,EAAE;MACVnrB,UAAU,EAAE,yGADF;MAEVtG,MAAM,EAAE,OAFE;MAGVC,MAAM,EAAE;QACJmL,WAAW,EAAE;UAAEhL,IAAI,EAAE;SADjB;QAEJO,IAAI,EAAE;UAAER,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAF1B;QAGJmtB,cAAc,EAAE;UAAEntB,IAAI,EAAE;SAHpB;QAIJyZ,UAAU,EAAE;UAAEvX,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAAR;UAAmClC,IAAI,EAAE;SAJjD;QAKJotB,OAAO,EAAE;UAAElrB,IAAI,EAAE,CAAC,QAAD,EAAW,QAAX,CAAR;UAA8BlC,IAAI,EAAE;SALzC;QAMJwe,OAAO,EAAE;UAAEze,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAT3B;MAWVG,GAAG,EAAE;;GAzxMF;EA4xMXogB,KAAK,EAAE;IACH+Q,SAAS,EAAE;MACP1xB,MAAM,EAAE,MADD;MAEPC,MAAM,EAAE;QAAE0xB,MAAM,EAAE;UAAExxB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFnC;MAGPG,GAAG,EAAE;KAJN;IAMHqxB,KAAK,EAAE;MACH5xB,MAAM,EAAE,KADL;MAEHC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFzC;MAGHG,GAAG,EAAE;KATN;IAWHsxB,YAAY,EAAE;MACV7xB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFlC;MAGVG,GAAG,EAAE;KAdN;IAgBHuxB,cAAc,EAAE;MACZ9xB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFhC;MAGZG,GAAG,EAAE;KAnBN;IAqBHwxB,qBAAqB,EAAE;MACnB/xB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJ+xB,WAAW,EAAE;UAAE7xB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SADjC;QAEJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJnB;MAMnBG,GAAG,EAAE;KA3BN;IA6BH0xB,YAAY,EAAE;MACVjyB,MAAM,EAAE,MADE;MAEVC,MAAM,EAAE;QAAEiyB,kBAAkB,EAAE;UAAE9xB,IAAI,EAAE;;OAF5B;MAGVG,GAAG,EAAE;KAhCN;IAkCH4xB,eAAe,EAAE;MACbnyB,MAAM,EAAE,MADK;MAEbC,MAAM,EAAE;QAAE4K,GAAG,EAAE;UAAEzK,IAAI,EAAE;SAAf;QAA2ByG,KAAK,EAAE;UAAEzG,IAAI,EAAE;;OAFrC;MAGbG,GAAG,EAAE;KArCN;IAuCH6xB,YAAY,EAAE;MACVpyB,MAAM,EAAE,QADE;MAEVC,MAAM,EAAE;QAAE0xB,MAAM,EAAE;UAAExxB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFhC;MAGVG,GAAG,EAAE;KA1CN;IA4CH8xB,YAAY,EAAE;MACVryB,MAAM,EAAE,QADE;MAEVC,MAAM,EAAE;QAAEqyB,UAAU,EAAE;UAAEnyB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFpC;MAGVG,GAAG,EAAE;KA/CN;IAiDHgyB,eAAe,EAAE;MACbvyB,MAAM,EAAE,QADK;MAEbC,MAAM,EAAE;QAAES,MAAM,EAAE;UAAEP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAF7B;MAGbG,GAAG,EAAE;KApDN;IAsDHiyB,MAAM,EAAE;MACJxyB,MAAM,EAAE,KADJ;MAEJC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFxC;MAGJG,GAAG,EAAE;KAzDN;IA2DHkH,gBAAgB,EAAE;MAAEzH,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;KA3DjD;IA4DHkyB,aAAa,EAAE;MACXzyB,MAAM,EAAE,KADG;MAEXC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFjC;MAGXG,GAAG,EAAE;KA/DN;IAiEHmyB,iBAAiB,EAAE;MACf1yB,MAAM,EAAE,KADO;MAEfC,MAAM,EAAE;QACJ0yB,UAAU,EAAE;UAAEvyB,IAAI,EAAE;SADhB;QAEJwyB,YAAY,EAAE;UACVtwB,IAAI,EAAE,CAAC,cAAD,EAAiB,YAAjB,EAA+B,OAA/B,EAAwC,cAAxC,CADI;UAEVlC,IAAI,EAAE;SAJN;QAMJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OARvB;MAUfG,GAAG,EAAE;KA3EN;IA6EHsyB,SAAS,EAAE;MACP7yB,MAAM,EAAE,KADD;MAEPC,MAAM,EAAE;QAAEqyB,UAAU,EAAE;UAAEnyB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFvC;MAGPG,GAAG,EAAE;KAhFN;IAkFHa,YAAY,EAAE;MACVpB,MAAM,EAAE,KADE;MAEVC,MAAM,EAAE;QAAES,MAAM,EAAE;UAAEP,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFhC;MAGVG,GAAG,EAAE;KArFN;IAuFHwL,IAAI,EAAE;MACF/L,MAAM,EAAE,KADN;MAEFC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJ6D,KAAK,EAAE;UAAE7D,IAAI,EAAE;;OALjB;MAOFG,GAAG,EAAE;KA9FN;IAgGHuyB,WAAW,EAAE;MAAE9yB,MAAM,EAAE,KAAV;MAAiBC,MAAM,EAAE,EAAzB;MAA6BM,GAAG,EAAE;KAhG5C;IAiGHwyB,UAAU,EAAE;MACR/yB,MAAM,EAAE,KADA;MAERC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAF/C;MAGRG,GAAG,EAAE;KApGN;IAsGHyyB,iCAAiC,EAAE;MAC/BhzB,MAAM,EAAE,KADuB;MAE/BC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFxB;MAG/BG,GAAG,EAAE;KAzGN;IA2GH0yB,oBAAoB,EAAE;MAClBjzB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOlBG,GAAG,EAAE;KAlHN;IAoHH2yB,iCAAiC,EAAE;MAC/BlzB,MAAM,EAAE,KADuB;MAE/BC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFxB;MAG/BG,GAAG,EAAE;KAvHN;IAyHH4yB,oBAAoB,EAAE;MAClBnzB,MAAM,EAAE,KADU;MAElBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALpB;MAOlBG,GAAG,EAAE;KAhIN;IAkIH6yB,WAAW,EAAE;MACTpzB,MAAM,EAAE,KADC;MAETC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAF9C;MAGTG,GAAG,EAAE;KArIN;IAuIH8yB,kBAAkB,EAAE;MAChBrzB,MAAM,EAAE,KADQ;MAEhBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALtB;MAOhBG,GAAG,EAAE;KA9IN;IAgJH+yB,gBAAgB,EAAE;MACdtzB,MAAM,EAAE,KADM;MAEdC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAFzC;MAGdG,GAAG,EAAE;KAnJN;IAqJHgzB,cAAc,EAAE;MACZvzB,MAAM,EAAE,KADI;MAEZC,MAAM,EAAE;QAAEqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SAAhB;QAA6BmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;;OAF3C;MAGZG,GAAG,EAAE;KAxJN;IA0JHizB,qBAAqB,EAAE;MACnBxzB,MAAM,EAAE,KADW;MAEnBC,MAAM,EAAE;QACJqB,IAAI,EAAE;UAAElB,IAAI,EAAE;SADV;QAEJmB,QAAQ,EAAE;UAAEnB,IAAI,EAAE;SAFd;QAGJsD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OALnB;MAOnBG,GAAG,EAAE;KAjKN;IAmKHkzB,4BAA4B,EAAE;MAC1BzzB,MAAM,EAAE,OADkB;MAE1BC,MAAM,EAAE;QACJkU,KAAK,EAAE;UAAEhU,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;SAD3B;QAEJ0iB,UAAU,EAAE;UAAE3iB,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAJd;MAM1BG,GAAG,EAAE;KAzKN;IA2KHmzB,OAAO,EAAE;MACL1zB,MAAM,EAAE,QADH;MAELC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFvC;MAGLG,GAAG,EAAE;KA9KN;IAgLHozB,QAAQ,EAAE;MACN3zB,MAAM,EAAE,QADF;MAENC,MAAM,EAAE;QAAEyD,QAAQ,EAAE;UAAEvD,QAAQ,EAAE,IAAZ;UAAkBC,IAAI,EAAE;;OAFtC;MAGNG,GAAG,EAAE;KAnLN;IAqLHqzB,mBAAmB,EAAE;MACjB5zB,MAAM,EAAE,OADS;MAEjBC,MAAM,EAAE;QACJ4zB,GAAG,EAAE;UAAEzzB,IAAI,EAAE;SADT;QAEJ0zB,IAAI,EAAE;UAAE1zB,IAAI,EAAE;SAFV;QAGJ2Y,OAAO,EAAE;UAAE3Y,IAAI,EAAE;SAHb;QAIJ+T,KAAK,EAAE;UAAE/T,IAAI,EAAE;SAJX;QAKJ2zB,QAAQ,EAAE;UAAE3zB,IAAI,EAAE;SALd;QAMJ+Y,QAAQ,EAAE;UAAE/Y,IAAI,EAAE;SANd;QAOJO,IAAI,EAAE;UAAEP,IAAI,EAAE;;OATD;MAWjBG,GAAG,EAAE;;;CA59MjB;;ACAO,MAAMyzB,OAAO,GAAG,mBAAhB;;ACCA,SAASC,iBAAT,CAA2BC,OAA3B,EAAoCC,MAApC,EAA4C;EAC/CC,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,OAApB,CAA4BC,aAAa,IAAI;QACrC,CAACL,OAAO,CAACK,aAAD,CAAZ,EAA6B;MACzBL,OAAO,CAACK,aAAD,CAAP,GAAyB,EAAzB;;;IAEJH,MAAM,CAACC,IAAP,CAAYF,MAAM,CAACI,aAAD,CAAlB,EAAmCD,OAAnC,CAA2CE,OAAO,IAAI;YAC5CC,UAAU,GAAGN,MAAM,CAACI,aAAD,CAAN,CAAsBC,OAAtB,CAAnB;YACME,gBAAgB,GAAG,CAAC,QAAD,EAAW,KAAX,EAAkB,SAAlB,EAA6BC,MAA7B,CAAoC,CAACC,GAAD,EAAM/pB,GAAN,KAAc;YACnE,OAAO4pB,UAAU,CAAC5pB,GAAD,CAAjB,KAA2B,WAA/B,EAA4C;UACxC+pB,GAAG,CAAC/pB,GAAD,CAAH,GAAW4pB,UAAU,CAAC5pB,GAAD,CAArB;;;eAEG+pB,GAAP;OAJqB,EAKtB,EALsB,CAAzB;MAMAF,gBAAgB,CAACG,OAAjB,GAA2B;QACvBC,QAAQ,EAAEL,UAAU,CAACx0B;OADzB;UAGI40B,OAAO,GAAGX,OAAO,CAACW,OAAR,CAAgBE,QAAhB,CAAyBL,gBAAzB,CAAd,CAXkD;;;;YAe5CM,kBAAkB,GAAGZ,MAAM,CAACC,IAAP,CAAYI,UAAU,CAACx0B,MAAX,IAAqB,EAAjC,EAAqCg1B,IAArC,CAA0CpqB,GAAG,IAAI4pB,UAAU,CAACx0B,MAAX,CAAkB4K,GAAlB,EAAuBvE,UAAxE,CAA3B;;UACI0uB,kBAAJ,EAAwB;cACdE,KAAK,GAAGC,mBAAmB,CAACC,IAApB,CAAyB,IAAzB,EAA+BlB,OAA/B,EAAwCO,UAAxC,CAAd;QACAI,OAAO,GAAGK,KAAK,CAAChB,OAAO,CAACW,OAAR,CAAgBE,QAAhB,CAAyBL,gBAAzB,CAAD,EAA8C,IAAGH,aAAc,IAAGC,OAAQ,IAA1E,CAAf;QACAK,OAAO,CAACQ,QAAR,GAAmBH,KAAK,CAACL,OAAO,CAACQ,QAAT,EAAoB,IAAGd,aAAc,IAAGC,OAAQ,aAAhD,CAAxB;QACAK,OAAO,CAACQ,QAAR,CAAiBzX,KAAjB,GAAyBsX,KAAK,CAACL,OAAO,CAACQ,QAAR,CAAiBzX,KAAlB,EAA0B,IAAG2W,aAAc,IAAGC,OAAQ,mBAAtD,CAA9B;;;UAEAC,UAAU,CAACnuB,UAAf,EAA2B;QACvB4tB,OAAO,CAACK,aAAD,CAAP,CAAuBC,OAAvB,IAAkCJ,MAAM,CAACkB,MAAP,CAAc,SAASC,wBAAT,GAAoC;UAChFrB,OAAO,CAACsB,GAAR,CAAYC,IAAZ,CAAiB,IAAIC,uBAAJ,CAAiB,mBAAkBjB,UAAU,CAACnuB,UAAW,EAAzD,CAAjB;UACA4tB,OAAO,CAACK,aAAD,CAAP,CAAuBC,OAAvB,IAAkCK,OAAlC;iBACOA,OAAO,CAACc,KAAR,CAAc,IAAd,EAAoBC,SAApB,CAAP;SAH8B,EAI/Bf,OAJ+B,CAAlC;;;;MAOJX,OAAO,CAACK,aAAD,CAAP,CAAuBC,OAAvB,IAAkCK,OAAlC;KA9BJ;GAJJ;;;AAsCJ,SAASM,mBAAT,CAA6BjB,OAA7B,EAAsCO,UAAtC,EAAkDz0B,MAAlD,EAA0D61B,UAA1D,EAAsE;QAC5DC,aAAa,GAAIC,OAAD,IAAa;IAC/BA,OAAO,GAAG3B,MAAM,CAACkB,MAAP,CAAc,EAAd,EAAkBS,OAAlB,CAAV;IACA3B,MAAM,CAACC,IAAP,CAAY0B,OAAZ,EAAqBzB,OAArB,CAA6BzpB,GAAG,IAAI;UAC5B4pB,UAAU,CAACx0B,MAAX,CAAkB4K,GAAlB,KAA0B4pB,UAAU,CAACx0B,MAAX,CAAkB4K,GAAlB,EAAuBvE,UAArD,EAAiE;cACvD0vB,QAAQ,GAAGvB,UAAU,CAACx0B,MAAX,CAAkB4K,GAAlB,EAAuB+E,KAAxC;QACAskB,OAAO,CAACsB,GAAR,CAAYC,IAAZ,CAAiB,IAAIC,uBAAJ,CAAiB,oBAAmB7qB,GAAI,kCAAiCgrB,UAAW,WAAUG,QAAS,WAAvG,CAAjB;;YACI,EAAEA,QAAQ,IAAID,OAAd,CAAJ,EAA4B;UACxBA,OAAO,CAACC,QAAD,CAAP,GAAoBD,OAAO,CAAClrB,GAAD,CAA3B;;;eAEGkrB,OAAO,CAAClrB,GAAD,CAAd;;KAPR;WAUO7K,MAAM,CAAC+1B,OAAD,CAAb;GAZJ;;EAcA3B,MAAM,CAACC,IAAP,CAAYr0B,MAAZ,EAAoBs0B,OAApB,CAA4BzpB,GAAG,IAAI;IAC/BirB,aAAa,CAACjrB,GAAD,CAAb,GAAqB7K,MAAM,CAAC6K,GAAD,CAA3B;GADJ;SAGOirB,aAAP;;;ACtDJ;;;;;;;;;;;AAUA,AAAO,SAASG,mBAAT,CAA6B/B,OAA7B,EAAsC;;EAEzCA,OAAO,CAACD,iBAAR,GAA4BA,iBAAiB,CAACmB,IAAlB,CAAuB,IAAvB,EAA6BlB,OAA7B,CAA5B;EACAD,iBAAiB,CAACC,OAAD,EAAUgC,gBAAV,CAAjB,CAHyC;;;GAOrC,CAAC,SAAD,EAAY,KAAZ,CADJ,EAEI,CAAC,eAAD,EAAkB,qBAAlB,CAFJ,EAGI,CAAC,cAAD,EAAiB,OAAjB,CAHJ,EAIE5B,OAJF,CAIU,CAAC,CAAC6B,eAAD,EAAkBC,KAAlB,CAAD,KAA8B;IACpChC,MAAM,CAACiC,cAAP,CAAsBnC,OAAtB,EAA+BiC,eAA/B,EAAgD;MAC5CxsB,GAAG,GAAG;QACFuqB,OAAO,CAACsB,GAAR,CAAYC,IAAZ;YAEIC,uBAAJ,CAAiB,oDAAmDS,eAAgB,4CAA2CC,KAAM,aAArI,CAFA,EADE;;eAKKlC,OAAO,CAACkC,KAAD,CAAd;;;KANR;GALJ;SAeO,EAAP;;AAEJH,mBAAmB,CAACjC,OAApB,GAA8BA,OAA9B;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js new file mode 100644 index 0000000..90efed2 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js @@ -0,0 +1,6624 @@ +export default { + actions: { + cancelWorkflowRun: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel" + }, + createOrUpdateSecretForRepo: { + method: "PUT", + params: { + encrypted_value: { type: "string" }, + key_id: { type: "string" }, + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + createRegistrationToken: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/registration-token" + }, + createRemoveToken: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/remove-token" + }, + deleteArtifact: { + method: "DELETE", + params: { + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + deleteSecretFromRepo: { + method: "DELETE", + params: { + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + downloadArtifact: { + method: "GET", + params: { + archive_format: { required: true, type: "string" }, + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format" + }, + getArtifact: { + method: "GET", + params: { + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + getPublicKey: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/public-key" + }, + getSecret: { + method: "GET", + params: { + name: { 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/actions/secrets/:name" + }, + getSelfHostedRunner: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + runner_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + }, + getWorkflow: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + workflow_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id" + }, + getWorkflowJob: { + method: "GET", + params: { + job_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/jobs/:job_id" + }, + getWorkflowRun: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id" + }, + listDownloadsForSelfHostedRunnerApplication: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/downloads" + }, + listJobsForWorkflowRun: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs" + }, + listRepoWorkflowRuns: { + method: "GET", + params: { + actor: { type: "string" }, + branch: { type: "string" }, + event: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + status: { enum: ["completed", "status", "conclusion"], type: "string" } + }, + url: "/repos/:owner/:repo/actions/runs" + }, + listRepoWorkflows: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/workflows" + }, + listSecretsForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets" + }, + listSelfHostedRunnersForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners" + }, + listWorkflowJobLogs: { + method: "GET", + params: { + job_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/actions/jobs/:job_id/logs" + }, + listWorkflowRunArtifacts: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts" + }, + listWorkflowRunLogs: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/logs" + }, + listWorkflowRuns: { + method: "GET", + params: { + actor: { type: "string" }, + branch: { type: "string" }, + event: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + status: { enum: ["completed", "status", "conclusion"], type: "string" }, + workflow_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs" + }, + reRunWorkflow: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun" + }, + removeSelfHostedRunner: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + runner_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + } + }, + 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" } }, + url: "/marketplace_listing/accounts/:account_id" + }, + checkAccountIsAssociatedWithAnyStubbed: { + method: "GET", + params: { account_id: { required: true, type: "integer" } }, + url: "/marketplace_listing/stubbed/accounts/:account_id" + }, + checkAuthorization: { + deprecated: "octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization", + method: "GET", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + checkToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "POST", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + 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" + }, + deleteAuthorization: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "DELETE", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grant" + }, + 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" + }, + deleteToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "DELETE", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + 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" + }, + resetAuthorization: { + deprecated: "octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization", + method: "POST", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + resetToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "PATCH", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grants/:access_token" + }, + revokeInstallationToken: { + headers: { accept: "application/vnd.github.gambit-preview+json" }, + method: "DELETE", + params: {}, + url: "/installation/token" + } + }, + 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" }, + 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: { + 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" + }, + downloadArchiveForOrg: { + 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" + }, + 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: { + deprecated: "octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)", + 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: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + since: { type: "string" } + }, + url: "/repos/:owner/:repo/import/authors" + }, + getImportProgress: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import" + }, + getLargeFiles: { + 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" + }, + listReposForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/migrations/:migration_id/repositories" + }, + listReposForUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/user/:migration_id/repositories" + }, + mapCommitAuthor: { + 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: { + 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: { + 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: { + 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: { + deprecated: "octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)", + method: "GET", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + createAuthorization: { + deprecated: "octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization", + 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: { + deprecated: "octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization", + method: "DELETE", + params: { authorization_id: { required: true, type: "integer" } }, + url: "/authorizations/:authorization_id" + }, + deleteGrant: { + deprecated: "octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant", + method: "DELETE", + params: { grant_id: { required: true, type: "integer" } }, + url: "/applications/grants/:grant_id" + }, + getAuthorization: { + deprecated: "octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization", + method: "GET", + params: { authorization_id: { required: true, type: "integer" } }, + url: "/authorizations/:authorization_id" + }, + getGrant: { + deprecated: "octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant", + method: "GET", + params: { grant_id: { required: true, type: "integer" } }, + url: "/applications/grants/:grant_id" + }, + getOrCreateAuthorizationForApp: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app", + 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: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint", + 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: { + deprecated: "octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations", + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/authorizations" + }, + listGrants: { + deprecated: "octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants", + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/applications/grants" + }, + resetAuthorization: { + deprecated: "octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)", + method: "POST", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grants/:access_token" + }, + updateAuthorization: { + deprecated: "octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization", + 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: "integer" } + }, + 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_internal_repositories: { type: "boolean" }, + members_can_create_private_repositories: { type: "boolean" }, + members_can_create_public_repositories: { type: "boolean" }, + 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: { 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: { + deprecated: "octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)", + 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" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionComment: { + deprecated: "octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { accept: "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" + }, + createForTeamDiscussionCommentInOrg: { + headers: { accept: "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" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy", + headers: { accept: "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" + }, + createForTeamDiscussionInOrg: { + 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" + }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy", + 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" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + delete: { + headers: { accept: "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: { + deprecated: "octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)", + headers: { accept: "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: { + deprecated: "octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { accept: "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" + }, + listForTeamDiscussionCommentInOrg: { + headers: { accept: "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" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy", + headers: { accept: "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" + }, + listForTeamDiscussionInOrg: { + headers: { accept: "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" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + listForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy", + headers: { accept: "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" + } + }, + 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: { + 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" }, + delete_branch_on_merge: { 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" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + 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" }, + delete_branch_on_merge: { 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" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + 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", + "internal" + ], + 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: "integer" } + }, + 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: { + headers: { accept: "application/vnd.github.mercy-preview+json" }, + 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: { + headers: { accept: "application/vnd.github.mercy-preview+json" }, + 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: { + 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" }, + delete_branch_on_merge: { type: "boolean" }, + 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" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/repos/:owner/:repo" + }, + updateBranchProtection: { + method: "PUT", + params: { + allow_deletions: { type: "boolean" }, + allow_force_pushes: { allowNull: true, type: "boolean" }, + branch: { required: true, type: "string" }, + enforce_admins: { allowNull: true, required: true, type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + required_linear_history: { type: "boolean" }, + 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: { + data: { mapTo: "data", required: true, type: "string | object" }, + file: { alias: "data", deprecated: 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() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)", + method: "PUT", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + addMemberLegacy: { + deprecated: "octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy", + method: "PUT", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + addOrUpdateMembership: { + deprecated: "octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)", + 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" + }, + addOrUpdateMembershipInOrg: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + role: { enum: ["member", "maintainer"], type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + addOrUpdateMembershipLegacy: { + deprecated: "octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy", + 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: { + deprecated: "octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)", + 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" + }, + addOrUpdateProjectInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PUT", + params: { + org: { required: true, type: "string" }, + permission: { enum: ["read", "write", "admin"], type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + addOrUpdateProjectLegacy: { + deprecated: "octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy", + 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: { + deprecated: "octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)", + 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" + }, + addOrUpdateRepoInOrg: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + addOrUpdateRepoLegacy: { + deprecated: "octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy", + 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: { + deprecated: "octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)", + 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" + }, + checkManagesRepoInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + checkManagesRepoLegacy: { + deprecated: "octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy", + 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: { + deprecated: "octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + createDiscussionCommentInOrg: { + method: "POST", + params: { + body: { required: true, type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + createDiscussionCommentLegacy: { + deprecated: "octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy", + 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" + }, + createDiscussionInOrg: { + method: "POST", + params: { + body: { required: true, type: "string" }, + org: { required: true, type: "string" }, + private: { type: "boolean" }, + team_slug: { required: true, type: "string" }, + title: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + createDiscussionLegacy: { + deprecated: "octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy", + 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" + }, + delete: { + deprecated: "octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)", + method: "DELETE", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + deleteDiscussion: { + deprecated: "octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)", + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteDiscussionComment: { + deprecated: "octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + deleteDiscussionCommentInOrg: { + method: "DELETE", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionCommentLegacy: { + deprecated: "octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy", + 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" + }, + deleteDiscussionInOrg: { + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + deleteDiscussionLegacy: { + deprecated: "octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy", + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug" + }, + deleteLegacy: { + deprecated: "octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy", + method: "DELETE", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + get: { + deprecated: "octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)", + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getDiscussionComment: { + deprecated: "octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + getDiscussionCommentInOrg: { + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionCommentLegacy: { + deprecated: "octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy", + 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" + }, + getDiscussionInOrg: { + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + getDiscussionLegacy: { + deprecated: "octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy", + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getLegacy: { + deprecated: "octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy", + method: "GET", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + getMember: { + deprecated: "octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + getMemberLegacy: { + deprecated: "octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + getMembership: { + deprecated: "octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + getMembershipInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + getMembershipLegacy: { + deprecated: "octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy", + 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: { + deprecated: "octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/teams" + }, + listChildInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/teams" + }, + listChildLegacy: { + deprecated: "octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/teams" + }, + listDiscussionComments: { + deprecated: "octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)", + 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" + }, + listDiscussionCommentsInOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + listDiscussionCommentsLegacy: { + deprecated: "octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy", + 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: { + deprecated: "octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)", + 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" + }, + listDiscussionsInOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + listDiscussionsLegacy: { + deprecated: "octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy", + 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: { + deprecated: "octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)", + 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" + }, + listMembersInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + role: { enum: ["member", "maintainer", "all"], type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/members" + }, + listMembersLegacy: { + deprecated: "octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy", + 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: { + deprecated: "octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/invitations" + }, + listPendingInvitationsInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/invitations" + }, + listPendingInvitationsLegacy: { + deprecated: "octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/invitations" + }, + listProjects: { + deprecated: "octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)", + 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" + }, + listProjectsInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects" + }, + listProjectsLegacy: { + deprecated: "octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy", + 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: { + deprecated: "octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos" + }, + listReposInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos" + }, + listReposLegacy: { + deprecated: "octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy", + 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() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + removeMemberLegacy: { + deprecated: "octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + removeMembership: { + deprecated: "octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeMembershipInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + removeMembershipLegacy: { + deprecated: "octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeProject: { + deprecated: "octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)", + method: "DELETE", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeProjectInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + removeProjectLegacy: { + deprecated: "octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy", + method: "DELETE", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeRepo: { + deprecated: "octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)", + 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" + }, + removeRepoInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + removeRepoLegacy: { + deprecated: "octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy", + 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: { + deprecated: "octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)", + 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" + }, + reviewProjectInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + reviewProjectLegacy: { + deprecated: "octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy", + 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: { + deprecated: "octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + updateDiscussionCommentInOrg: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionCommentLegacy: { + deprecated: "octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy", + 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" + }, + updateDiscussionInOrg: { + method: "PATCH", + params: { + body: { type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + title: { type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + updateDiscussionLegacy: { + deprecated: "octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy", + 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" + }, + updateInOrg: { + method: "PATCH", + params: { + description: { 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" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug" + }, + updateLegacy: { + deprecated: "octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy", + 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" + } + }, + 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: { + 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/plugin-rest-endpoint-methods/dist-src/generated/rest-endpoint-methods-types.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/rest-endpoint-methods-types.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js new file mode 100644 index 0000000..e442767 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js @@ -0,0 +1,38 @@ +import { Deprecation } from "deprecation"; +import endpointsByScope from "./generated/endpoints"; +import { VERSION } from "./version"; +import { registerEndpoints } from "./register-endpoints"; +/** + * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary + * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is + * done, we will remove the registerEndpoints methods and return the methods + * directly as with the other plugins. At that point we will also remove the + * legacy workarounds and deprecations. + * + * See the plan at + * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 + */ +export function restEndpointMethods(octokit) { + // @ts-ignore + octokit.registerEndpoints = registerEndpoints.bind(null, octokit); + registerEndpoints(octokit, endpointsByScope); + // Aliasing scopes for backward compatibility + // See https://github.com/octokit/rest.js/pull/1134 + [ + ["gitdata", "git"], + ["authorization", "oauthAuthorizations"], + ["pullRequests", "pulls"] + ].forEach(([deprecatedScope, scope]) => { + Object.defineProperty(octokit, deprecatedScope, { + get() { + octokit.log.warn( + // @ts-ignore + new Deprecation(`[@octokit/plugin-rest-endpoint-methods] "octokit.${deprecatedScope}.*" methods are deprecated, use "octokit.${scope}.*" instead`)); + // @ts-ignore + return octokit[scope]; + } + }); + }); + return {}; +} +restEndpointMethods.VERSION = VERSION; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/register-endpoints.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/register-endpoints.js new file mode 100644 index 0000000..7b0b3c2 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/register-endpoints.js @@ -0,0 +1,60 @@ +import { Deprecation } from "deprecation"; +export 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] = Object.assign(function deprecatedEndpointMethod() { + octokit.log.warn(new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`)); + octokit[namespaceName][apiName] = request; + return request.apply(null, arguments); + }, request); + 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/plugin-rest-endpoint-methods/dist-src/types.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/types.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js new file mode 100644 index 0000000..48b74ba --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js @@ -0,0 +1 @@ +export const VERSION = "2.4.0"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts new file mode 100644 index 0000000..528dd6e --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts @@ -0,0 +1,13085 @@ +declare const _default: { + actions: { + cancelWorkflowRun: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createOrUpdateSecretForRepo: { + method: string; + params: { + encrypted_value: { + type: string; + }; + key_id: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createRegistrationToken: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createRemoveToken: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteArtifact: { + method: string; + params: { + artifact_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteSecretFromRepo: { + method: string; + params: { + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + downloadArtifact: { + method: string; + params: { + archive_format: { + required: boolean; + type: string; + }; + artifact_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getArtifact: { + method: string; + params: { + artifact_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getPublicKey: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getSecret: { + method: string; + params: { + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getSelfHostedRunner: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + runner_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getWorkflow: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + workflow_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getWorkflowJob: { + method: string; + params: { + job_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getWorkflowRun: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDownloadsForSelfHostedRunnerApplication: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listJobsForWorkflowRun: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listRepoWorkflowRuns: { + method: string; + params: { + actor: { + type: string; + }; + branch: { + type: string; + }; + event: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + status: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listRepoWorkflows: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listSecretsForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listSelfHostedRunnersForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listWorkflowJobLogs: { + method: string; + params: { + job_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listWorkflowRunArtifacts: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listWorkflowRunLogs: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listWorkflowRuns: { + method: string; + params: { + actor: { + type: string; + }; + branch: { + type: string; + }; + event: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + status: { + enum: string[]; + type: string; + }; + workflow_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + reRunWorkflow: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + run_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeSelfHostedRunner: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + runner_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + activity: { + checkStarringRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteRepoSubscription: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteThreadSubscription: { + method: string; + params: { + thread_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRepoSubscription: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getThread: { + method: string; + params: { + thread_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getThreadSubscription: { + method: string; + params: { + thread_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listEventsForOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listEventsForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listFeeds: { + method: string; + params: {}; + url: string; + }; + listNotifications: { + method: string; + params: { + all: { + type: string; + }; + before: { + type: string; + }; + page: { + type: string; + }; + participating: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listNotificationsForRepo: { + method: string; + params: { + all: { + type: string; + }; + before: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + participating: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listPublicEvents: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublicEventsForOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublicEventsForRepoNetwork: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPublicEventsForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReceivedEventsForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReceivedPublicEventsForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listRepoEvents: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReposStarredByAuthenticatedUser: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listReposStarredByUser: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReposWatchedByUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listStargazersForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listWatchedReposForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listWatchersForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + markAsRead: { + method: string; + params: { + last_read_at: { + type: string; + }; + }; + url: string; + }; + markNotificationsAsReadForRepo: { + method: string; + params: { + last_read_at: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + markThreadAsRead: { + method: string; + params: { + thread_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + setRepoSubscription: { + method: string; + params: { + ignored: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + subscribed: { + type: string; + }; + }; + url: string; + }; + setThreadSubscription: { + method: string; + params: { + ignored: { + type: string; + }; + thread_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + starRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unstarRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + apps: { + addRepoToInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + repository_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkAccountIsAssociatedWithAny: { + method: string; + params: { + account_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkAccountIsAssociatedWithAnyStubbed: { + method: string; + params: { + account_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkAuthorization: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkToken: { + headers: { + accept: string; + }; + method: string; + params: { + access_token: { + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createContentAttachment: { + headers: { + accept: string; + }; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + content_reference_id: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createFromManifest: { + headers: { + accept: string; + }; + method: string; + params: { + code: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createInstallationToken: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + permissions: { + type: string; + }; + repository_ids: { + type: string; + }; + }; + url: string; + }; + deleteAuthorization: { + headers: { + accept: string; + }; + method: string; + params: { + access_token: { + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteToken: { + headers: { + accept: string; + }; + method: string; + params: { + access_token: { + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + findOrgInstallation: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + findRepoInstallation: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + findUserInstallation: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getAuthenticated: { + headers: { + accept: string; + }; + method: string; + params: {}; + url: string; + }; + getBySlug: { + headers: { + accept: string; + }; + method: string; + params: { + app_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getOrgInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRepoInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getUserInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listAccountsUserOrOrgOnPlan: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + plan_id: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listAccountsUserOrOrgOnPlanStubbed: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + plan_id: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listInstallationReposForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listInstallations: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listInstallationsForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listMarketplacePurchasesForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listMarketplacePurchasesForAuthenticatedUserStubbed: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPlans: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPlansStubbed: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listRepos: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + removeRepoFromInstallation: { + headers: { + accept: string; + }; + method: string; + params: { + installation_id: { + required: boolean; + type: string; + }; + repository_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + resetAuthorization: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + resetToken: { + headers: { + accept: string; + }; + method: string; + params: { + access_token: { + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + revokeAuthorizationForApplication: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + revokeGrantForApplication: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + revokeInstallationToken: { + headers: { + accept: string; + }; + method: string; + params: {}; + url: string; + }; + }; + checks: { + create: { + headers: { + accept: string; + }; + method: string; + params: { + actions: { + type: string; + }; + "actions[].description": { + required: boolean; + type: string; + }; + "actions[].identifier": { + required: boolean; + type: string; + }; + "actions[].label": { + required: boolean; + type: string; + }; + completed_at: { + type: string; + }; + conclusion: { + enum: string[]; + type: string; + }; + details_url: { + type: string; + }; + external_id: { + type: string; + }; + head_sha: { + required: boolean; + type: string; + }; + name: { + required: boolean; + type: string; + }; + output: { + type: string; + }; + "output.annotations": { + type: string; + }; + "output.annotations[].annotation_level": { + enum: string[]; + required: boolean; + type: string; + }; + "output.annotations[].end_column": { + type: string; + }; + "output.annotations[].end_line": { + required: boolean; + type: string; + }; + "output.annotations[].message": { + required: boolean; + type: string; + }; + "output.annotations[].path": { + required: boolean; + type: string; + }; + "output.annotations[].raw_details": { + type: string; + }; + "output.annotations[].start_column": { + type: string; + }; + "output.annotations[].start_line": { + required: boolean; + type: string; + }; + "output.annotations[].title": { + type: string; + }; + "output.images": { + type: string; + }; + "output.images[].alt": { + required: boolean; + type: string; + }; + "output.images[].caption": { + type: string; + }; + "output.images[].image_url": { + required: boolean; + type: string; + }; + "output.summary": { + required: boolean; + type: string; + }; + "output.text": { + type: string; + }; + "output.title": { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + started_at: { + type: string; + }; + status: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + createSuite: { + headers: { + accept: string; + }; + method: string; + params: { + head_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + headers: { + accept: string; + }; + method: string; + params: { + check_run_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getSuite: { + headers: { + accept: string; + }; + method: string; + params: { + check_suite_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listAnnotations: { + headers: { + accept: string; + }; + method: string; + params: { + check_run_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForRef: { + headers: { + accept: string; + }; + method: string; + params: { + check_name: { + type: string; + }; + filter: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + status: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForSuite: { + headers: { + accept: string; + }; + method: string; + params: { + check_name: { + type: string; + }; + check_suite_id: { + required: boolean; + type: string; + }; + filter: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + status: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listSuitesForRef: { + headers: { + accept: string; + }; + method: string; + params: { + app_id: { + type: string; + }; + check_name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + rerequestSuite: { + headers: { + accept: string; + }; + method: string; + params: { + check_suite_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + setSuitesPreferences: { + headers: { + accept: string; + }; + method: string; + params: { + auto_trigger_checks: { + type: string; + }; + "auto_trigger_checks[].app_id": { + required: boolean; + type: string; + }; + "auto_trigger_checks[].setting": { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + headers: { + accept: string; + }; + method: string; + params: { + actions: { + type: string; + }; + "actions[].description": { + required: boolean; + type: string; + }; + "actions[].identifier": { + required: boolean; + type: string; + }; + "actions[].label": { + required: boolean; + type: string; + }; + check_run_id: { + required: boolean; + type: string; + }; + completed_at: { + type: string; + }; + conclusion: { + enum: string[]; + type: string; + }; + details_url: { + type: string; + }; + external_id: { + type: string; + }; + name: { + type: string; + }; + output: { + type: string; + }; + "output.annotations": { + type: string; + }; + "output.annotations[].annotation_level": { + enum: string[]; + required: boolean; + type: string; + }; + "output.annotations[].end_column": { + type: string; + }; + "output.annotations[].end_line": { + required: boolean; + type: string; + }; + "output.annotations[].message": { + required: boolean; + type: string; + }; + "output.annotations[].path": { + required: boolean; + type: string; + }; + "output.annotations[].raw_details": { + type: string; + }; + "output.annotations[].start_column": { + type: string; + }; + "output.annotations[].start_line": { + required: boolean; + type: string; + }; + "output.annotations[].title": { + type: string; + }; + "output.images": { + type: string; + }; + "output.images[].alt": { + required: boolean; + type: string; + }; + "output.images[].caption": { + type: string; + }; + "output.images[].image_url": { + required: boolean; + type: string; + }; + "output.summary": { + required: boolean; + type: string; + }; + "output.text": { + type: string; + }; + "output.title": { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + started_at: { + type: string; + }; + status: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + }; + codesOfConduct: { + getConductCode: { + headers: { + accept: string; + }; + method: string; + params: { + key: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listConductCodes: { + headers: { + accept: string; + }; + method: string; + params: {}; + url: string; + }; + }; + emojis: { + get: { + method: string; + params: {}; + url: string; + }; + }; + gists: { + checkIsStarred: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + create: { + method: string; + params: { + description: { + type: string; + }; + files: { + required: boolean; + type: string; + }; + "files.content": { + type: string; + }; + public: { + type: string; + }; + }; + url: string; + }; + createComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + delete: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + fork: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRevision: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listComments: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listCommits: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listForks: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublic: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listPublicForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listStarred: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + star: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unstar: { + method: string; + params: { + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + method: string; + params: { + description: { + type: string; + }; + files: { + type: string; + }; + "files.content": { + type: string; + }; + "files.filename": { + type: string; + }; + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_id: { + required: boolean; + type: string; + }; + gist_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + git: { + createBlob: { + method: string; + params: { + content: { + required: boolean; + type: string; + }; + encoding: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createCommit: { + method: string; + params: { + author: { + type: string; + }; + "author.date": { + type: string; + }; + "author.email": { + type: string; + }; + "author.name": { + type: string; + }; + committer: { + type: string; + }; + "committer.date": { + type: string; + }; + "committer.email": { + type: string; + }; + "committer.name": { + type: string; + }; + message: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + parents: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + signature: { + type: string; + }; + tree: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createRef: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createTag: { + method: string; + params: { + message: { + required: boolean; + type: string; + }; + object: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tag: { + required: boolean; + type: string; + }; + tagger: { + type: string; + }; + "tagger.date": { + type: string; + }; + "tagger.email": { + type: string; + }; + "tagger.name": { + type: string; + }; + type: { + enum: string[]; + required: boolean; + type: string; + }; + }; + url: string; + }; + createTree: { + method: string; + params: { + base_tree: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tree: { + required: boolean; + type: string; + }; + "tree[].content": { + type: string; + }; + "tree[].mode": { + enum: string[]; + type: string; + }; + "tree[].path": { + type: string; + }; + "tree[].sha": { + allowNull: boolean; + type: string; + }; + "tree[].type": { + enum: string[]; + type: string; + }; + }; + url: string; + }; + deleteRef: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getBlob: { + method: string; + params: { + file_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommit: { + method: string; + params: { + commit_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRef: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getTag: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tag_sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getTree: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + recursive: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tree_sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listMatchingRefs: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listRefs: { + method: string; + params: { + namespace: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateRef: { + method: string; + params: { + force: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + gitignore: { + getTemplate: { + method: string; + params: { + name: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listTemplates: { + method: string; + params: {}; + url: string; + }; + }; + interactions: { + addOrUpdateRestrictionsForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + limit: { + enum: string[]; + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateRestrictionsForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + limit: { + enum: string[]; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRestrictionsForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRestrictionsForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeRestrictionsForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeRestrictionsForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + issues: { + addAssignees: { + method: string; + params: { + assignees: { + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addLabels: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + labels: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkAssignee: { + method: string; + params: { + assignee: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + create: { + method: string; + params: { + assignee: { + type: string; + }; + assignees: { + type: string; + }; + body: { + type: string; + }; + labels: { + type: string; + }; + milestone: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createLabel: { + method: string; + params: { + color: { + required: boolean; + type: string; + }; + description: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createMilestone: { + method: string; + params: { + description: { + type: string; + }; + due_on: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteLabel: { + method: string; + params: { + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteMilestone: { + method: string; + params: { + milestone_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getEvent: { + method: string; + params: { + event_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getLabel: { + method: string; + params: { + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMilestone: { + method: string; + params: { + milestone_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + filter: { + enum: string[]; + type: string; + }; + labels: { + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listAssignees: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listComments: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listCommentsForRepo: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listEvents: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listEventsForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listEventsForTimeline: { + headers: { + accept: string; + }; + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForAuthenticatedUser: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + filter: { + enum: string[]; + type: string; + }; + labels: { + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForOrg: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + filter: { + enum: string[]; + type: string; + }; + labels: { + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForRepo: { + method: string; + params: { + assignee: { + type: string; + }; + creator: { + type: string; + }; + direction: { + enum: string[]; + type: string; + }; + labels: { + type: string; + }; + mentioned: { + type: string; + }; + milestone: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listLabelsForMilestone: { + method: string; + params: { + milestone_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listLabelsForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listLabelsOnIssue: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listMilestonesForRepo: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + lock: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + lock_reason: { + enum: string[]; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeAssignees: { + method: string; + params: { + assignees: { + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeLabel: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + name: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeLabels: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceLabels: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + labels: { + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unlock: { + method: string; + params: { + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + method: string; + params: { + assignee: { + type: string; + }; + assignees: { + type: string; + }; + body: { + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + labels: { + type: string; + }; + milestone: { + allowNull: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + updateComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateLabel: { + method: string; + params: { + color: { + type: string; + }; + current_name: { + required: boolean; + type: string; + }; + description: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateMilestone: { + method: string; + params: { + description: { + type: string; + }; + due_on: { + type: string; + }; + milestone_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + }; + licenses: { + get: { + method: string; + params: { + license: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getForRepo: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + deprecated: string; + method: string; + params: {}; + url: string; + }; + listCommonlyUsed: { + method: string; + params: {}; + url: string; + }; + }; + markdown: { + render: { + method: string; + params: { + context: { + type: string; + }; + mode: { + enum: string[]; + type: string; + }; + text: { + required: boolean; + type: string; + }; + }; + url: string; + }; + renderRaw: { + headers: { + "content-type": string; + }; + method: string; + params: { + data: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + meta: { + get: { + method: string; + params: {}; + url: string; + }; + }; + migrations: { + cancelImport: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteArchiveForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteArchiveForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + downloadArchiveForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getArchiveForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getArchiveForOrg: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommitAuthors: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + getImportProgress: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getLargeFiles: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getStatusForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getStatusForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listReposForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listReposForUser: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + mapCommitAuthor: { + method: string; + params: { + author_id: { + required: boolean; + type: string; + }; + email: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + setLfsPreference: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + use_lfs: { + enum: string[]; + required: boolean; + type: string; + }; + }; + url: string; + }; + startForAuthenticatedUser: { + method: string; + params: { + exclude_attachments: { + type: string; + }; + lock_repositories: { + type: string; + }; + repositories: { + required: boolean; + type: string; + }; + }; + url: string; + }; + startForOrg: { + method: string; + params: { + exclude_attachments: { + type: string; + }; + lock_repositories: { + type: string; + }; + org: { + required: boolean; + type: string; + }; + repositories: { + required: boolean; + type: string; + }; + }; + url: string; + }; + startImport: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tfvc_project: { + type: string; + }; + vcs: { + enum: string[]; + type: string; + }; + vcs_password: { + type: string; + }; + vcs_url: { + required: boolean; + type: string; + }; + vcs_username: { + type: string; + }; + }; + url: string; + }; + unlockRepoForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + repo_name: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unlockRepoForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + migration_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + repo_name: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateImport: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + vcs_password: { + type: string; + }; + vcs_username: { + type: string; + }; + }; + url: string; + }; + }; + oauthAuthorizations: { + checkAuthorization: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createAuthorization: { + deprecated: string; + method: string; + params: { + client_id: { + type: string; + }; + client_secret: { + type: string; + }; + fingerprint: { + type: string; + }; + note: { + required: boolean; + type: string; + }; + note_url: { + type: string; + }; + scopes: { + type: string; + }; + }; + url: string; + }; + deleteAuthorization: { + deprecated: string; + method: string; + params: { + authorization_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteGrant: { + deprecated: string; + method: string; + params: { + grant_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getAuthorization: { + deprecated: string; + method: string; + params: { + authorization_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getGrant: { + deprecated: string; + method: string; + params: { + grant_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getOrCreateAuthorizationForApp: { + deprecated: string; + method: string; + params: { + client_id: { + required: boolean; + type: string; + }; + client_secret: { + required: boolean; + type: string; + }; + fingerprint: { + type: string; + }; + note: { + type: string; + }; + note_url: { + type: string; + }; + scopes: { + type: string; + }; + }; + url: string; + }; + getOrCreateAuthorizationForAppAndFingerprint: { + deprecated: string; + method: string; + params: { + client_id: { + required: boolean; + type: string; + }; + client_secret: { + required: boolean; + type: string; + }; + fingerprint: { + required: boolean; + type: string; + }; + note: { + type: string; + }; + note_url: { + type: string; + }; + scopes: { + type: string; + }; + }; + url: string; + }; + getOrCreateAuthorizationForAppFingerprint: { + deprecated: string; + method: string; + params: { + client_id: { + required: boolean; + type: string; + }; + client_secret: { + required: boolean; + type: string; + }; + fingerprint: { + required: boolean; + type: string; + }; + note: { + type: string; + }; + note_url: { + type: string; + }; + scopes: { + type: string; + }; + }; + url: string; + }; + listAuthorizations: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listGrants: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + resetAuthorization: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + revokeAuthorizationForApplication: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + revokeGrantForApplication: { + deprecated: string; + method: string; + params: { + access_token: { + required: boolean; + type: string; + }; + client_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateAuthorization: { + deprecated: string; + method: string; + params: { + add_scopes: { + type: string; + }; + authorization_id: { + required: boolean; + type: string; + }; + fingerprint: { + type: string; + }; + note: { + type: string; + }; + note_url: { + type: string; + }; + remove_scopes: { + type: string; + }; + scopes: { + type: string; + }; + }; + url: string; + }; + }; + orgs: { + addOrUpdateMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + role: { + enum: string[]; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + blockUser: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkBlockedUser: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkPublicMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + concealMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + convertMemberToOutsideCollaborator: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createHook: { + method: string; + params: { + active: { + type: string; + }; + config: { + required: boolean; + type: string; + }; + "config.content_type": { + type: string; + }; + "config.insecure_ssl": { + type: string; + }; + "config.secret": { + type: string; + }; + "config.url": { + required: boolean; + type: string; + }; + events: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createInvitation: { + method: string; + params: { + email: { + type: string; + }; + invitee_id: { + type: string; + }; + org: { + required: boolean; + type: string; + }; + role: { + enum: string[]; + type: string; + }; + team_ids: { + type: string; + }; + }; + url: string; + }; + deleteHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMembershipForAuthenticatedUser: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listBlockedUsers: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listHooks: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listInstallations: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listInvitationTeams: { + method: string; + params: { + invitation_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listMembers: { + method: string; + params: { + filter: { + enum: string[]; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + role: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listMemberships: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listOutsideCollaborators: { + method: string; + params: { + filter: { + enum: string[]; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPendingInvitations: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublicMembers: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + pingHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + publicizeMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMember: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeOutsideCollaborator: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unblockUser: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + method: string; + params: { + billing_email: { + type: string; + }; + company: { + type: string; + }; + default_repository_permission: { + enum: string[]; + type: string; + }; + description: { + type: string; + }; + email: { + type: string; + }; + has_organization_projects: { + type: string; + }; + has_repository_projects: { + type: string; + }; + location: { + type: string; + }; + members_allowed_repository_creation_type: { + enum: string[]; + type: string; + }; + members_can_create_internal_repositories: { + type: string; + }; + members_can_create_private_repositories: { + type: string; + }; + members_can_create_public_repositories: { + type: string; + }; + members_can_create_repositories: { + type: string; + }; + name: { + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateHook: { + method: string; + params: { + active: { + type: string; + }; + config: { + type: string; + }; + "config.content_type": { + type: string; + }; + "config.insecure_ssl": { + type: string; + }; + "config.secret": { + type: string; + }; + "config.url": { + required: boolean; + type: string; + }; + events: { + type: string; + }; + hook_id: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateMembership: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + projects: { + addCollaborator: { + headers: { + accept: string; + }; + method: string; + params: { + permission: { + enum: string[]; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createCard: { + headers: { + accept: string; + }; + method: string; + params: { + column_id: { + required: boolean; + type: string; + }; + content_id: { + type: string; + }; + content_type: { + type: string; + }; + note: { + type: string; + }; + }; + url: string; + }; + createColumn: { + headers: { + accept: string; + }; + method: string; + params: { + name: { + required: boolean; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForAuthenticatedUser: { + headers: { + accept: string; + }; + method: string; + params: { + body: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + body: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + body: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + delete: { + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteCard: { + headers: { + accept: string; + }; + method: string; + params: { + card_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteColumn: { + headers: { + accept: string; + }; + method: string; + params: { + column_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCard: { + headers: { + accept: string; + }; + method: string; + params: { + card_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getColumn: { + headers: { + accept: string; + }; + method: string; + params: { + column_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listCards: { + headers: { + accept: string; + }; + method: string; + params: { + archived_state: { + enum: string[]; + type: string; + }; + column_id: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listCollaborators: { + headers: { + accept: string; + }; + method: string; + params: { + affiliation: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listColumns: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForRepo: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForUser: { + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + state: { + enum: string[]; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + moveCard: { + headers: { + accept: string; + }; + method: string; + params: { + card_id: { + required: boolean; + type: string; + }; + column_id: { + type: string; + }; + position: { + required: boolean; + type: string; + validation: string; + }; + }; + url: string; + }; + moveColumn: { + headers: { + accept: string; + }; + method: string; + params: { + column_id: { + required: boolean; + type: string; + }; + position: { + required: boolean; + type: string; + validation: string; + }; + }; + url: string; + }; + removeCollaborator: { + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + reviewUserPermissionLevel: { + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + headers: { + accept: string; + }; + method: string; + params: { + body: { + type: string; + }; + name: { + type: string; + }; + organization_permission: { + type: string; + }; + private: { + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + updateCard: { + headers: { + accept: string; + }; + method: string; + params: { + archived: { + type: string; + }; + card_id: { + required: boolean; + type: string; + }; + note: { + type: string; + }; + }; + url: string; + }; + updateColumn: { + headers: { + accept: string; + }; + method: string; + params: { + column_id: { + required: boolean; + type: string; + }; + name: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + pulls: { + checkIfMerged: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + create: { + method: string; + params: { + base: { + required: boolean; + type: string; + }; + body: { + type: string; + }; + draft: { + type: string; + }; + head: { + required: boolean; + type: string; + }; + maintainer_can_modify: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + commit_id: { + required: boolean; + type: string; + }; + in_reply_to: { + deprecated: boolean; + description: string; + type: string; + }; + line: { + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + position: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + side: { + enum: string[]; + type: string; + }; + start_line: { + type: string; + }; + start_side: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + createCommentReply: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + commit_id: { + required: boolean; + type: string; + }; + in_reply_to: { + deprecated: boolean; + description: string; + type: string; + }; + line: { + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + position: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + side: { + enum: string[]; + type: string; + }; + start_line: { + type: string; + }; + start_side: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + createFromIssue: { + deprecated: string; + method: string; + params: { + base: { + required: boolean; + type: string; + }; + draft: { + type: string; + }; + head: { + required: boolean; + type: string; + }; + issue: { + required: boolean; + type: string; + }; + maintainer_can_modify: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createReview: { + method: string; + params: { + body: { + type: string; + }; + comments: { + type: string; + }; + "comments[].body": { + required: boolean; + type: string; + }; + "comments[].path": { + required: boolean; + type: string; + }; + "comments[].position": { + required: boolean; + type: string; + }; + commit_id: { + type: string; + }; + event: { + enum: string[]; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createReviewCommentReply: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createReviewRequest: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + reviewers: { + type: string; + }; + team_reviewers: { + type: string; + }; + }; + url: string; + }; + deleteComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deletePendingReview: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteReviewRequest: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + reviewers: { + type: string; + }; + team_reviewers: { + type: string; + }; + }; + url: string; + }; + dismissReview: { + method: string; + params: { + message: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommentsForReview: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getReview: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + base: { + type: string; + }; + direction: { + enum: string[]; + type: string; + }; + head: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listComments: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listCommentsForRepo: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + since: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listCommits: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listFiles: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReviewRequests: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReviews: { + method: string; + params: { + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + merge: { + method: string; + params: { + commit_message: { + type: string; + }; + commit_title: { + type: string; + }; + merge_method: { + enum: string[]; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + }; + url: string; + }; + submitReview: { + method: string; + params: { + body: { + type: string; + }; + event: { + enum: string[]; + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + method: string; + params: { + base: { + type: string; + }; + body: { + type: string; + }; + maintainer_can_modify: { + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + updateBranch: { + headers: { + accept: string; + }; + method: string; + params: { + expected_head_sha: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateReview: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + pull_number: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + review_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + rateLimit: { + get: { + method: string; + params: {}; + url: string; + }; + }; + reactions: { + createForCommitComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForIssue: { + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + required: boolean; + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForIssueComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForPullRequestReviewComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussion: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussionComment: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussionCommentInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussionCommentLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussionInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createForTeamDiscussionLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + delete: { + headers: { + accept: string; + }; + method: string; + params: { + reaction_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForCommitComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForIssue: { + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + type: string; + }; + issue_number: { + required: boolean; + type: string; + }; + number: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForIssueComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForPullRequestReviewComment: { + headers: { + accept: string; + }; + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussion: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussionComment: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussionCommentInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussionCommentLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussionInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForTeamDiscussionLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + content: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + repos: { + acceptInvitation: { + method: string; + params: { + invitation_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addCollaborator: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addDeployKey: { + method: string; + params: { + key: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + read_only: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + addProtectedBranchAdminEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addProtectedBranchAppRestrictions: { + method: string; + params: { + apps: { + mapTo: string; + required: boolean; + type: string; + }; + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addProtectedBranchRequiredSignatures: { + headers: { + accept: string; + }; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addProtectedBranchRequiredStatusChecksContexts: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + contexts: { + mapTo: string; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addProtectedBranchTeamRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + teams: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + addProtectedBranchUserRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + users: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + checkCollaborator: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkVulnerabilityAlerts: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + compareCommits: { + method: string; + params: { + base: { + required: boolean; + type: string; + }; + head: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createCommitComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + commit_sha: { + required: boolean; + type: string; + }; + line: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + type: string; + }; + position: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + alias: string; + deprecated: boolean; + type: string; + }; + }; + url: string; + }; + createDeployment: { + method: string; + params: { + auto_merge: { + type: string; + }; + description: { + type: string; + }; + environment: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + payload: { + type: string; + }; + production_environment: { + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + required_contexts: { + type: string; + }; + task: { + type: string; + }; + transient_environment: { + type: string; + }; + }; + url: string; + }; + createDeploymentStatus: { + method: string; + params: { + auto_inactive: { + type: string; + }; + deployment_id: { + required: boolean; + type: string; + }; + description: { + type: string; + }; + environment: { + enum: string[]; + type: string; + }; + environment_url: { + type: string; + }; + log_url: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + required: boolean; + type: string; + }; + target_url: { + type: string; + }; + }; + url: string; + }; + createDispatchEvent: { + method: string; + params: { + client_payload: { + type: string; + }; + event_type: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createFile: { + deprecated: string; + method: string; + params: { + author: { + type: string; + }; + "author.email": { + required: boolean; + type: string; + }; + "author.name": { + required: boolean; + type: string; + }; + branch: { + type: string; + }; + committer: { + type: string; + }; + "committer.email": { + required: boolean; + type: string; + }; + "committer.name": { + required: boolean; + type: string; + }; + content: { + required: boolean; + type: string; + }; + message: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + }; + url: string; + }; + createForAuthenticatedUser: { + method: string; + params: { + allow_merge_commit: { + type: string; + }; + allow_rebase_merge: { + type: string; + }; + allow_squash_merge: { + type: string; + }; + auto_init: { + type: string; + }; + delete_branch_on_merge: { + type: string; + }; + description: { + type: string; + }; + gitignore_template: { + type: string; + }; + has_issues: { + type: string; + }; + has_projects: { + type: string; + }; + has_wiki: { + type: string; + }; + homepage: { + type: string; + }; + is_template: { + type: string; + }; + license_template: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + team_id: { + type: string; + }; + visibility: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + createFork: { + method: string; + params: { + organization: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createHook: { + method: string; + params: { + active: { + type: string; + }; + config: { + required: boolean; + type: string; + }; + "config.content_type": { + type: string; + }; + "config.insecure_ssl": { + type: string; + }; + "config.secret": { + type: string; + }; + "config.url": { + required: boolean; + type: string; + }; + events: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createInOrg: { + method: string; + params: { + allow_merge_commit: { + type: string; + }; + allow_rebase_merge: { + type: string; + }; + allow_squash_merge: { + type: string; + }; + auto_init: { + type: string; + }; + delete_branch_on_merge: { + type: string; + }; + description: { + type: string; + }; + gitignore_template: { + type: string; + }; + has_issues: { + type: string; + }; + has_projects: { + type: string; + }; + has_wiki: { + type: string; + }; + homepage: { + type: string; + }; + is_template: { + type: string; + }; + license_template: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + team_id: { + type: string; + }; + visibility: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + createOrUpdateFile: { + method: string; + params: { + author: { + type: string; + }; + "author.email": { + required: boolean; + type: string; + }; + "author.name": { + required: boolean; + type: string; + }; + branch: { + type: string; + }; + committer: { + type: string; + }; + "committer.email": { + required: boolean; + type: string; + }; + "committer.name": { + required: boolean; + type: string; + }; + content: { + required: boolean; + type: string; + }; + message: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + }; + url: string; + }; + createRelease: { + method: string; + params: { + body: { + type: string; + }; + draft: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + prerelease: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tag_name: { + required: boolean; + type: string; + }; + target_commitish: { + type: string; + }; + }; + url: string; + }; + createStatus: { + method: string; + params: { + context: { + type: string; + }; + description: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + required: boolean; + type: string; + }; + state: { + enum: string[]; + required: boolean; + type: string; + }; + target_url: { + type: string; + }; + }; + url: string; + }; + createUsingTemplate: { + headers: { + accept: string; + }; + method: string; + params: { + description: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + owner: { + type: string; + }; + private: { + type: string; + }; + template_owner: { + required: boolean; + type: string; + }; + template_repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + declineInvitation: { + method: string; + params: { + invitation_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + delete: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteCommitComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDownload: { + method: string; + params: { + download_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteFile: { + method: string; + params: { + author: { + type: string; + }; + "author.email": { + type: string; + }; + "author.name": { + type: string; + }; + branch: { + type: string; + }; + committer: { + type: string; + }; + "committer.email": { + type: string; + }; + "committer.name": { + type: string; + }; + message: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteInvitation: { + method: string; + params: { + invitation_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteRelease: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + release_id: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteReleaseAsset: { + method: string; + params: { + asset_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + disableAutomatedSecurityFixes: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + disablePagesSite: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + disableVulnerabilityAlerts: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + enableAutomatedSecurityFixes: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + enablePagesSite: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + source: { + type: string; + }; + "source.branch": { + enum: string[]; + type: string; + }; + "source.path": { + type: string; + }; + }; + url: string; + }; + enableVulnerabilityAlerts: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getAppsWithAccessToProtectedBranch: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getArchiveLink: { + method: string; + params: { + archive_format: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getBranch: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getBranchProtection: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getClones: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + per: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCodeFrequencyStats: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCollaboratorPermissionLevel: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCombinedStatusForRef: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommit: { + method: string; + params: { + commit_sha: { + alias: string; + deprecated: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + alias: string; + deprecated: boolean; + type: string; + }; + }; + url: string; + }; + getCommitActivityStats: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommitComment: { + method: string; + params: { + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getCommitRefSha: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getContents: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + ref: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getContributorsStats: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDeployKey: { + method: string; + params: { + key_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDeployment: { + method: string; + params: { + deployment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDeploymentStatus: { + method: string; + params: { + deployment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + status_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDownload: { + method: string; + params: { + download_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getLatestPagesBuild: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getLatestRelease: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getPages: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getPagesBuild: { + method: string; + params: { + build_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getParticipationStats: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getProtectedBranchAdminEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getProtectedBranchPullRequestReviewEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getProtectedBranchRequiredSignatures: { + headers: { + accept: string; + }; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getProtectedBranchRequiredStatusChecks: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getProtectedBranchRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getPunchCardStats: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getReadme: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + ref: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getRelease: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + release_id: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getReleaseAsset: { + method: string; + params: { + asset_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getReleaseByTag: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tag: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getTeamsWithAccessToProtectedBranch: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getTopPaths: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getTopReferrers: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getUsersWithAccessToProtectedBranch: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getViews: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + per: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + affiliation: { + type: string; + }; + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + type: { + enum: string[]; + type: string; + }; + visibility: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listAppsWithAccessToProtectedBranch: { + deprecated: string; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listAssetsForRelease: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + release_id: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listBranches: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + protected: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listBranchesForHeadCommit: { + headers: { + accept: string; + }; + method: string; + params: { + commit_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listCollaborators: { + method: string; + params: { + affiliation: { + enum: string[]; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listCommentsForCommit: { + method: string; + params: { + commit_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + alias: string; + deprecated: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listCommitComments: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listCommits: { + method: string; + params: { + author: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + path: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + since: { + type: string; + }; + until: { + type: string; + }; + }; + url: string; + }; + listContributors: { + method: string; + params: { + anon: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDeployKeys: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDeploymentStatuses: { + method: string; + params: { + deployment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDeployments: { + method: string; + params: { + environment: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + task: { + type: string; + }; + }; + url: string; + }; + listDownloads: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForOrg: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + type: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listForUser: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + type: { + enum: string[]; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForks: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + listHooks: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listInvitations: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listInvitationsForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listLanguages: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPagesBuilds: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProtectedBranchRequiredStatusChecksContexts: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProtectedBranchTeamRestrictions: { + deprecated: string; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProtectedBranchUserRestrictions: { + deprecated: string; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPublic: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listPullRequestsAssociatedWithCommit: { + headers: { + accept: string; + }; + method: string; + params: { + commit_sha: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReleases: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listStatusesForRef: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + ref: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listTags: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listTeams: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listTeamsWithAccessToProtectedBranch: { + deprecated: string; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listTopics: { + headers: { + accept: string; + }; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listUsersWithAccessToProtectedBranch: { + deprecated: string; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + merge: { + method: string; + params: { + base: { + required: boolean; + type: string; + }; + commit_message: { + type: string; + }; + head: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + pingHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeBranchProtection: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeCollaborator: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeDeployKey: { + method: string; + params: { + key_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchAdminEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchAppRestrictions: { + method: string; + params: { + apps: { + mapTo: string; + required: boolean; + type: string; + }; + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchPullRequestReviewEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchRequiredSignatures: { + headers: { + accept: string; + }; + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchRequiredStatusChecks: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchRequiredStatusChecksContexts: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + contexts: { + mapTo: string; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchTeamRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + teams: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProtectedBranchUserRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + users: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceProtectedBranchAppRestrictions: { + method: string; + params: { + apps: { + mapTo: string; + required: boolean; + type: string; + }; + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceProtectedBranchRequiredStatusChecksContexts: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + contexts: { + mapTo: string; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceProtectedBranchTeamRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + teams: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceProtectedBranchUserRestrictions: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + users: { + mapTo: string; + required: boolean; + type: string; + }; + }; + url: string; + }; + replaceTopics: { + headers: { + accept: string; + }; + method: string; + params: { + names: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + requestPageBuild: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + retrieveCommunityProfileMetrics: { + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + testPushHook: { + method: string; + params: { + hook_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + transfer: { + method: string; + params: { + new_owner: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_ids: { + type: string; + }; + }; + url: string; + }; + update: { + method: string; + params: { + allow_merge_commit: { + type: string; + }; + allow_rebase_merge: { + type: string; + }; + allow_squash_merge: { + type: string; + }; + archived: { + type: string; + }; + default_branch: { + type: string; + }; + delete_branch_on_merge: { + type: string; + }; + description: { + type: string; + }; + has_issues: { + type: string; + }; + has_projects: { + type: string; + }; + has_wiki: { + type: string; + }; + homepage: { + type: string; + }; + is_template: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + visibility: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + updateBranchProtection: { + method: string; + params: { + allow_deletions: { + type: string; + }; + allow_force_pushes: { + allowNull: boolean; + type: string; + }; + branch: { + required: boolean; + type: string; + }; + enforce_admins: { + allowNull: boolean; + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + required_linear_history: { + type: string; + }; + required_pull_request_reviews: { + allowNull: boolean; + required: boolean; + type: string; + }; + "required_pull_request_reviews.dismiss_stale_reviews": { + type: string; + }; + "required_pull_request_reviews.dismissal_restrictions": { + type: string; + }; + "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: string; + }; + "required_pull_request_reviews.required_approving_review_count": { + type: string; + }; + required_status_checks: { + allowNull: boolean; + required: boolean; + type: string; + }; + "required_status_checks.contexts": { + required: boolean; + type: string; + }; + "required_status_checks.strict": { + required: boolean; + type: string; + }; + restrictions: { + allowNull: boolean; + required: boolean; + type: string; + }; + "restrictions.apps": { + type: string; + }; + "restrictions.teams": { + required: boolean; + type: string; + }; + "restrictions.users": { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateCommitComment: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateFile: { + deprecated: string; + method: string; + params: { + author: { + type: string; + }; + "author.email": { + required: boolean; + type: string; + }; + "author.name": { + required: boolean; + type: string; + }; + branch: { + type: string; + }; + committer: { + type: string; + }; + "committer.email": { + required: boolean; + type: string; + }; + "committer.name": { + required: boolean; + type: string; + }; + content: { + required: boolean; + type: string; + }; + message: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + path: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + sha: { + type: string; + }; + }; + url: string; + }; + updateHook: { + method: string; + params: { + active: { + type: string; + }; + add_events: { + type: string; + }; + config: { + type: string; + }; + "config.content_type": { + type: string; + }; + "config.insecure_ssl": { + type: string; + }; + "config.secret": { + type: string; + }; + "config.url": { + required: boolean; + type: string; + }; + events: { + type: string; + }; + hook_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + remove_events: { + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateInformationAboutPagesSite: { + method: string; + params: { + cname: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + source: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + updateInvitation: { + method: string; + params: { + invitation_id: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + permissions: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateProtectedBranchPullRequestReviewEnforcement: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + dismiss_stale_reviews: { + type: string; + }; + dismissal_restrictions: { + type: string; + }; + "dismissal_restrictions.teams": { + type: string; + }; + "dismissal_restrictions.users": { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + require_code_owner_reviews: { + type: string; + }; + required_approving_review_count: { + type: string; + }; + }; + url: string; + }; + updateProtectedBranchRequiredStatusChecks: { + method: string; + params: { + branch: { + required: boolean; + type: string; + }; + contexts: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + strict: { + type: string; + }; + }; + url: string; + }; + updateRelease: { + method: string; + params: { + body: { + type: string; + }; + draft: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + prerelease: { + type: string; + }; + release_id: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + tag_name: { + type: string; + }; + target_commitish: { + type: string; + }; + }; + url: string; + }; + updateReleaseAsset: { + method: string; + params: { + asset_id: { + required: boolean; + type: string; + }; + label: { + type: string; + }; + name: { + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + }; + url: string; + }; + uploadReleaseAsset: { + method: string; + params: { + data: { + mapTo: string; + required: boolean; + type: string; + }; + file: { + alias: string; + deprecated: boolean; + type: string; + }; + headers: { + required: boolean; + type: string; + }; + "headers.content-length": { + required: boolean; + type: string; + }; + "headers.content-type": { + required: boolean; + type: string; + }; + label: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + url: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + search: { + code: { + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + commits: { + headers: { + accept: string; + }; + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + issues: { + deprecated: string; + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + issuesAndPullRequests: { + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + labels: { + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + q: { + required: boolean; + type: string; + }; + repository_id: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + repos: { + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + topics: { + method: string; + params: { + q: { + required: boolean; + type: string; + }; + }; + url: string; + }; + users: { + method: string; + params: { + order: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + q: { + required: boolean; + type: string; + }; + sort: { + enum: string[]; + type: string; + }; + }; + url: string; + }; + }; + teams: { + addMember: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addMemberLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateMembership: { + deprecated: string; + method: string; + params: { + role: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateMembershipInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + role: { + enum: string[]; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateMembershipLegacy: { + deprecated: string; + method: string; + params: { + role: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateProject: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + permission: { + enum: string[]; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateProjectInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateProjectLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + permission: { + enum: string[]; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateRepo: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateRepoInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + addOrUpdateRepoLegacy: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkManagesRepo: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkManagesRepoInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkManagesRepoLegacy: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + create: { + method: string; + params: { + description: { + type: string; + }; + maintainers: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + parent_team_id: { + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + privacy: { + enum: string[]; + type: string; + }; + repo_names: { + type: string; + }; + }; + url: string; + }; + createDiscussion: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createDiscussionComment: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createDiscussionCommentInOrg: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createDiscussionCommentLegacy: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createDiscussionInOrg: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createDiscussionLegacy: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + private: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + title: { + required: boolean; + type: string; + }; + }; + url: string; + }; + delete: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussion: { + deprecated: string; + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussionComment: { + deprecated: string; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussionCommentInOrg: { + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussionCommentLegacy: { + deprecated: string; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussionInOrg: { + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteDiscussionLegacy: { + deprecated: string; + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + get: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getByName: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussion: { + deprecated: string; + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussionComment: { + deprecated: string; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussionCommentInOrg: { + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussionCommentLegacy: { + deprecated: string; + method: string; + params: { + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussionInOrg: { + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getDiscussionLegacy: { + deprecated: string; + method: string; + params: { + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMember: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMemberLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMembership: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMembershipInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getMembershipLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listChild: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listChildInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listChildLegacy: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussionComments: { + deprecated: string; + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussionCommentsInOrg: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussionCommentsLegacy: { + deprecated: string; + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussions: { + deprecated: string; + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussionsInOrg: { + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listDiscussionsLegacy: { + deprecated: string; + method: string; + params: { + direction: { + enum: string[]; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listMembers: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + role: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listMembersInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + role: { + enum: string[]; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listMembersLegacy: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + role: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPendingInvitations: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPendingInvitationsInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPendingInvitationsLegacy: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProjects: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProjectsInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listProjectsLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listRepos: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReposInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + page: { + type: string; + }; + per_page: { + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listReposLegacy: { + deprecated: string; + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMember: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMemberLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMembership: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMembershipInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeMembershipLegacy: { + deprecated: string; + method: string; + params: { + team_id: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProject: { + deprecated: string; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProjectInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeProjectLegacy: { + deprecated: string; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeRepo: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeRepoInOrg: { + method: string; + params: { + org: { + required: boolean; + type: string; + }; + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + removeRepoLegacy: { + deprecated: string; + method: string; + params: { + owner: { + required: boolean; + type: string; + }; + repo: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + reviewProject: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + reviewProjectInOrg: { + headers: { + accept: string; + }; + method: string; + params: { + org: { + required: boolean; + type: string; + }; + project_id: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + reviewProjectLegacy: { + deprecated: string; + headers: { + accept: string; + }; + method: string; + params: { + project_id: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + update: { + deprecated: string; + method: string; + params: { + description: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + parent_team_id: { + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + privacy: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateDiscussion: { + deprecated: string; + method: string; + params: { + body: { + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + updateDiscussionComment: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateDiscussionCommentInOrg: { + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateDiscussionCommentLegacy: { + deprecated: string; + method: string; + params: { + body: { + required: boolean; + type: string; + }; + comment_number: { + required: boolean; + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateDiscussionInOrg: { + method: string; + params: { + body: { + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + updateDiscussionLegacy: { + deprecated: string; + method: string; + params: { + body: { + type: string; + }; + discussion_number: { + required: boolean; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + updateInOrg: { + method: string; + params: { + description: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + org: { + required: boolean; + type: string; + }; + parent_team_id: { + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + privacy: { + enum: string[]; + type: string; + }; + team_slug: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateLegacy: { + deprecated: string; + method: string; + params: { + description: { + type: string; + }; + name: { + required: boolean; + type: string; + }; + parent_team_id: { + type: string; + }; + permission: { + enum: string[]; + type: string; + }; + privacy: { + enum: string[]; + type: string; + }; + team_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + }; + users: { + addEmails: { + method: string; + params: { + emails: { + required: boolean; + type: string; + }; + }; + url: string; + }; + block: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkBlocked: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkFollowing: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + checkFollowingForUser: { + method: string; + params: { + target_user: { + required: boolean; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + createGpgKey: { + method: string; + params: { + armored_public_key: { + type: string; + }; + }; + url: string; + }; + createPublicKey: { + method: string; + params: { + key: { + type: string; + }; + title: { + type: string; + }; + }; + url: string; + }; + deleteEmails: { + method: string; + params: { + emails: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deleteGpgKey: { + method: string; + params: { + gpg_key_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + deletePublicKey: { + method: string; + params: { + key_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + follow: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getAuthenticated: { + method: string; + params: {}; + url: string; + }; + getByUsername: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getContextForUser: { + method: string; + params: { + subject_id: { + type: string; + }; + subject_type: { + enum: string[]; + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getGpgKey: { + method: string; + params: { + gpg_key_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + getPublicKey: { + method: string; + params: { + key_id: { + required: boolean; + type: string; + }; + }; + url: string; + }; + list: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + since: { + type: string; + }; + }; + url: string; + }; + listBlocked: { + method: string; + params: {}; + url: string; + }; + listEmails: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listFollowersForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listFollowersForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listFollowingForAuthenticatedUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listFollowingForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listGpgKeys: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listGpgKeysForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + listPublicEmails: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublicKeys: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + }; + url: string; + }; + listPublicKeysForUser: { + method: string; + params: { + page: { + type: string; + }; + per_page: { + type: string; + }; + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + togglePrimaryEmailVisibility: { + method: string; + params: { + email: { + required: boolean; + type: string; + }; + visibility: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unblock: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + unfollow: { + method: string; + params: { + username: { + required: boolean; + type: string; + }; + }; + url: string; + }; + updateAuthenticated: { + method: string; + params: { + bio: { + type: string; + }; + blog: { + type: string; + }; + company: { + type: string; + }; + email: { + type: string; + }; + hireable: { + type: string; + }; + location: { + type: string; + }; + name: { + type: string; + }; + }; + url: string; + }; + }; +}; +export default _default; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/rest-endpoint-methods-types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/rest-endpoint-methods-types.d.ts new file mode 100644 index 0000000..4a1927e --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/rest-endpoint-methods-types.d.ts @@ -0,0 +1,38224 @@ +import { EndpointInterface, RequestParameters, OctokitResponse } from "@octokit/types"; +declare type AnyResponse = OctokitResponse; +declare type EmptyParams = {}; +declare type UsersUpdateAuthenticatedResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; +}; +declare 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; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare type UsersListPublicKeysForUserResponseItem = { + id: number; + key: string; +}; +declare type UsersListPublicKeysResponseItem = { + key: string; + key_id: string; +}; +declare type UsersListPublicEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare 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; +}; +declare type UsersListGpgKeysForUserResponseItemEmailsItem = { + email: string; + verified: boolean; +}; +declare 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; +}; +declare 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; +}; +declare type UsersListGpgKeysResponseItemEmailsItem = { + email: string; + verified: boolean; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type UsersListEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare 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; +}; +declare 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; +}; +declare type UsersGetPublicKeyResponse = { + key: string; + key_id: string; +}; +declare 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; +}; +declare type UsersGetGpgKeyResponseEmailsItem = { + email: string; + verified: boolean; +}; +declare 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; +}; +declare type UsersGetContextForUserResponseContextsItem = { + message: string; + octicon: string; +}; +declare type UsersGetContextForUserResponse = { + contexts: Array; +}; +declare type UsersGetByUsernameResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; +}; +declare 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; +}; +declare type UsersGetAuthenticatedResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; +}; +declare 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; +}; +declare type UsersCreatePublicKeyResponse = { + key: string; + key_id: string; +}; +declare 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; +}; +declare type UsersCreateGpgKeyResponseEmailsItem = { + email: string; + verified: boolean; +}; +declare 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; +}; +declare type UsersAddEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; +}; +declare type TeamsUpdateLegacyResponseOrganization = { + 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; +}; +declare type TeamsUpdateLegacyResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsUpdateLegacyResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; +}; +declare type TeamsUpdateInOrgResponseOrganization = { + 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; +}; +declare type TeamsUpdateInOrgResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsUpdateInOrgResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; +}; +declare type TeamsUpdateDiscussionLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsUpdateDiscussionLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateDiscussionLegacyResponse = { + author: TeamsUpdateDiscussionLegacyResponseAuthor; + 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: TeamsUpdateDiscussionLegacyResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsUpdateDiscussionInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsUpdateDiscussionInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateDiscussionInOrgResponse = { + author: TeamsUpdateDiscussionInOrgResponseAuthor; + 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: TeamsUpdateDiscussionInOrgResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponse = { + author: TeamsUpdateDiscussionCommentLegacyResponseAuthor; + 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: TeamsUpdateDiscussionCommentLegacyResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponse = { + author: TeamsUpdateDiscussionCommentInOrgResponseAuthor; + 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: TeamsUpdateDiscussionCommentInOrgResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsUpdateDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsUpdateDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsReviewProjectLegacyResponsePermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare type TeamsReviewProjectLegacyResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsReviewProjectLegacyResponse = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsReviewProjectLegacyResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectLegacyResponsePermissions; + private: boolean; + state: string; + updated_at: string; + url: string; +}; +declare type TeamsReviewProjectInOrgResponsePermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare type TeamsReviewProjectInOrgResponseCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsReviewProjectInOrgResponse = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsReviewProjectInOrgResponseCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectInOrgResponsePermissions; + private: boolean; + state: string; + updated_at: string; + url: string; +}; +declare type TeamsReviewProjectResponsePermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsListReposLegacyResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type TeamsListReposLegacyResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListReposLegacyResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type TeamsListReposLegacyResponseItem = { + 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: TeamsListReposLegacyResponseItemLicense; + 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: TeamsListReposLegacyResponseItemOwner; + permissions: TeamsListReposLegacyResponseItemPermissions; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsListReposInOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type TeamsListReposInOrgResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListReposInOrgResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type TeamsListReposInOrgResponseItem = { + 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: TeamsListReposInOrgResponseItemLicense; + 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: TeamsListReposInOrgResponseItemOwner; + permissions: TeamsListReposInOrgResponseItemPermissions; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsListReposResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare type TeamsListReposResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsListProjectsLegacyResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare type TeamsListProjectsLegacyResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListProjectsLegacyResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsLegacyResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsLegacyResponseItemPermissions; + private: boolean; + state: string; + updated_at: string; + url: string; +}; +declare type TeamsListProjectsInOrgResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare type TeamsListProjectsInOrgResponseItemCreator = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListProjectsInOrgResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsInOrgResponseItemCreator; + html_url: string; + id: number; + name: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsInOrgResponseItemPermissions; + private: boolean; + state: string; + updated_at: string; + url: string; +}; +declare type TeamsListProjectsResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsListPendingInvitationsLegacyResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListPendingInvitationsLegacyResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsLegacyResponseItemInviter; + login: string; + role: string; + team_count: number; +}; +declare type TeamsListPendingInvitationsInOrgResponseItemInviter = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListPendingInvitationsInOrgResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsInOrgResponseItemInviter; + login: string; + role: string; + team_count: number; +}; +declare 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; +}; +declare type TeamsListPendingInvitationsResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsResponseItemInviter; + login: string; + role: string; + team_count: number; +}; +declare type TeamsListMembersLegacyResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListMembersInOrgResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsListDiscussionsLegacyResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsListDiscussionsLegacyResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListDiscussionsLegacyResponseItem = { + author: TeamsListDiscussionsLegacyResponseItemAuthor; + 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: TeamsListDiscussionsLegacyResponseItemReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsListDiscussionsInOrgResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsListDiscussionsInOrgResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListDiscussionsInOrgResponseItem = { + author: TeamsListDiscussionsInOrgResponseItemAuthor; + 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: TeamsListDiscussionsInOrgResponseItemReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsListDiscussionsResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsListDiscussionCommentsLegacyResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsListDiscussionCommentsLegacyResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListDiscussionCommentsLegacyResponseItem = { + author: TeamsListDiscussionCommentsLegacyResponseItemAuthor; + 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: TeamsListDiscussionCommentsLegacyResponseItemReactions; + updated_at: string; + url: string; +}; +declare type TeamsListDiscussionCommentsInOrgResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsListDiscussionCommentsInOrgResponseItemAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsListDiscussionCommentsInOrgResponseItem = { + author: TeamsListDiscussionCommentsInOrgResponseItemAuthor; + 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: TeamsListDiscussionCommentsInOrgResponseItemReactions; + updated_at: string; + url: string; +}; +declare type TeamsListDiscussionCommentsResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsListChildLegacyResponseItemParent = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type TeamsListChildLegacyResponseItem = { + description: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: TeamsListChildLegacyResponseItemParent; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type TeamsListChildInOrgResponseItemParent = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type TeamsListChildInOrgResponseItem = { + description: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: TeamsListChildInOrgResponseItemParent; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare type TeamsListChildResponseItemParent = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsGetMembershipLegacyResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsGetMembershipInOrgResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsGetMembershipResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsGetLegacyResponseOrganization = { + 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; +}; +declare type TeamsGetLegacyResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsGetLegacyResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; + url: string; +}; +declare type TeamsGetDiscussionLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsGetDiscussionLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsGetDiscussionLegacyResponse = { + author: TeamsGetDiscussionLegacyResponseAuthor; + 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: TeamsGetDiscussionLegacyResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsGetDiscussionInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsGetDiscussionInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsGetDiscussionInOrgResponse = { + author: TeamsGetDiscussionInOrgResponseAuthor; + 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: TeamsGetDiscussionInOrgResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsGetDiscussionCommentLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsGetDiscussionCommentLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsGetDiscussionCommentLegacyResponse = { + author: TeamsGetDiscussionCommentLegacyResponseAuthor; + 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: TeamsGetDiscussionCommentLegacyResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsGetDiscussionCommentInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsGetDiscussionCommentInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsGetDiscussionCommentInOrgResponse = { + author: TeamsGetDiscussionCommentInOrgResponseAuthor; + 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: TeamsGetDiscussionCommentInOrgResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsGetDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsGetDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsCreateDiscussionLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsCreateDiscussionLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCreateDiscussionLegacyResponse = { + author: TeamsCreateDiscussionLegacyResponseAuthor; + 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: TeamsCreateDiscussionLegacyResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsCreateDiscussionInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsCreateDiscussionInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCreateDiscussionInOrgResponse = { + author: TeamsCreateDiscussionInOrgResponseAuthor; + 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: TeamsCreateDiscussionInOrgResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCreateDiscussionCommentLegacyResponse = { + author: TeamsCreateDiscussionCommentLegacyResponseAuthor; + 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: TeamsCreateDiscussionCommentLegacyResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseAuthor = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCreateDiscussionCommentInOrgResponse = { + author: TeamsCreateDiscussionCommentInOrgResponseAuthor; + 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: TeamsCreateDiscussionCommentInOrgResponseReactions; + updated_at: string; + url: string; +}; +declare type TeamsCreateDiscussionCommentResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsCreateDiscussionResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type TeamsCheckManagesRepoLegacyResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCheckManagesRepoLegacyResponse = { + 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: TeamsCheckManagesRepoLegacyResponseOwner; + permissions: TeamsCheckManagesRepoLegacyResponsePermissions; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type TeamsCheckManagesRepoInOrgResponse = { + 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: TeamsCheckManagesRepoInOrgResponseOwner; + permissions: TeamsCheckManagesRepoInOrgResponsePermissions; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsCheckManagesRepoResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type TeamsAddOrUpdateProjectLegacyResponse = { + documentation_url: string; + message: string; +}; +declare type TeamsAddOrUpdateProjectInOrgResponse = { + documentation_url: string; + message: string; +}; +declare type TeamsAddOrUpdateProjectResponse = { + documentation_url: string; + message: string; +}; +declare type TeamsAddOrUpdateMembershipLegacyResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsAddOrUpdateMembershipInOrgResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsAddOrUpdateMembershipResponse = { + role: string; + state: string; + url: string; +}; +declare type TeamsAddMemberLegacyResponseErrorsItem = { + code: string; + field: string; + resource: string; +}; +declare type TeamsAddMemberLegacyResponse = { + errors: Array; + message: string; +}; +declare type TeamsAddMemberResponseErrorsItem = { + code: string; + field: string; + resource: string; +}; +declare type TeamsAddMemberResponse = { + errors: Array; + message: string; +}; +declare type SearchUsersLegacyResponseUsersItem = { + created: string; + created_at: string; + followers: number; + followers_count: number; + fullname: string; + gravatar_id: string; + id: string; + language: string; + location: string; + login: string; + name: string; + public_repo_count: number; + repos: number; + score: number; + type: string; + username: string; +}; +declare type SearchUsersLegacyResponse = { + users: Array; +}; +declare 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; +}; +declare type SearchUsersResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare 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; +}; +declare type SearchTopicsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type SearchReposLegacyResponseRepositoriesItem = { + created: string; + created_at: string; + description: string; + followers: number; + fork: boolean; + forks: number; + has_downloads: boolean; + has_issues: boolean; + has_wiki: boolean; + homepage: string; + language: string; + name: string; + open_issues: number; + owner: string; + private: boolean; + pushed: string; + pushed_at: string; + score: number; + size: number; + type: string; + url: string; + username: string; + watchers: number; +}; +declare type SearchReposLegacyResponse = { + repositories: Array; +}; +declare type SearchReposResponseItemsItemOwner = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + node_id: string; + received_events_url: string; + type: string; + url: string; +}; +declare 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; +}; +declare type SearchReposResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type SearchLabelsResponseItemsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + score: number; + url: string; +}; +declare type SearchLabelsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type SearchIssuesLegacyResponseIssuesItem = { + body: string; + comments: number; + created_at: string; + gravatar_id: string; + html_url: string; + labels: Array; + number: number; + position: number; + state: string; + title: string; + updated_at: string; + user: string; + votes: number; +}; +declare type SearchIssuesLegacyResponse = { + issues: Array; +}; +declare 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; +}; +declare type SearchIssuesAndPullRequestsResponseItemsItemPullRequest = { + diff_url: null; + html_url: null; + patch_url: null; +}; +declare type SearchIssuesAndPullRequestsResponseItemsItemLabelsItem = { + color: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type SearchIssuesAndPullRequestsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare 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; +}; +declare type SearchIssuesResponseItemsItemPullRequest = { + diff_url: null; + html_url: null; + patch_url: null; +}; +declare type SearchIssuesResponseItemsItemLabelsItem = { + color: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type SearchIssuesResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare type SearchEmailLegacyResponseUser = { + blog: string; + company: string; + created: string; + created_at: string; + email: string; + followers_count: number; + following_count: number; + gravatar_id: string; + id: number; + location: string; + login: string; + name: string; + public_gist_count: number; + public_repo_count: number; + type: string; +}; +declare type SearchEmailLegacyResponse = { + user: SearchEmailLegacyResponseUser; +}; +declare 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; +}; +declare 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; +}; +declare type SearchCommitsResponseItemsItemParentsItem = { + html_url: string; + sha: string; + url: string; +}; +declare 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; +}; +declare type SearchCommitsResponseItemsItemCommitTree = { + sha: string; + url: string; +}; +declare type SearchCommitsResponseItemsItemCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type SearchCommitsResponseItemsItemCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type SearchCommitsResponseItemsItemCommit = { + author: SearchCommitsResponseItemsItemCommitAuthor; + comment_count: number; + committer: SearchCommitsResponseItemsItemCommitCommitter; + message: string; + tree: SearchCommitsResponseItemsItemCommitTree; + url: string; +}; +declare 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; +}; +declare type SearchCommitsResponseItemsItem = { + author: SearchCommitsResponseItemsItemAuthor; + comments_url: string; + commit: SearchCommitsResponseItemsItemCommit; + committer: SearchCommitsResponseItemsItemCommitter; + html_url: string; + parents: Array; + repository: SearchCommitsResponseItemsItemRepository; + score: number; + sha: string; + url: string; +}; +declare type SearchCommitsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare 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; +}; +declare 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; +}; +declare type SearchCodeResponseItemsItem = { + git_url: string; + html_url: string; + name: string; + path: string; + repository: SearchCodeResponseItemsItemRepository; + score: number; + sha: string; + url: string; +}; +declare type SearchCodeResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; +}; +declare 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; +}; +declare 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; +}; +declare type ReposUploadReleaseAssetResponse = { + value: ReposUploadReleaseAssetResponseValue; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksResponse = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = { + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponse = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposUpdateInvitationResponse = { + created_at: string; + html_url: string; + id: number; + invitee: ReposUpdateInvitationResponseInvitee; + inviter: ReposUpdateInvitationResponseInviter; + permissions: string; + repository: ReposUpdateInvitationResponseRepository; + url: string; +}; +declare type ReposUpdateHookResponseLastResponse = { + code: null; + message: null; + status: string; +}; +declare type ReposUpdateHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare 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; +}; +declare type ReposUpdateFileResponseContentLinks = { + git: string; + html: string; + self: string; +}; +declare 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; +}; +declare type ReposUpdateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposUpdateFileResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposUpdateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; +}; +declare type ReposUpdateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposUpdateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposUpdateFileResponseCommit = { + author: ReposUpdateFileResponseCommitAuthor; + committer: ReposUpdateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposUpdateFileResponseCommitTree; + url: string; + verification: ReposUpdateFileResponseCommitVerification; +}; +declare type ReposUpdateFileResponse = { + commit: ReposUpdateFileResponseCommit; + content: ReposUpdateFileResponseContent; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposUpdateBranchProtectionResponseRestrictionsAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposUpdateBranchProtectionResponseRestrictions = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposUpdateBranchProtectionResponseRequiredStatusChecks = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = { + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposUpdateBranchProtectionResponseRequiredPullRequestReviews = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; +}; +declare type ReposUpdateBranchProtectionResponseRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseEnforceAdmins = { + enabled: boolean; + url: string; +}; +declare type ReposUpdateBranchProtectionResponseAllowForcePushes = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseAllowDeletions = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponse = { + allow_deletions: ReposUpdateBranchProtectionResponseAllowDeletions; + allow_force_pushes: ReposUpdateBranchProtectionResponseAllowForcePushes; + enforce_admins: ReposUpdateBranchProtectionResponseEnforceAdmins; + required_linear_history: ReposUpdateBranchProtectionResponseRequiredLinearHistory; + required_pull_request_reviews: ReposUpdateBranchProtectionResponseRequiredPullRequestReviews; + required_status_checks: ReposUpdateBranchProtectionResponseRequiredStatusChecks; + restrictions: ReposUpdateBranchProtectionResponseRestrictions; + url: string; +}; +declare type ReposUpdateResponseSourcePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposUpdateResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposUpdateResponseParentPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare 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; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposTransferResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesReadme = { + html_url: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate = { + html_url: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesLicense = { + html_url: string; + key: string; + name: string; + spdx_id: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate = { + html_url: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesContributing = { + html_url: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct = { + html_url: string; + key: string; + name: string; + url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseFiles = { + code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct; + contributing: ReposRetrieveCommunityProfileMetricsResponseFilesContributing; + issue_template: ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate; + license: ReposRetrieveCommunityProfileMetricsResponseFilesLicense; + pull_request_template: ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate; + readme: ReposRetrieveCommunityProfileMetricsResponseFilesReadme; +}; +declare type ReposRetrieveCommunityProfileMetricsResponse = { + description: string; + documentation: boolean; + files: ReposRetrieveCommunityProfileMetricsResponseFiles; + health_percentage: number; + updated_at: string; +}; +declare type ReposRequestPageBuildResponse = { + status: string; + url: string; +}; +declare type ReposReplaceTopicsResponse = { + names: Array; +}; +declare 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; +}; +declare 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; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposMergeResponseParentsItem = { + sha: string; + url: string; +}; +declare 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; +}; +declare type ReposMergeResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposMergeResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposMergeResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposMergeResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposMergeResponseCommit = { + author: ReposMergeResponseCommitAuthor; + comment_count: number; + committer: ReposMergeResponseCommitCommitter; + message: string; + tree: ReposMergeResponseCommitTree; + url: string; + verification: ReposMergeResponseCommitVerification; +}; +declare 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; +}; +declare type ReposMergeResponse = { + author: ReposMergeResponseAuthor; + comments_url: string; + commit: ReposMergeResponseCommit; + committer: ReposMergeResponseCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare 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; +}; +declare type ReposListTopicsResponse = { + names: Array; +}; +declare 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; +}; +declare 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; +}; +declare type ReposListTagsResponseItemCommit = { + sha: string; + url: string; +}; +declare type ReposListTagsResponseItem = { + commit: ReposListTagsResponseItemCommit; + name: string; + tarball_url: string; + zipball_url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemHead = { + label: string; + ref: string; + repo: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser; +}; +declare 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; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemBase = { + label: string; + ref: string; + repo: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser; +}; +declare 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; +}; +declare 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; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItemLinks = { + comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments; + commits: ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits; + html: ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml; + issue: ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue; + review_comment: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment; + review_comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments; + self: ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf; + statuses: ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseItem = { + _links: ReposListPullRequestsAssociatedWithCommitResponseItemLinks; + active_lock_reason: string; + assignee: ReposListPullRequestsAssociatedWithCommitResponseItemAssignee; + assignees: Array; + 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; + locked: boolean; + merge_commit_sha: string; + merged_at: string; + milestone: ReposListPullRequestsAssociatedWithCommitResponseItemMilestone; + 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: ReposListPullRequestsAssociatedWithCommitResponseItemUser; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposListPagesBuildsResponseItemError = { + message: null; +}; +declare type ReposListPagesBuildsResponseItem = { + commit: string; + created_at: string; + duration: number; + error: ReposListPagesBuildsResponseItemError; + pusher: ReposListPagesBuildsResponseItemPusher; + status: string; + updated_at: string; + url: string; +}; +declare type ReposListLanguagesResponse = { + C: number; + Python: number; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseItem = { + created_at: string; + html_url: string; + id: number; + invitee: ReposListInvitationsForAuthenticatedUserResponseItemInvitee; + inviter: ReposListInvitationsForAuthenticatedUserResponseItemInviter; + permissions: string; + repository: ReposListInvitationsForAuthenticatedUserResponseItemRepository; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposListInvitationsResponseItem = { + created_at: string; + html_url: string; + id: number; + invitee: ReposListInvitationsResponseItemInvitee; + inviter: ReposListInvitationsResponseItemInviter; + permissions: string; + repository: ReposListInvitationsResponseItemRepository; + url: string; +}; +declare type ReposListHooksResponseItemLastResponse = { + code: null; + message: null; + status: string; +}; +declare type ReposListHooksResponseItemConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare 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; +}; +declare type ReposListForksResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare type ReposListForksResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposListForOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare type ReposListForOrgResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposListDownloadsResponseItem = { + content_type: string; + description: string; + download_count: number; + html_url: string; + id: number; + name: string; + size: number; + url: string; +}; +declare type ReposListDeploymentsResponseItemPayload = { + deploy: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposListDeployKeysResponseItem = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; +}; +declare 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; +}; +declare type ReposListCommitsResponseItemParentsItem = { + sha: string; + url: string; +}; +declare 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; +}; +declare type ReposListCommitsResponseItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposListCommitsResponseItemCommitTree = { + sha: string; + url: string; +}; +declare type ReposListCommitsResponseItemCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposListCommitsResponseItemCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposListCommitsResponseItemCommit = { + author: ReposListCommitsResponseItemCommitAuthor; + comment_count: number; + committer: ReposListCommitsResponseItemCommitCommitter; + message: string; + tree: ReposListCommitsResponseItemCommitTree; + url: string; + verification: ReposListCommitsResponseItemCommitVerification; +}; +declare 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; +}; +declare type ReposListCommitsResponseItem = { + author: ReposListCommitsResponseItemAuthor; + comments_url: string; + commit: ReposListCommitsResponseItemCommit; + committer: ReposListCommitsResponseItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposListCollaboratorsResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare type ReposListBranchesForHeadCommitResponseItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesForHeadCommitResponseItem = { + commit: ReposListBranchesForHeadCommitResponseItemCommit; + name: string; + protected: string; +}; +declare type ReposListBranchesResponseItemProtectionRequiredStatusChecks = { + contexts: Array; + enforcement_level: string; +}; +declare type ReposListBranchesResponseItemProtection = { + enabled: boolean; + required_status_checks: ReposListBranchesResponseItemProtectionRequiredStatusChecks; +}; +declare type ReposListBranchesResponseItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesResponseItem = { + commit: ReposListBranchesResponseItemCommit; + name: string; + protected: boolean; + protection: ReposListBranchesResponseItemProtection; + protection_url: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposListAppsWithAccessToProtectedBranchResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetViewsResponseViewsItem = { + count: number; + timestamp: string; + uniques: number; +}; +declare type ReposGetViewsResponse = { + count: number; + uniques: number; + views: Array; +}; +declare 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; +}; +declare type ReposGetTopReferrersResponseItem = { + count: number; + referrer: string; + uniques: number; +}; +declare type ReposGetTopPathsResponseItem = { + count: number; + path: string; + title: string; + uniques: number; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetReadmeResponseLinks = { + git: string; + html: string; + self: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetProtectedBranchRestrictionsResponseAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetProtectedBranchRestrictionsResponse = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksResponse = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; +}; +declare type ReposGetProtectedBranchRequiredSignaturesResponse = { + enabled: boolean; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = { + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponse = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; +}; +declare type ReposGetProtectedBranchAdminEnforcementResponse = { + enabled: boolean; + url: string; +}; +declare type ReposGetParticipationStatsResponse = { + all: Array; + owner: Array; +}; +declare 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; +}; +declare type ReposGetPagesBuildResponseError = { + message: null; +}; +declare type ReposGetPagesBuildResponse = { + commit: string; + created_at: string; + duration: number; + error: ReposGetPagesBuildResponseError; + pusher: ReposGetPagesBuildResponsePusher; + status: string; + updated_at: string; + url: string; +}; +declare type ReposGetPagesResponseSource = { + branch: string; + directory: string; +}; +declare type ReposGetPagesResponse = { + cname: string; + custom_404: boolean; + html_url: string; + source: ReposGetPagesResponseSource; + status: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetLatestPagesBuildResponseError = { + message: null; +}; +declare type ReposGetLatestPagesBuildResponse = { + commit: string; + created_at: string; + duration: number; + error: ReposGetLatestPagesBuildResponseError; + pusher: ReposGetLatestPagesBuildResponsePusher; + status: string; + updated_at: string; + url: string; +}; +declare type ReposGetHookResponseLastResponse = { + code: null; + message: null; + status: string; +}; +declare type ReposGetHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare 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; +}; +declare type ReposGetDownloadResponse = { + content_type: string; + description: string; + download_count: number; + html_url: string; + id: number; + name: string; + size: number; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetDeploymentResponsePayload = { + deploy: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetDeployKeyResponse = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; +}; +declare type ReposGetContributorsStatsResponseItemWeeksItem = { + a: number; + c: number; + d: number; + w: string; +}; +declare 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; +}; +declare type ReposGetContributorsStatsResponseItem = { + author: ReposGetContributorsStatsResponseItemAuthor; + total: number; + weeks: Array; +}; +declare type ReposGetContentsResponseItemLinks = { + git: string; + html: string; + self: string; +}; +declare 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; +}; +declare type ReposGetContentsResponseLinks = { + git: string; + html: string; + self: string; +}; +declare 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; +declare 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; +}; +declare 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; +}; +declare type ReposGetCommitActivityStatsResponseItem = { + days: Array; + total: number; + week: number; +}; +declare type ReposGetCommitResponseStats = { + additions: number; + deletions: number; + total: number; +}; +declare type ReposGetCommitResponseParentsItem = { + sha: string; + url: string; +}; +declare type ReposGetCommitResponseFilesItem = { + additions: number; + blob_url: string; + changes: number; + deletions: number; + filename: string; + patch: string; + raw_url: string; + status: string; +}; +declare 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; +}; +declare type ReposGetCommitResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposGetCommitResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposGetCommitResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposGetCommitResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposGetCommitResponseCommit = { + author: ReposGetCommitResponseCommitAuthor; + comment_count: number; + committer: ReposGetCommitResponseCommitCommitter; + message: string; + tree: ReposGetCommitResponseCommitTree; + url: string; + verification: ReposGetCommitResponseCommitVerification; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetCombinedStatusForRefResponse = { + commit_url: string; + repository: ReposGetCombinedStatusForRefResponseRepository; + sha: string; + state: string; + statuses: Array; + total_count: number; + url: string; +}; +declare 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; +}; +declare type ReposGetCollaboratorPermissionLevelResponse = { + permission: string; + user: ReposGetCollaboratorPermissionLevelResponseUser; +}; +declare type ReposGetClonesResponseClonesItem = { + count: number; + timestamp: string; + uniques: number; +}; +declare type ReposGetClonesResponse = { + clones: Array; + count: number; + uniques: number; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetBranchProtectionResponseRestrictionsAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetBranchProtectionResponseRestrictions = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposGetBranchProtectionResponseRequiredStatusChecks = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = { + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; +}; +declare type ReposGetBranchProtectionResponseRequiredPullRequestReviews = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; + url: string; +}; +declare type ReposGetBranchProtectionResponseRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseEnforceAdmins = { + enabled: boolean; + url: string; +}; +declare type ReposGetBranchProtectionResponseAllowForcePushes = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseAllowDeletions = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponse = { + allow_deletions: ReposGetBranchProtectionResponseAllowDeletions; + allow_force_pushes: ReposGetBranchProtectionResponseAllowForcePushes; + enforce_admins: ReposGetBranchProtectionResponseEnforceAdmins; + required_linear_history: ReposGetBranchProtectionResponseRequiredLinearHistory; + required_pull_request_reviews: ReposGetBranchProtectionResponseRequiredPullRequestReviews; + required_status_checks: ReposGetBranchProtectionResponseRequiredStatusChecks; + restrictions: ReposGetBranchProtectionResponseRestrictions; + url: string; +}; +declare type ReposGetBranchResponseProtectionRequiredStatusChecks = { + contexts: Array; + enforcement_level: string; +}; +declare type ReposGetBranchResponseProtection = { + enabled: boolean; + required_status_checks: ReposGetBranchResponseProtectionRequiredStatusChecks; +}; +declare type ReposGetBranchResponseCommitParentsItem = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseCommitCommitter = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + url: string; +}; +declare type ReposGetBranchResponseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposGetBranchResponseCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseCommitCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposGetBranchResponseCommitCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposGetBranchResponseCommitCommit = { + author: ReposGetBranchResponseCommitCommitAuthor; + committer: ReposGetBranchResponseCommitCommitCommitter; + message: string; + tree: ReposGetBranchResponseCommitCommitTree; + url: string; + verification: ReposGetBranchResponseCommitCommitVerification; +}; +declare type ReposGetBranchResponseCommitAuthor = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; + url: string; +}; +declare type ReposGetBranchResponseCommit = { + author: ReposGetBranchResponseCommitAuthor; + commit: ReposGetBranchResponseCommitCommit; + committer: ReposGetBranchResponseCommitCommitter; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare type ReposGetBranchResponseLinks = { + html: string; + self: string; +}; +declare type ReposGetBranchResponse = { + _links: ReposGetBranchResponseLinks; + commit: ReposGetBranchResponseCommit; + name: string; + protected: boolean; + protection: ReposGetBranchResponseProtection; + protection_url: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetResponseSourcePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposGetResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type ReposGetResponseParentPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare 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; +}; +declare 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; +}; +declare type ReposGetResponseLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposEnablePagesSiteResponseSource = { + branch: string; + directory: string; +}; +declare type ReposEnablePagesSiteResponse = { + cname: string; + custom_404: boolean; + html_url: string; + source: ReposEnablePagesSiteResponseSource; + status: string; + url: string; +}; +declare type ReposDeleteFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposDeleteFileResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposDeleteFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; +}; +declare type ReposDeleteFileResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposDeleteFileResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposDeleteFileResponseCommit = { + author: ReposDeleteFileResponseCommitAuthor; + committer: ReposDeleteFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposDeleteFileResponseCommitTree; + url: string; + verification: ReposDeleteFileResponseCommitVerification; +}; +declare type ReposDeleteFileResponse = { + commit: ReposDeleteFileResponseCommit; + content: null; +}; +declare type ReposDeleteResponse = { + documentation_url: string; + message: string; +}; +declare type ReposCreateUsingTemplateResponseTemplateRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposCreateUsingTemplateResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: ReposCreateUsingTemplateResponseTemplateRepository; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposCreateOrUpdateFileResponseContentLinks = { + git: string; + html: string; + self: string; +}; +declare 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; +}; +declare type ReposCreateOrUpdateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposCreateOrUpdateFileResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposCreateOrUpdateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; +}; +declare type ReposCreateOrUpdateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposCreateOrUpdateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposCreateOrUpdateFileResponseCommit = { + author: ReposCreateOrUpdateFileResponseCommitAuthor; + committer: ReposCreateOrUpdateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposCreateOrUpdateFileResponseCommitTree; + url: string; + verification: ReposCreateOrUpdateFileResponseCommitVerification; +}; +declare type ReposCreateOrUpdateFileResponse = { + commit: ReposCreateOrUpdateFileResponseCommit; + content: ReposCreateOrUpdateFileResponseContent; +}; +declare type ReposCreateInOrgResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposCreateHookResponseLastResponse = { + code: null; + message: null; + status: string; +}; +declare type ReposCreateHookResponseConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare 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; +}; +declare type ReposCreateForkResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposCreateForAuthenticatedUserResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ReposCreateFileResponseContentLinks = { + git: string; + html: string; + self: string; +}; +declare 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; +}; +declare type ReposCreateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposCreateFileResponseCommitTree = { + sha: string; + url: string; +}; +declare type ReposCreateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; +}; +declare type ReposCreateFileResponseCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposCreateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposCreateFileResponseCommit = { + author: ReposCreateFileResponseCommitAuthor; + committer: ReposCreateFileResponseCommitCommitter; + html_url: string; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: ReposCreateFileResponseCommitTree; + url: string; + verification: ReposCreateFileResponseCommitVerification; +}; +declare type ReposCreateFileResponse = { + commit: ReposCreateFileResponseCommit; + content: ReposCreateFileResponseContent; +}; +declare 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; +}; +declare 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; +}; +declare type ReposCreateDeploymentResponsePayload = { + deploy: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitParentsItem = { + sha: string; + url: string; +}; +declare 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; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseMergeBaseCommitCommit = { + author: ReposCompareCommitsResponseMergeBaseCommitCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseMergeBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseMergeBaseCommitCommitTree; + url: string; + verification: ReposCompareCommitsResponseMergeBaseCommitCommitVerification; +}; +declare 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; +}; +declare type ReposCompareCommitsResponseMergeBaseCommit = { + author: ReposCompareCommitsResponseMergeBaseCommitAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseMergeBaseCommitCommit; + committer: ReposCompareCommitsResponseMergeBaseCommitCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare 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; +}; +declare type ReposCompareCommitsResponseCommitsItemParentsItem = { + sha: string; + url: string; +}; +declare 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; +}; +declare type ReposCompareCommitsResponseCommitsItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposCompareCommitsResponseCommitsItemCommitTree = { + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseCommitsItemCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseCommitsItemCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseCommitsItemCommit = { + author: ReposCompareCommitsResponseCommitsItemCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseCommitsItemCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseCommitsItemCommitTree; + url: string; + verification: ReposCompareCommitsResponseCommitsItemCommitVerification; +}; +declare 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; +}; +declare type ReposCompareCommitsResponseCommitsItem = { + author: ReposCompareCommitsResponseCommitsItemAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseCommitsItemCommit; + committer: ReposCompareCommitsResponseCommitsItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseBaseCommitParentsItem = { + sha: string; + url: string; +}; +declare 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; +}; +declare type ReposCompareCommitsResponseBaseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type ReposCompareCommitsResponseBaseCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposCompareCommitsResponseBaseCommitCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseBaseCommitCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type ReposCompareCommitsResponseBaseCommitCommit = { + author: ReposCompareCommitsResponseBaseCommitCommitAuthor; + comment_count: number; + committer: ReposCompareCommitsResponseBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseBaseCommitCommitTree; + url: string; + verification: ReposCompareCommitsResponseBaseCommitCommitVerification; +}; +declare 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; +}; +declare type ReposCompareCommitsResponseBaseCommit = { + author: ReposCompareCommitsResponseBaseCommitAuthor; + comments_url: string; + commit: ReposCompareCommitsResponseBaseCommitCommit; + committer: ReposCompareCommitsResponseBaseCommitCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposAddProtectedBranchRequiredSignaturesResponse = { + enabled: boolean; + url: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type ReposAddProtectedBranchAdminEnforcementResponse = { + enabled: boolean; + url: string; +}; +declare type ReposAddDeployKeyResponse = { + created_at: string; + id: number; + key: string; + read_only: boolean; + title: string; + url: string; + verified: boolean; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ReposAddCollaboratorResponse = { + created_at: string; + html_url: string; + id: number; + invitee: ReposAddCollaboratorResponseInvitee; + inviter: ReposAddCollaboratorResponseInviter; + permissions: string; + repository: ReposAddCollaboratorResponseRepository; + url: string; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionLegacyResponseItemUser; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionInOrgResponseItemUser; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentLegacyResponseItemUser; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentInOrgResponseItemUser; +}; +declare 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; +}; +declare type ReactionsListForTeamDiscussionCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentResponseItemUser; +}; +declare 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; +}; +declare type ReactionsListForTeamDiscussionResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionResponseItemUser; +}; +declare 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; +}; +declare type ReactionsListForPullRequestReviewCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForPullRequestReviewCommentResponseItemUser; +}; +declare 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; +}; +declare type ReactionsListForIssueCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForIssueCommentResponseItemUser; +}; +declare 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; +}; +declare type ReactionsListForIssueResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForIssueResponseItemUser; +}; +declare 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; +}; +declare type ReactionsListForCommitCommentResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForCommitCommentResponseItemUser; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionLegacyResponseUser; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionInOrgResponseUser; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentLegacyResponseUser; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentInOrgResponseUser; +}; +declare 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; +}; +declare type ReactionsCreateForTeamDiscussionCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentResponseUser; +}; +declare 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; +}; +declare type ReactionsCreateForTeamDiscussionResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionResponseUser; +}; +declare 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; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForPullRequestReviewCommentResponseUser; +}; +declare 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; +}; +declare type ReactionsCreateForIssueCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForIssueCommentResponseUser; +}; +declare 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; +}; +declare type ReactionsCreateForIssueResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForIssueResponseUser; +}; +declare 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; +}; +declare type ReactionsCreateForCommitCommentResponse = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsCreateForCommitCommentResponseUser; +}; +declare type RateLimitGetResponseResourcesSearch = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseResourcesIntegrationManifest = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseResourcesGraphql = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseResourcesCore = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseResources = { + core: RateLimitGetResponseResourcesCore; + graphql: RateLimitGetResponseResourcesGraphql; + integration_manifest: RateLimitGetResponseResourcesIntegrationManifest; + search: RateLimitGetResponseResourcesSearch; +}; +declare type RateLimitGetResponseRate = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponse = { + rate: RateLimitGetResponseRate; + resources: RateLimitGetResponseResources; +}; +declare 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; +}; +declare type PullsUpdateReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsUpdateReviewResponseLinksHtml = { + href: string; +}; +declare type PullsUpdateReviewResponseLinks = { + html: PullsUpdateReviewResponseLinksHtml; + pull_request: PullsUpdateReviewResponseLinksPullRequest; +}; +declare 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; +}; +declare 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; +}; +declare type PullsUpdateCommentResponseLinksSelf = { + href: string; +}; +declare type PullsUpdateCommentResponseLinksPullRequest = { + href: string; +}; +declare type PullsUpdateCommentResponseLinksHtml = { + href: string; +}; +declare type PullsUpdateCommentResponseLinks = { + html: PullsUpdateCommentResponseLinksHtml; + pull_request: PullsUpdateCommentResponseLinksPullRequest; + self: PullsUpdateCommentResponseLinksSelf; +}; +declare 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; +}; +declare type PullsUpdateBranchResponse = { + message: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type PullsUpdateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type PullsUpdateResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsUpdateResponseHead = { + label: string; + ref: string; + repo: PullsUpdateResponseHeadRepo; + sha: string; + user: PullsUpdateResponseHeadUser; +}; +declare 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; +}; +declare type PullsUpdateResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsUpdateResponseBase = { + label: string; + ref: string; + repo: PullsUpdateResponseBaseRepo; + sha: string; + user: PullsUpdateResponseBaseUser; +}; +declare 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; +}; +declare 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; +}; +declare type PullsUpdateResponseLinksStatuses = { + href: string; +}; +declare type PullsUpdateResponseLinksSelf = { + href: string; +}; +declare type PullsUpdateResponseLinksReviewComments = { + href: string; +}; +declare type PullsUpdateResponseLinksReviewComment = { + href: string; +}; +declare type PullsUpdateResponseLinksIssue = { + href: string; +}; +declare type PullsUpdateResponseLinksHtml = { + href: string; +}; +declare type PullsUpdateResponseLinksCommits = { + href: string; +}; +declare type PullsUpdateResponseLinksComments = { + href: string; +}; +declare type PullsUpdateResponseLinks = { + comments: PullsUpdateResponseLinksComments; + commits: PullsUpdateResponseLinksCommits; + html: PullsUpdateResponseLinksHtml; + issue: PullsUpdateResponseLinksIssue; + review_comment: PullsUpdateResponseLinksReviewComment; + review_comments: PullsUpdateResponseLinksReviewComments; + self: PullsUpdateResponseLinksSelf; + statuses: PullsUpdateResponseLinksStatuses; +}; +declare 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; +}; +declare 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; +}; +declare type PullsSubmitReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsSubmitReviewResponseLinksHtml = { + href: string; +}; +declare type PullsSubmitReviewResponseLinks = { + html: PullsSubmitReviewResponseLinksHtml; + pull_request: PullsSubmitReviewResponseLinksPullRequest; +}; +declare type PullsSubmitReviewResponse = { + _links: PullsSubmitReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + submitted_at: string; + user: PullsSubmitReviewResponseUser; +}; +declare type PullsMergeResponse = { + merged: boolean; + message: string; + sha: string; +}; +declare 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; +}; +declare type PullsListReviewsResponseItemLinksPullRequest = { + href: string; +}; +declare type PullsListReviewsResponseItemLinksHtml = { + href: string; +}; +declare type PullsListReviewsResponseItemLinks = { + html: PullsListReviewsResponseItemLinksHtml; + pull_request: PullsListReviewsResponseItemLinksPullRequest; +}; +declare type PullsListReviewsResponseItem = { + _links: PullsListReviewsResponseItemLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + submitted_at: string; + user: PullsListReviewsResponseItemUser; +}; +declare 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; +}; +declare 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; +}; +declare type PullsListReviewRequestsResponse = { + teams: Array; + users: Array; +}; +declare 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; +}; +declare type PullsListCommitsResponseItemParentsItem = { + sha: string; + url: string; +}; +declare 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; +}; +declare type PullsListCommitsResponseItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type PullsListCommitsResponseItemCommitTree = { + sha: string; + url: string; +}; +declare type PullsListCommitsResponseItemCommitCommitter = { + date: string; + email: string; + name: string; +}; +declare type PullsListCommitsResponseItemCommitAuthor = { + date: string; + email: string; + name: string; +}; +declare type PullsListCommitsResponseItemCommit = { + author: PullsListCommitsResponseItemCommitAuthor; + comment_count: number; + committer: PullsListCommitsResponseItemCommitCommitter; + message: string; + tree: PullsListCommitsResponseItemCommitTree; + url: string; + verification: PullsListCommitsResponseItemCommitVerification; +}; +declare 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; +}; +declare type PullsListCommitsResponseItem = { + author: PullsListCommitsResponseItemAuthor; + comments_url: string; + commit: PullsListCommitsResponseItemCommit; + committer: PullsListCommitsResponseItemCommitter; + html_url: string; + node_id: string; + parents: Array; + sha: string; + url: string; +}; +declare 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; +}; +declare type PullsListCommentsForRepoResponseItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsForRepoResponseItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsForRepoResponseItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsForRepoResponseItemLinks = { + html: PullsListCommentsForRepoResponseItemLinksHtml; + pull_request: PullsListCommentsForRepoResponseItemLinksPullRequest; + self: PullsListCommentsForRepoResponseItemLinksSelf; +}; +declare 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; +}; +declare 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; +}; +declare type PullsListCommentsResponseItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsResponseItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsResponseItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsResponseItemLinks = { + html: PullsListCommentsResponseItemLinksHtml; + pull_request: PullsListCommentsResponseItemLinksPullRequest; + self: PullsListCommentsResponseItemLinksSelf; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type PullsListResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type PullsListResponseItemHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsListResponseItemHead = { + label: string; + ref: string; + repo: PullsListResponseItemHeadRepo; + sha: string; + user: PullsListResponseItemHeadUser; +}; +declare 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; +}; +declare type PullsListResponseItemBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsListResponseItemBase = { + label: string; + ref: string; + repo: PullsListResponseItemBaseRepo; + sha: string; + user: PullsListResponseItemBaseUser; +}; +declare 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; +}; +declare 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; +}; +declare type PullsListResponseItemLinksStatuses = { + href: string; +}; +declare type PullsListResponseItemLinksSelf = { + href: string; +}; +declare type PullsListResponseItemLinksReviewComments = { + href: string; +}; +declare type PullsListResponseItemLinksReviewComment = { + href: string; +}; +declare type PullsListResponseItemLinksIssue = { + href: string; +}; +declare type PullsListResponseItemLinksHtml = { + href: string; +}; +declare type PullsListResponseItemLinksCommits = { + href: string; +}; +declare type PullsListResponseItemLinksComments = { + href: string; +}; +declare type PullsListResponseItemLinks = { + comments: PullsListResponseItemLinksComments; + commits: PullsListResponseItemLinksCommits; + html: PullsListResponseItemLinksHtml; + issue: PullsListResponseItemLinksIssue; + review_comment: PullsListResponseItemLinksReviewComment; + review_comments: PullsListResponseItemLinksReviewComments; + self: PullsListResponseItemLinksSelf; + statuses: PullsListResponseItemLinksStatuses; +}; +declare 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; +}; +declare 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; +}; +declare type PullsGetReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsGetReviewResponseLinksHtml = { + href: string; +}; +declare type PullsGetReviewResponseLinks = { + html: PullsGetReviewResponseLinksHtml; + pull_request: PullsGetReviewResponseLinksPullRequest; +}; +declare type PullsGetReviewResponse = { + _links: PullsGetReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; + id: number; + node_id: string; + pull_request_url: string; + state: string; + submitted_at: string; + user: PullsGetReviewResponseUser; +}; +declare 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; +}; +declare type PullsGetCommentsForReviewResponseItemLinksSelf = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseItemLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseItemLinksHtml = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseItemLinks = { + html: PullsGetCommentsForReviewResponseItemLinksHtml; + pull_request: PullsGetCommentsForReviewResponseItemLinksPullRequest; + self: PullsGetCommentsForReviewResponseItemLinksSelf; +}; +declare 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; +}; +declare 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; +}; +declare type PullsGetCommentResponseLinksSelf = { + href: string; +}; +declare type PullsGetCommentResponseLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentResponseLinksHtml = { + href: string; +}; +declare type PullsGetCommentResponseLinks = { + html: PullsGetCommentResponseLinksHtml; + pull_request: PullsGetCommentResponseLinksPullRequest; + self: PullsGetCommentResponseLinksSelf; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type PullsGetResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type PullsGetResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsGetResponseHead = { + label: string; + ref: string; + repo: PullsGetResponseHeadRepo; + sha: string; + user: PullsGetResponseHeadUser; +}; +declare 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; +}; +declare type PullsGetResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsGetResponseBase = { + label: string; + ref: string; + repo: PullsGetResponseBaseRepo; + sha: string; + user: PullsGetResponseBaseUser; +}; +declare 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; +}; +declare 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; +}; +declare type PullsGetResponseLinksStatuses = { + href: string; +}; +declare type PullsGetResponseLinksSelf = { + href: string; +}; +declare type PullsGetResponseLinksReviewComments = { + href: string; +}; +declare type PullsGetResponseLinksReviewComment = { + href: string; +}; +declare type PullsGetResponseLinksIssue = { + href: string; +}; +declare type PullsGetResponseLinksHtml = { + href: string; +}; +declare type PullsGetResponseLinksCommits = { + href: string; +}; +declare type PullsGetResponseLinksComments = { + href: string; +}; +declare type PullsGetResponseLinks = { + comments: PullsGetResponseLinksComments; + commits: PullsGetResponseLinksCommits; + html: PullsGetResponseLinksHtml; + issue: PullsGetResponseLinksIssue; + review_comment: PullsGetResponseLinksReviewComment; + review_comments: PullsGetResponseLinksReviewComments; + self: PullsGetResponseLinksSelf; + statuses: PullsGetResponseLinksStatuses; +}; +declare 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; +}; +declare 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; +}; +declare type PullsDismissReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsDismissReviewResponseLinksHtml = { + href: string; +}; +declare type PullsDismissReviewResponseLinks = { + html: PullsDismissReviewResponseLinksHtml; + pull_request: PullsDismissReviewResponseLinksPullRequest; +}; +declare 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; +}; +declare 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; +}; +declare type PullsDeletePendingReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsDeletePendingReviewResponseLinksHtml = { + href: string; +}; +declare type PullsDeletePendingReviewResponseLinks = { + html: PullsDeletePendingReviewResponseLinksHtml; + pull_request: PullsDeletePendingReviewResponseLinksPullRequest; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type PullsCreateReviewRequestResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type PullsCreateReviewRequestResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateReviewRequestResponseHead = { + label: string; + ref: string; + repo: PullsCreateReviewRequestResponseHeadRepo; + sha: string; + user: PullsCreateReviewRequestResponseHeadUser; +}; +declare 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; +}; +declare type PullsCreateReviewRequestResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateReviewRequestResponseBase = { + label: string; + ref: string; + repo: PullsCreateReviewRequestResponseBaseRepo; + sha: string; + user: PullsCreateReviewRequestResponseBaseUser; +}; +declare 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; +}; +declare 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; +}; +declare type PullsCreateReviewRequestResponseLinksStatuses = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksSelf = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksReviewComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksReviewComment = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksIssue = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksHtml = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksCommits = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinksComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseLinks = { + comments: PullsCreateReviewRequestResponseLinksComments; + commits: PullsCreateReviewRequestResponseLinksCommits; + html: PullsCreateReviewRequestResponseLinksHtml; + issue: PullsCreateReviewRequestResponseLinksIssue; + review_comment: PullsCreateReviewRequestResponseLinksReviewComment; + review_comments: PullsCreateReviewRequestResponseLinksReviewComments; + self: PullsCreateReviewRequestResponseLinksSelf; + statuses: PullsCreateReviewRequestResponseLinksStatuses; +}; +declare 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; + 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; +}; +declare 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; +}; +declare type PullsCreateReviewCommentReplyResponseLinksSelf = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseLinksHtml = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseLinks = { + html: PullsCreateReviewCommentReplyResponseLinksHtml; + pull_request: PullsCreateReviewCommentReplyResponseLinksPullRequest; + self: PullsCreateReviewCommentReplyResponseLinksSelf; +}; +declare 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; +}; +declare 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; +}; +declare type PullsCreateReviewResponseLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewResponseLinksHtml = { + href: string; +}; +declare type PullsCreateReviewResponseLinks = { + html: PullsCreateReviewResponseLinksHtml; + pull_request: PullsCreateReviewResponseLinksPullRequest; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type PullsCreateFromIssueResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type PullsCreateFromIssueResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateFromIssueResponseHead = { + label: string; + ref: string; + repo: PullsCreateFromIssueResponseHeadRepo; + sha: string; + user: PullsCreateFromIssueResponseHeadUser; +}; +declare 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; +}; +declare type PullsCreateFromIssueResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateFromIssueResponseBase = { + label: string; + ref: string; + repo: PullsCreateFromIssueResponseBaseRepo; + sha: string; + user: PullsCreateFromIssueResponseBaseUser; +}; +declare 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; +}; +declare 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; +}; +declare type PullsCreateFromIssueResponseLinksStatuses = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksSelf = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksReviewComments = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksReviewComment = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksIssue = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksHtml = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksCommits = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinksComments = { + href: string; +}; +declare type PullsCreateFromIssueResponseLinks = { + comments: PullsCreateFromIssueResponseLinksComments; + commits: PullsCreateFromIssueResponseLinksCommits; + html: PullsCreateFromIssueResponseLinksHtml; + issue: PullsCreateFromIssueResponseLinksIssue; + review_comment: PullsCreateFromIssueResponseLinksReviewComment; + review_comments: PullsCreateFromIssueResponseLinksReviewComments; + self: PullsCreateFromIssueResponseLinksSelf; + statuses: PullsCreateFromIssueResponseLinksStatuses; +}; +declare 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; + 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; +}; +declare 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; +}; +declare type PullsCreateCommentReplyResponseLinksSelf = { + href: string; +}; +declare type PullsCreateCommentReplyResponseLinksPullRequest = { + href: string; +}; +declare type PullsCreateCommentReplyResponseLinksHtml = { + href: string; +}; +declare type PullsCreateCommentReplyResponseLinks = { + html: PullsCreateCommentReplyResponseLinksHtml; + pull_request: PullsCreateCommentReplyResponseLinksPullRequest; + self: PullsCreateCommentReplyResponseLinksSelf; +}; +declare 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; +}; +declare 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; +}; +declare type PullsCreateCommentResponseLinksSelf = { + href: string; +}; +declare type PullsCreateCommentResponseLinksPullRequest = { + href: string; +}; +declare type PullsCreateCommentResponseLinksHtml = { + href: string; +}; +declare type PullsCreateCommentResponseLinks = { + html: PullsCreateCommentResponseLinksHtml; + pull_request: PullsCreateCommentResponseLinksPullRequest; + self: PullsCreateCommentResponseLinksSelf; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type PullsCreateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type PullsCreateResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateResponseHead = { + label: string; + ref: string; + repo: PullsCreateResponseHeadRepo; + sha: string; + user: PullsCreateResponseHeadUser; +}; +declare 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; +}; +declare type PullsCreateResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type PullsCreateResponseBase = { + label: string; + ref: string; + repo: PullsCreateResponseBaseRepo; + sha: string; + user: PullsCreateResponseBaseUser; +}; +declare 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; +}; +declare 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; +}; +declare type PullsCreateResponseLinksStatuses = { + href: string; +}; +declare type PullsCreateResponseLinksSelf = { + href: string; +}; +declare type PullsCreateResponseLinksReviewComments = { + href: string; +}; +declare type PullsCreateResponseLinksReviewComment = { + href: string; +}; +declare type PullsCreateResponseLinksIssue = { + href: string; +}; +declare type PullsCreateResponseLinksHtml = { + href: string; +}; +declare type PullsCreateResponseLinksCommits = { + href: string; +}; +declare type PullsCreateResponseLinksComments = { + href: string; +}; +declare type PullsCreateResponseLinks = { + comments: PullsCreateResponseLinksComments; + commits: PullsCreateResponseLinksCommits; + html: PullsCreateResponseLinksHtml; + issue: PullsCreateResponseLinksIssue; + review_comment: PullsCreateResponseLinksReviewComment; + review_comments: PullsCreateResponseLinksReviewComments; + self: PullsCreateResponseLinksSelf; + statuses: PullsCreateResponseLinksStatuses; +}; +declare 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; +}; +declare type ProjectsUpdateColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ProjectsReviewUserPermissionLevelResponse = { + permission: string; + user: ProjectsReviewUserPermissionLevelResponseUser; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ProjectsListColumnsResponseItem = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ProjectsGetColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ProjectsCreateColumnResponse = { + cards_url: string; + created_at: string; + id: number; + name: string; + node_id: string; + project_url: string; + updated_at: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type OrgsUpdateMembershipResponse = { + organization: OrgsUpdateMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsUpdateMembershipResponseUser; +}; +declare type OrgsUpdateHookResponseConfig = { + content_type: string; + url: string; +}; +declare type OrgsUpdateHookResponse = { + active: boolean; + config: OrgsUpdateHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; +}; +declare type OrgsUpdateResponsePlan = { + name: string; + private_repos: number; + space: number; +}; +declare type OrgsUpdateResponse = { + avatar_url: string; + billing_email: string; + blog: string; + collaborators: number; + company: string; + created_at: string; + default_repository_permission: 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_internal_repositories: boolean; + members_can_create_private_repositories: boolean; + members_can_create_public_repositories: boolean; + 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; +}; +declare type OrgsRemoveOutsideCollaboratorResponse = { + documentation_url: string; + message: string; +}; +declare 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; +}; +declare 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; +}; +declare type OrgsListPendingInvitationsResponseItem = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: OrgsListPendingInvitationsResponseItemInviter; + login: string; + role: string; + team_count: number; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type OrgsListMembershipsResponseItem = { + organization: OrgsListMembershipsResponseItemOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsListMembershipsResponseItemUser; +}; +declare 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; +}; +declare 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; +}; +declare type OrgsListInstallationsResponseInstallationsItemPermissions = { + deployments: string; + metadata: string; + pull_requests: string; + statuses: string; +}; +declare 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; +}; +declare 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; +}; +declare type OrgsListInstallationsResponse = { + installations: Array; + total_count: number; +}; +declare type OrgsListHooksResponseItemConfig = { + content_type: string; + url: string; +}; +declare type OrgsListHooksResponseItem = { + active: boolean; + config: OrgsListHooksResponseItemConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponse = { + organization: OrgsGetMembershipForAuthenticatedUserResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsGetMembershipForAuthenticatedUserResponseUser; +}; +declare 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; +}; +declare 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; +}; +declare type OrgsGetMembershipResponse = { + organization: OrgsGetMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsGetMembershipResponseUser; +}; +declare type OrgsGetHookResponseConfig = { + content_type: string; + url: string; +}; +declare type OrgsGetHookResponse = { + active: boolean; + config: OrgsGetHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; +}; +declare type OrgsGetResponsePlan = { + name: string; + private_repos: number; + space: number; + filled_seats?: number; + seats?: number; +}; +declare type OrgsGetResponse = { + avatar_url: string; + billing_email?: string; + blog: string; + collaborators?: number; + company: string; + created_at: string; + default_repository_permission?: 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_internal_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_public_repositories?: boolean; + 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; +}; +declare 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; +}; +declare type OrgsCreateInvitationResponse = { + created_at: string; + email: string; + id: number; + invitation_team_url: string; + inviter: OrgsCreateInvitationResponseInviter; + login: string; + role: string; + team_count: number; +}; +declare type OrgsCreateHookResponseConfig = { + content_type: string; + url: string; +}; +declare type OrgsCreateHookResponse = { + active: boolean; + config: OrgsCreateHookResponseConfig; + created_at: string; + events: Array; + id: number; + name: string; + ping_url: string; + updated_at: string; + url: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorResponse = { + documentation_url: string; + message: string; +}; +declare 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; +}; +declare 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; +}; +declare type OrgsAddOrUpdateMembershipResponse = { + organization: OrgsAddOrUpdateMembershipResponseOrganization; + organization_url: string; + role: string; + state: string; + url: string; + user: OrgsAddOrUpdateMembershipResponseUser; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type OauthAuthorizationsResetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare 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; +}; +declare type OauthAuthorizationsListGrantsResponseItemApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsListGrantsResponseItem = { + app: OauthAuthorizationsListGrantsResponseItemApp; + created_at: string; + id: number; + scopes: Array; + updated_at: string; + url: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseItemApp = { + client_id: string; + name: string; + url: string; +}; +declare 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; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare 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; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare 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; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare 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; +}; +declare type OauthAuthorizationsGetGrantResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type OauthAuthorizationsGetGrantResponse = { + app: OauthAuthorizationsGetGrantResponseApp; + created_at: string; + id: number; + scopes: Array; + updated_at: string; + url: string; +}; +declare type OauthAuthorizationsGetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare 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; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type OauthAuthorizationsCheckAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type MigrationsStartForOrgResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare 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; +}; +declare 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; +}; +declare type MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare 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; +}; +declare type MigrationsStartForAuthenticatedUserResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsStartForAuthenticatedUserResponseOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; +}; +declare 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; +}; +declare type MigrationsMapCommitAuthorResponse = { + email: string; + id: number; + import_url: string; + name: string; + remote_id: string; + remote_name: string; + url: string; +}; +declare type MigrationsListReposForUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type MigrationsListReposForUserResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsListReposForUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type MigrationsListReposForUserResponseItem = { + 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: MigrationsListReposForUserResponseItemLicense; + 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: MigrationsListReposForUserResponseItemOwner; + permissions: MigrationsListReposForUserResponseItemPermissions; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type MigrationsListReposForOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare type MigrationsListReposForOrgResponseItemOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type MigrationsListReposForOrgResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type MigrationsListReposForOrgResponseItem = { + 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: MigrationsListReposForOrgResponseItemLicense; + 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: MigrationsListReposForOrgResponseItemOwner; + permissions: MigrationsListReposForOrgResponseItemPermissions; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type MigrationsListForOrgResponseItemRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare 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; +}; +declare 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; +}; +declare type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare 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; +}; +declare type MigrationsListForAuthenticatedUserResponseItem = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsListForAuthenticatedUserResponseItemOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; +}; +declare type MigrationsGetStatusForOrgResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare 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; +}; +declare 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; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare 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; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; + id: number; + lock_repositories: boolean; + owner: MigrationsGetStatusForAuthenticatedUserResponseOwner; + repositories: Array; + state: string; + updated_at: string; + url: string; +}; +declare type MigrationsGetLargeFilesResponseItem = { + oid: string; + path: string; + ref_name: string; + size: number; +}; +declare 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; +}; +declare type MigrationsGetCommitAuthorsResponseItem = { + email: string; + id: number; + import_url: string; + name: string; + remote_id: string; + remote_name: string; + url: string; +}; +declare type MetaGetResponseSshKeyFingerprints = { + MD5_DSA: string; + MD5_RSA: string; + SHA256_DSA: string; + SHA256_RSA: string; +}; +declare type MetaGetResponse = { + api: Array; + git: Array; + hooks: Array; + importer: Array; + pages: Array; + ssh_key_fingerprints: MetaGetResponseSshKeyFingerprints; + verifiable_password_authentication: boolean; + web: Array; +}; +declare type LicensesListCommonlyUsedResponseItem = { + key: string; + name: string; + node_id?: string; + spdx_id: string; + url: string; +}; +declare type LicensesListResponseItem = { + key: string; + name: string; + node_id?: string; + spdx_id: string; + url: string; +}; +declare type LicensesGetForRepoResponseLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare type LicensesGetForRepoResponseLinks = { + git: string; + html: string; + self: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesUpdateLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type IssuesUpdateCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesUpdateCommentResponseUser; +}; +declare 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; +}; +declare type IssuesUpdateResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesUpdateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesReplaceLabelsResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesRemoveLabelResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type IssuesRemoveAssigneesResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesRemoveAssigneesResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesListLabelsOnIssueResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesListLabelsForRepoResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare type IssuesListLabelsForMilestoneResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type IssuesListForRepoResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesListForRepoResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesListForOrgResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type IssuesListForOrgResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesListForOrgResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesListForAuthenticatedUserResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type IssuesListForAuthenticatedUserResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesListForAuthenticatedUserResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesListEventsForTimelineResponseItem = { + actor: IssuesListEventsForTimelineResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + node_id: string; + url: string; +}; +declare 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; +}; +declare type IssuesListEventsForRepoResponseItemIssuePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesListEventsForRepoResponseItemIssueLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesListEventsForRepoResponseItem = { + actor: IssuesListEventsForRepoResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + issue: IssuesListEventsForRepoResponseItemIssue; + node_id: string; + url: string; +}; +declare 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; +}; +declare type IssuesListEventsResponseItem = { + actor: IssuesListEventsResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + node_id: string; + url: string; +}; +declare 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; +}; +declare type IssuesListCommentsForRepoResponseItem = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesListCommentsForRepoResponseItemUser; +}; +declare 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; +}; +declare type IssuesListCommentsResponseItem = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesListCommentsResponseItemUser; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesListResponseItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type IssuesListResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesListResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesGetLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type IssuesGetEventResponseIssuePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesGetEventResponseIssueLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesGetEventResponse = { + actor: IssuesGetEventResponseActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; + id: number; + issue: IssuesGetEventResponseIssue; + node_id: string; + url: string; +}; +declare 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; +}; +declare type IssuesGetCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesGetCommentResponseUser; +}; +declare 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; +}; +declare type IssuesGetResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesGetResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesCreateLabelResponse = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type IssuesCreateCommentResponse = { + body: string; + created_at: string; + html_url: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: IssuesCreateCommentResponseUser; +}; +declare 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; +}; +declare type IssuesCreateResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesCreateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesAddLabelsResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare type IssuesAddAssigneesResponsePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type IssuesAddAssigneesResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type InteractionsGetRestrictionsForRepoResponse = { + expires_at: string; + limit: string; + origin: string; +}; +declare type InteractionsGetRestrictionsForOrgResponse = { + expires_at: string; + limit: string; + origin: string; +}; +declare type InteractionsAddOrUpdateRestrictionsForRepoResponse = { + expires_at: string; + limit: string; + origin: string; +}; +declare type InteractionsAddOrUpdateRestrictionsForOrgResponse = { + expires_at: string; + limit: string; + origin: string; +}; +declare type GitignoreGetTemplateResponse = { + name: string; + source: string; +}; +declare type GitUpdateRefResponseObject = { + sha: string; + type: string; + url: string; +}; +declare type GitUpdateRefResponse = { + node_id: string; + object: GitUpdateRefResponseObject; + ref: string; + url: string; +}; +declare type GitListMatchingRefsResponseItemObject = { + sha: string; + type: string; + url: string; +}; +declare type GitListMatchingRefsResponseItem = { + node_id: string; + object: GitListMatchingRefsResponseItemObject; + ref: string; + url: string; +}; +declare type GitGetTreeResponseTreeItem = { + mode: string; + path: string; + sha: string; + size?: number; + type: string; + url: string; +}; +declare type GitGetTreeResponse = { + sha: string; + tree: Array; + truncated: boolean; + url: string; +}; +declare type GitGetTagResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type GitGetTagResponseTagger = { + date: string; + email: string; + name: string; +}; +declare type GitGetTagResponseObject = { + sha: string; + type: string; + url: string; +}; +declare type GitGetTagResponse = { + message: string; + node_id: string; + object: GitGetTagResponseObject; + sha: string; + tag: string; + tagger: GitGetTagResponseTagger; + url: string; + verification: GitGetTagResponseVerification; +}; +declare type GitGetRefResponseObject = { + sha: string; + type: string; + url: string; +}; +declare type GitGetRefResponse = { + node_id: string; + object: GitGetRefResponseObject; + ref: string; + url: string; +}; +declare type GitGetCommitResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type GitGetCommitResponseTree = { + sha: string; + url: string; +}; +declare type GitGetCommitResponseParentsItem = { + sha: string; + url: string; +}; +declare type GitGetCommitResponseCommitter = { + date: string; + email: string; + name: string; +}; +declare type GitGetCommitResponseAuthor = { + date: string; + email: string; + name: string; +}; +declare type GitGetCommitResponse = { + author: GitGetCommitResponseAuthor; + committer: GitGetCommitResponseCommitter; + message: string; + parents: Array; + sha: string; + tree: GitGetCommitResponseTree; + url: string; + verification: GitGetCommitResponseVerification; +}; +declare type GitGetBlobResponse = { + content: string; + encoding: string; + sha: string; + size: number; + url: string; +}; +declare type GitCreateTreeResponseTreeItem = { + mode: string; + path: string; + sha: string; + size: number; + type: string; + url: string; +}; +declare type GitCreateTreeResponse = { + sha: string; + tree: Array; + url: string; +}; +declare type GitCreateTagResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type GitCreateTagResponseTagger = { + date: string; + email: string; + name: string; +}; +declare type GitCreateTagResponseObject = { + sha: string; + type: string; + url: string; +}; +declare type GitCreateTagResponse = { + message: string; + node_id: string; + object: GitCreateTagResponseObject; + sha: string; + tag: string; + tagger: GitCreateTagResponseTagger; + url: string; + verification: GitCreateTagResponseVerification; +}; +declare type GitCreateRefResponseObject = { + sha: string; + type: string; + url: string; +}; +declare type GitCreateRefResponse = { + node_id: string; + object: GitCreateRefResponseObject; + ref: string; + url: string; +}; +declare type GitCreateCommitResponseVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; +}; +declare type GitCreateCommitResponseTree = { + sha: string; + url: string; +}; +declare type GitCreateCommitResponseParentsItem = { + sha: string; + url: string; +}; +declare type GitCreateCommitResponseCommitter = { + date: string; + email: string; + name: string; +}; +declare type GitCreateCommitResponseAuthor = { + date: string; + email: string; + name: string; +}; +declare type GitCreateCommitResponse = { + author: GitCreateCommitResponseAuthor; + committer: GitCreateCommitResponseCommitter; + message: string; + node_id: string; + parents: Array; + sha: string; + tree: GitCreateCommitResponseTree; + url: string; + verification: GitCreateCommitResponseVerification; +}; +declare type GitCreateBlobResponse = { + sha: string; + url: string; +}; +declare 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; +}; +declare type GistsUpdateCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsUpdateCommentResponseUser; +}; +declare 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; +}; +declare 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; +}; +declare type GistsUpdateResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; +}; +declare type GistsUpdateResponseHistoryItem = { + change_status: GistsUpdateResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsUpdateResponseHistoryItemUser; + version: string; +}; +declare 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; +}; +declare type GistsUpdateResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsUpdateResponseForksItemUser; +}; +declare type GistsUpdateResponseFilesNewFileTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsUpdateResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsUpdateResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsUpdateResponseFilesHelloWorldMd = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsUpdateResponseFiles = { + "hello_world.md": GistsUpdateResponseFilesHelloWorldMd; + "hello_world.py": GistsUpdateResponseFilesHelloWorldPy; + "hello_world.rb": GistsUpdateResponseFilesHelloWorldRb; + "new_file.txt": GistsUpdateResponseFilesNewFileTxt; +}; +declare 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; +}; +declare 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; +}; +declare type GistsListStarredResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; +}; +declare type GistsListStarredResponseItemFiles = { + "hello_world.rb": GistsListStarredResponseItemFilesHelloWorldRb; +}; +declare 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; +}; +declare 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; +}; +declare type GistsListPublicForUserResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; +}; +declare type GistsListPublicForUserResponseItemFiles = { + "hello_world.rb": GistsListPublicForUserResponseItemFilesHelloWorldRb; +}; +declare 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; +}; +declare 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; +}; +declare type GistsListPublicResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; +}; +declare type GistsListPublicResponseItemFiles = { + "hello_world.rb": GistsListPublicResponseItemFilesHelloWorldRb; +}; +declare 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; +}; +declare 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; +}; +declare type GistsListForksResponseItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsListForksResponseItemUser; +}; +declare 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; +}; +declare type GistsListCommitsResponseItemChangeStatus = { + additions: number; + deletions: number; + total: number; +}; +declare type GistsListCommitsResponseItem = { + change_status: GistsListCommitsResponseItemChangeStatus; + committed_at: string; + url: string; + user: GistsListCommitsResponseItemUser; + version: string; +}; +declare 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; +}; +declare type GistsListCommentsResponseItem = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsListCommentsResponseItemUser; +}; +declare 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; +}; +declare type GistsListResponseItemFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; +}; +declare type GistsListResponseItemFiles = { + "hello_world.rb": GistsListResponseItemFilesHelloWorldRb; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type GistsGetRevisionResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; +}; +declare type GistsGetRevisionResponseHistoryItem = { + change_status: GistsGetRevisionResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsGetRevisionResponseHistoryItemUser; + version: string; +}; +declare 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; +}; +declare type GistsGetRevisionResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsGetRevisionResponseForksItemUser; +}; +declare type GistsGetRevisionResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetRevisionResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetRevisionResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetRevisionResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetRevisionResponseFiles = { + "hello_world.py": GistsGetRevisionResponseFilesHelloWorldPy; + "hello_world.rb": GistsGetRevisionResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsGetRevisionResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsGetRevisionResponseFilesHelloWorldRubyTxt; +}; +declare 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; +}; +declare 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; +}; +declare type GistsGetCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsGetCommentResponseUser; +}; +declare 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; +}; +declare 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; +}; +declare type GistsGetResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; +}; +declare type GistsGetResponseHistoryItem = { + change_status: GistsGetResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsGetResponseHistoryItemUser; + version: string; +}; +declare 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; +}; +declare type GistsGetResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsGetResponseForksItemUser; +}; +declare type GistsGetResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsGetResponseFiles = { + "hello_world.py": GistsGetResponseFilesHelloWorldPy; + "hello_world.rb": GistsGetResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsGetResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsGetResponseFilesHelloWorldRubyTxt; +}; +declare 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; +}; +declare 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; +}; +declare type GistsForkResponseFilesHelloWorldRb = { + filename: string; + language: string; + raw_url: string; + size: number; + type: string; +}; +declare type GistsForkResponseFiles = { + "hello_world.rb": GistsForkResponseFilesHelloWorldRb; +}; +declare 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; +}; +declare 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; +}; +declare type GistsCreateCommentResponse = { + body: string; + created_at: string; + id: number; + node_id: string; + updated_at: string; + url: string; + user: GistsCreateCommentResponseUser; +}; +declare 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; +}; +declare 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; +}; +declare type GistsCreateResponseHistoryItemChangeStatus = { + additions: number; + deletions: number; + total: number; +}; +declare type GistsCreateResponseHistoryItem = { + change_status: GistsCreateResponseHistoryItemChangeStatus; + committed_at: string; + url: string; + user: GistsCreateResponseHistoryItemUser; + version: string; +}; +declare 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; +}; +declare type GistsCreateResponseForksItem = { + created_at: string; + id: string; + updated_at: string; + url: string; + user: GistsCreateResponseForksItemUser; +}; +declare type GistsCreateResponseFilesHelloWorldRubyTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsCreateResponseFilesHelloWorldPythonTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsCreateResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsCreateResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + type: string; +}; +declare type GistsCreateResponseFiles = { + "hello_world.py": GistsCreateResponseFilesHelloWorldPy; + "hello_world.rb": GistsCreateResponseFilesHelloWorldRb; + "hello_world_python.txt": GistsCreateResponseFilesHelloWorldPythonTxt; + "hello_world_ruby.txt": GistsCreateResponseFilesHelloWorldRubyTxt; +}; +declare 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; +}; +declare type CodesOfConductListConductCodesResponseItem = { + key: string; + name: string; + url: string; +}; +declare type CodesOfConductGetForRepoResponse = { + body: string; + key: string; + name: string; + url: string; +}; +declare type CodesOfConductGetConductCodeResponse = { + body: string; + key: string; + name: string; + url: string; +}; +declare type ChecksUpdateResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksUpdateResponsePullRequestsItemHead = { + ref: string; + repo: ChecksUpdateResponsePullRequestsItemHeadRepo; + sha: string; +}; +declare type ChecksUpdateResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksUpdateResponsePullRequestsItemBase = { + ref: string; + repo: ChecksUpdateResponsePullRequestsItemBaseRepo; + sha: string; +}; +declare type ChecksUpdateResponsePullRequestsItem = { + base: ChecksUpdateResponsePullRequestsItemBase; + head: ChecksUpdateResponsePullRequestsItemHead; + id: number; + number: number; + url: string; +}; +declare type ChecksUpdateResponseOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; +}; +declare type ChecksUpdateResponseCheckSuite = { + id: number; +}; +declare type ChecksUpdateResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ChecksSetSuitesPreferencesResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ChecksSetSuitesPreferencesResponsePreferencesAutoTriggerChecksItem = { + app_id: number; + setting: boolean; +}; +declare type ChecksSetSuitesPreferencesResponsePreferences = { + auto_trigger_checks: Array; +}; +declare type ChecksSetSuitesPreferencesResponse = { + preferences: ChecksSetSuitesPreferencesResponsePreferences; + repository: ChecksSetSuitesPreferencesResponseRepository; +}; +declare type ChecksListSuitesForRefResponseCheckSuitesItemRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ChecksListSuitesForRefResponseCheckSuitesItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ChecksListSuitesForRefResponse = { + check_suites: Array; + total_count: number; +}; +declare type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHead = { + ref: string; + repo: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHeadRepo; + sha: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBase = { + ref: string; + repo: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBaseRepo; + sha: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemPullRequestsItem = { + base: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBase; + head: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHead; + id: number; + number: number; + url: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; +}; +declare type ChecksListForSuiteResponseCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForSuiteResponseCheckRunsItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; + started_at: string; + status: string; + url: string; +}; +declare type ChecksListForSuiteResponse = { + check_runs: Array; + total_count: number; +}; +declare type ChecksListForRefResponseCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksListForRefResponseCheckRunsItemPullRequestsItemHead = { + ref: string; + repo: ChecksListForRefResponseCheckRunsItemPullRequestsItemHeadRepo; + sha: string; +}; +declare type ChecksListForRefResponseCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksListForRefResponseCheckRunsItemPullRequestsItemBase = { + ref: string; + repo: ChecksListForRefResponseCheckRunsItemPullRequestsItemBaseRepo; + sha: string; +}; +declare type ChecksListForRefResponseCheckRunsItemPullRequestsItem = { + base: ChecksListForRefResponseCheckRunsItemPullRequestsItemBase; + head: ChecksListForRefResponseCheckRunsItemPullRequestsItemHead; + id: number; + number: number; + url: string; +}; +declare type ChecksListForRefResponseCheckRunsItemOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; +}; +declare type ChecksListForRefResponseCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForRefResponseCheckRunsItemAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ChecksListForRefResponse = { + check_runs: Array; + total_count: number; +}; +declare 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; +}; +declare type ChecksGetSuiteResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ChecksGetSuiteResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ChecksGetResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksGetResponsePullRequestsItemHead = { + ref: string; + repo: ChecksGetResponsePullRequestsItemHeadRepo; + sha: string; +}; +declare type ChecksGetResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksGetResponsePullRequestsItemBase = { + ref: string; + repo: ChecksGetResponsePullRequestsItemBaseRepo; + sha: string; +}; +declare type ChecksGetResponsePullRequestsItem = { + base: ChecksGetResponsePullRequestsItemBase; + head: ChecksGetResponsePullRequestsItemHead; + id: number; + number: number; + url: string; +}; +declare type ChecksGetResponseOutput = { + annotations_count: number; + annotations_url: string; + summary: string; + text: string; + title: string; +}; +declare type ChecksGetResponseCheckSuite = { + id: number; +}; +declare type ChecksGetResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ChecksCreateSuiteResponseRepositoryPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ChecksCreateSuiteResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type ChecksCreateResponsePullRequestsItemHeadRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksCreateResponsePullRequestsItemHead = { + ref: string; + repo: ChecksCreateResponsePullRequestsItemHeadRepo; + sha: string; +}; +declare type ChecksCreateResponsePullRequestsItemBaseRepo = { + id: number; + name: string; + url: string; +}; +declare type ChecksCreateResponsePullRequestsItemBase = { + ref: string; + repo: ChecksCreateResponsePullRequestsItemBaseRepo; + sha: string; +}; +declare type ChecksCreateResponsePullRequestsItem = { + base: ChecksCreateResponsePullRequestsItemBase; + head: ChecksCreateResponsePullRequestsItemHead; + id: number; + number: number; + url: string; +}; +declare type ChecksCreateResponseOutput = { + summary: string; + text: string; + title: string; + annotations_count?: number; + annotations_url?: string; +}; +declare type ChecksCreateResponseCheckSuite = { + id: number; +}; +declare type ChecksCreateResponseAppPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type AppsResetTokenResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsResetTokenResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type AppsResetTokenResponse = { + app: AppsResetTokenResponseApp; + 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: AppsResetTokenResponseUser; +}; +declare type AppsResetAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsResetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type AppsResetAuthorizationResponse = { + app: AppsResetAuthorizationResponseApp; + 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: AppsResetAuthorizationResponseUser; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type AppsListReposResponse = { + repositories: Array; + total_count: number; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemAccount = { + email: null; + id: number; + login: string; + organization_billing_email: string; + type: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsListMarketplacePurchasesForAuthenticatedUserResponseItemAccount = { + email: null; + id: number; + login: string; + organization_billing_email: string; + type: string; + url: string; +}; +declare 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; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseInstallationsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsListInstallationsForAuthenticatedUserResponse = { + installations: Array; + total_count: number; +}; +declare type AppsListInstallationsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponse = { + repositories: Array; + total_count: number; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChangePlan; + unit_count: null; +}; +declare type AppsListAccountsUserOrOrgOnPlanStubbedResponseItem = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChangePlan; + unit_count: null; +}; +declare type AppsListAccountsUserOrOrgOnPlanResponseItem = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; +}; +declare type AppsGetUserInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsGetRepoInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsGetOrgInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsGetInstallationResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsGetBySlugResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsGetAuthenticatedResponsePermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsFindUserInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsFindRepoInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsFindOrgInstallationResponsePermissions = { + checks: string; + contents: string; + metadata: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsCreateInstallationTokenResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type AppsCreateInstallationTokenResponsePermissions = { + contents: string; + issues: string; +}; +declare type AppsCreateInstallationTokenResponse = { + expires_at: string; + permissions: AppsCreateInstallationTokenResponsePermissions; + repositories: Array; + token: string; +}; +declare 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; +}; +declare 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; +}; +declare type AppsCreateContentAttachmentResponse = { + body: string; + id: number; + title: string; +}; +declare type AppsCheckTokenResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsCheckTokenResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type AppsCheckTokenResponse = { + app: AppsCheckTokenResponseApp; + 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: AppsCheckTokenResponseUser; +}; +declare type AppsCheckAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type AppsCheckAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; +}; +declare type AppsCheckAuthorizationResponse = { + app: AppsCheckAuthorizationResponseApp; + 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: AppsCheckAuthorizationResponseUser; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChangePlan; + unit_count: null; +}; +declare type AppsCheckAccountIsAssociatedWithAnyStubbedResponse = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChange; + marketplace_purchase: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare 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; +}; +declare type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChange = { + effective_date: string; + id: number; + plan: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChangePlan; + unit_count: null; +}; +declare type AppsCheckAccountIsAssociatedWithAnyResponse = { + email: null; + id: number; + login: string; + marketplace_pending_change: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChange; + marketplace_purchase: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchase; + organization_billing_email: string; + type: string; + url: string; +}; +declare type ActivitySetThreadSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + subscribed: boolean; + thread_url: string; + url: string; +}; +declare type ActivitySetRepoSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + repository_url: string; + subscribed: boolean; + url: string; +}; +declare 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; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare 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; +}; +declare type ActivityListReposWatchedByUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare type ActivityListReposWatchedByUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; + url: string; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ActivityListReposStarredByUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; +}; +declare 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; +}; +declare 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; +}; +declare type ActivityListNotificationsForRepoResponseItemSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type ActivityListNotificationsForRepoResponseItem = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityListNotificationsForRepoResponseItemRepository; + subject: ActivityListNotificationsForRepoResponseItemSubject; + unread: boolean; + updated_at: string; + url: string; +}; +declare type ActivityListNotificationsResponseItemSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type ActivityListNotificationsResponseItem = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityListNotificationsResponseItemRepository; + subject: ActivityListNotificationsResponseItemSubject; + unread: boolean; + updated_at: string; + url: string; +}; +declare type ActivityListFeedsResponseLinksUser = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksTimeline = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksSecurityAdvisories = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksCurrentUserPublic = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksCurrentUserOrganizationsItem = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksCurrentUserOrganization = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksCurrentUserActor = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinksCurrentUser = { + href: string; + type: string; +}; +declare type ActivityListFeedsResponseLinks = { + current_user: ActivityListFeedsResponseLinksCurrentUser; + current_user_actor: ActivityListFeedsResponseLinksCurrentUserActor; + current_user_organization: ActivityListFeedsResponseLinksCurrentUserOrganization; + current_user_organizations: Array; + current_user_public: ActivityListFeedsResponseLinksCurrentUserPublic; + security_advisories: ActivityListFeedsResponseLinksSecurityAdvisories; + timeline: ActivityListFeedsResponseLinksTimeline; + user: ActivityListFeedsResponseLinksUser; +}; +declare 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; +}; +declare type ActivityGetThreadSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + subscribed: boolean; + thread_url: string; + url: string; +}; +declare type ActivityGetThreadResponseSubject = { + latest_comment_url: string; + title: string; + type: string; + url: string; +}; +declare 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; +}; +declare 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; +}; +declare type ActivityGetThreadResponse = { + id: string; + last_read_at: string; + reason: string; + repository: ActivityGetThreadResponseRepository; + subject: ActivityGetThreadResponseSubject; + unread: boolean; + updated_at: string; + url: string; +}; +declare type ActivityGetRepoSubscriptionResponse = { + created_at: string; + ignored: boolean; + reason: null; + repository_url: string; + subscribed: boolean; + url: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemRepository = { + 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: ActionsListWorkflowRunsResponseWorkflowRunsItemRepositoryOwner; + 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; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepository = { + 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: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner; + 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; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter = { + email: string; + name: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor = { + email: string; + name: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommit = { + author: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; +}; +declare type ActionsListWorkflowRunsResponseWorkflowRunsItem = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommit; + head_repository: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsListWorkflowRunsResponseWorkflowRunsItemRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; +}; +declare type ActionsListWorkflowRunsResponse = { + total_count: number; + workflow_runs: Array; +}; +declare type ActionsListWorkflowRunArtifactsResponseArtifactsItem = { + archive_download_url: string; + created_at: string; + expired: string; + expires_at: string; + id: number; + name: string; + node_id: string; + size_in_bytes: number; +}; +declare type ActionsListWorkflowRunArtifactsResponse = { + artifacts: Array; + total_count: number; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseItemItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSecretsForRepoResponseSecretsItem = { + created_at: string; + name: string; + updated_at: string; +}; +declare type ActionsListSecretsForRepoResponse = { + secrets: Array; + total_count: number; +}; +declare type ActionsListRepoWorkflowsResponseWorkflowsItem = { + badge_url: string; + created_at: string; + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + updated_at: string; + url: string; +}; +declare type ActionsListRepoWorkflowsResponse = { + total_count: number; + workflows: Array; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepository = { + 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: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepositoryOwner; + 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; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepository = { + 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: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner; + 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; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter = { + email: string; + name: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor = { + email: string; + name: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommit = { + author: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; +}; +declare type ActionsListRepoWorkflowRunsResponseWorkflowRunsItem = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommit; + head_repository: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponse = { + total_count: number; + workflow_runs: Array; +}; +declare type ActionsListJobsForWorkflowRunResponseJobsItemStepsItem = { + completed_at: string; + conclusion: string; + name: string; + number: number; + started_at: string; + status: string; +}; +declare type ActionsListJobsForWorkflowRunResponseJobsItem = { + check_run_url: string; + completed_at: string; + conclusion: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + run_id: number; + run_url: string; + started_at: string; + status: string; + steps: Array; + url: string; +}; +declare type ActionsListJobsForWorkflowRunResponse = { + jobs: Array; + total_count: number; +}; +declare type ActionsListDownloadsForSelfHostedRunnerApplicationResponseItem = { + architecture: string; + download_url: string; + filename: string; + os: string; +}; +declare type ActionsGetWorkflowRunResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsGetWorkflowRunResponseRepository = { + 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: ActionsGetWorkflowRunResponseRepositoryOwner; + 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; +}; +declare type ActionsGetWorkflowRunResponseHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; +}; +declare type ActionsGetWorkflowRunResponseHeadRepository = { + 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: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsGetWorkflowRunResponseHeadRepositoryOwner; + 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; +}; +declare type ActionsGetWorkflowRunResponseHeadCommitCommitter = { + email: string; + name: string; +}; +declare type ActionsGetWorkflowRunResponseHeadCommitAuthor = { + email: string; + name: string; +}; +declare type ActionsGetWorkflowRunResponseHeadCommit = { + author: ActionsGetWorkflowRunResponseHeadCommitAuthor; + committer: ActionsGetWorkflowRunResponseHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; +}; +declare type ActionsGetWorkflowRunResponse = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsGetWorkflowRunResponseHeadCommit; + head_repository: ActionsGetWorkflowRunResponseHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsGetWorkflowRunResponseRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; +}; +declare type ActionsGetWorkflowJobResponseStepsItem = { + completed_at: string; + conclusion: string; + name: string; + number: number; + started_at: string; + status: string; +}; +declare type ActionsGetWorkflowJobResponse = { + check_run_url: string; + completed_at: string; + conclusion: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + run_id: number; + run_url: string; + started_at: string; + status: string; + steps: Array; + url: string; +}; +declare type ActionsGetWorkflowResponse = { + badge_url: string; + created_at: string; + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + updated_at: string; + url: string; +}; +declare type ActionsGetSelfHostedRunnerResponse = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsGetSecretResponse = { + created_at: string; + name: string; + updated_at: string; +}; +declare type ActionsGetPublicKeyResponse = { + key: string; + key_id: string; +}; +declare type ActionsGetArtifactResponse = { + archive_download_url: string; + created_at: string; + expired: string; + expires_at: string; + id: number; + name: string; + node_id: string; + size_in_bytes: number; +}; +declare type ActionsCreateRemoveTokenResponse = { + expires_at: string; + token: string; +}; +declare type ActionsCreateRegistrationTokenResponse = { + expires_at: string; + token: string; +}; +declare type ActionsListDownloadsForSelfHostedRunnerApplicationResponse = Array; +declare type ActionsListSelfHostedRunnersForRepoResponse = Array>; +declare type ActivityListNotificationsResponse = Array; +declare type ActivityListNotificationsForRepoResponse = Array; +declare type ActivityListReposStarredByAuthenticatedUserResponse = Array; +declare type ActivityListReposStarredByUserResponse = Array; +declare type ActivityListReposWatchedByUserResponse = Array; +declare type ActivityListStargazersForRepoResponse = Array; +declare type ActivityListWatchedReposForAuthenticatedUserResponse = Array; +declare type ActivityListWatchersForRepoResponse = Array; +declare type AppsListAccountsUserOrOrgOnPlanResponse = Array; +declare type AppsListAccountsUserOrOrgOnPlanStubbedResponse = Array; +declare type AppsListInstallationsResponse = Array; +declare type AppsListMarketplacePurchasesForAuthenticatedUserResponse = Array; +declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponse = Array; +declare type AppsListPlansResponse = Array; +declare type AppsListPlansStubbedResponse = Array; +declare type ChecksListAnnotationsResponse = Array; +declare type CodesOfConductListConductCodesResponse = Array; +declare type GistsListResponse = Array; +declare type GistsListCommentsResponse = Array; +declare type GistsListCommitsResponse = Array; +declare type GistsListForksResponse = Array; +declare type GistsListPublicResponse = Array; +declare type GistsListPublicForUserResponse = Array; +declare type GistsListStarredResponse = Array; +declare type GitListMatchingRefsResponse = Array; +declare type GitignoreListTemplatesResponse = Array; +declare type IssuesAddLabelsResponse = Array; +declare type IssuesListResponse = Array; +declare type IssuesListAssigneesResponse = Array; +declare type IssuesListCommentsResponse = Array; +declare type IssuesListCommentsForRepoResponse = Array; +declare type IssuesListEventsResponse = Array; +declare type IssuesListEventsForRepoResponse = Array; +declare type IssuesListEventsForTimelineResponse = Array; +declare type IssuesListForAuthenticatedUserResponse = Array; +declare type IssuesListForOrgResponse = Array; +declare type IssuesListForRepoResponse = Array; +declare type IssuesListLabelsForMilestoneResponse = Array; +declare type IssuesListLabelsForRepoResponse = Array; +declare type IssuesListLabelsOnIssueResponse = Array; +declare type IssuesListMilestonesForRepoResponse = Array; +declare type IssuesRemoveLabelResponse = Array; +declare type IssuesReplaceLabelsResponse = Array; +declare type LicensesListResponse = Array; +declare type LicensesListCommonlyUsedResponse = Array; +declare type MigrationsGetCommitAuthorsResponse = Array; +declare type MigrationsGetLargeFilesResponse = Array; +declare type MigrationsListForAuthenticatedUserResponse = Array; +declare type MigrationsListForOrgResponse = Array; +declare type MigrationsListReposForOrgResponse = Array; +declare type MigrationsListReposForUserResponse = Array; +declare type OauthAuthorizationsListAuthorizationsResponse = Array; +declare type OauthAuthorizationsListGrantsResponse = Array; +declare type OrgsListResponse = Array; +declare type OrgsListBlockedUsersResponse = Array; +declare type OrgsListForAuthenticatedUserResponse = Array; +declare type OrgsListForUserResponse = Array; +declare type OrgsListHooksResponse = Array; +declare type OrgsListInvitationTeamsResponse = Array; +declare type OrgsListMembersResponse = Array; +declare type OrgsListMembershipsResponse = Array; +declare type OrgsListOutsideCollaboratorsResponse = Array; +declare type OrgsListPendingInvitationsResponse = Array; +declare type OrgsListPublicMembersResponse = Array; +declare type ProjectsListCardsResponse = Array; +declare type ProjectsListCollaboratorsResponse = Array; +declare type ProjectsListColumnsResponse = Array; +declare type ProjectsListForOrgResponse = Array; +declare type ProjectsListForRepoResponse = Array; +declare type ProjectsListForUserResponse = Array; +declare type PullsGetCommentsForReviewResponse = Array; +declare type PullsListResponse = Array; +declare type PullsListCommentsResponse = Array; +declare type PullsListCommentsForRepoResponse = Array; +declare type PullsListCommitsResponse = Array; +declare type PullsListFilesResponse = Array; +declare type PullsListReviewsResponse = Array; +declare type ReactionsListForCommitCommentResponse = Array; +declare type ReactionsListForIssueResponse = Array; +declare type ReactionsListForIssueCommentResponse = Array; +declare type ReactionsListForPullRequestReviewCommentResponse = Array; +declare type ReactionsListForTeamDiscussionResponse = Array; +declare type ReactionsListForTeamDiscussionCommentResponse = Array; +declare type ReactionsListForTeamDiscussionCommentInOrgResponse = Array; +declare type ReactionsListForTeamDiscussionCommentLegacyResponse = Array; +declare type ReactionsListForTeamDiscussionInOrgResponse = Array; +declare type ReactionsListForTeamDiscussionLegacyResponse = Array; +declare type ReposAddProtectedBranchAppRestrictionsResponse = Array; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsResponse = Array; +declare type ReposAddProtectedBranchTeamRestrictionsResponse = Array; +declare type ReposAddProtectedBranchUserRestrictionsResponse = Array; +declare type ReposGetAppsWithAccessToProtectedBranchResponse = Array; +declare type ReposGetCodeFrequencyStatsResponse = Array>; +declare type ReposGetCommitActivityStatsResponse = Array; +declare type ReposGetContributorsStatsResponse = Array; +declare type ReposGetPunchCardStatsResponse = Array>; +declare type ReposGetTeamsWithAccessToProtectedBranchResponse = Array; +declare type ReposGetTopPathsResponse = Array; +declare type ReposGetTopReferrersResponse = Array; +declare type ReposGetUsersWithAccessToProtectedBranchResponse = Array; +declare type ReposListAppsWithAccessToProtectedBranchResponse = Array; +declare type ReposListAssetsForReleaseResponse = Array; +declare type ReposListBranchesResponse = Array; +declare type ReposListBranchesForHeadCommitResponse = Array; +declare type ReposListCollaboratorsResponse = Array; +declare type ReposListCommentsForCommitResponse = Array; +declare type ReposListCommitCommentsResponse = Array; +declare type ReposListCommitsResponse = Array; +declare type ReposListContributorsResponse = Array; +declare type ReposListDeployKeysResponse = Array; +declare type ReposListDeploymentStatusesResponse = Array; +declare type ReposListDeploymentsResponse = Array; +declare type ReposListDownloadsResponse = Array; +declare type ReposListForOrgResponse = Array; +declare type ReposListForksResponse = Array; +declare type ReposListHooksResponse = Array; +declare type ReposListInvitationsResponse = Array; +declare type ReposListInvitationsForAuthenticatedUserResponse = Array; +declare type ReposListPagesBuildsResponse = Array; +declare type ReposListProtectedBranchRequiredStatusChecksContextsResponse = Array; +declare type ReposListProtectedBranchTeamRestrictionsResponse = Array; +declare type ReposListProtectedBranchUserRestrictionsResponse = Array; +declare type ReposListPublicResponse = Array; +declare type ReposListPullRequestsAssociatedWithCommitResponse = Array; +declare type ReposListReleasesResponse = Array; +declare type ReposListStatusesForRefResponse = Array; +declare type ReposListTagsResponse = Array; +declare type ReposListTeamsResponse = Array; +declare type ReposListTeamsWithAccessToProtectedBranchResponse = Array; +declare type ReposListUsersWithAccessToProtectedBranchResponse = Array; +declare type ReposRemoveProtectedBranchAppRestrictionsResponse = Array; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsResponse = Array; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponse = Array; +declare type ReposRemoveProtectedBranchUserRestrictionsResponse = Array; +declare type ReposReplaceProtectedBranchAppRestrictionsResponse = Array; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsResponse = Array; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponse = Array; +declare type ReposReplaceProtectedBranchUserRestrictionsResponse = Array; +declare type TeamsListResponse = Array; +declare type TeamsListChildResponse = Array; +declare type TeamsListChildInOrgResponse = Array; +declare type TeamsListChildLegacyResponse = Array; +declare type TeamsListDiscussionCommentsResponse = Array; +declare type TeamsListDiscussionCommentsInOrgResponse = Array; +declare type TeamsListDiscussionCommentsLegacyResponse = Array; +declare type TeamsListDiscussionsResponse = Array; +declare type TeamsListDiscussionsInOrgResponse = Array; +declare type TeamsListDiscussionsLegacyResponse = Array; +declare type TeamsListForAuthenticatedUserResponse = Array; +declare type TeamsListMembersResponse = Array; +declare type TeamsListMembersInOrgResponse = Array; +declare type TeamsListMembersLegacyResponse = Array; +declare type TeamsListPendingInvitationsResponse = Array; +declare type TeamsListPendingInvitationsInOrgResponse = Array; +declare type TeamsListPendingInvitationsLegacyResponse = Array; +declare type TeamsListProjectsResponse = Array; +declare type TeamsListProjectsInOrgResponse = Array; +declare type TeamsListProjectsLegacyResponse = Array; +declare type TeamsListReposResponse = Array; +declare type TeamsListReposInOrgResponse = Array; +declare type TeamsListReposLegacyResponse = Array; +declare type UsersAddEmailsResponse = Array; +declare type UsersListResponse = Array; +declare type UsersListBlockedResponse = Array; +declare type UsersListEmailsResponse = Array; +declare type UsersListFollowersForAuthenticatedUserResponse = Array; +declare type UsersListFollowersForUserResponse = Array; +declare type UsersListFollowingForAuthenticatedUserResponse = Array; +declare type UsersListFollowingForUserResponse = Array; +declare type UsersListGpgKeysResponse = Array; +declare type UsersListGpgKeysForUserResponse = Array; +declare type UsersListPublicEmailsResponse = Array; +declare type UsersListPublicKeysResponse = Array; +declare type UsersListPublicKeysForUserResponse = Array; +declare type UsersTogglePrimaryEmailVisibilityResponse = Array; +export declare type ActionsCancelWorkflowRunParams = { + owner: string; + repo: string; + run_id: number; +}; +export declare type ActionsCreateOrUpdateSecretForRepoParams = { + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get your public key](https://developer.github.com/v3/actions/secrets/#get-your-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; + name: string; + owner: string; + repo: string; +}; +export declare type ActionsCreateRegistrationTokenParams = { + owner: string; + repo: string; +}; +export declare type ActionsCreateRemoveTokenParams = { + owner: string; + repo: string; +}; +export declare type ActionsDeleteArtifactParams = { + artifact_id: number; + owner: string; + repo: string; +}; +export declare type ActionsDeleteSecretFromRepoParams = { + name: string; + owner: string; + repo: string; +}; +export declare type ActionsDownloadArtifactParams = { + archive_format: string; + artifact_id: number; + owner: string; + repo: string; +}; +export declare type ActionsGetArtifactParams = { + artifact_id: number; + owner: string; + repo: string; +}; +export declare type ActionsGetPublicKeyParams = { + owner: string; + repo: string; +}; +export declare type ActionsGetSecretParams = { + name: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActionsGetSelfHostedRunnerParams = { + owner: string; + repo: string; + runner_id: number; +}; +export declare type ActionsGetWorkflowParams = { + owner: string; + repo: string; + workflow_id: number; +}; +export declare type ActionsGetWorkflowJobParams = { + job_id: number; + owner: string; + repo: string; +}; +export declare type ActionsGetWorkflowRunParams = { + owner: string; + repo: string; + run_id: number; +}; +export declare type ActionsListDownloadsForSelfHostedRunnerApplicationParams = { + owner: string; + repo: string; +}; +export declare type ActionsListJobsForWorkflowRunParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + run_id: number; +}; +export declare type ActionsListRepoWorkflowRunsParams = { + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; +}; +export declare type ActionsListRepoWorkflowsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActionsListSecretsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActionsListSelfHostedRunnersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActionsListWorkflowJobLogsParams = { + job_id: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActionsListWorkflowRunArtifactsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + run_id: number; +}; +export declare type ActionsListWorkflowRunLogsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + run_id: number; +}; +export declare type ActionsListWorkflowRunsParams = { + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + workflow_id: number; +}; +export declare type ActionsReRunWorkflowParams = { + owner: string; + repo: string; + run_id: number; +}; +export declare type ActionsRemoveSelfHostedRunnerParams = { + owner: string; + repo: string; + runner_id: number; +}; +export declare type ActivityCheckStarringRepoParams = { + owner: string; + repo: string; +}; +export declare type ActivityCheckWatchingRepoLegacyParams = { + owner: string; + repo: string; +}; +export declare type ActivityDeleteRepoSubscriptionParams = { + owner: string; + repo: string; +}; +export declare type ActivityDeleteThreadSubscriptionParams = { + thread_id: number; +}; +export declare type ActivityGetRepoSubscriptionParams = { + owner: string; + repo: string; +}; +export declare type ActivityGetThreadParams = { + thread_id: number; +}; +export declare type ActivityGetThreadSubscriptionParams = { + thread_id: number; +}; +export declare type ActivityListEventsForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type ActivityListEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare 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 declare 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 declare type ActivityListPublicEventsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type ActivityListPublicEventsForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type ActivityListPublicEventsForRepoNetworkParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActivityListPublicEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type ActivityListReceivedEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type ActivityListReceivedPublicEventsForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type ActivityListRepoEventsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare 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 declare 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 declare type ActivityListReposWatchedByUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type ActivityListStargazersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ActivityListWatchedReposForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type ActivityListWatchersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare 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 declare 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 declare type ActivityMarkThreadAsReadParams = { + thread_id: number; +}; +export declare 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 declare 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 declare type ActivityStarRepoParams = { + owner: string; + repo: string; +}; +export declare type ActivityStopWatchingRepoLegacyParams = { + owner: string; + repo: string; +}; +export declare type ActivityUnstarRepoParams = { + owner: string; + repo: string; +}; +export declare type ActivityWatchRepoLegacyParams = { + owner: string; + repo: string; +}; +export declare type AppsAddRepoToInstallationParams = { + installation_id: number; + repository_id: number; +}; +export declare type AppsCheckAccountIsAssociatedWithAnyParams = { + account_id: number; +}; +export declare type AppsCheckAccountIsAssociatedWithAnyStubbedParams = { + account_id: number; +}; +export declare type AppsCheckAuthorizationParams = { + access_token: string; + client_id: string; +}; +export declare type AppsCheckTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + client_id: string; +}; +export declare 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 declare type AppsCreateFromManifestParams = { + code: string; +}; +export declare 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 declare type AppsDeleteAuthorizationParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + client_id: string; +}; +export declare type AppsDeleteInstallationParams = { + installation_id: number; +}; +export declare type AppsDeleteTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + client_id: string; +}; +export declare type AppsFindOrgInstallationParams = { + org: string; +}; +export declare type AppsFindRepoInstallationParams = { + owner: string; + repo: string; +}; +export declare type AppsFindUserInstallationParams = { + username: string; +}; +export declare type AppsGetBySlugParams = { + app_slug: string; +}; +export declare type AppsGetInstallationParams = { + installation_id: number; +}; +export declare type AppsGetOrgInstallationParams = { + org: string; +}; +export declare type AppsGetRepoInstallationParams = { + owner: string; + repo: string; +}; +export declare type AppsGetUserInstallationParams = { + username: string; +}; +export declare 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 declare 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 declare type AppsListInstallationReposForAuthenticatedUserParams = { + installation_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListInstallationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListInstallationsForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListMarketplacePurchasesForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListPlansParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListPlansStubbedParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsListReposParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type AppsRemoveRepoFromInstallationParams = { + installation_id: number; + repository_id: number; +}; +export declare type AppsResetAuthorizationParams = { + access_token: string; + client_id: string; +}; +export declare type AppsResetTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + client_id: string; +}; +export declare type AppsRevokeAuthorizationForApplicationParams = { + access_token: string; + client_id: string; +}; +export declare type AppsRevokeGrantForApplicationParams = { + access_token: string; + client_id: string; +}; +export declare 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 declare type ChecksCreateSuiteParams = { + /** + * The sha of the head commit. + */ + head_sha: string; + owner: string; + repo: string; +}; +export declare type ChecksGetParams = { + check_run_id: number; + owner: string; + repo: string; +}; +export declare type ChecksGetSuiteParams = { + check_suite_id: number; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare 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 declare 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 declare type ChecksRerequestSuiteParams = { + check_suite_id: number; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare type CodesOfConductGetConductCodeParams = { + key: string; +}; +export declare type CodesOfConductGetForRepoParams = { + owner: string; + repo: string; +}; +export declare type GistsCheckIsStarredParams = { + gist_id: string; +}; +export declare 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 declare type GistsCreateCommentParams = { + /** + * The comment text. + */ + body: string; + gist_id: string; +}; +export declare type GistsDeleteParams = { + gist_id: string; +}; +export declare type GistsDeleteCommentParams = { + comment_id: number; + gist_id: string; +}; +export declare type GistsForkParams = { + gist_id: string; +}; +export declare type GistsGetParams = { + gist_id: string; +}; +export declare type GistsGetCommentParams = { + comment_id: number; + gist_id: string; +}; +export declare type GistsGetRevisionParams = { + gist_id: string; + sha: string; +}; +export declare 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 declare type GistsListCommentsParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type GistsListCommitsParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type GistsListForksParams = { + gist_id: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare 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 declare 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 declare 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 declare type GistsStarParams = { + gist_id: string; +}; +export declare type GistsUnstarParams = { + gist_id: string; +}; +export declare 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 declare type GistsUpdateCommentParams = { + /** + * The comment text. + */ + body: string; + comment_id: number; + gist_id: string; +}; +export declare 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 declare 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 declare 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 declare 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 declare 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 declare type GitDeleteRefParams = { + owner: string; + ref: string; + repo: string; +}; +export declare type GitGetBlobParams = { + file_sha: string; + owner: string; + repo: string; +}; +export declare type GitGetCommitParams = { + commit_sha: string; + owner: string; + repo: string; +}; +export declare type GitGetRefParams = { + owner: string; + ref: string; + repo: string; +}; +export declare type GitGetTagParams = { + owner: string; + repo: string; + tag_sha: string; +}; +export declare type GitGetTreeParams = { + owner: string; + recursive?: "1"; + repo: string; + tree_sha: string; +}; +export declare 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 declare 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 declare 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 declare type GitignoreGetTemplateParams = { + name: string; +}; +export declare 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 declare 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 declare type InteractionsGetRestrictionsForOrgParams = { + org: string; +}; +export declare type InteractionsGetRestrictionsForRepoParams = { + owner: string; + repo: string; +}; +export declare type InteractionsRemoveRestrictionsForOrgParams = { + org: string; +}; +export declare type InteractionsRemoveRestrictionsForRepoParams = { + owner: string; + repo: string; +}; +export declare 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 declare 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 declare 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 declare 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 declare type IssuesCheckAssigneeParams = { + assignee: string; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare type IssuesCreateCommentParamsDeprecatedNumber = { + /** + * The contents of the comment. + */ + body: string; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesCreateCommentParams = { + /** + * The contents of the comment. + */ + body: string; + issue_number: number; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare type IssuesDeleteCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare type IssuesDeleteLabelParams = { + name: string; + owner: string; + repo: string; +}; +export declare type IssuesDeleteMilestoneParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesDeleteMilestoneParams = { + milestone_number: number; + owner: string; + repo: string; +}; +export declare type IssuesGetParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesGetParams = { + issue_number: number; + owner: string; + repo: string; +}; +export declare type IssuesGetCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare type IssuesGetEventParams = { + event_id: number; + owner: string; + repo: string; +}; +export declare type IssuesGetLabelParams = { + name: string; + owner: string; + repo: string; +}; +export declare type IssuesGetMilestoneParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "milestone_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesGetMilestoneParams = { + milestone_number: number; + owner: string; + repo: string; +}; +export declare 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 declare type IssuesListAssigneesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare 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 declare 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 declare 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 declare 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 declare 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 declare type IssuesListEventsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare type IssuesListLabelsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare type IssuesRemoveLabelParamsDeprecatedNumber = { + name: string; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesRemoveLabelParams = { + issue_number: number; + name: string; + owner: string; + repo: string; +}; +export declare type IssuesRemoveLabelsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesRemoveLabelsParams = { + issue_number: number; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare type IssuesUnlockParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type IssuesUnlockParams = { + issue_number: number; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare 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 declare type IssuesUpdateCommentParams = { + /** + * The contents of the comment. + */ + body: string; + comment_id: number; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare 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 declare type LicensesGetParams = { + license: string; +}; +export declare type LicensesGetForRepoParams = { + owner: string; + repo: string; +}; +export declare 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 declare type MarkdownRenderRawParams = { + data: string; +}; +export declare type MigrationsCancelImportParams = { + owner: string; + repo: string; +}; +export declare type MigrationsDeleteArchiveForAuthenticatedUserParams = { + migration_id: number; +}; +export declare type MigrationsDeleteArchiveForOrgParams = { + migration_id: number; + org: string; +}; +export declare type MigrationsDownloadArchiveForOrgParams = { + migration_id: number; + org: string; +}; +export declare type MigrationsGetArchiveForAuthenticatedUserParams = { + migration_id: number; +}; +export declare type MigrationsGetArchiveForOrgParams = { + migration_id: number; + org: string; +}; +export declare 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 declare type MigrationsGetImportProgressParams = { + owner: string; + repo: string; +}; +export declare type MigrationsGetLargeFilesParams = { + owner: string; + repo: string; +}; +export declare type MigrationsGetStatusForAuthenticatedUserParams = { + migration_id: number; +}; +export declare type MigrationsGetStatusForOrgParams = { + migration_id: number; + org: string; +}; +export declare type MigrationsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type MigrationsListForOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type MigrationsListReposForOrgParams = { + migration_id: number; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type MigrationsListReposForUserParams = { + migration_id: number; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type MigrationsMapCommitAuthorParams = { + author_id: number; + /** + * The new Git author email. + */ + email?: string; + /** + * The new Git author name. + */ + name?: string; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare 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 declare 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 declare type MigrationsUnlockRepoForAuthenticatedUserParams = { + migration_id: number; + repo_name: string; +}; +export declare type MigrationsUnlockRepoForOrgParams = { + migration_id: number; + org: string; + repo_name: string; +}; +export declare 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 declare type OauthAuthorizationsCheckAuthorizationParams = { + access_token: string; + client_id: string; +}; +export declare 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 declare type OauthAuthorizationsDeleteAuthorizationParams = { + authorization_id: number; +}; +export declare type OauthAuthorizationsDeleteGrantParams = { + grant_id: number; +}; +export declare type OauthAuthorizationsGetAuthorizationParams = { + authorization_id: number; +}; +export declare type OauthAuthorizationsGetGrantParams = { + grant_id: number; +}; +export declare 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 declare 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 declare 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 declare type OauthAuthorizationsListAuthorizationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OauthAuthorizationsListGrantsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OauthAuthorizationsResetAuthorizationParams = { + access_token: string; + client_id: string; +}; +export declare type OauthAuthorizationsRevokeAuthorizationForApplicationParams = { + access_token: string; + client_id: string; +}; +export declare type OauthAuthorizationsRevokeGrantForApplicationParams = { + access_token: string; + client_id: string; +}; +export declare 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 declare 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 declare type OrgsBlockUserParams = { + org: string; + username: string; +}; +export declare type OrgsCheckBlockedUserParams = { + org: string; + username: string; +}; +export declare type OrgsCheckMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsCheckPublicMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsConcealMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsConvertMemberToOutsideCollaboratorParams = { + org: string; + username: string; +}; +export declare 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 declare 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 declare type OrgsDeleteHookParams = { + hook_id: number; + org: string; +}; +export declare type OrgsGetParams = { + org: string; +}; +export declare type OrgsGetHookParams = { + hook_id: number; + org: string; +}; +export declare type OrgsGetMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsGetMembershipForAuthenticatedUserParams = { + org: string; +}; +export declare 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?: number; +}; +export declare type OrgsListBlockedUsersParams = { + org: string; +}; +export declare type OrgsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OrgsListForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type OrgsListHooksParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OrgsListInstallationsParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare 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 declare 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 declare 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 declare 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 declare type OrgsListPendingInvitationsParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OrgsListPublicMembersParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type OrgsPingHookParams = { + hook_id: number; + org: string; +}; +export declare type OrgsPublicizeMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsRemoveMemberParams = { + org: string; + username: string; +}; +export declare type OrgsRemoveMembershipParams = { + org: string; + username: string; +}; +export declare type OrgsRemoveOutsideCollaboratorParams = { + org: string; + username: string; +}; +export declare type OrgsUnblockUserParams = { + org: string; + username: string; +}; +export declare type OrgsUpdateParamsDeprecatedMembersAllowedRepositoryCreationType = { + /** + * 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 an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + 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 Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + * @deprecated "members_allowed_repository_creation_type" parameter has been deprecated and will be removed in future + */ + members_allowed_repository_creation_type?: string; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * The shorthand name of the company. + */ + name?: string; + org: string; +}; +export declare 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 an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + has_repository_projects?: boolean; + /** + * The location. + */ + location?: string; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * The shorthand name of the company. + */ + name?: string; + org: string; +}; +export declare 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 declare type OrgsUpdateMembershipParams = { + org: string; + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; +}; +export declare 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 declare 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 declare type ProjectsCreateColumnParams = { + /** + * The name of the column. + */ + name: string; + project_id: number; +}; +export declare type ProjectsCreateForAuthenticatedUserParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; +}; +export declare type ProjectsCreateForOrgParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; + org: string; +}; +export declare type ProjectsCreateForRepoParams = { + /** + * The description of the project. + */ + body?: string; + /** + * The name of the project. + */ + name: string; + owner: string; + repo: string; +}; +export declare type ProjectsDeleteParams = { + project_id: number; +}; +export declare type ProjectsDeleteCardParams = { + card_id: number; +}; +export declare type ProjectsDeleteColumnParams = { + column_id: number; +}; +export declare type ProjectsGetParams = { + project_id: number; +}; +export declare type ProjectsGetCardParams = { + card_id: number; +}; +export declare type ProjectsGetColumnParams = { + column_id: number; +}; +export declare 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 declare 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 declare type ProjectsListColumnsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + project_id: number; +}; +export declare 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 declare 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 declare 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 declare 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 declare 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 declare type ProjectsRemoveCollaboratorParams = { + project_id: number; + username: string; +}; +export declare type ProjectsReviewUserPermissionLevelParams = { + project_id: number; + username: string; +}; +export declare 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 declare 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 declare type ProjectsUpdateColumnParams = { + column_id: number; + /** + * The new name of the column. + */ + name: string; +}; +export declare type PullsCheckIfMergedParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type PullsCheckIfMergedParams = { + owner: string; + pull_number: number; + repo: string; +}; +export declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare type PullsCreateFromIssueParams = { + base: string; + draft?: boolean; + head: string; + issue: number; + maintainer_can_modify?: boolean; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare type PullsCreateReviewCommentReplyParams = { + /** + * The text of the review comment. + */ + body: string; + comment_id: number; + owner: string; + pull_number: number; + repo: string; +}; +export declare 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 declare 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 declare type PullsDeleteCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare type PullsDeletePendingReviewParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; + review_id: number; +}; +export declare type PullsDeletePendingReviewParams = { + owner: string; + pull_number: number; + repo: string; + review_id: number; +}; +export declare 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 declare 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 declare 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 declare type PullsDismissReviewParams = { + /** + * The message for the pull request review dismissal + */ + message: string; + owner: string; + pull_number: number; + repo: string; + review_id: number; +}; +export declare type PullsGetParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; +}; +export declare type PullsGetParams = { + owner: string; + pull_number: number; + repo: string; +}; +export declare type PullsGetCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare type PullsGetReviewParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; + owner: string; + repo: string; + review_id: number; +}; +export declare type PullsGetReviewParams = { + owner: string; + pull_number: number; + repo: string; + review_id: number; +}; +export declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare type PullsUpdateCommentParams = { + /** + * The text of the reply to the review comment. + */ + body: string; + comment_id: number; + owner: string; + repo: string; +}; +export declare 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 declare type PullsUpdateReviewParams = { + /** + * The body text of the pull request review. + */ + body: string; + owner: string; + pull_number: number; + repo: string; + review_id: number; +}; +export declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare type ReactionsCreateForTeamDiscussionCommentInOrgParams = { + 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; + org: string; + team_slug: string; +}; +export declare type ReactionsCreateForTeamDiscussionCommentLegacyParams = { + 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 declare type ReactionsCreateForTeamDiscussionInOrgParams = { + /** + * 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; + org: string; + team_slug: string; +}; +export declare type ReactionsCreateForTeamDiscussionLegacyParams = { + /** + * 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 declare type ReactionsDeleteParams = { + reaction_id: number; +}; +export declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare type ReactionsListForTeamDiscussionCommentInOrgParams = { + 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; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type ReactionsListForTeamDiscussionCommentLegacyParams = { + 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 declare type ReactionsListForTeamDiscussionInOrgParams = { + /** + * 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; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type ReactionsListForTeamDiscussionLegacyParams = { + /** + * 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 declare type ReposAcceptInvitationParams = { + invitation_id: number; +}; +export declare 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 declare 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 declare type ReposAddProtectedBranchAdminEnforcementParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposAddProtectedBranchAppRestrictionsParams = { + apps: string[]; + branch: string; + owner: string; + repo: string; +}; +export declare type ReposAddProtectedBranchRequiredSignaturesParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposAddProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + contexts: string[]; + owner: string; + repo: string; +}; +export declare type ReposAddProtectedBranchTeamRestrictionsParams = { + branch: string; + owner: string; + repo: string; + teams: string[]; +}; +export declare type ReposAddProtectedBranchUserRestrictionsParams = { + branch: string; + owner: string; + repo: string; + users: string[]; +}; +export declare type ReposCheckCollaboratorParams = { + owner: string; + repo: string; + username: string; +}; +export declare type ReposCheckVulnerabilityAlertsParams = { + owner: string; + repo: string; +}; +export declare type ReposCompareCommitsParams = { + base: string; + head: string; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: 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; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; +}; +export declare type ReposCreateForkParams = { + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; + owner: string; + repo: string; +}; +export declare 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 declare 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: 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; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; +}; +export declare 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 declare 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 declare 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 declare 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 declare type ReposDeclineInvitationParams = { + invitation_id: number; +}; +export declare type ReposDeleteParams = { + owner: string; + repo: string; +}; +export declare type ReposDeleteCommitCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare type ReposDeleteDownloadParams = { + download_id: number; + owner: string; + repo: string; +}; +export declare 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 declare type ReposDeleteHookParams = { + hook_id: number; + owner: string; + repo: string; +}; +export declare type ReposDeleteInvitationParams = { + invitation_id: number; + owner: string; + repo: string; +}; +export declare type ReposDeleteReleaseParams = { + owner: string; + release_id: number; + repo: string; +}; +export declare type ReposDeleteReleaseAssetParams = { + asset_id: number; + owner: string; + repo: string; +}; +export declare type ReposDisableAutomatedSecurityFixesParams = { + owner: string; + repo: string; +}; +export declare type ReposDisablePagesSiteParams = { + owner: string; + repo: string; +}; +export declare type ReposDisableVulnerabilityAlertsParams = { + owner: string; + repo: string; +}; +export declare type ReposEnableAutomatedSecurityFixesParams = { + owner: string; + repo: string; +}; +export declare type ReposEnablePagesSiteParams = { + owner: string; + repo: string; + source?: ReposEnablePagesSiteParamsSource; +}; +export declare type ReposEnableVulnerabilityAlertsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetParams = { + owner: string; + repo: string; +}; +export declare type ReposGetAppsWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetArchiveLinkParams = { + archive_format: string; + owner: string; + ref: string; + repo: string; +}; +export declare type ReposGetBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetBranchProtectionParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetClonesParams = { + owner: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; + repo: string; +}; +export declare type ReposGetCodeFrequencyStatsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetCollaboratorPermissionLevelParams = { + owner: string; + repo: string; + username: string; +}; +export declare type ReposGetCombinedStatusForRefParams = { + owner: string; + ref: string; + repo: string; +}; +export declare type ReposGetCommitParamsDeprecatedSha = { + owner: string; + repo: string; + /** + * @deprecated "sha" parameter renamed to "ref" + */ + sha: string; +}; +export declare type ReposGetCommitParamsDeprecatedCommitSha = { + /** + * @deprecated "commit_sha" parameter renamed to "ref" + */ + commit_sha: string; + owner: string; + repo: string; +}; +export declare type ReposGetCommitParams = { + owner: string; + ref: string; + repo: string; +}; +export declare type ReposGetCommitActivityStatsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetCommitCommentParams = { + comment_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetCommitRefShaParams = { + owner: string; + ref: string; + repo: string; +}; +export declare 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 declare type ReposGetContributorsStatsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetDeployKeyParams = { + key_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetDeploymentParams = { + deployment_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetDeploymentStatusParams = { + deployment_id: number; + owner: string; + repo: string; + status_id: number; +}; +export declare type ReposGetDownloadParams = { + download_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetHookParams = { + hook_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetLatestPagesBuildParams = { + owner: string; + repo: string; +}; +export declare type ReposGetLatestReleaseParams = { + owner: string; + repo: string; +}; +export declare type ReposGetPagesParams = { + owner: string; + repo: string; +}; +export declare type ReposGetPagesBuildParams = { + build_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetParticipationStatsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetProtectedBranchAdminEnforcementParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetProtectedBranchRequiredSignaturesParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetProtectedBranchRequiredStatusChecksParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetProtectedBranchRestrictionsParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetPunchCardStatsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetReadmeParams = { + owner: string; + /** + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) + */ + ref?: string; + repo: string; +}; +export declare type ReposGetReleaseParams = { + owner: string; + release_id: number; + repo: string; +}; +export declare type ReposGetReleaseAssetParams = { + asset_id: number; + owner: string; + repo: string; +}; +export declare type ReposGetReleaseByTagParams = { + owner: string; + repo: string; + tag: string; +}; +export declare type ReposGetTeamsWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetTopPathsParams = { + owner: string; + repo: string; +}; +export declare type ReposGetTopReferrersParams = { + owner: string; + repo: string; +}; +export declare type ReposGetUsersWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposGetViewsParams = { + owner: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; + repo: string; +}; +export declare 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 declare type ReposListAppsWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare type ReposListBranchesForHeadCommitParams = { + commit_sha: string; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare 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 declare type ReposListCommitCommentsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare 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 declare 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 declare type ReposListDeployKeysParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare 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 declare 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 declare type ReposListDownloadsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare 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"; + /** + * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `type` can also be `internal`. + */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member" | "internal"; +}; +export declare 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 declare 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 declare type ReposListHooksParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListInvitationsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListInvitationsForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type ReposListLanguagesParams = { + owner: string; + repo: string; +}; +export declare type ReposListPagesBuildsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposListProtectedBranchTeamRestrictionsParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposListProtectedBranchUserRestrictionsParams = { + branch: string; + owner: string; + repo: string; +}; +export declare 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?: number; +}; +export declare 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 declare type ReposListReleasesParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare 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 declare type ReposListTagsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListTeamsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + repo: string; +}; +export declare type ReposListTeamsWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposListTopicsParams = { + owner: string; + repo: string; +}; +export declare type ReposListUsersWithAccessToProtectedBranchParams = { + branch: string; + owner: string; + repo: string; +}; +export declare 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 declare type ReposPingHookParams = { + hook_id: number; + owner: string; + repo: string; +}; +export declare type ReposRemoveBranchProtectionParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveCollaboratorParams = { + owner: string; + repo: string; + username: string; +}; +export declare type ReposRemoveDeployKeyParams = { + key_id: number; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchAdminEnforcementParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchAppRestrictionsParams = { + apps: string[]; + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchRequiredSignaturesParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchRequiredStatusChecksParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + contexts: string[]; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchRestrictionsParams = { + branch: string; + owner: string; + repo: string; +}; +export declare type ReposRemoveProtectedBranchTeamRestrictionsParams = { + branch: string; + owner: string; + repo: string; + teams: string[]; +}; +export declare type ReposRemoveProtectedBranchUserRestrictionsParams = { + branch: string; + owner: string; + repo: string; + users: string[]; +}; +export declare type ReposReplaceProtectedBranchAppRestrictionsParams = { + apps: string[]; + branch: string; + owner: string; + repo: string; +}; +export declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + contexts: string[]; + owner: string; + repo: string; +}; +export declare type ReposReplaceProtectedBranchTeamRestrictionsParams = { + branch: string; + owner: string; + repo: string; + teams: string[]; +}; +export declare type ReposReplaceProtectedBranchUserRestrictionsParams = { + branch: string; + owner: string; + repo: string; + users: string[]; +}; +export declare 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 declare type ReposRequestPageBuildParams = { + owner: string; + repo: string; +}; +export declare type ReposRetrieveCommunityProfileMetricsParams = { + owner: string; + repo: string; +}; +export declare type ReposTestPushHookParams = { + hook_id: number; + owner: string; + repo: string; +}; +export declare 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 declare 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * 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; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; +}; +export declare type ReposUpdateBranchProtectionParams = { + /** + * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. + */ + allow_deletions?: boolean; + /** + * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." + */ + allow_force_pushes?: boolean | null; + 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; + /** + * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. + */ + required_linear_history?: boolean; + /** + * 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 the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; +}; +export declare type ReposUpdateCommitCommentParams = { + /** + * The contents of the comment + */ + body: string; + comment_id: number; + owner: string; + repo: string; +}; +export declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare 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 declare type ReposUploadReleaseAssetParamsDeprecatedFile = { + /** + * @deprecated "file" parameter renamed to "data" + */ + 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 declare type ReposUploadReleaseAssetParams = { + data: 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 declare 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 declare 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 declare type SearchEmailLegacyParams = { + /** + * The email address. + */ + email: string; +}; +export declare 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 declare 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 declare type SearchIssuesLegacyParams = { + /** + * The search term. + */ + keyword: string; + owner: string; + repository: string; + /** + * Indicates the state of the issues to return. Can be either `open` or `closed`. + */ + state: "open" | "closed"; +}; +export declare 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 declare 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 declare type SearchReposLegacyParams = { + /** + * The search term. + */ + keyword: string; + /** + * Filter results by language. + */ + language?: string; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The page number to fetch. + */ + start_page?: string; +}; +export declare 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 declare 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 declare type SearchUsersLegacyParams = { + /** + * The search term. + */ + keyword: string; + /** + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. + */ + order?: "asc" | "desc"; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The page number to fetch. + */ + start_page?: string; +}; +export declare type TeamsAddMemberParams = { + team_id: number; + username: string; +}; +export declare type TeamsAddMemberLegacyParams = { + team_id: number; + username: string; +}; +export declare 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 declare type TeamsAddOrUpdateMembershipInOrgParams = { + org: 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"; + team_slug: string; + username: string; +}; +export declare type TeamsAddOrUpdateMembershipLegacyParams = { + /** + * 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 declare 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)." + */ + permission?: "read" | "write" | "admin"; + project_id: number; + team_id: number; +}; +export declare type TeamsAddOrUpdateProjectInOrgParams = { + org: string; + /** + * 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)." + */ + permission?: "read" | "write" | "admin"; + project_id: number; + team_slug: string; +}; +export declare type TeamsAddOrUpdateProjectLegacyParams = { + /** + * 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)." + */ + permission?: "read" | "write" | "admin"; + project_id: number; + team_id: number; +}; +export declare 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. + */ + permission?: "pull" | "push" | "admin"; + repo: string; + team_id: number; +}; +export declare type TeamsAddOrUpdateRepoInOrgParams = { + org: string; + 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. + */ + permission?: "pull" | "push" | "admin"; + repo: string; + team_slug: string; +}; +export declare type TeamsAddOrUpdateRepoLegacyParams = { + 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. + */ + permission?: "pull" | "push" | "admin"; + repo: string; + team_id: number; +}; +export declare type TeamsCheckManagesRepoParams = { + owner: string; + repo: string; + team_id: number; +}; +export declare type TeamsCheckManagesRepoInOrgParams = { + org: string; + owner: string; + repo: string; + team_slug: string; +}; +export declare type TeamsCheckManagesRepoLegacyParams = { + owner: string; + repo: string; + team_id: number; +}; +export declare type TeamsCreateParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + maintainers?: string[]; + /** + * The name of the team. + */ + name: string; + org: string; + /** + * The ID of a team to set as the parent team. + */ + 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` + */ + privacy?: "secret" | "closed"; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; +}; +export declare type TeamsCreateParams = { + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + maintainers?: string[]; + /** + * The name of the team. + */ + name: string; + org: string; + /** + * The ID of a team to set as the parent team. + */ + 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` + */ + privacy?: "secret" | "closed"; + /** + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. + */ + repo_names?: string[]; +}; +export declare 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 declare type TeamsCreateDiscussionCommentParams = { + /** + * The discussion comment's body text. + */ + body: string; + discussion_number: number; + team_id: number; +}; +export declare type TeamsCreateDiscussionCommentInOrgParams = { + /** + * The discussion comment's body text. + */ + body: string; + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsCreateDiscussionCommentLegacyParams = { + /** + * The discussion comment's body text. + */ + body: string; + discussion_number: number; + team_id: number; +}; +export declare type TeamsCreateDiscussionInOrgParams = { + /** + * The discussion post's body text. + */ + body: string; + org: 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_slug: string; + /** + * The discussion post's title. + */ + title: string; +}; +export declare type TeamsCreateDiscussionLegacyParams = { + /** + * 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 declare type TeamsDeleteParams = { + team_id: number; +}; +export declare type TeamsDeleteDiscussionParams = { + discussion_number: number; + team_id: number; +}; +export declare type TeamsDeleteDiscussionCommentParams = { + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsDeleteDiscussionCommentInOrgParams = { + comment_number: number; + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsDeleteDiscussionCommentLegacyParams = { + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsDeleteDiscussionInOrgParams = { + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsDeleteDiscussionLegacyParams = { + discussion_number: number; + team_id: number; +}; +export declare type TeamsDeleteInOrgParams = { + org: string; + team_slug: string; +}; +export declare type TeamsDeleteLegacyParams = { + team_id: number; +}; +export declare type TeamsGetParams = { + team_id: number; +}; +export declare type TeamsGetByNameParams = { + org: string; + team_slug: string; +}; +export declare type TeamsGetDiscussionParams = { + discussion_number: number; + team_id: number; +}; +export declare type TeamsGetDiscussionCommentParams = { + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsGetDiscussionCommentInOrgParams = { + comment_number: number; + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsGetDiscussionCommentLegacyParams = { + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsGetDiscussionInOrgParams = { + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsGetDiscussionLegacyParams = { + discussion_number: number; + team_id: number; +}; +export declare type TeamsGetLegacyParams = { + team_id: number; +}; +export declare type TeamsGetMemberParams = { + team_id: number; + username: string; +}; +export declare type TeamsGetMemberLegacyParams = { + team_id: number; + username: string; +}; +export declare type TeamsGetMembershipParams = { + team_id: number; + username: string; +}; +export declare type TeamsGetMembershipInOrgParams = { + org: string; + team_slug: string; + username: string; +}; +export declare type TeamsGetMembershipLegacyParams = { + team_id: number; + username: string; +}; +export declare type TeamsListParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type TeamsListChildParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListChildInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListChildLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare 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 declare type TeamsListDiscussionCommentsInOrgParams = { + /** + * 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; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListDiscussionCommentsLegacyParams = { + /** + * 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 declare 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 declare type TeamsListDiscussionsInOrgParams = { + /** + * 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"; + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListDiscussionsLegacyParams = { + /** + * 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 declare type TeamsListForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare 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 declare type TeamsListMembersInOrgParams = { + org: string; + /** + * 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_slug: string; +}; +export declare type TeamsListMembersLegacyParams = { + /** + * 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 declare type TeamsListPendingInvitationsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListPendingInvitationsInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListPendingInvitationsLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListProjectsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListProjectsInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListProjectsLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListReposParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsListReposInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_slug: string; +}; +export declare type TeamsListReposLegacyParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + team_id: number; +}; +export declare type TeamsRemoveMemberParams = { + team_id: number; + username: string; +}; +export declare type TeamsRemoveMemberLegacyParams = { + team_id: number; + username: string; +}; +export declare type TeamsRemoveMembershipParams = { + team_id: number; + username: string; +}; +export declare type TeamsRemoveMembershipInOrgParams = { + org: string; + team_slug: string; + username: string; +}; +export declare type TeamsRemoveMembershipLegacyParams = { + team_id: number; + username: string; +}; +export declare type TeamsRemoveProjectParams = { + project_id: number; + team_id: number; +}; +export declare type TeamsRemoveProjectInOrgParams = { + org: string; + project_id: number; + team_slug: string; +}; +export declare type TeamsRemoveProjectLegacyParams = { + project_id: number; + team_id: number; +}; +export declare type TeamsRemoveRepoParams = { + owner: string; + repo: string; + team_id: number; +}; +export declare type TeamsRemoveRepoInOrgParams = { + org: string; + owner: string; + repo: string; + team_slug: string; +}; +export declare type TeamsRemoveRepoLegacyParams = { + owner: string; + repo: string; + team_id: number; +}; +export declare type TeamsReviewProjectParams = { + project_id: number; + team_id: number; +}; +export declare type TeamsReviewProjectInOrgParams = { + org: string; + project_id: number; + team_slug: string; +}; +export declare type TeamsReviewProjectLegacyParams = { + project_id: number; + team_id: number; +}; +export declare 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. + */ + 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 declare 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. + */ + 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 declare type TeamsUpdateDiscussionParams = { + /** + * The discussion post's body text. + */ + body?: string; + discussion_number: number; + team_id: number; + /** + * The discussion post's title. + */ + title?: string; +}; +export declare type TeamsUpdateDiscussionCommentParams = { + /** + * The discussion comment's body text. + */ + body: string; + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsUpdateDiscussionCommentInOrgParams = { + /** + * The discussion comment's body text. + */ + body: string; + comment_number: number; + discussion_number: number; + org: string; + team_slug: string; +}; +export declare type TeamsUpdateDiscussionCommentLegacyParams = { + /** + * The discussion comment's body text. + */ + body: string; + comment_number: number; + discussion_number: number; + team_id: number; +}; +export declare type TeamsUpdateDiscussionInOrgParams = { + /** + * The discussion post's body text. + */ + body?: string; + discussion_number: number; + org: string; + team_slug: string; + /** + * The discussion post's title. + */ + title?: string; +}; +export declare type TeamsUpdateDiscussionLegacyParams = { + /** + * The discussion post's body text. + */ + body?: string; + discussion_number: number; + team_id: number; + /** + * The discussion post's title. + */ + title?: string; +}; +export declare type TeamsUpdateInOrgParamsDeprecatedPermission = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + org: string; + /** + * The ID of a team to set as the parent team. + */ + 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. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + team_slug: string; +}; +export declare type TeamsUpdateInOrgParams = { + /** + * The description of the team. + */ + description?: string; + /** + * The name of the team. + */ + name: string; + org: string; + /** + * The ID of a team to set as the parent team. + */ + parent_team_id?: number; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; + team_slug: string; +}; +export declare type TeamsUpdateLegacyParamsDeprecatedPermission = { + /** + * 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. + */ + 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 declare type TeamsUpdateLegacyParams = { + /** + * 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. + */ + 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 declare 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 declare type UsersBlockParams = { + username: string; +}; +export declare type UsersCheckBlockedParams = { + username: string; +}; +export declare type UsersCheckFollowingParams = { + username: string; +}; +export declare type UsersCheckFollowingForUserParams = { + target_user: string; + username: string; +}; +export declare 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 declare 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 declare 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 declare type UsersDeleteGpgKeyParams = { + gpg_key_id: number; +}; +export declare type UsersDeletePublicKeyParams = { + key_id: number; +}; +export declare type UsersFollowParams = { + username: string; +}; +export declare type UsersGetByUsernameParams = { + username: string; +}; +export declare 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 declare type UsersGetGpgKeyParams = { + gpg_key_id: number; +}; +export declare type UsersGetPublicKeyParams = { + key_id: number; +}; +export declare 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 declare type UsersListEmailsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListFollowersForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListFollowersForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type UsersListFollowingForAuthenticatedUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListFollowingForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type UsersListGpgKeysParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListGpgKeysForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare type UsersListPublicEmailsParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListPublicKeysParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; +}; +export declare type UsersListPublicKeysForUserParams = { + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + username: string; +}; +export declare 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 declare type UsersUnblockParams = { + username: string; +}; +export declare type UsersUnfollowParams = { + username: string; +}; +export declare 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; +}; +export declare type AppsCreateInstallationTokenParamsPermissions = {}; +export declare type ChecksCreateParamsActions = { + /** + * A short explanation of what this action would do. The maximum size is 40 characters. + */ + description: string; + /** + * A reference for the action on the integrator's system. The maximum size is 20 characters. + */ + identifier: string; + /** + * The text to be displayed on a button in the web UI. The maximum size is 20 characters. + */ + label: string; +}; +export declare type ChecksCreateParamsOutput = { + /** + * 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. + */ + annotations?: ChecksCreateParamsOutputAnnotations[]; + /** + * 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. + */ + images?: ChecksCreateParamsOutputImages[]; + /** + * The summary of the check run. This parameter supports Markdown. + */ + summary: string; + /** + * The details of the check run. This parameter supports Markdown. + */ + text?: string; + /** + * The title of the check run. + */ + title: string; +}; +export declare type ChecksCreateParamsOutputAnnotations = { + /** + * The level of the annotation. Can be one of `notice`, `warning`, or `failure`. + */ + annotation_level: "notice" | "warning" | "failure"; + /** + * The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. + */ + end_column?: number; + /** + * The end line of the annotation. + */ + end_line: number; + /** + * A short description of the feedback for these lines of code. The maximum size is 64 KB. + */ + message: string; + /** + * The path of the file to add an annotation to. For example, `assets/css/main.css`. + */ + path: string; + /** + * Details about this annotation. The maximum size is 64 KB. + */ + raw_details?: string; + /** + * 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. + */ + start_column?: number; + /** + * The start line of the annotation. + */ + start_line: number; + /** + * The title that represents the annotation. The maximum size is 255 characters. + */ + title?: string; +}; +export declare type ChecksCreateParamsOutputImages = { + /** + * The alternative text for the image. + */ + alt: string; + /** + * A short image description. + */ + caption?: string; + /** + * The full URL of the image. + */ + image_url: string; +}; +export declare type ChecksSetSuitesPreferencesParamsAutoTriggerChecks = { + /** + * The `id` of the GitHub App. + */ + app_id: number; + /** + * Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. + */ + setting: boolean; +}; +export declare type ChecksUpdateParamsActions = { + /** + * A short explanation of what this action would do. The maximum size is 40 characters. + */ + description: string; + /** + * A reference for the action on the integrator's system. The maximum size is 20 characters. + */ + identifier: string; + /** + * The text to be displayed on a button in the web UI. The maximum size is 20 characters. + */ + label: string; +}; +export declare type ChecksUpdateParamsOutput = { + /** + * 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. + */ + annotations?: ChecksUpdateParamsOutputAnnotations[]; + /** + * 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. + */ + images?: ChecksUpdateParamsOutputImages[]; + /** + * Can contain Markdown. + */ + summary: string; + /** + * Can contain Markdown. + */ + text?: string; + /** + * **Required**. + */ + title?: string; +}; +export declare type ChecksUpdateParamsOutputAnnotations = { + /** + * The level of the annotation. Can be one of `notice`, `warning`, or `failure`. + */ + annotation_level: "notice" | "warning" | "failure"; + /** + * The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. + */ + end_column?: number; + /** + * The end line of the annotation. + */ + end_line: number; + /** + * A short description of the feedback for these lines of code. The maximum size is 64 KB. + */ + message: string; + /** + * The path of the file to add an annotation to. For example, `assets/css/main.css`. + */ + path: string; + /** + * Details about this annotation. The maximum size is 64 KB. + */ + raw_details?: string; + /** + * 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. + */ + start_column?: number; + /** + * The start line of the annotation. + */ + start_line: number; + /** + * The title that represents the annotation. The maximum size is 255 characters. + */ + title?: string; +}; +export declare type ChecksUpdateParamsOutputImages = { + /** + * The alternative text for the image. + */ + alt: string; + /** + * A short image description. + */ + caption?: string; + /** + * The full URL of the image. + */ + image_url: string; +}; +export declare type GistsCreateParamsFiles = { + /** + * The content of the file. + */ + content?: string; +}; +export declare type GistsUpdateParamsFiles = { + /** + * The updated content of the file. + */ + content?: string; + /** + * The new name for this file. To delete a file, set the value of the filename to `null`. + */ + filename?: string; +}; +export declare type GitCreateCommitParamsAuthor = { + /** + * Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + /** + * The email of the author (or committer) of the commit + */ + email?: string; + /** + * The name of the author (or committer) of the commit + */ + name?: string; +}; +export declare type GitCreateCommitParamsCommitter = { + /** + * Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + /** + * The email of the author (or committer) of the commit + */ + email?: string; + /** + * The name of the author (or committer) of the commit + */ + name?: string; +}; +export declare type GitCreateTagParamsTagger = { + /** + * When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + /** + * The email of the author of the tag + */ + email?: string; + /** + * The name of the author of the tag + */ + name?: string; +}; +export declare type GitCreateTreeParamsTree = { + /** + * The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + content?: string; + /** + * 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. + */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** + * The file referenced in the tree. + */ + path?: string; + /** + * The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + sha?: string | null; + /** + * Either `blob`, `tree`, or `commit`. + */ + type?: "blob" | "tree" | "commit"; +}; +export declare type OrgsCreateHookParamsConfig = { + /** + * The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + */ + content_type?: string; + /** + * 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.** + */ + insecure_ssl?: string; + /** + * 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. + */ + secret?: string; + /** + * The URL to which the payloads will be delivered. + */ + url: string; +}; +export declare type OrgsUpdateHookParamsConfig = { + /** + * The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + */ + content_type?: string; + /** + * 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.** + */ + insecure_ssl?: string; + /** + * 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. + */ + secret?: string; + /** + * The URL to which the payloads will be delivered. + */ + url: string; +}; +export declare type PullsCreateReviewParamsComments = { + /** + * Text of the review comment. + */ + body: string; + /** + * The relative path to the file that necessitates a review comment. + */ + path: string; + /** + * The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. + */ + position: number; +}; +export declare type ReposCreateDispatchEventParamsClientPayload = {}; +export declare type ReposCreateFileParamsAuthor = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposCreateFileParamsCommitter = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposCreateHookParamsConfig = { + /** + * The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + */ + content_type?: string; + /** + * 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.** + */ + insecure_ssl?: string; + /** + * 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. + */ + secret?: string; + /** + * The URL to which the payloads will be delivered. + */ + url: string; +}; +export declare type ReposCreateOrUpdateFileParamsAuthor = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposCreateOrUpdateFileParamsCommitter = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposDeleteFileParamsAuthor = { + /** + * The email of the author (or committer) of the commit + */ + email?: string; + /** + * The name of the author (or committer) of the commit + */ + name?: string; +}; +export declare type ReposDeleteFileParamsCommitter = { + /** + * The email of the author (or committer) of the commit + */ + email?: string; + /** + * The name of the author (or committer) of the commit + */ + name?: string; +}; +export declare type ReposEnablePagesSiteParamsSource = { + /** + * 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`. + */ + branch?: "master" | "gh-pages"; + /** + * 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 `/`. + */ + path?: string; +}; +export declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviews = { + /** + * 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?: ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions; + /** + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) review them. + */ + require_code_owner_reviews?: boolean; + /** + * Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6. + */ + required_approving_review_count?: number; +}; +export declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions = { + /** + * The list of team `slug`s with dismissal access + */ + teams?: string[]; + /** + * The list of user `login`s with dismissal access + */ + users?: string[]; +}; +export declare type ReposUpdateBranchProtectionParamsRequiredStatusChecks = { + /** + * The list of status checks to require in order to merge into this branch + */ + contexts: string[]; + /** + * Require branches to be up to date before merging. + */ + strict: boolean; +}; +export declare type ReposUpdateBranchProtectionParamsRestrictions = { + /** + * The list of app `slug`s with push access + */ + apps?: string[]; + /** + * The list of team `slug`s with push access + */ + teams: string[]; + /** + * The list of user `login`s with push access + */ + users: string[]; +}; +export declare type ReposUpdateFileParamsAuthor = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposUpdateFileParamsCommitter = { + /** + * The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. + */ + email: string; + /** + * The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. + */ + name: string; +}; +export declare type ReposUpdateHookParamsConfig = { + /** + * The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + */ + content_type?: string; + /** + * 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.** + */ + insecure_ssl?: string; + /** + * 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. + */ + secret?: string; + /** + * The URL to which the payloads will be delivered. + */ + url: string; +}; +export declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { + /** + * The list of team `slug`s with dismissal access + */ + teams?: string[]; + /** + * The list of user `login`s with dismissal access + */ + users?: string[]; +}; +export declare type ReposUploadReleaseAssetParamsHeaders = { + "content-length": number; + "content-type": string; +}; +export declare type RestEndpointMethods = { + actions: { + /** + * Cancels a workflow run using its `id`. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + cancelWorkflowRun: { + (params?: RequestParameters & ActionsCancelWorkflowRunParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Creates or updates a secret with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + * + * Encrypt your secret using the [tweetsodium](https://github.com/mastahyeti/tweetsodium) library. + * + * + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + */ + createOrUpdateSecretForRepo: { + (params?: RequestParameters & ActionsCreateOrUpdateSecretForRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + * + * Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint. + */ + createRegistrationToken: { + (params?: RequestParameters & ActionsCreateRegistrationTokenParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + * + * Remove your self-hosted runner from a repository, replacing TOKEN with the remove token provided by this endpoint. + */ + createRemoveToken: { + (params?: RequestParameters & ActionsCreateRemoveTokenParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Deletes an artifact for a workflow run. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + deleteArtifact: { + (params?: RequestParameters & ActionsDeleteArtifactParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Deletes a secret in a repository using the secret name. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + deleteSecretFromRepo: { + (params?: RequestParameters & ActionsDeleteSecretFromRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. + */ + downloadArtifact: { + (params?: RequestParameters & ActionsDownloadArtifactParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getArtifact: { + (params?: RequestParameters & ActionsGetArtifactParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets your public key, which you must store. You need your public key to use other secrets endpoints. Use the returned `key` to encrypt your secrets. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + getPublicKey: { + (params?: RequestParameters & ActionsGetPublicKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a single secret without revealing its encrypted value. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + getSecret: { + (params?: RequestParameters & ActionsGetSecretParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a specific self-hosted runner. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + getSelfHostedRunner: { + (params?: RequestParameters & ActionsGetSelfHostedRunnerParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a specific workflow. You can also replace `:workflow_id` with `:workflow_file_name`. For example, you could use `main.yml`. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getWorkflow: { + (params?: RequestParameters & ActionsGetWorkflowParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getWorkflowJob: { + (params?: RequestParameters & ActionsGetWorkflowJobParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + getWorkflowRun: { + (params?: RequestParameters & ActionsGetWorkflowRunParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists binaries for the self-hosted runner application that you can download and run. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + listDownloadsForSelfHostedRunnerApplication: { + (params?: RequestParameters & ActionsListDownloadsForSelfHostedRunnerApplicationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listJobsForWorkflowRun: { + (params?: RequestParameters & ActionsListJobsForWorkflowRunParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://developer.github.com/v3/#parameters). + * + * Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listRepoWorkflowRuns: { + (params?: RequestParameters & ActionsListRepoWorkflowRunsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listRepoWorkflows: { + (params?: RequestParameters & ActionsListRepoWorkflowsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all secrets available in a repository without revealing their encrypted values. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + */ + listSecretsForRepo: { + (params?: RequestParameters & ActionsListSecretsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all self-hosted runners for a repository. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + listSelfHostedRunnersForRepo: { + (params?: RequestParameters & ActionsListSelfHostedRunnersForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. + */ + listWorkflowJobLogs: { + (params?: RequestParameters & ActionsListWorkflowJobLogsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + listWorkflowRunArtifacts: { + (params?: RequestParameters & ActionsListWorkflowRunArtifactsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. + */ + listWorkflowRunLogs: { + (params?: RequestParameters & ActionsListWorkflowRunLogsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * List all workflow runs for a workflow. You can also replace `:workflow_id` with `:workflow_file_name`. For example, you could use `main.yml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://developer.github.com/v3/#parameters). + * + * Anyone with read access to the repository can use this endpoint. + */ + listWorkflowRuns: { + (params?: RequestParameters & ActionsListWorkflowRunsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Re-runs your workflow run using its `id`. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + */ + reRunWorkflow: { + (params?: RequestParameters & ActionsReRunWorkflowParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + */ + removeSelfHostedRunner: { + (params?: RequestParameters & ActionsRemoveSelfHostedRunnerParams): Promise; + endpoint: EndpointInterface; + }; + }; + activity: { + /** + * Requires for the user to be authenticated. + */ + checkStarringRepo: { + (params?: RequestParameters & ActivityCheckStarringRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Requires for the user to be authenticated. + */ + checkWatchingRepoLegacy: { + (params?: RequestParameters & ActivityCheckWatchingRepoLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivityDeleteRepoSubscriptionParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Mutes all future notifications for a conversation until you comment on the thread or get **@mention**ed. + */ + deleteThreadSubscription: { + (params?: RequestParameters & ActivityDeleteThreadSubscriptionParams): Promise; + endpoint: EndpointInterface; + }; + getRepoSubscription: { + (params?: RequestParameters & ActivityGetRepoSubscriptionParams): Promise>; + endpoint: EndpointInterface; + }; + getThread: { + (params?: RequestParameters & ActivityGetThreadParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivityGetThreadSubscriptionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This is the user's organization dashboard. You must be authenticated as the user to view this. + */ + listEventsForOrg: { + (params?: RequestParameters & ActivityListEventsForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ + listEventsForUser: { + (params?: RequestParameters & ActivityListEventsForUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivityListNotificationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all notifications for the current user. + */ + listNotificationsForRepo: { + (params?: RequestParameters & ActivityListNotificationsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivityListPublicEventsParams): Promise; + endpoint: EndpointInterface; + }; + listPublicEventsForOrg: { + (params?: RequestParameters & ActivityListPublicEventsForOrgParams): Promise; + endpoint: EndpointInterface; + }; + listPublicEventsForRepoNetwork: { + (params?: RequestParameters & ActivityListPublicEventsForRepoNetworkParams): Promise; + endpoint: EndpointInterface; + }; + listPublicEventsForUser: { + (params?: RequestParameters & ActivityListPublicEventsForUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivityListReceivedEventsForUserParams): Promise; + endpoint: EndpointInterface; + }; + listReceivedPublicEventsForUser: { + (params?: RequestParameters & ActivityListReceivedPublicEventsForUserParams): Promise; + endpoint: EndpointInterface; + }; + listRepoEvents: { + (params?: RequestParameters & ActivityListRepoEventsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivityListReposStarredByAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivityListReposStarredByUserParams): Promise>; + endpoint: EndpointInterface; + }; + listReposWatchedByUser: { + (params?: RequestParameters & ActivityListReposWatchedByUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivityListStargazersForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listWatchedReposForAuthenticatedUser: { + (params?: RequestParameters & ActivityListWatchedReposForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + listWatchersForRepo: { + (params?: RequestParameters & ActivityListWatchersForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivityMarkAsReadParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivityMarkNotificationsAsReadForRepoParams): Promise; + endpoint: EndpointInterface; + }; + markThreadAsRead: { + (params?: RequestParameters & ActivityMarkThreadAsReadParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivitySetRepoSubscriptionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This lets you subscribe or unsubscribe from a conversation. + */ + setThreadSubscription: { + (params?: RequestParameters & ActivitySetThreadSubscriptionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ActivityStarRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Requires for the user to be authenticated. + */ + stopWatchingRepoLegacy: { + (params?: RequestParameters & ActivityStopWatchingRepoLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Requires for the user to be authenticated. + */ + unstarRepo: { + (params?: RequestParameters & ActivityUnstarRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Requires 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)." + */ + watchRepoLegacy: { + (params?: RequestParameters & ActivityWatchRepoLegacyParams): Promise; + endpoint: EndpointInterface; + }; + }; + 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?: RequestParameters & AppsAddRepoToInstallationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsCheckAccountIsAssociatedWithAnyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsCheckAccountIsAssociatedWithAnyStubbedParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + checkAuthorization: { + (params?: RequestParameters & AppsCheckAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + checkToken: { + (params?: RequestParameters & AppsCheckTokenParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsCreateContentAttachmentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsCreateFromManifestParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsCreateInstallationTokenParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * + * Deleting an 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). + */ + deleteAuthorization: { + (params?: RequestParameters & AppsDeleteAuthorizationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsDeleteInstallationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + */ + deleteToken: { + (params?: RequestParameters & AppsDeleteTokenParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsFindOrgInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsFindRepoInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsFindUserInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & AppsGetBySlugParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsGetInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsGetOrgInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsGetRepoInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsGetUserInstallationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsListAccountsUserOrOrgOnPlanParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsListAccountsUserOrOrgOnPlanStubbedParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsListInstallationReposForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsListInstallationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsListInstallationsForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsListMarketplacePurchasesForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsListMarketplacePurchasesForAuthenticatedUserStubbedParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsListPlansParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsListPlansStubbedParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsListReposParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & AppsRemoveRepoFromInstallationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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 this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + resetAuthorization: { + (params?: RequestParameters & AppsResetAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + resetToken: { + (params?: RequestParameters & AppsResetTokenParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * @deprecated octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + revokeAuthorizationForApplication: { + (params?: RequestParameters & AppsRevokeAuthorizationForApplicationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid 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 Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + revokeGrantForApplication: { + (params?: RequestParameters & AppsRevokeGrantForApplicationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create a new installation token](https://developer.github.com/v3/apps/#create-a-new-installation-token)" endpoint. + * + * 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. + */ + revokeInstallationToken: { + (params?: RequestParameters & EmptyParams): Promise; + endpoint: EndpointInterface; + }; + }; + 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?: RequestParameters & ChecksCreateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ChecksCreateSuiteParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ChecksGetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ChecksGetSuiteParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ChecksListAnnotationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ChecksListForRefParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ChecksListForSuiteParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ChecksListSuitesForRefParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ChecksRerequestSuiteParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ChecksSetSuitesPreferencesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ChecksUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + }; + codesOfConduct: { + getConductCode: { + (params?: RequestParameters & CodesOfConductGetConductCodeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This method returns the contents of the repository's code of conduct file, if one is detected. + */ + getForRepo: { + (params?: RequestParameters & CodesOfConductGetForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listConductCodes: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + emojis: { + /** + * Lists all the emojis available to use on GitHub. + */ + get: { + (params?: RequestParameters & EmptyParams): Promise; + endpoint: EndpointInterface; + }; + }; + gists: { + checkIsStarred: { + (params?: RequestParameters & GistsCheckIsStarredParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GistsCreateParams): Promise>; + endpoint: EndpointInterface; + }; + createComment: { + (params?: RequestParameters & GistsCreateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + delete: { + (params?: RequestParameters & GistsDeleteParams): Promise; + endpoint: EndpointInterface; + }; + deleteComment: { + (params?: RequestParameters & GistsDeleteCommentParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Note**: This was previously `/gists/:gist_id/fork`. + */ + fork: { + (params?: RequestParameters & GistsForkParams): Promise>; + endpoint: EndpointInterface; + }; + get: { + (params?: RequestParameters & GistsGetParams): Promise>; + endpoint: EndpointInterface; + }; + getComment: { + (params?: RequestParameters & GistsGetCommentParams): Promise>; + endpoint: EndpointInterface; + }; + getRevision: { + (params?: RequestParameters & GistsGetRevisionParams): Promise>; + endpoint: EndpointInterface; + }; + list: { + (params?: RequestParameters & GistsListParams): Promise>; + endpoint: EndpointInterface; + }; + listComments: { + (params?: RequestParameters & GistsListCommentsParams): Promise>; + endpoint: EndpointInterface; + }; + listCommits: { + (params?: RequestParameters & GistsListCommitsParams): Promise>; + endpoint: EndpointInterface; + }; + listForks: { + (params?: RequestParameters & GistsListForksParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GistsListPublicParams): Promise>; + endpoint: EndpointInterface; + }; + listPublicForUser: { + (params?: RequestParameters & GistsListPublicForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the authenticated user's starred gists: + */ + listStarred: { + (params?: RequestParameters & GistsListStarredParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GistsStarParams): Promise; + endpoint: EndpointInterface; + }; + unstar: { + (params?: RequestParameters & GistsUnstarParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GistsUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + updateComment: { + (params?: RequestParameters & GistsUpdateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + }; + git: { + createBlob: { + (params?: RequestParameters & GitCreateBlobParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GitCreateCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GitCreateRefParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GitCreateTagParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GitCreateTreeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * ``` + * DELETE /repos/octocat/Hello-World/git/refs/heads/feature-a + * ``` + * + * ``` + * DELETE /repos/octocat/Hello-World/git/refs/tags/v1.0 + * ``` + */ + deleteRef: { + (params?: RequestParameters & GitDeleteRefParams): Promise; + endpoint: EndpointInterface; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + getBlob: { + (params?: RequestParameters & GitGetBlobParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GitGetCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GitGetRefParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & GitGetTagParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns a single tree using the SHA1 value for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, you can clone the repository and iterate over the Git data locally. + */ + getTree: { + (params?: RequestParameters & GitGetTreeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GitListMatchingRefsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & GitListRefsParams): Promise; + endpoint: EndpointInterface; + }; + updateRef: { + (params?: RequestParameters & GitUpdateRefParams): Promise>; + endpoint: EndpointInterface; + }; + }; + 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?: RequestParameters & GitignoreGetTemplateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all templates available to pass as an option when [creating a repository](https://developer.github.com/v3/repos/#create). + */ + listTemplates: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + 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?: RequestParameters & InteractionsAddOrUpdateRestrictionsForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Temporarily restricts interactions to certain GitHub users within the given repository. You must have owner or admin access to set restrictions. + */ + addOrUpdateRestrictionsForRepo: { + (params?: RequestParameters & InteractionsAddOrUpdateRestrictionsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & InteractionsGetRestrictionsForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & InteractionsGetRestrictionsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + removeRestrictionsForOrg: { + (params?: RequestParameters & InteractionsRemoveRestrictionsForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. + */ + removeRestrictionsForRepo: { + (params?: RequestParameters & InteractionsRemoveRestrictionsForRepoParams): Promise; + endpoint: EndpointInterface; + }; + }; + 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?: RequestParameters & IssuesAddAssigneesParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesAddAssigneesParams): Promise>; + endpoint: EndpointInterface; + }; + addLabels: { + (params?: RequestParameters & IssuesAddLabelsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesAddLabelsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & IssuesCheckAssigneeParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & IssuesCreateParamsDeprecatedAssignee): Promise>; + (params?: RequestParameters & IssuesCreateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & IssuesCreateCommentParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesCreateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + createLabel: { + (params?: RequestParameters & IssuesCreateLabelParams): Promise>; + endpoint: EndpointInterface; + }; + createMilestone: { + (params?: RequestParameters & IssuesCreateMilestoneParams): Promise>; + endpoint: EndpointInterface; + }; + deleteComment: { + (params?: RequestParameters & IssuesDeleteCommentParams): Promise; + endpoint: EndpointInterface; + }; + deleteLabel: { + (params?: RequestParameters & IssuesDeleteLabelParams): Promise; + endpoint: EndpointInterface; + }; + deleteMilestone: { + (params?: RequestParameters & IssuesDeleteMilestoneParamsDeprecatedNumber): Promise; + (params?: RequestParameters & IssuesDeleteMilestoneParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & IssuesGetParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesGetParams): Promise>; + endpoint: EndpointInterface; + }; + getComment: { + (params?: RequestParameters & IssuesGetCommentParams): Promise>; + endpoint: EndpointInterface; + }; + getEvent: { + (params?: RequestParameters & IssuesGetEventParams): Promise>; + endpoint: EndpointInterface; + }; + getLabel: { + (params?: RequestParameters & IssuesGetLabelParams): Promise>; + endpoint: EndpointInterface; + }; + getMilestone: { + (params?: RequestParameters & IssuesGetMilestoneParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesGetMilestoneParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & IssuesListParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & IssuesListAssigneesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Issue Comments are ordered by ascending ID. + */ + listComments: { + (params?: RequestParameters & IssuesListCommentsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesListCommentsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * By default, Issue Comments are ordered by ascending ID. + */ + listCommentsForRepo: { + (params?: RequestParameters & IssuesListCommentsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listEvents: { + (params?: RequestParameters & IssuesListEventsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesListEventsParams): Promise>; + endpoint: EndpointInterface; + }; + listEventsForRepo: { + (params?: RequestParameters & IssuesListEventsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listEventsForTimeline: { + (params?: RequestParameters & IssuesListEventsForTimelineParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesListEventsForTimelineParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & IssuesListForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & IssuesListForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & IssuesListForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listLabelsForMilestone: { + (params?: RequestParameters & IssuesListLabelsForMilestoneParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesListLabelsForMilestoneParams): Promise>; + endpoint: EndpointInterface; + }; + listLabelsForRepo: { + (params?: RequestParameters & IssuesListLabelsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listLabelsOnIssue: { + (params?: RequestParameters & IssuesListLabelsOnIssueParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesListLabelsOnIssueParams): Promise>; + endpoint: EndpointInterface; + }; + listMilestonesForRepo: { + (params?: RequestParameters & IssuesListMilestonesForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & IssuesLockParamsDeprecatedNumber): Promise; + (params?: RequestParameters & IssuesLockParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removes one or more assignees from an issue. + * + * This example removes two of three assignees, leaving the `octocat` assignee. + */ + removeAssignees: { + (params?: RequestParameters & IssuesRemoveAssigneesParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesRemoveAssigneesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & IssuesRemoveLabelParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesRemoveLabelParams): Promise>; + endpoint: EndpointInterface; + }; + removeLabels: { + (params?: RequestParameters & IssuesRemoveLabelsParamsDeprecatedNumber): Promise; + (params?: RequestParameters & IssuesRemoveLabelsParams): Promise; + endpoint: EndpointInterface; + }; + replaceLabels: { + (params?: RequestParameters & IssuesReplaceLabelsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesReplaceLabelsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with push access can unlock an issue's conversation. + */ + unlock: { + (params?: RequestParameters & IssuesUnlockParamsDeprecatedNumber): Promise; + (params?: RequestParameters & IssuesUnlockParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Issue owners and users with push access can edit an issue. + */ + update: { + (params?: RequestParameters & IssuesUpdateParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesUpdateParamsDeprecatedAssignee): Promise>; + (params?: RequestParameters & IssuesUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + updateComment: { + (params?: RequestParameters & IssuesUpdateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + updateLabel: { + (params?: RequestParameters & IssuesUpdateLabelParams): Promise>; + endpoint: EndpointInterface; + }; + updateMilestone: { + (params?: RequestParameters & IssuesUpdateMilestoneParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & IssuesUpdateMilestoneParams): Promise>; + endpoint: EndpointInterface; + }; + }; + licenses: { + get: { + (params?: RequestParameters & LicensesGetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & LicensesGetForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * @deprecated octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05) + */ + list: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + listCommonlyUsed: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + markdown: { + render: { + (params?: RequestParameters & MarkdownRenderParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & MarkdownRenderRawParams): Promise; + endpoint: EndpointInterface; + }; + }; + 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?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + migrations: { + /** + * Stop an import for a repository. + */ + cancelImport: { + (params?: RequestParameters & MigrationsCancelImportParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://developer.github.com/v3/migrations/users/#list-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?: RequestParameters & MigrationsDeleteArchiveForAuthenticatedUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + deleteArchiveForOrg: { + (params?: RequestParameters & MigrationsDeleteArchiveForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Fetches the URL to a migration archive. + */ + downloadArchiveForOrg: { + (params?: RequestParameters & MigrationsDownloadArchiveForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & MigrationsGetArchiveForAuthenticatedUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Fetches the URL to a migration archive. + * + * + * @deprecated octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27) + */ + getArchiveForOrg: { + (params?: RequestParameters & MigrationsGetArchiveForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & MigrationsGetCommitAuthorsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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) or [GitHub Premium Support](https://premium.githubsupport.com) 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?: RequestParameters & MigrationsGetImportProgressParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List files larger than 100MB found during the import + */ + getLargeFiles: { + (params?: RequestParameters & MigrationsGetLargeFilesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & MigrationsGetStatusForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & MigrationsGetStatusForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all migrations a user has started. + */ + listForAuthenticatedUser: { + (params?: RequestParameters & MigrationsListForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the most recent migrations. + */ + listForOrg: { + (params?: RequestParameters & MigrationsListForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all the repositories for this organization migration. + */ + listReposForOrg: { + (params?: RequestParameters & MigrationsListReposForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all the repositories for this user migration. + */ + listReposForUser: { + (params?: RequestParameters & MigrationsListReposForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & MigrationsMapCommitAuthorParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & MigrationsSetLfsPreferenceParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Initiates the generation of a user migration archive. + */ + startForAuthenticatedUser: { + (params?: RequestParameters & MigrationsStartForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Initiates the generation of a migration archive. + */ + startForOrg: { + (params?: RequestParameters & MigrationsStartForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Start a source import to a GitHub repository using GitHub Importer. + */ + startImport: { + (params?: RequestParameters & MigrationsStartImportParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & MigrationsUnlockRepoForAuthenticatedUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & MigrationsUnlockRepoForOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & MigrationsUpdateImportParams): Promise>; + endpoint: EndpointInterface; + }; + }; + oauthAuthorizations: { + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.oauthAuthorizations.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + checkAuthorization: { + (params?: RequestParameters & OauthAuthorizationsCheckAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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)." + * + * 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). + * @deprecated octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization + */ + createAuthorization: { + (params?: RequestParameters & OauthAuthorizationsCreateAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization + */ + deleteAuthorization: { + (params?: RequestParameters & OauthAuthorizationsDeleteAuthorizationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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). + * @deprecated octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant + */ + deleteGrant: { + (params?: RequestParameters & OauthAuthorizationsDeleteGrantParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization + */ + getAuthorization: { + (params?: RequestParameters & OauthAuthorizationsGetAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant + */ + getGrant: { + (params?: RequestParameters & OauthAuthorizationsGetGrantParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app + */ + getOrCreateAuthorizationForApp: { + (params?: RequestParameters & OauthAuthorizationsGetOrCreateAuthorizationForAppParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + getOrCreateAuthorizationForAppAndFingerprint: { + (params?: RequestParameters & OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + getOrCreateAuthorizationForAppFingerprint: { + (params?: RequestParameters & OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations + */ + listAuthorizations: { + (params?: RequestParameters & OauthAuthorizationsListAuthorizationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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"]`. + * @deprecated octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants + */ + listGrants: { + (params?: RequestParameters & OauthAuthorizationsListGrantsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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 this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.oauthAuthorizations.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + resetAuthorization: { + (params?: RequestParameters & OauthAuthorizationsResetAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * @deprecated octokit.oauthAuthorizations.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + revokeAuthorizationForApplication: { + (params?: RequestParameters & OauthAuthorizationsRevokeAuthorizationForApplicationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid 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 Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.oauthAuthorizations.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + revokeGrantForApplication: { + (params?: RequestParameters & OauthAuthorizationsRevokeGrantForApplicationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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. + * @deprecated octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization + */ + updateAuthorization: { + (params?: RequestParameters & OauthAuthorizationsUpdateAuthorizationParams): Promise>; + endpoint: EndpointInterface; + }; + }; + 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?: RequestParameters & OrgsAddOrUpdateMembershipParams): Promise>; + endpoint: EndpointInterface; + }; + blockUser: { + (params?: RequestParameters & OrgsBlockUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * If the user is blocked: + * + * If the user is not blocked: + */ + checkBlockedUser: { + (params?: RequestParameters & OrgsCheckBlockedUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Check if a user is, publicly or privately, a member of the organization. + */ + checkMembership: { + (params?: RequestParameters & OrgsCheckMembershipParams): Promise; + endpoint: EndpointInterface; + }; + checkPublicMembership: { + (params?: RequestParameters & OrgsCheckPublicMembershipParams): Promise; + endpoint: EndpointInterface; + }; + concealMembership: { + (params?: RequestParameters & OrgsConcealMembershipParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsConvertMemberToOutsideCollaboratorParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Here's how you can create a hook that posts payloads in JSON format: + */ + createHook: { + (params?: RequestParameters & OrgsCreateHookParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsCreateInvitationParams): Promise>; + endpoint: EndpointInterface; + }; + deleteHook: { + (params?: RequestParameters & OrgsDeleteHookParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsGetParams): Promise>; + endpoint: EndpointInterface; + }; + getHook: { + (params?: RequestParameters & OrgsGetHookParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * In order to get a user's membership with an organization, the authenticated user must be an organization member. + */ + getMembership: { + (params?: RequestParameters & OrgsGetMembershipParams): Promise>; + endpoint: EndpointInterface; + }; + getMembershipForAuthenticatedUser: { + (params?: RequestParameters & OrgsGetMembershipForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsListParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the users blocked by an organization. + */ + listBlockedUsers: { + (params?: RequestParameters & OrgsListBlockedUsersParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsListForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsListForUserParams): Promise>; + endpoint: EndpointInterface; + }; + listHooks: { + (params?: RequestParameters & OrgsListHooksParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsListInstallationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsListInvitationTeamsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsListMembersParams): Promise>; + endpoint: EndpointInterface; + }; + listMemberships: { + (params?: RequestParameters & OrgsListMembershipsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List all users who are outside collaborators of an organization. + */ + listOutsideCollaborators: { + (params?: RequestParameters & OrgsListOutsideCollaboratorsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsListPendingInvitationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Members of an organization can choose to have their membership publicized or not. + */ + listPublicMembers: { + (params?: RequestParameters & OrgsListPublicMembersParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This will trigger a [ping event](https://developer.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingHook: { + (params?: RequestParameters & OrgsPingHookParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsPublicizeMembershipParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsRemoveMemberParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & OrgsRemoveMembershipParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removing a user from this list will remove them from all the organization's repositories. + */ + removeOutsideCollaborator: { + (params?: RequestParameters & OrgsRemoveOutsideCollaboratorParams): Promise>; + endpoint: EndpointInterface; + }; + unblockUser: { + (params?: RequestParameters & OrgsUnblockUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + update: { + (params?: RequestParameters & OrgsUpdateParamsDeprecatedMembersAllowedRepositoryCreationType): Promise>; + (params?: RequestParameters & OrgsUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + updateHook: { + (params?: RequestParameters & OrgsUpdateHookParams): Promise>; + endpoint: EndpointInterface; + }; + updateMembership: { + (params?: RequestParameters & OrgsUpdateMembershipParams): Promise>; + endpoint: EndpointInterface; + }; + }; + 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?: RequestParameters & ProjectsAddCollaboratorParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ProjectsCreateCardParams): Promise>; + endpoint: EndpointInterface; + }; + createColumn: { + (params?: RequestParameters & ProjectsCreateColumnParams): Promise>; + endpoint: EndpointInterface; + }; + createForAuthenticatedUser: { + (params?: RequestParameters & ProjectsCreateForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ProjectsCreateForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ProjectsCreateForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + */ + delete: { + (params?: RequestParameters & ProjectsDeleteParams): Promise; + endpoint: EndpointInterface; + }; + deleteCard: { + (params?: RequestParameters & ProjectsDeleteCardParams): Promise; + endpoint: EndpointInterface; + }; + deleteColumn: { + (params?: RequestParameters & ProjectsDeleteColumnParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ProjectsGetParams): Promise>; + endpoint: EndpointInterface; + }; + getCard: { + (params?: RequestParameters & ProjectsGetCardParams): Promise>; + endpoint: EndpointInterface; + }; + getColumn: { + (params?: RequestParameters & ProjectsGetColumnParams): Promise>; + endpoint: EndpointInterface; + }; + listCards: { + (params?: RequestParameters & ProjectsListCardsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ProjectsListCollaboratorsParams): Promise>; + endpoint: EndpointInterface; + }; + listColumns: { + (params?: RequestParameters & ProjectsListColumnsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ProjectsListForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ProjectsListForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + listForUser: { + (params?: RequestParameters & ProjectsListForUserParams): Promise>; + endpoint: EndpointInterface; + }; + moveCard: { + (params?: RequestParameters & ProjectsMoveCardParams): Promise; + endpoint: EndpointInterface; + }; + moveColumn: { + (params?: RequestParameters & ProjectsMoveColumnParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. + */ + removeCollaborator: { + (params?: RequestParameters & ProjectsRemoveCollaboratorParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ProjectsReviewUserPermissionLevelParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ProjectsUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + updateCard: { + (params?: RequestParameters & ProjectsUpdateCardParams): Promise>; + endpoint: EndpointInterface; + }; + updateColumn: { + (params?: RequestParameters & ProjectsUpdateColumnParams): Promise>; + endpoint: EndpointInterface; + }; + }; + pulls: { + checkIfMerged: { + (params?: RequestParameters & PullsCheckIfMergedParamsDeprecatedNumber): Promise; + (params?: RequestParameters & PullsCheckIfMergedParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * 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?: RequestParameters & PullsCreateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & PullsCreateCommentParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsCreateCommentParamsDeprecatedInReplyTo): Promise>; + (params?: RequestParameters & PullsCreateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & PullsCreateCommentReplyParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsCreateCommentReplyParamsDeprecatedInReplyTo): Promise>; + (params?: RequestParameters & PullsCreateCommentReplyParams): Promise>; + endpoint: EndpointInterface; + }; + createFromIssue: { + (params?: RequestParameters & PullsCreateFromIssueParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & PullsCreateReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsCreateReviewParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & PullsCreateReviewCommentReplyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & PullsCreateReviewRequestParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsCreateReviewRequestParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Deletes a review comment. + */ + deleteComment: { + (params?: RequestParameters & PullsDeleteCommentParams): Promise; + endpoint: EndpointInterface; + }; + deletePendingReview: { + (params?: RequestParameters & PullsDeletePendingReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsDeletePendingReviewParams): Promise>; + endpoint: EndpointInterface; + }; + deleteReviewRequest: { + (params?: RequestParameters & PullsDeleteReviewRequestParamsDeprecatedNumber): Promise; + (params?: RequestParameters & PullsDeleteReviewRequestParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & PullsDismissReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsDismissReviewParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://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?: RequestParameters & PullsGetParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsGetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & PullsGetCommentParams): Promise>; + endpoint: EndpointInterface; + }; + getCommentsForReview: { + (params?: RequestParameters & PullsGetCommentsForReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsGetCommentsForReviewParams): Promise>; + endpoint: EndpointInterface; + }; + getReview: { + (params?: RequestParameters & PullsGetReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsGetReviewParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + list: { + (params?: RequestParameters & PullsListParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & PullsListCommentsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsListCommentsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & PullsListCommentsForRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & PullsListCommitsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsListCommitsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + */ + listFiles: { + (params?: RequestParameters & PullsListFilesParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsListFilesParams): Promise>; + endpoint: EndpointInterface; + }; + listReviewRequests: { + (params?: RequestParameters & PullsListReviewRequestsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsListReviewRequestsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The list of reviews returns in chronological order. + */ + listReviews: { + (params?: RequestParameters & PullsListReviewsParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsListReviewsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & PullsMergeParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsMergeParams): Promise>; + endpoint: EndpointInterface; + }; + submitReview: { + (params?: RequestParameters & PullsSubmitReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsSubmitReviewParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + update: { + (params?: RequestParameters & PullsUpdateParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + */ + updateBranch: { + (params?: RequestParameters & PullsUpdateBranchParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & PullsUpdateCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Update the review summary comment with new text. + */ + updateReview: { + (params?: RequestParameters & PullsUpdateReviewParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & PullsUpdateReviewParams): Promise>; + endpoint: EndpointInterface; + }; + }; + 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?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + 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?: RequestParameters & ReactionsCreateForCommitCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReactionsCreateForIssueParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & ReactionsCreateForIssueParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReactionsCreateForIssueCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReactionsCreateForPullRequestReviewCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion) 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. + * @deprecated octokit.reactions.createForTeamDiscussion() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + createForTeamDiscussion: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion comment`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment) 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. + * @deprecated octokit.reactions.createForTeamDiscussionComment() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + createForTeamDiscussionComment: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + createForTeamDiscussionCommentInOrg: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionCommentInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion comment`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment) 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. + * @deprecated octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + createForTeamDiscussionCommentLegacy: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionCommentLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + createForTeamDiscussionInOrg: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion) 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. + * @deprecated octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + createForTeamDiscussionLegacy: { + (params?: RequestParameters & ReactionsCreateForTeamDiscussionLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReactionsDeleteParams): Promise; + endpoint: EndpointInterface; + }; + /** + * List the reactions to a [commit comment](https://developer.github.com/v3/repos/comments/). + */ + listForCommitComment: { + (params?: RequestParameters & ReactionsListForCommitCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the reactions to an [issue](https://developer.github.com/v3/issues/). + */ + listForIssue: { + (params?: RequestParameters & ReactionsListForIssueParamsDeprecatedNumber): Promise>; + (params?: RequestParameters & ReactionsListForIssueParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the reactions to an [issue comment](https://developer.github.com/v3/issues/comments/). + */ + listForIssueComment: { + (params?: RequestParameters & ReactionsListForIssueCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the reactions to a [pull request review comment](https://developer.github.com/v3/pulls/comments/). + */ + listForPullRequestReviewComment: { + (params?: RequestParameters & ReactionsListForPullRequestReviewCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion) 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/). + * @deprecated octokit.reactions.listForTeamDiscussion() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + listForTeamDiscussion: { + (params?: RequestParameters & ReactionsListForTeamDiscussionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment) 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/). + * @deprecated octokit.reactions.listForTeamDiscussionComment() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + listForTeamDiscussionComment: { + (params?: RequestParameters & ReactionsListForTeamDiscussionCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + listForTeamDiscussionCommentInOrg: { + (params?: RequestParameters & ReactionsListForTeamDiscussionCommentInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment) 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/). + * @deprecated octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + listForTeamDiscussionCommentLegacy: { + (params?: RequestParameters & ReactionsListForTeamDiscussionCommentLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + listForTeamDiscussionInOrg: { + (params?: RequestParameters & ReactionsListForTeamDiscussionInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion) 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/). + * @deprecated octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + listForTeamDiscussionLegacy: { + (params?: RequestParameters & ReactionsListForTeamDiscussionLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + repos: { + acceptInvitation: { + (params?: RequestParameters & ReposAcceptInvitationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposAddCollaboratorParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Here's how you can create a read-only deploy key: + */ + addDeployKey: { + (params?: RequestParameters & ReposAddDeployKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + addProtectedBranchAdminEnforcement: { + (params?: RequestParameters & ReposAddProtectedBranchAdminEnforcementParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | 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?: RequestParameters & ReposAddProtectedBranchAppRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + addProtectedBranchRequiredSignatures: { + (params?: RequestParameters & ReposAddProtectedBranchRequiredSignaturesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + addProtectedBranchRequiredStatusChecksContexts: { + (params?: RequestParameters & ReposAddProtectedBranchRequiredStatusChecksContextsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + * + * | 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?: RequestParameters & ReposAddProtectedBranchTeamRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addProtectedBranchUserRestrictions: { + (params?: RequestParameters & ReposAddProtectedBranchUserRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + checkCollaborator: { + (params?: RequestParameters & ReposCheckCollaboratorParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCheckVulnerabilityAlertsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCompareCommitsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCreateCommitCommentParamsDeprecatedSha): Promise>; + (params?: RequestParameters & ReposCreateCommitCommentParamsDeprecatedLine): Promise>; + (params?: RequestParameters & ReposCreateCommitCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCreateDeploymentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCreateDeploymentStatusParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCreateDispatchEventParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCreateFileParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCreateForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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) or [GitHub Premium Support](https://premium.githubsupport.com). + */ + createFork: { + (params?: RequestParameters & ReposCreateForkParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCreateHookParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCreateInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Creates a new file or updates an existing file in a repository. + */ + createOrUpdateFile: { + (params?: RequestParameters & ReposCreateOrUpdateFileParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCreateReleaseParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCreateStatusParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposCreateUsingTemplateParams): Promise>; + endpoint: EndpointInterface; + }; + declineInvitation: { + (params?: RequestParameters & ReposDeclineInvitationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposDeleteParams): Promise>; + endpoint: EndpointInterface; + }; + deleteCommitComment: { + (params?: RequestParameters & ReposDeleteCommitCommentParams): Promise; + endpoint: EndpointInterface; + }; + deleteDownload: { + (params?: RequestParameters & ReposDeleteDownloadParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposDeleteFileParams): Promise>; + endpoint: EndpointInterface; + }; + deleteHook: { + (params?: RequestParameters & ReposDeleteHookParams): Promise; + endpoint: EndpointInterface; + }; + deleteInvitation: { + (params?: RequestParameters & ReposDeleteInvitationParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Users with push access to the repository can delete a release. + */ + deleteRelease: { + (params?: RequestParameters & ReposDeleteReleaseParams): Promise; + endpoint: EndpointInterface; + }; + deleteReleaseAsset: { + (params?: RequestParameters & ReposDeleteReleaseAssetParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposDisableAutomatedSecurityFixesParams): Promise; + endpoint: EndpointInterface; + }; + disablePagesSite: { + (params?: RequestParameters & ReposDisablePagesSiteParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposDisableVulnerabilityAlertsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposEnableAutomatedSecurityFixesParams): Promise; + endpoint: EndpointInterface; + }; + enablePagesSite: { + (params?: RequestParameters & ReposEnablePagesSiteParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposEnableVulnerabilityAlertsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + getAppsWithAccessToProtectedBranch: { + (params?: RequestParameters & ReposGetAppsWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetArchiveLinkParams): Promise; + endpoint: EndpointInterface; + }; + getBranch: { + (params?: RequestParameters & ReposGetBranchParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getBranchProtection: { + (params?: RequestParameters & ReposGetBranchProtectionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetClonesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + */ + getCodeFrequencyStats: { + (params?: RequestParameters & ReposGetCodeFrequencyStatsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Possible values for the `permission` key: `admin`, `write`, `read`, `none`. + */ + getCollaboratorPermissionLevel: { + (params?: RequestParameters & ReposGetCollaboratorPermissionLevelParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetCombinedStatusForRefParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetCommitParamsDeprecatedSha): Promise>; + (params?: RequestParameters & ReposGetCommitParamsDeprecatedCommitSha): Promise>; + (params?: RequestParameters & ReposGetCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetCommitActivityStatsParams): Promise>; + endpoint: EndpointInterface; + }; + getCommitComment: { + (params?: RequestParameters & ReposGetCommitCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ReposGetCommitRefShaParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetContentsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * * `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?: RequestParameters & ReposGetContributorsStatsParams): Promise>; + endpoint: EndpointInterface; + }; + getDeployKey: { + (params?: RequestParameters & ReposGetDeployKeyParams): Promise>; + endpoint: EndpointInterface; + }; + getDeployment: { + (params?: RequestParameters & ReposGetDeploymentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with pull access can view a deployment status for a deployment: + */ + getDeploymentStatus: { + (params?: RequestParameters & ReposGetDeploymentStatusParams): Promise>; + endpoint: EndpointInterface; + }; + getDownload: { + (params?: RequestParameters & ReposGetDownloadParams): Promise>; + endpoint: EndpointInterface; + }; + getHook: { + (params?: RequestParameters & ReposGetHookParams): Promise>; + endpoint: EndpointInterface; + }; + getLatestPagesBuild: { + (params?: RequestParameters & ReposGetLatestPagesBuildParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetLatestReleaseParams): Promise>; + endpoint: EndpointInterface; + }; + getPages: { + (params?: RequestParameters & ReposGetPagesParams): Promise>; + endpoint: EndpointInterface; + }; + getPagesBuild: { + (params?: RequestParameters & ReposGetPagesBuildParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetParticipationStatsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getProtectedBranchAdminEnforcement: { + (params?: RequestParameters & ReposGetProtectedBranchAdminEnforcementParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getProtectedBranchPullRequestReviewEnforcement: { + (params?: RequestParameters & ReposGetProtectedBranchPullRequestReviewEnforcementParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + getProtectedBranchRequiredSignatures: { + (params?: RequestParameters & ReposGetProtectedBranchRequiredSignaturesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getProtectedBranchRequiredStatusChecks: { + (params?: RequestParameters & ReposGetProtectedBranchRequiredStatusChecksParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) 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?: RequestParameters & ReposGetProtectedBranchRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetPunchCardStatsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetReadmeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ReposGetReleaseParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetReleaseAssetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Get a published release with the specified tag. + */ + getReleaseByTag: { + (params?: RequestParameters & ReposGetReleaseByTagParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + getTeamsWithAccessToProtectedBranch: { + (params?: RequestParameters & ReposGetTeamsWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Get the top 10 popular contents over the last 14 days. + */ + getTopPaths: { + (params?: RequestParameters & ReposGetTopPathsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Get the top 10 referrers over the last 14 days. + */ + getTopReferrers: { + (params?: RequestParameters & ReposGetTopReferrersParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + getUsersWithAccessToProtectedBranch: { + (params?: RequestParameters & ReposGetUsersWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposGetViewsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposListParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * @deprecated octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13) + */ + listAppsWithAccessToProtectedBranch: { + (params?: RequestParameters & ReposListAppsWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + listAssetsForRelease: { + (params?: RequestParameters & ReposListAssetsForReleaseParams): Promise>; + endpoint: EndpointInterface; + }; + listBranches: { + (params?: RequestParameters & ReposListBranchesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + listBranchesForHeadCommit: { + (params?: RequestParameters & ReposListBranchesForHeadCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + */ + listCollaborators: { + (params?: RequestParameters & ReposListCollaboratorsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Use the `:commit_sha` to specify the commit that will have its comments listed. + */ + listCommentsForCommit: { + (params?: RequestParameters & ReposListCommentsForCommitParamsDeprecatedRef): Promise>; + (params?: RequestParameters & ReposListCommentsForCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposListCommitCommentsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ReposListCommitsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposListContributorsParams): Promise>; + endpoint: EndpointInterface; + }; + listDeployKeys: { + (params?: RequestParameters & ReposListDeployKeysParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with pull access can view deployment statuses for a deployment: + */ + listDeploymentStatuses: { + (params?: RequestParameters & ReposListDeploymentStatusesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Simple filtering of deployments is available via query parameters: + */ + listDeployments: { + (params?: RequestParameters & ReposListDeploymentsParams): Promise>; + endpoint: EndpointInterface; + }; + listDownloads: { + (params?: RequestParameters & ReposListDownloadsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists repositories for the specified organization. + */ + listForOrg: { + (params?: RequestParameters & ReposListForOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists public repositories for the specified user. + */ + listForUser: { + (params?: RequestParameters & ReposListForUserParams): Promise; + endpoint: EndpointInterface; + }; + listForks: { + (params?: RequestParameters & ReposListForksParams): Promise>; + endpoint: EndpointInterface; + }; + listHooks: { + (params?: RequestParameters & ReposListHooksParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + listInvitations: { + (params?: RequestParameters & ReposListInvitationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + listInvitationsForAuthenticatedUser: { + (params?: RequestParameters & ReposListInvitationsForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposListLanguagesParams): Promise>; + endpoint: EndpointInterface; + }; + listPagesBuilds: { + (params?: RequestParameters & ReposListPagesBuildsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + listProtectedBranchRequiredStatusChecksContexts: { + (params?: RequestParameters & ReposListProtectedBranchRequiredStatusChecksContextsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + * @deprecated octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09) + */ + listProtectedBranchTeamRestrictions: { + (params?: RequestParameters & ReposListProtectedBranchTeamRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) 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?: RequestParameters & ReposListProtectedBranchUserRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposListPublicParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposListPullRequestsAssociatedWithCommitParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposListReleasesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposListStatusesForRefParams): Promise>; + endpoint: EndpointInterface; + }; + listTags: { + (params?: RequestParameters & ReposListTagsParams): Promise>; + endpoint: EndpointInterface; + }; + listTeams: { + (params?: RequestParameters & ReposListTeamsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + * @deprecated octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13) + */ + listTeamsWithAccessToProtectedBranch: { + (params?: RequestParameters & ReposListTeamsWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + listTopics: { + (params?: RequestParameters & ReposListTopicsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) 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?: RequestParameters & ReposListUsersWithAccessToProtectedBranchParams): Promise>; + endpoint: EndpointInterface; + }; + merge: { + (params?: RequestParameters & ReposMergeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This will trigger a [ping event](https://developer.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingHook: { + (params?: RequestParameters & ReposPingHookParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeBranchProtection: { + (params?: RequestParameters & ReposRemoveBranchProtectionParams): Promise; + endpoint: EndpointInterface; + }; + removeCollaborator: { + (params?: RequestParameters & ReposRemoveCollaboratorParams): Promise; + endpoint: EndpointInterface; + }; + removeDeployKey: { + (params?: RequestParameters & ReposRemoveDeployKeyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + removeProtectedBranchAdminEnforcement: { + (params?: RequestParameters & ReposRemoveProtectedBranchAdminEnforcementParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | 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?: RequestParameters & ReposRemoveProtectedBranchAppRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeProtectedBranchPullRequestReviewEnforcement: { + (params?: RequestParameters & ReposRemoveProtectedBranchPullRequestReviewEnforcementParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + removeProtectedBranchRequiredSignatures: { + (params?: RequestParameters & ReposRemoveProtectedBranchRequiredSignaturesParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeProtectedBranchRequiredStatusChecks: { + (params?: RequestParameters & ReposRemoveProtectedBranchRequiredStatusChecksParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeProtectedBranchRequiredStatusChecksContexts: { + (params?: RequestParameters & ReposRemoveProtectedBranchRequiredStatusChecksContextsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + removeProtectedBranchRestrictions: { + (params?: RequestParameters & ReposRemoveProtectedBranchRestrictionsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + * + * | 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?: RequestParameters & ReposRemoveProtectedBranchTeamRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeProtectedBranchUserRestrictions: { + (params?: RequestParameters & ReposRemoveProtectedBranchUserRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * + * | 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?: RequestParameters & ReposReplaceProtectedBranchAppRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + replaceProtectedBranchRequiredStatusChecksContexts: { + (params?: RequestParameters & ReposReplaceProtectedBranchRequiredStatusChecksContextsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | 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?: RequestParameters & ReposReplaceProtectedBranchTeamRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + replaceProtectedBranchUserRestrictions: { + (params?: RequestParameters & ReposReplaceProtectedBranchUserRestrictionsParams): Promise>; + endpoint: EndpointInterface; + }; + replaceTopics: { + (params?: RequestParameters & ReposReplaceTopicsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposRequestPageBuildParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposRetrieveCommunityProfileMetricsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposTestPushHookParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposTransferParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & ReposUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + updateBranchProtection: { + (params?: RequestParameters & ReposUpdateBranchProtectionParams): Promise>; + endpoint: EndpointInterface; + }; + updateCommitComment: { + (params?: RequestParameters & ReposUpdateCommitCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposUpdateFileParams): Promise>; + endpoint: EndpointInterface; + }; + updateHook: { + (params?: RequestParameters & ReposUpdateHookParams): Promise>; + endpoint: EndpointInterface; + }; + updateInformationAboutPagesSite: { + (params?: RequestParameters & ReposUpdateInformationAboutPagesSiteParams): Promise; + endpoint: EndpointInterface; + }; + updateInvitation: { + (params?: RequestParameters & ReposUpdateInvitationParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + updateProtectedBranchPullRequestReviewEnforcement: { + (params?: RequestParameters & ReposUpdateProtectedBranchPullRequestReviewEnforcementParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + updateProtectedBranchRequiredStatusChecks: { + (params?: RequestParameters & ReposUpdateProtectedBranchRequiredStatusChecksParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with push access to the repository can edit a release. + */ + updateRelease: { + (params?: RequestParameters & ReposUpdateReleaseParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Users with push access to the repository can edit a release asset. + */ + updateReleaseAsset: { + (params?: RequestParameters & ReposUpdateReleaseAssetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & ReposUploadReleaseAssetParamsDeprecatedFile): Promise>; + (params?: RequestParameters & ReposUploadReleaseAssetParams): Promise>; + endpoint: EndpointInterface; + }; + }; + 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?: RequestParameters & SearchCodeParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & SearchCommitsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This API call is added for compatibility reasons only. There's no guarantee that full email searches will always be available. The `@` character in the address must be left unencoded. Searches only against public email addresses (as configured on the user's GitHub profile). + * @deprecated octokit.search.emailLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#email-search + */ + emailLegacy: { + (params?: RequestParameters & SearchEmailLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & SearchIssuesParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & SearchIssuesAndPullRequestsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find issues by state and keyword. + * @deprecated octokit.search.issuesLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-issues + */ + issuesLegacy: { + (params?: RequestParameters & SearchIssuesLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & SearchLabelsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & SearchReposParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find repositories by keyword. Note, this legacy method does not follow the v3 pagination pattern. This method returns up to 100 results per page and pages can be fetched using the `start_page` parameter. + * @deprecated octokit.search.reposLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-repositories + */ + reposLegacy: { + (params?: RequestParameters & SearchReposLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & SearchTopicsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & SearchUsersParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Find users by keyword. + * @deprecated octokit.search.usersLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-users + */ + usersLegacy: { + (params?: RequestParameters & SearchUsersLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + teams: { + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add team membership](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://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-legacy + */ + addMember: { + (params?: RequestParameters & TeamsAddMemberParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add team membership](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://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.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy + */ + addMemberLegacy: { + (params?: RequestParameters & TeamsAddMemberLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team membership`](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://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 team maintainer. + * @deprecated octokit.teams.addOrUpdateMembership() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + addOrUpdateMembership: { + (params?: RequestParameters & TeamsAddOrUpdateMembershipParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a 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/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/memberships/:username`. + */ + addOrUpdateMembershipInOrg: { + (params?: RequestParameters & TeamsAddOrUpdateMembershipInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team membership`](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://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 team maintainer. + * @deprecated octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + addOrUpdateMembershipLegacy: { + (params?: RequestParameters & TeamsAddOrUpdateMembershipLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team project`](https://developer.github.com/v3/teams/#add-or-update-team-project) 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. + * @deprecated octokit.teams.addOrUpdateProject() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + addOrUpdateProject: { + (params?: RequestParameters & TeamsAddOrUpdateProjectParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/projects/:project_id`. + */ + addOrUpdateProjectInOrg: { + (params?: RequestParameters & TeamsAddOrUpdateProjectInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team project`](https://developer.github.com/v3/teams/#add-or-update-team-project) 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. + * @deprecated octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + addOrUpdateProjectLegacy: { + (params?: RequestParameters & TeamsAddOrUpdateProjectLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team repository`](https://developer.github.com/v3/teams/#add-or-update-team-repository) endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addOrUpdateRepo() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + addOrUpdateRepo: { + (params?: RequestParameters & TeamsAddOrUpdateRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/repos/:owner/:repo`. + */ + addOrUpdateRepoInOrg: { + (params?: RequestParameters & TeamsAddOrUpdateRepoInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team repository`](https://developer.github.com/v3/teams/#add-or-update-team-repository) endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + addOrUpdateRepoLegacy: { + (params?: RequestParameters & TeamsAddOrUpdateRepoLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Check if a team manages a repository`](https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + * @deprecated octokit.teams.checkManagesRepo() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + checkManagesRepo: { + (params?: RequestParameters & TeamsCheckManagesRepoParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Checks whether a team has `admin`, `push`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/repos/:owner/:repo`. + * + * 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: + */ + checkManagesRepoInOrg: { + (params?: RequestParameters & TeamsCheckManagesRepoInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Check if a team manages a repository`](https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + * @deprecated octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + checkManagesRepoLegacy: { + (params?: RequestParameters & TeamsCheckManagesRepoLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)" in the GitHub Help documentation. + */ + create: { + (params?: RequestParameters & TeamsCreateParamsDeprecatedPermission): Promise>; + (params?: RequestParameters & TeamsCreateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://developer.github.com/v3/teams/discussions/#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://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. + * @deprecated octokit.teams.createDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + createDiscussion: { + (params?: RequestParameters & TeamsCreateDiscussionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a comment`](https://developer.github.com/v3/teams/discussion_comments/#create-a-comment) 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. + * @deprecated octokit.teams.createDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + createDiscussionComment: { + (params?: RequestParameters & TeamsCreateDiscussionCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments`. + */ + createDiscussionCommentInOrg: { + (params?: RequestParameters & TeamsCreateDiscussionCommentInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a comment`](https://developer.github.com/v3/teams/discussion_comments/#create-a-comment) 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. + * @deprecated octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + createDiscussionCommentLegacy: { + (params?: RequestParameters & TeamsCreateDiscussionCommentLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions`. + */ + createDiscussionInOrg: { + (params?: RequestParameters & TeamsCreateDiscussionInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://developer.github.com/v3/teams/discussions/#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://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. + * @deprecated octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + createDiscussionLegacy: { + (params?: RequestParameters & TeamsCreateDiscussionLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete team`](https://developer.github.com/v3/teams/#delete-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * @deprecated octokit.teams.delete() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy + */ + delete: { + (params?: RequestParameters & TeamsDeleteParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://developer.github.com/v3/teams/discussions/#delete-a-discussion) 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/). + * @deprecated octokit.teams.deleteDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + deleteDiscussion: { + (params?: RequestParameters & TeamsDeleteDiscussionParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a comment`](https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment) 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/). + * @deprecated octokit.teams.deleteDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + deleteDiscussionComment: { + (params?: RequestParameters & TeamsDeleteDiscussionCommentParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. + */ + deleteDiscussionCommentInOrg: { + (params?: RequestParameters & TeamsDeleteDiscussionCommentInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a comment`](https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment) 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/). + * @deprecated octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + deleteDiscussionCommentLegacy: { + (params?: RequestParameters & TeamsDeleteDiscussionCommentLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number`. + */ + deleteDiscussionInOrg: { + (params?: RequestParameters & TeamsDeleteDiscussionInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://developer.github.com/v3/teams/discussions/#delete-a-discussion) 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/). + * @deprecated octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + deleteDiscussionLegacy: { + (params?: RequestParameters & TeamsDeleteDiscussionLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id`. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + deleteInOrg: { + (params?: RequestParameters & TeamsDeleteInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete team`](https://developer.github.com/v3/teams/#delete-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * @deprecated octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy + */ + deleteLegacy: { + (params?: RequestParameters & TeamsDeleteLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [`Get team by name`](https://developer.github.com/v3/teams/#get-team-by-name) endpoint. + * @deprecated octokit.teams.get() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy + */ + get: { + (params?: RequestParameters & TeamsGetParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id`. + */ + getByName: { + (params?: RequestParameters & TeamsGetByNameParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single discussion`](https://developer.github.com/v3/teams/discussions/#get-a-single-discussion) 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/). + * @deprecated octokit.teams.getDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + getDiscussion: { + (params?: RequestParameters & TeamsGetDiscussionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single comment`](https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment) 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/). + * @deprecated octokit.teams.getDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + getDiscussionComment: { + (params?: RequestParameters & TeamsGetDiscussionCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. + */ + getDiscussionCommentInOrg: { + (params?: RequestParameters & TeamsGetDiscussionCommentInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single comment`](https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment) 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/). + * @deprecated octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + getDiscussionCommentLegacy: { + (params?: RequestParameters & TeamsGetDiscussionCommentLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number`. + */ + getDiscussionInOrg: { + (params?: RequestParameters & TeamsGetDiscussionInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single discussion`](https://developer.github.com/v3/teams/discussions/#get-a-single-discussion) 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/). + * @deprecated octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + getDiscussionLegacy: { + (params?: RequestParameters & TeamsGetDiscussionLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [`Get team by name`](https://developer.github.com/v3/teams/#get-team-by-name) endpoint. + * @deprecated octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy + */ + getLegacy: { + (params?: RequestParameters & TeamsGetLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + * @deprecated octokit.teams.getMember() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + getMember: { + (params?: RequestParameters & TeamsGetMemberParams): Promise; + endpoint: EndpointInterface; + }; + /** + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + * @deprecated octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + getMemberLegacy: { + (params?: RequestParameters & TeamsGetMemberLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get team membership`](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create team](https://developer.github.com/v3/teams#create-team). + * @deprecated octokit.teams.getMembership() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + getMembership: { + (params?: RequestParameters & TeamsGetMembershipParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/memberships/:username`. + * + * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create team](https://developer.github.com/v3/teams#create-team). + */ + getMembershipInOrg: { + (params?: RequestParameters & TeamsGetMembershipInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get team membership`](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** The `role` for organization owners returns as `maintainer`. For more information about `maintainer` roles, see [Create team](https://developer.github.com/v3/teams#create-team). + * @deprecated octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + getMembershipLegacy: { + (params?: RequestParameters & TeamsGetMembershipLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists all teams in an organization that are visible to the authenticated user. + */ + list: { + (params?: RequestParameters & TeamsListParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://developer.github.com/v3/teams/#list-child-teams) endpoint. + * + * + * @deprecated octokit.teams.listChild() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + listChild: { + (params?: RequestParameters & TeamsListChildParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the child teams of the team requested by `:team_slug`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/teams`. + */ + listChildInOrg: { + (params?: RequestParameters & TeamsListChildInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://developer.github.com/v3/teams/#list-child-teams) endpoint. + * + * + * @deprecated octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + listChildLegacy: { + (params?: RequestParameters & TeamsListChildLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List comments`](https://developer.github.com/v3/teams/discussion_comments/#list-comments) 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/). + * @deprecated octokit.teams.listDiscussionComments() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + listDiscussionComments: { + (params?: RequestParameters & TeamsListDiscussionCommentsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments`. + */ + listDiscussionCommentsInOrg: { + (params?: RequestParameters & TeamsListDiscussionCommentsInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List comments`](https://developer.github.com/v3/teams/discussion_comments/#list-comments) 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/). + * @deprecated octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + listDiscussionCommentsLegacy: { + (params?: RequestParameters & TeamsListDiscussionCommentsLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://developer.github.com/v3/teams/discussions/#list-discussions) 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/). + * @deprecated octokit.teams.listDiscussions() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + listDiscussions: { + (params?: RequestParameters & TeamsListDiscussionsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions`. + */ + listDiscussionsInOrg: { + (params?: RequestParameters & TeamsListDiscussionsInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://developer.github.com/v3/teams/discussions/#list-discussions) 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/). + * @deprecated octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + listDiscussionsLegacy: { + (params?: RequestParameters & TeamsListDiscussionsLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & TeamsListForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://developer.github.com/v3/teams/members/#list-team-members) endpoint. + * + * Team members will include the members of child teams. + * @deprecated octokit.teams.listMembers() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + listMembers: { + (params?: RequestParameters & TeamsListMembersParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + listMembersInOrg: { + (params?: RequestParameters & TeamsListMembersInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://developer.github.com/v3/teams/members/#list-team-members) endpoint. + * + * Team members will include the members of child teams. + * @deprecated octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + listMembersLegacy: { + (params?: RequestParameters & TeamsListMembersLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://developer.github.com/v3/teams/members/#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * @deprecated octokit.teams.listPendingInvitations() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + listPendingInvitations: { + (params?: RequestParameters & TeamsListPendingInvitationsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/invitations`. + */ + listPendingInvitationsInOrg: { + (params?: RequestParameters & TeamsListPendingInvitationsInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://developer.github.com/v3/teams/members/#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * @deprecated octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + listPendingInvitationsLegacy: { + (params?: RequestParameters & TeamsListPendingInvitationsLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://developer.github.com/v3/teams/#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + * @deprecated octokit.teams.listProjects() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + listProjects: { + (params?: RequestParameters & TeamsListProjectsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/projects`. + */ + listProjectsInOrg: { + (params?: RequestParameters & TeamsListProjectsInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://developer.github.com/v3/teams/#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + * @deprecated octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + listProjectsLegacy: { + (params?: RequestParameters & TeamsListProjectsLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team repos`](https://developer.github.com/v3/teams/#list-team-repos) endpoint. + * @deprecated octokit.teams.listRepos() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + listRepos: { + (params?: RequestParameters & TeamsListReposParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/repos`. + */ + listReposInOrg: { + (params?: RequestParameters & TeamsListReposInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team repos`](https://developer.github.com/v3/teams/#list-team-repos) endpoint. + * @deprecated octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + listReposLegacy: { + (params?: RequestParameters & TeamsListReposLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://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-legacy + */ + removeMember: { + (params?: RequestParameters & TeamsRemoveMemberParams): Promise; + endpoint: EndpointInterface; + }; + /** + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy + */ + removeMemberLegacy: { + (params?: RequestParameters & TeamsRemoveMemberLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team membership`](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMembership() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + removeMembership: { + (params?: RequestParameters & TeamsRemoveMembershipParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/memberships/:username`. + */ + removeMembershipInOrg: { + (params?: RequestParameters & TeamsRemoveMembershipInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team membership`](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + removeMembershipLegacy: { + (params?: RequestParameters & TeamsRemoveMembershipLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team project`](https://developer.github.com/v3/teams/#remove-team-project) 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. + * @deprecated octokit.teams.removeProject() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + removeProject: { + (params?: RequestParameters & TeamsRemoveProjectParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/projects/:project_id`. + */ + removeProjectInOrg: { + (params?: RequestParameters & TeamsRemoveProjectInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team project`](https://developer.github.com/v3/teams/#remove-team-project) 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. + * @deprecated octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + removeProjectLegacy: { + (params?: RequestParameters & TeamsRemoveProjectLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team repository`](https://developer.github.com/v3/teams/#remove-team-repository) 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. + * @deprecated octokit.teams.removeRepo() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + removeRepo: { + (params?: RequestParameters & TeamsRemoveRepoParams): Promise; + endpoint: EndpointInterface; + }; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/repos/:owner/:repo`. + */ + removeRepoInOrg: { + (params?: RequestParameters & TeamsRemoveRepoInOrgParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team repository`](https://developer.github.com/v3/teams/#remove-team-repository) 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. + * @deprecated octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + removeRepoLegacy: { + (params?: RequestParameters & TeamsRemoveRepoLegacyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Review a team project`](https://developer.github.com/v3/teams/#review-a-team-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * @deprecated octokit.teams.reviewProject() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + reviewProject: { + (params?: RequestParameters & TeamsReviewProjectParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/projects/:project_id`. + */ + reviewProjectInOrg: { + (params?: RequestParameters & TeamsReviewProjectInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Review a team project`](https://developer.github.com/v3/teams/#review-a-team-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * @deprecated octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + reviewProjectLegacy: { + (params?: RequestParameters & TeamsReviewProjectLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit team`](https://developer.github.com/v3/teams/#edit-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + * @deprecated octokit.teams.update() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy + */ + update: { + (params?: RequestParameters & TeamsUpdateParamsDeprecatedPermission): Promise>; + (params?: RequestParameters & TeamsUpdateParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a discussion`](https://developer.github.com/v3/teams/discussions/#edit-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.updateDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + updateDiscussion: { + (params?: RequestParameters & TeamsUpdateDiscussionParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a comment`](https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment) 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/). + * @deprecated octokit.teams.updateDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + updateDiscussionComment: { + (params?: RequestParameters & TeamsUpdateDiscussionCommentParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. + */ + updateDiscussionCommentInOrg: { + (params?: RequestParameters & TeamsUpdateDiscussionCommentInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a comment`](https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment) 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/). + * @deprecated octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + updateDiscussionCommentLegacy: { + (params?: RequestParameters & TeamsUpdateDiscussionCommentLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id/discussions/:discussion_number`. + */ + updateDiscussionInOrg: { + (params?: RequestParameters & TeamsUpdateDiscussionInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a discussion`](https://developer.github.com/v3/teams/discussions/#edit-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * @deprecated octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + updateDiscussionLegacy: { + (params?: RequestParameters & TeamsUpdateDiscussionLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id`. + */ + updateInOrg: { + (params?: RequestParameters & TeamsUpdateInOrgParamsDeprecatedPermission): Promise>; + (params?: RequestParameters & TeamsUpdateInOrgParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit team`](https://developer.github.com/v3/teams/#edit-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + * @deprecated octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy + */ + updateLegacy: { + (params?: RequestParameters & TeamsUpdateLegacyParamsDeprecatedPermission): Promise>; + (params?: RequestParameters & TeamsUpdateLegacyParams): Promise>; + endpoint: EndpointInterface; + }; + }; + users: { + /** + * This endpoint is accessible with the `user` scope. + */ + addEmails: { + (params?: RequestParameters & UsersAddEmailsParams): Promise>; + endpoint: EndpointInterface; + }; + block: { + (params?: RequestParameters & UsersBlockParams): Promise; + endpoint: EndpointInterface; + }; + /** + * If the user is blocked: + * + * If the user is not blocked: + */ + checkBlocked: { + (params?: RequestParameters & UsersCheckBlockedParams): Promise; + endpoint: EndpointInterface; + }; + checkFollowing: { + (params?: RequestParameters & UsersCheckFollowingParams): Promise; + endpoint: EndpointInterface; + }; + checkFollowingForUser: { + (params?: RequestParameters & UsersCheckFollowingForUserParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersCreateGpgKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersCreatePublicKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * This endpoint is accessible with the `user` scope. + */ + deleteEmails: { + (params?: RequestParameters & UsersDeleteEmailsParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersDeleteGpgKeyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersDeletePublicKeyParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersFollowParams): Promise; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersGetByUsernameParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersGetContextForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersGetGpgKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersGetPublicKeyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersListParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * List the users you've blocked on your personal account. + */ + listBlocked: { + (params?: RequestParameters & EmptyParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersListEmailsParams): Promise>; + endpoint: EndpointInterface; + }; + listFollowersForAuthenticatedUser: { + (params?: RequestParameters & UsersListFollowersForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + listFollowersForUser: { + (params?: RequestParameters & UsersListFollowersForUserParams): Promise>; + endpoint: EndpointInterface; + }; + listFollowingForAuthenticatedUser: { + (params?: RequestParameters & UsersListFollowingForAuthenticatedUserParams): Promise>; + endpoint: EndpointInterface; + }; + listFollowingForUser: { + (params?: RequestParameters & UsersListFollowingForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersListGpgKeysParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the GPG keys for a user. This information is accessible by anyone. + */ + listGpgKeysForUser: { + (params?: RequestParameters & UsersListGpgKeysForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersListPublicEmailsParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * 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?: RequestParameters & UsersListPublicKeysParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + listPublicKeysForUser: { + (params?: RequestParameters & UsersListPublicKeysForUserParams): Promise>; + endpoint: EndpointInterface; + }; + /** + * Sets the visibility for your primary email addresses. + */ + togglePrimaryEmailVisibility: { + (params?: RequestParameters & UsersTogglePrimaryEmailVisibilityParams): Promise>; + endpoint: EndpointInterface; + }; + unblock: { + (params?: RequestParameters & UsersUnblockParams): Promise; + endpoint: EndpointInterface; + }; + /** + * Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + unfollow: { + (params?: RequestParameters & UsersUnfollowParams): Promise; + endpoint: EndpointInterface; + }; + /** + * **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?: RequestParameters & UsersUpdateAuthenticatedParams): Promise>; + endpoint: EndpointInterface; + }; + }; +}; +export {}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts new file mode 100644 index 0000000..454dd5e --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts @@ -0,0 +1,16 @@ +import { Octokit } from "@octokit/core"; +import { Api } from "./types"; +/** + * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary + * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is + * done, we will remove the registerEndpoints methods and return the methods + * directly as with the other plugins. At that point we will also remove the + * legacy workarounds and deprecations. + * + * See the plan at + * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 + */ +export declare function restEndpointMethods(octokit: Octokit): Api; +export declare namespace restEndpointMethods { + var VERSION: string; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/register-endpoints.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/register-endpoints.d.ts new file mode 100644 index 0000000..b80dde0 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/register-endpoints.d.ts @@ -0,0 +1 @@ +export declare function registerEndpoints(octokit: any, routes: any): void; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts new file mode 100644 index 0000000..4cabd9f --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts @@ -0,0 +1,4 @@ +import { RestEndpointMethods } from "./generated/rest-endpoint-methods-types"; +export declare type Api = { + registerEndpoints: (endpoints: any) => void; +} & RestEndpointMethods; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts new file mode 100644 index 0000000..d1c6894 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "2.4.0"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js new file mode 100644 index 0000000..b6b0f1c --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js @@ -0,0 +1,6726 @@ +import { Deprecation } from 'deprecation'; + +var endpointsByScope = { + actions: { + cancelWorkflowRun: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel" + }, + createOrUpdateSecretForRepo: { + method: "PUT", + params: { + encrypted_value: { type: "string" }, + key_id: { type: "string" }, + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + createRegistrationToken: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/registration-token" + }, + createRemoveToken: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/remove-token" + }, + deleteArtifact: { + method: "DELETE", + params: { + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + deleteSecretFromRepo: { + method: "DELETE", + params: { + name: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/:name" + }, + downloadArtifact: { + method: "GET", + params: { + archive_format: { required: true, type: "string" }, + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format" + }, + getArtifact: { + method: "GET", + params: { + artifact_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" + }, + getPublicKey: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets/public-key" + }, + getSecret: { + method: "GET", + params: { + name: { 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/actions/secrets/:name" + }, + getSelfHostedRunner: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + runner_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + }, + getWorkflow: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + workflow_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id" + }, + getWorkflowJob: { + method: "GET", + params: { + job_id: { required: true, type: "integer" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/jobs/:job_id" + }, + getWorkflowRun: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id" + }, + listDownloadsForSelfHostedRunnerApplication: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners/downloads" + }, + listJobsForWorkflowRun: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs" + }, + listRepoWorkflowRuns: { + method: "GET", + params: { + actor: { type: "string" }, + branch: { type: "string" }, + event: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + status: { enum: ["completed", "status", "conclusion"], type: "string" } + }, + url: "/repos/:owner/:repo/actions/runs" + }, + listRepoWorkflows: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/workflows" + }, + listSecretsForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/secrets" + }, + listSelfHostedRunnersForRepo: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/actions/runners" + }, + listWorkflowJobLogs: { + method: "GET", + params: { + job_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/actions/jobs/:job_id/logs" + }, + listWorkflowRunArtifacts: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts" + }, + listWorkflowRunLogs: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/logs" + }, + listWorkflowRuns: { + method: "GET", + params: { + actor: { type: "string" }, + branch: { type: "string" }, + event: { type: "string" }, + owner: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + repo: { required: true, type: "string" }, + status: { enum: ["completed", "status", "conclusion"], type: "string" }, + workflow_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs" + }, + reRunWorkflow: { + method: "POST", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + run_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun" + }, + removeSelfHostedRunner: { + method: "DELETE", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + runner_id: { required: true, type: "integer" } + }, + url: "/repos/:owner/:repo/actions/runners/:runner_id" + } + }, + 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" } }, + url: "/marketplace_listing/accounts/:account_id" + }, + checkAccountIsAssociatedWithAnyStubbed: { + method: "GET", + params: { account_id: { required: true, type: "integer" } }, + url: "/marketplace_listing/stubbed/accounts/:account_id" + }, + checkAuthorization: { + deprecated: "octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization", + method: "GET", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + checkToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "POST", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + 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" + }, + deleteAuthorization: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "DELETE", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grant" + }, + 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" + }, + deleteToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "DELETE", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + 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" + }, + resetAuthorization: { + deprecated: "octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization", + method: "POST", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + resetToken: { + headers: { accept: "application/vnd.github.doctor-strange-preview+json" }, + method: "PATCH", + params: { + access_token: { type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grants/:access_token" + }, + revokeInstallationToken: { + headers: { accept: "application/vnd.github.gambit-preview+json" }, + method: "DELETE", + params: {}, + url: "/installation/token" + } + }, + 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" }, + 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: { + 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" + }, + downloadArchiveForOrg: { + 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" + }, + 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: { + deprecated: "octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)", + 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: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + since: { type: "string" } + }, + url: "/repos/:owner/:repo/import/authors" + }, + getImportProgress: { + method: "GET", + params: { + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" } + }, + url: "/repos/:owner/:repo/import" + }, + getLargeFiles: { + 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" + }, + listReposForOrg: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/orgs/:org/migrations/:migration_id/repositories" + }, + listReposForUser: { + headers: { accept: "application/vnd.github.wyandotte-preview+json" }, + method: "GET", + params: { + migration_id: { required: true, type: "integer" }, + page: { type: "integer" }, + per_page: { type: "integer" } + }, + url: "/user/:migration_id/repositories" + }, + mapCommitAuthor: { + 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: { + 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: { + 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: { + 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: { + deprecated: "octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)", + method: "GET", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + createAuthorization: { + deprecated: "octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization", + 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: { + deprecated: "octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization", + method: "DELETE", + params: { authorization_id: { required: true, type: "integer" } }, + url: "/authorizations/:authorization_id" + }, + deleteGrant: { + deprecated: "octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant", + method: "DELETE", + params: { grant_id: { required: true, type: "integer" } }, + url: "/applications/grants/:grant_id" + }, + getAuthorization: { + deprecated: "octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization", + method: "GET", + params: { authorization_id: { required: true, type: "integer" } }, + url: "/authorizations/:authorization_id" + }, + getGrant: { + deprecated: "octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant", + method: "GET", + params: { grant_id: { required: true, type: "integer" } }, + url: "/applications/grants/:grant_id" + }, + getOrCreateAuthorizationForApp: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app", + 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: { + deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint", + 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: { + deprecated: "octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations", + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/authorizations" + }, + listGrants: { + deprecated: "octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants", + method: "GET", + params: { page: { type: "integer" }, per_page: { type: "integer" } }, + url: "/applications/grants" + }, + resetAuthorization: { + deprecated: "octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)", + method: "POST", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeAuthorizationForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/tokens/:access_token" + }, + revokeGrantForApplication: { + deprecated: "octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)", + method: "DELETE", + params: { + access_token: { required: true, type: "string" }, + client_id: { required: true, type: "string" } + }, + url: "/applications/:client_id/grants/:access_token" + }, + updateAuthorization: { + deprecated: "octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization", + 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: "integer" } + }, + 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_internal_repositories: { type: "boolean" }, + members_can_create_private_repositories: { type: "boolean" }, + members_can_create_public_repositories: { type: "boolean" }, + 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: { 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: { + deprecated: "octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)", + 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" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionComment: { + deprecated: "octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { accept: "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" + }, + createForTeamDiscussionCommentInOrg: { + headers: { accept: "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" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + createForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy", + headers: { accept: "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" + }, + createForTeamDiscussionInOrg: { + 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" + }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + createForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy", + 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" + }, + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number/reactions" + }, + delete: { + headers: { accept: "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: { + deprecated: "octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)", + headers: { accept: "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: { + deprecated: "octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)", + headers: { accept: "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" + }, + listForTeamDiscussionCommentInOrg: { + headers: { accept: "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" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" + }, + listForTeamDiscussionCommentLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy", + headers: { accept: "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" + }, + listForTeamDiscussionInOrg: { + headers: { accept: "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" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" + }, + listForTeamDiscussionLegacy: { + deprecated: "octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy", + headers: { accept: "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" + } + }, + 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: { + 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" }, + delete_branch_on_merge: { 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" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + 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" }, + delete_branch_on_merge: { 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" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + 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", + "internal" + ], + 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: "integer" } + }, + 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: { + headers: { accept: "application/vnd.github.mercy-preview+json" }, + 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: { + headers: { accept: "application/vnd.github.mercy-preview+json" }, + 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: { + 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" }, + delete_branch_on_merge: { type: "boolean" }, + 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" }, + visibility: { + enum: ["public", "private", "visibility", "internal"], + type: "string" + } + }, + url: "/repos/:owner/:repo" + }, + updateBranchProtection: { + method: "PUT", + params: { + allow_deletions: { type: "boolean" }, + allow_force_pushes: { allowNull: true, type: "boolean" }, + branch: { required: true, type: "string" }, + enforce_admins: { allowNull: true, required: true, type: "boolean" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + required_linear_history: { type: "boolean" }, + 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: { + data: { mapTo: "data", required: true, type: "string | object" }, + file: { alias: "data", deprecated: 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() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)", + method: "PUT", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + addMemberLegacy: { + deprecated: "octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy", + method: "PUT", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + addOrUpdateMembership: { + deprecated: "octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)", + 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" + }, + addOrUpdateMembershipInOrg: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + role: { enum: ["member", "maintainer"], type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + addOrUpdateMembershipLegacy: { + deprecated: "octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy", + 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: { + deprecated: "octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)", + 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" + }, + addOrUpdateProjectInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "PUT", + params: { + org: { required: true, type: "string" }, + permission: { enum: ["read", "write", "admin"], type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + addOrUpdateProjectLegacy: { + deprecated: "octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy", + 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: { + deprecated: "octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)", + 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" + }, + addOrUpdateRepoInOrg: { + method: "PUT", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + permission: { enum: ["pull", "push", "admin"], type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + addOrUpdateRepoLegacy: { + deprecated: "octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy", + 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: { + deprecated: "octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)", + 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" + }, + checkManagesRepoInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + checkManagesRepoLegacy: { + deprecated: "octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy", + 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: { + deprecated: "octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + createDiscussionCommentInOrg: { + method: "POST", + params: { + body: { required: true, type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + createDiscussionCommentLegacy: { + deprecated: "octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy", + 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" + }, + createDiscussionInOrg: { + method: "POST", + params: { + body: { required: true, type: "string" }, + org: { required: true, type: "string" }, + private: { type: "boolean" }, + team_slug: { required: true, type: "string" }, + title: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + createDiscussionLegacy: { + deprecated: "octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy", + 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" + }, + delete: { + deprecated: "octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)", + method: "DELETE", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + deleteDiscussion: { + deprecated: "octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)", + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteDiscussionComment: { + deprecated: "octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + deleteDiscussionCommentInOrg: { + method: "DELETE", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + deleteDiscussionCommentLegacy: { + deprecated: "octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy", + 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" + }, + deleteDiscussionInOrg: { + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + deleteDiscussionLegacy: { + deprecated: "octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy", + method: "DELETE", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + deleteInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug" + }, + deleteLegacy: { + deprecated: "octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy", + method: "DELETE", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + get: { + deprecated: "octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)", + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getDiscussionComment: { + deprecated: "octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + getDiscussionCommentInOrg: { + method: "GET", + params: { + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + getDiscussionCommentLegacy: { + deprecated: "octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy", + 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" + }, + getDiscussionInOrg: { + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + getDiscussionLegacy: { + deprecated: "octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy", + method: "GET", + params: { + discussion_number: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/discussions/:discussion_number" + }, + getLegacy: { + deprecated: "octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy", + method: "GET", + params: { team_id: { required: true, type: "integer" } }, + url: "/teams/:team_id" + }, + getMember: { + deprecated: "octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + getMemberLegacy: { + deprecated: "octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + getMembership: { + deprecated: "octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)", + method: "GET", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + getMembershipInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + getMembershipLegacy: { + deprecated: "octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy", + 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: { + deprecated: "octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/teams" + }, + listChildInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/teams" + }, + listChildLegacy: { + deprecated: "octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/teams" + }, + listDiscussionComments: { + deprecated: "octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)", + 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" + }, + listDiscussionCommentsInOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" + }, + listDiscussionCommentsLegacy: { + deprecated: "octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy", + 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: { + deprecated: "octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)", + 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" + }, + listDiscussionsInOrg: { + method: "GET", + params: { + direction: { enum: ["asc", "desc"], type: "string" }, + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions" + }, + listDiscussionsLegacy: { + deprecated: "octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy", + 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: { + deprecated: "octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)", + 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" + }, + listMembersInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + role: { enum: ["member", "maintainer", "all"], type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/members" + }, + listMembersLegacy: { + deprecated: "octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy", + 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: { + deprecated: "octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/invitations" + }, + listPendingInvitationsInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/invitations" + }, + listPendingInvitationsLegacy: { + deprecated: "octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/invitations" + }, + listProjects: { + deprecated: "octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)", + 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" + }, + listProjectsInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects" + }, + listProjectsLegacy: { + deprecated: "octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy", + 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: { + deprecated: "octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)", + method: "GET", + params: { + page: { type: "integer" }, + per_page: { type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/repos" + }, + listReposInOrg: { + method: "GET", + params: { + org: { required: true, type: "string" }, + page: { type: "integer" }, + per_page: { type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos" + }, + listReposLegacy: { + deprecated: "octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy", + 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() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + removeMemberLegacy: { + deprecated: "octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/members/:username" + }, + removeMembership: { + deprecated: "octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeMembershipInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + username: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/memberships/:username" + }, + removeMembershipLegacy: { + deprecated: "octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy", + method: "DELETE", + params: { + team_id: { required: true, type: "integer" }, + username: { required: true, type: "string" } + }, + url: "/teams/:team_id/memberships/:username" + }, + removeProject: { + deprecated: "octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)", + method: "DELETE", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeProjectInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + removeProjectLegacy: { + deprecated: "octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy", + method: "DELETE", + params: { + project_id: { required: true, type: "integer" }, + team_id: { required: true, type: "integer" } + }, + url: "/teams/:team_id/projects/:project_id" + }, + removeRepo: { + deprecated: "octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)", + 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" + }, + removeRepoInOrg: { + method: "DELETE", + params: { + org: { required: true, type: "string" }, + owner: { required: true, type: "string" }, + repo: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" + }, + removeRepoLegacy: { + deprecated: "octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy", + 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: { + deprecated: "octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)", + 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" + }, + reviewProjectInOrg: { + headers: { accept: "application/vnd.github.inertia-preview+json" }, + method: "GET", + params: { + org: { required: true, type: "string" }, + project_id: { required: true, type: "integer" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/projects/:project_id" + }, + reviewProjectLegacy: { + deprecated: "octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy", + 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: { + deprecated: "octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)", + 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: { + deprecated: "octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)", + 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" + }, + updateDiscussionCommentInOrg: { + method: "PATCH", + params: { + body: { required: true, type: "string" }, + comment_number: { required: true, type: "integer" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" + }, + updateDiscussionCommentLegacy: { + deprecated: "octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy", + 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" + }, + updateDiscussionInOrg: { + method: "PATCH", + params: { + body: { type: "string" }, + discussion_number: { required: true, type: "integer" }, + org: { required: true, type: "string" }, + team_slug: { required: true, type: "string" }, + title: { type: "string" } + }, + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" + }, + updateDiscussionLegacy: { + deprecated: "octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy", + 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" + }, + updateInOrg: { + method: "PATCH", + params: { + description: { 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" }, + team_slug: { required: true, type: "string" } + }, + url: "/orgs/:org/teams/:team_slug" + }, + updateLegacy: { + deprecated: "octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy", + 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" + } + }, + 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: { + 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" + } + } +}; + +const VERSION = "2.4.0"; + +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] = Object.assign(function deprecatedEndpointMethod() { + octokit.log.warn(new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`)); + octokit[namespaceName][apiName] = request; + return request.apply(null, arguments); + }, request); + 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; +} + +/** + * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary + * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is + * done, we will remove the registerEndpoints methods and return the methods + * directly as with the other plugins. At that point we will also remove the + * legacy workarounds and deprecations. + * + * See the plan at + * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 + */ +function restEndpointMethods(octokit) { + // @ts-ignore + octokit.registerEndpoints = registerEndpoints.bind(null, octokit); + registerEndpoints(octokit, endpointsByScope); + // Aliasing scopes for backward compatibility + // See https://github.com/octokit/rest.js/pull/1134 + [ + ["gitdata", "git"], + ["authorization", "oauthAuthorizations"], + ["pullRequests", "pulls"] + ].forEach(([deprecatedScope, scope]) => { + Object.defineProperty(octokit, deprecatedScope, { + get() { + octokit.log.warn( + // @ts-ignore + new Deprecation(`[@octokit/plugin-rest-endpoint-methods] "octokit.${deprecatedScope}.*" methods are deprecated, use "octokit.${scope}.*" instead`)); + // @ts-ignore + return octokit[scope]; + } + }); + }); + return {}; +} +restEndpointMethods.VERSION = VERSION; + +export { restEndpointMethods }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map new file mode 100644 index 0000000..017c313 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/generated/endpoints.js","../dist-src/version.js","../dist-src/register-endpoints.js","../dist-src/index.js"],"sourcesContent":["export default {\n actions: {\n cancelWorkflowRun: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/cancel\"\n },\n createOrUpdateSecretForRepo: {\n method: \"PUT\",\n params: {\n encrypted_value: { type: \"string\" },\n key_id: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n createRegistrationToken: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/registration-token\"\n },\n createRemoveToken: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/remove-token\"\n },\n deleteArtifact: {\n method: \"DELETE\",\n params: {\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id\"\n },\n deleteSecretFromRepo: {\n method: \"DELETE\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n downloadArtifact: {\n method: \"GET\",\n params: {\n archive_format: { required: true, type: \"string\" },\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format\"\n },\n getArtifact: {\n method: \"GET\",\n params: {\n artifact_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/artifacts/:artifact_id\"\n },\n getPublicKey: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/public-key\"\n },\n getSecret: {\n method: \"GET\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets/:name\"\n },\n getSelfHostedRunner: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n runner_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/:runner_id\"\n },\n getWorkflow: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n workflow_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows/:workflow_id\"\n },\n getWorkflowJob: {\n method: \"GET\",\n params: {\n job_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/jobs/:job_id\"\n },\n getWorkflowRun: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id\"\n },\n listDownloadsForSelfHostedRunnerApplication: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/downloads\"\n },\n listJobsForWorkflowRun: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/jobs\"\n },\n listRepoWorkflowRuns: {\n method: \"GET\",\n params: {\n actor: { type: \"string\" },\n branch: { type: \"string\" },\n event: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"completed\", \"status\", \"conclusion\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runs\"\n },\n listRepoWorkflows: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows\"\n },\n listSecretsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/secrets\"\n },\n listSelfHostedRunnersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/runners\"\n },\n listWorkflowJobLogs: {\n method: \"GET\",\n params: {\n job_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/actions/jobs/:job_id/logs\"\n },\n listWorkflowRunArtifacts: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/artifacts\"\n },\n listWorkflowRunLogs: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/logs\"\n },\n listWorkflowRuns: {\n method: \"GET\",\n params: {\n actor: { type: \"string\" },\n branch: { type: \"string\" },\n event: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"completed\", \"status\", \"conclusion\"], type: \"string\" },\n workflow_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/workflows/:workflow_id/runs\"\n },\n reRunWorkflow: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n run_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runs/:run_id/rerun\"\n },\n removeSelfHostedRunner: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n runner_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/actions/runners/:runner_id\"\n }\n },\n activity: {\n checkStarringRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n },\n deleteRepoSubscription: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n deleteThreadSubscription: {\n method: \"DELETE\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n getRepoSubscription: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n getThread: {\n method: \"GET\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id\"\n },\n getThreadSubscription: {\n method: \"GET\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n listEventsForOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events/orgs/:org\"\n },\n listEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events\"\n },\n listFeeds: { method: \"GET\", params: {}, url: \"/feeds\" },\n listNotifications: {\n method: \"GET\",\n params: {\n all: { type: \"boolean\" },\n before: { type: \"string\" },\n page: { type: \"integer\" },\n participating: { type: \"boolean\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/notifications\"\n },\n listNotificationsForRepo: {\n method: \"GET\",\n params: {\n all: { type: \"boolean\" },\n before: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n participating: { type: \"boolean\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/notifications\"\n },\n listPublicEvents: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/events\"\n },\n listPublicEventsForOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/events\"\n },\n listPublicEventsForRepoNetwork: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/networks/:owner/:repo/events\"\n },\n listPublicEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/events/public\"\n },\n listReceivedEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/received_events\"\n },\n listReceivedPublicEventsForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/received_events/public\"\n },\n listRepoEvents: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/events\"\n },\n listReposStarredByAuthenticatedUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/user/starred\"\n },\n listReposStarredByUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/starred\"\n },\n listReposWatchedByUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/subscriptions\"\n },\n listStargazersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stargazers\"\n },\n listWatchedReposForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/subscriptions\"\n },\n listWatchersForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/subscribers\"\n },\n markAsRead: {\n method: \"PUT\",\n params: { last_read_at: { type: \"string\" } },\n url: \"/notifications\"\n },\n markNotificationsAsReadForRepo: {\n method: \"PUT\",\n params: {\n last_read_at: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/notifications\"\n },\n markThreadAsRead: {\n method: \"PATCH\",\n params: { thread_id: { required: true, type: \"integer\" } },\n url: \"/notifications/threads/:thread_id\"\n },\n setRepoSubscription: {\n method: \"PUT\",\n params: {\n ignored: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n subscribed: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/subscription\"\n },\n setThreadSubscription: {\n method: \"PUT\",\n params: {\n ignored: { type: \"boolean\" },\n thread_id: { required: true, type: \"integer\" }\n },\n url: \"/notifications/threads/:thread_id/subscription\"\n },\n starRepo: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n },\n unstarRepo: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/user/starred/:owner/:repo\"\n }\n },\n apps: {\n addRepoToInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"PUT\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n repository_id: { required: true, type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories/:repository_id\"\n },\n checkAccountIsAssociatedWithAny: {\n method: \"GET\",\n params: { account_id: { required: true, type: \"integer\" } },\n url: \"/marketplace_listing/accounts/:account_id\"\n },\n checkAccountIsAssociatedWithAnyStubbed: {\n method: \"GET\",\n params: { account_id: { required: true, type: \"integer\" } },\n url: \"/marketplace_listing/stubbed/accounts/:account_id\"\n },\n checkAuthorization: {\n deprecated: \"octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization\",\n method: \"GET\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n checkToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"POST\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n createContentAttachment: {\n headers: { accept: \"application/vnd.github.corsair-preview+json\" },\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n content_reference_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/content_references/:content_reference_id/attachments\"\n },\n createFromManifest: {\n headers: { accept: \"application/vnd.github.fury-preview+json\" },\n method: \"POST\",\n params: { code: { required: true, type: \"string\" } },\n url: \"/app-manifests/:code/conversions\"\n },\n createInstallationToken: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"POST\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n permissions: { type: \"object\" },\n repository_ids: { type: \"integer[]\" }\n },\n url: \"/app/installations/:installation_id/access_tokens\"\n },\n deleteAuthorization: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"DELETE\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grant\"\n },\n deleteInstallation: {\n headers: {\n accept: \"application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json\"\n },\n method: \"DELETE\",\n params: { installation_id: { required: true, type: \"integer\" } },\n url: \"/app/installations/:installation_id\"\n },\n deleteToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"DELETE\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n findOrgInstallation: {\n deprecated: \"octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/installation\"\n },\n findRepoInstallation: {\n deprecated: \"octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/installation\"\n },\n findUserInstallation: {\n deprecated: \"octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)\",\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username/installation\"\n },\n getAuthenticated: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {},\n url: \"/app\"\n },\n getBySlug: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { app_slug: { required: true, type: \"string\" } },\n url: \"/apps/:app_slug\"\n },\n getInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { installation_id: { required: true, type: \"integer\" } },\n url: \"/app/installations/:installation_id\"\n },\n getOrgInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/installation\"\n },\n getRepoInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/installation\"\n },\n getUserInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username/installation\"\n },\n listAccountsUserOrOrgOnPlan: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n plan_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/marketplace_listing/plans/:plan_id/accounts\"\n },\n listAccountsUserOrOrgOnPlanStubbed: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n plan_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/marketplace_listing/stubbed/plans/:plan_id/accounts\"\n },\n listInstallationReposForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories\"\n },\n listInstallations: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/app/installations\"\n },\n listInstallationsForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/installations\"\n },\n listMarketplacePurchasesForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/marketplace_purchases\"\n },\n listMarketplacePurchasesForAuthenticatedUserStubbed: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/marketplace_purchases/stubbed\"\n },\n listPlans: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/marketplace_listing/plans\"\n },\n listPlansStubbed: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/marketplace_listing/stubbed/plans\"\n },\n listRepos: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/installation/repositories\"\n },\n removeRepoFromInstallation: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"DELETE\",\n params: {\n installation_id: { required: true, type: \"integer\" },\n repository_id: { required: true, type: \"integer\" }\n },\n url: \"/user/installations/:installation_id/repositories/:repository_id\"\n },\n resetAuthorization: {\n deprecated: \"octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization\",\n method: \"POST\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n resetToken: {\n headers: { accept: \"application/vnd.github.doctor-strange-preview+json\" },\n method: \"PATCH\",\n params: {\n access_token: { type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/token\"\n },\n revokeAuthorizationForApplication: {\n deprecated: \"octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeGrantForApplication: {\n deprecated: \"octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grants/:access_token\"\n },\n revokeInstallationToken: {\n headers: { accept: \"application/vnd.github.gambit-preview+json\" },\n method: \"DELETE\",\n params: {},\n url: \"/installation/token\"\n }\n },\n checks: {\n create: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n actions: { type: \"object[]\" },\n \"actions[].description\": { required: true, type: \"string\" },\n \"actions[].identifier\": { required: true, type: \"string\" },\n \"actions[].label\": { required: true, type: \"string\" },\n completed_at: { type: \"string\" },\n conclusion: {\n enum: [\n \"success\",\n \"failure\",\n \"neutral\",\n \"cancelled\",\n \"timed_out\",\n \"action_required\"\n ],\n type: \"string\"\n },\n details_url: { type: \"string\" },\n external_id: { type: \"string\" },\n head_sha: { required: true, type: \"string\" },\n name: { required: true, type: \"string\" },\n output: { type: \"object\" },\n \"output.annotations\": { type: \"object[]\" },\n \"output.annotations[].annotation_level\": {\n enum: [\"notice\", \"warning\", \"failure\"],\n required: true,\n type: \"string\"\n },\n \"output.annotations[].end_column\": { type: \"integer\" },\n \"output.annotations[].end_line\": { required: true, type: \"integer\" },\n \"output.annotations[].message\": { required: true, type: \"string\" },\n \"output.annotations[].path\": { required: true, type: \"string\" },\n \"output.annotations[].raw_details\": { type: \"string\" },\n \"output.annotations[].start_column\": { type: \"integer\" },\n \"output.annotations[].start_line\": { required: true, type: \"integer\" },\n \"output.annotations[].title\": { type: \"string\" },\n \"output.images\": { type: \"object[]\" },\n \"output.images[].alt\": { required: true, type: \"string\" },\n \"output.images[].caption\": { type: \"string\" },\n \"output.images[].image_url\": { required: true, type: \"string\" },\n \"output.summary\": { required: true, type: \"string\" },\n \"output.text\": { type: \"string\" },\n \"output.title\": { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n started_at: { type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs\"\n },\n createSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n head_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites\"\n },\n get: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_run_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id\"\n },\n getSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_suite_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id\"\n },\n listAnnotations: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_run_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id/annotations\"\n },\n listForRef: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_name: { type: \"string\" },\n filter: { enum: [\"latest\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/check-runs\"\n },\n listForSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n check_name: { type: \"string\" },\n check_suite_id: { required: true, type: \"integer\" },\n filter: { enum: [\"latest\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id/check-runs\"\n },\n listSuitesForRef: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"GET\",\n params: {\n app_id: { type: \"integer\" },\n check_name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/check-suites\"\n },\n rerequestSuite: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"POST\",\n params: {\n check_suite_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/:check_suite_id/rerequest\"\n },\n setSuitesPreferences: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"PATCH\",\n params: {\n auto_trigger_checks: { type: \"object[]\" },\n \"auto_trigger_checks[].app_id\": { required: true, type: \"integer\" },\n \"auto_trigger_checks[].setting\": { required: true, type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-suites/preferences\"\n },\n update: {\n headers: { accept: \"application/vnd.github.antiope-preview+json\" },\n method: \"PATCH\",\n params: {\n actions: { type: \"object[]\" },\n \"actions[].description\": { required: true, type: \"string\" },\n \"actions[].identifier\": { required: true, type: \"string\" },\n \"actions[].label\": { required: true, type: \"string\" },\n check_run_id: { required: true, type: \"integer\" },\n completed_at: { type: \"string\" },\n conclusion: {\n enum: [\n \"success\",\n \"failure\",\n \"neutral\",\n \"cancelled\",\n \"timed_out\",\n \"action_required\"\n ],\n type: \"string\"\n },\n details_url: { type: \"string\" },\n external_id: { type: \"string\" },\n name: { type: \"string\" },\n output: { type: \"object\" },\n \"output.annotations\": { type: \"object[]\" },\n \"output.annotations[].annotation_level\": {\n enum: [\"notice\", \"warning\", \"failure\"],\n required: true,\n type: \"string\"\n },\n \"output.annotations[].end_column\": { type: \"integer\" },\n \"output.annotations[].end_line\": { required: true, type: \"integer\" },\n \"output.annotations[].message\": { required: true, type: \"string\" },\n \"output.annotations[].path\": { required: true, type: \"string\" },\n \"output.annotations[].raw_details\": { type: \"string\" },\n \"output.annotations[].start_column\": { type: \"integer\" },\n \"output.annotations[].start_line\": { required: true, type: \"integer\" },\n \"output.annotations[].title\": { type: \"string\" },\n \"output.images\": { type: \"object[]\" },\n \"output.images[].alt\": { required: true, type: \"string\" },\n \"output.images[].caption\": { type: \"string\" },\n \"output.images[].image_url\": { required: true, type: \"string\" },\n \"output.summary\": { required: true, type: \"string\" },\n \"output.text\": { type: \"string\" },\n \"output.title\": { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n started_at: { type: \"string\" },\n status: { enum: [\"queued\", \"in_progress\", \"completed\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/check-runs/:check_run_id\"\n }\n },\n codesOfConduct: {\n getConductCode: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: { key: { required: true, type: \"string\" } },\n url: \"/codes_of_conduct/:key\"\n },\n getForRepo: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/community/code_of_conduct\"\n },\n listConductCodes: {\n headers: { accept: \"application/vnd.github.scarlet-witch-preview+json\" },\n method: \"GET\",\n params: {},\n url: \"/codes_of_conduct\"\n }\n },\n emojis: { get: { method: \"GET\", params: {}, url: \"/emojis\" } },\n gists: {\n checkIsStarred: {\n method: \"GET\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n create: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n files: { required: true, type: \"object\" },\n \"files.content\": { type: \"string\" },\n public: { type: \"boolean\" }\n },\n url: \"/gists\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments\"\n },\n delete: {\n method: \"DELETE\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n },\n fork: {\n method: \"POST\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/forks\"\n },\n get: {\n method: \"GET\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n },\n getRevision: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/:sha\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists\"\n },\n listComments: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/commits\"\n },\n listForks: {\n method: \"GET\",\n params: {\n gist_id: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/gists/:gist_id/forks\"\n },\n listPublic: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists/public\"\n },\n listPublicForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/gists\"\n },\n listStarred: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/gists/starred\"\n },\n star: {\n method: \"PUT\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n unstar: {\n method: \"DELETE\",\n params: { gist_id: { required: true, type: \"string\" } },\n url: \"/gists/:gist_id/star\"\n },\n update: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n files: { type: \"object\" },\n \"files.content\": { type: \"string\" },\n \"files.filename\": { type: \"string\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n gist_id: { required: true, type: \"string\" }\n },\n url: \"/gists/:gist_id/comments/:comment_id\"\n }\n },\n git: {\n createBlob: {\n method: \"POST\",\n params: {\n content: { required: true, type: \"string\" },\n encoding: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/blobs\"\n },\n createCommit: {\n method: \"POST\",\n params: {\n author: { type: \"object\" },\n \"author.date\": { type: \"string\" },\n \"author.email\": { type: \"string\" },\n \"author.name\": { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.date\": { type: \"string\" },\n \"committer.email\": { type: \"string\" },\n \"committer.name\": { type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n parents: { required: true, type: \"string[]\" },\n repo: { required: true, type: \"string\" },\n signature: { type: \"string\" },\n tree: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/commits\"\n },\n createRef: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs\"\n },\n createTag: {\n method: \"POST\",\n params: {\n message: { required: true, type: \"string\" },\n object: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag: { required: true, type: \"string\" },\n tagger: { type: \"object\" },\n \"tagger.date\": { type: \"string\" },\n \"tagger.email\": { type: \"string\" },\n \"tagger.name\": { type: \"string\" },\n type: {\n enum: [\"commit\", \"tree\", \"blob\"],\n required: true,\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo/git/tags\"\n },\n createTree: {\n method: \"POST\",\n params: {\n base_tree: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tree: { required: true, type: \"object[]\" },\n \"tree[].content\": { type: \"string\" },\n \"tree[].mode\": {\n enum: [\"100644\", \"100755\", \"040000\", \"160000\", \"120000\"],\n type: \"string\"\n },\n \"tree[].path\": { type: \"string\" },\n \"tree[].sha\": { allowNull: true, type: \"string\" },\n \"tree[].type\": { enum: [\"blob\", \"tree\", \"commit\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/trees\"\n },\n deleteRef: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:ref\"\n },\n getBlob: {\n method: \"GET\",\n params: {\n file_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/blobs/:file_sha\"\n },\n getCommit: {\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/commits/:commit_sha\"\n },\n getRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/ref/:ref\"\n },\n getTag: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag_sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/tags/:tag_sha\"\n },\n getTree: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n recursive: { enum: [\"1\"], type: \"integer\" },\n repo: { required: true, type: \"string\" },\n tree_sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/trees/:tree_sha\"\n },\n listMatchingRefs: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/matching-refs/:ref\"\n },\n listRefs: {\n method: \"GET\",\n params: {\n namespace: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:namespace\"\n },\n updateRef: {\n method: \"PATCH\",\n params: {\n force: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/git/refs/:ref\"\n }\n },\n gitignore: {\n getTemplate: {\n method: \"GET\",\n params: { name: { required: true, type: \"string\" } },\n url: \"/gitignore/templates/:name\"\n },\n listTemplates: { method: \"GET\", params: {}, url: \"/gitignore/templates\" }\n },\n interactions: {\n addOrUpdateRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"PUT\",\n params: {\n limit: {\n enum: [\"existing_users\", \"contributors_only\", \"collaborators_only\"],\n required: true,\n type: \"string\"\n },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/interaction-limits\"\n },\n addOrUpdateRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"PUT\",\n params: {\n limit: {\n enum: [\"existing_users\", \"contributors_only\", \"collaborators_only\"],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n },\n getRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/interaction-limits\"\n },\n getRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n },\n removeRestrictionsForOrg: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"DELETE\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/interaction-limits\"\n },\n removeRestrictionsForRepo: {\n headers: { accept: \"application/vnd.github.sombra-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/interaction-limits\"\n }\n },\n issues: {\n addAssignees: {\n method: \"POST\",\n params: {\n assignees: { type: \"string[]\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/assignees\"\n },\n addLabels: {\n method: \"POST\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n labels: { required: true, type: \"string[]\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n checkAssignee: {\n method: \"GET\",\n params: {\n assignee: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/assignees/:assignee\"\n },\n create: {\n method: \"POST\",\n params: {\n assignee: { type: \"string\" },\n assignees: { type: \"string[]\" },\n body: { type: \"string\" },\n labels: { type: \"string[]\" },\n milestone: { type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/comments\"\n },\n createLabel: {\n method: \"POST\",\n params: {\n color: { required: true, type: \"string\" },\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels\"\n },\n createMilestone: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n due_on: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n deleteLabel: {\n method: \"DELETE\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:name\"\n },\n deleteMilestone: {\n method: \"DELETE\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n },\n get: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n getEvent: {\n method: \"GET\",\n params: {\n event_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/events/:event_id\"\n },\n getLabel: {\n method: \"GET\",\n params: {\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:name\"\n },\n getMilestone: {\n method: \"GET\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n },\n list: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/issues\"\n },\n listAssignees: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/assignees\"\n },\n listComments: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/comments\"\n },\n listCommentsForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments\"\n },\n listEvents: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/events\"\n },\n listEventsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/events\"\n },\n listEventsForTimeline: {\n headers: { accept: \"application/vnd.github.mockingbird-preview+json\" },\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/timeline\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/user/issues\"\n },\n listForOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n filter: {\n enum: [\"assigned\", \"created\", \"mentioned\", \"subscribed\", \"all\"],\n type: \"string\"\n },\n labels: { type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/orgs/:org/issues\"\n },\n listForRepo: {\n method: \"GET\",\n params: {\n assignee: { type: \"string\" },\n creator: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n labels: { type: \"string\" },\n mentioned: { type: \"string\" },\n milestone: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\", \"comments\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues\"\n },\n listLabelsForMilestone: {\n method: \"GET\",\n params: {\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number/labels\"\n },\n listLabelsForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels\"\n },\n listLabelsOnIssue: {\n method: \"GET\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n listMilestonesForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: { enum: [\"due_on\", \"completeness\"], type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones\"\n },\n lock: {\n method: \"PUT\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n lock_reason: {\n enum: [\"off-topic\", \"too heated\", \"resolved\", \"spam\"],\n type: \"string\"\n },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/lock\"\n },\n removeAssignees: {\n method: \"DELETE\",\n params: {\n assignees: { type: \"string[]\" },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/assignees\"\n },\n removeLabel: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n name: { required: true, type: \"string\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels/:name\"\n },\n removeLabels: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n replaceLabels: {\n method: \"PUT\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n labels: { type: \"string[]\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/labels\"\n },\n unlock: {\n method: \"DELETE\",\n params: {\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/lock\"\n },\n update: {\n method: \"PATCH\",\n params: {\n assignee: { type: \"string\" },\n assignees: { type: \"string[]\" },\n body: { type: \"string\" },\n issue_number: { required: true, type: \"integer\" },\n labels: { type: \"string[]\" },\n milestone: { allowNull: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id\"\n },\n updateLabel: {\n method: \"PATCH\",\n params: {\n color: { type: \"string\" },\n current_name: { required: true, type: \"string\" },\n description: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/labels/:current_name\"\n },\n updateMilestone: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n due_on: { type: \"string\" },\n milestone_number: { required: true, type: \"integer\" },\n number: {\n alias: \"milestone_number\",\n deprecated: true,\n type: \"integer\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/milestones/:milestone_number\"\n }\n },\n licenses: {\n get: {\n method: \"GET\",\n params: { license: { required: true, type: \"string\" } },\n url: \"/licenses/:license\"\n },\n getForRepo: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/license\"\n },\n list: {\n deprecated: \"octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)\",\n method: \"GET\",\n params: {},\n url: \"/licenses\"\n },\n listCommonlyUsed: { method: \"GET\", params: {}, url: \"/licenses\" }\n },\n markdown: {\n render: {\n method: \"POST\",\n params: {\n context: { type: \"string\" },\n mode: { enum: [\"markdown\", \"gfm\"], type: \"string\" },\n text: { required: true, type: \"string\" }\n },\n url: \"/markdown\"\n },\n renderRaw: {\n headers: { \"content-type\": \"text/plain; charset=utf-8\" },\n method: \"POST\",\n params: { data: { mapTo: \"data\", required: true, type: \"string\" } },\n url: \"/markdown/raw\"\n }\n },\n meta: { get: { method: \"GET\", params: {}, url: \"/meta\" } },\n migrations: {\n cancelImport: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n deleteArchiveForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id/archive\"\n },\n deleteArchiveForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n downloadArchiveForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n getArchiveForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id/archive\"\n },\n getArchiveForOrg: {\n deprecated: \"octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)\",\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/archive\"\n },\n getCommitAuthors: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/authors\"\n },\n getImportProgress: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n getLargeFiles: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/large_files\"\n },\n getStatusForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { migration_id: { required: true, type: \"integer\" } },\n url: \"/user/migrations/:migration_id\"\n },\n getStatusForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id\"\n },\n listForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/migrations\"\n },\n listForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/migrations\"\n },\n listReposForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/repositories\"\n },\n listReposForUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"GET\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/user/:migration_id/repositories\"\n },\n mapCommitAuthor: {\n method: \"PATCH\",\n params: {\n author_id: { required: true, type: \"integer\" },\n email: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/authors/:author_id\"\n },\n setLfsPreference: {\n method: \"PATCH\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n use_lfs: { enum: [\"opt_in\", \"opt_out\"], required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import/lfs\"\n },\n startForAuthenticatedUser: {\n method: \"POST\",\n params: {\n exclude_attachments: { type: \"boolean\" },\n lock_repositories: { type: \"boolean\" },\n repositories: { required: true, type: \"string[]\" }\n },\n url: \"/user/migrations\"\n },\n startForOrg: {\n method: \"POST\",\n params: {\n exclude_attachments: { type: \"boolean\" },\n lock_repositories: { type: \"boolean\" },\n org: { required: true, type: \"string\" },\n repositories: { required: true, type: \"string[]\" }\n },\n url: \"/orgs/:org/migrations\"\n },\n startImport: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tfvc_project: { type: \"string\" },\n vcs: {\n enum: [\"subversion\", \"git\", \"mercurial\", \"tfvc\"],\n type: \"string\"\n },\n vcs_password: { type: \"string\" },\n vcs_url: { required: true, type: \"string\" },\n vcs_username: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n },\n unlockRepoForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n repo_name: { required: true, type: \"string\" }\n },\n url: \"/user/migrations/:migration_id/repos/:repo_name/lock\"\n },\n unlockRepoForOrg: {\n headers: { accept: \"application/vnd.github.wyandotte-preview+json\" },\n method: \"DELETE\",\n params: {\n migration_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n repo_name: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/migrations/:migration_id/repos/:repo_name/lock\"\n },\n updateImport: {\n method: \"PATCH\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n vcs_password: { type: \"string\" },\n vcs_username: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/import\"\n }\n },\n oauthAuthorizations: {\n checkAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)\",\n method: \"GET\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n createAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization\",\n method: \"POST\",\n params: {\n client_id: { type: \"string\" },\n client_secret: { type: \"string\" },\n fingerprint: { type: \"string\" },\n note: { required: true, type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations\"\n },\n deleteAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization\",\n method: \"DELETE\",\n params: { authorization_id: { required: true, type: \"integer\" } },\n url: \"/authorizations/:authorization_id\"\n },\n deleteGrant: {\n deprecated: \"octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant\",\n method: \"DELETE\",\n params: { grant_id: { required: true, type: \"integer\" } },\n url: \"/applications/grants/:grant_id\"\n },\n getAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization\",\n method: \"GET\",\n params: { authorization_id: { required: true, type: \"integer\" } },\n url: \"/authorizations/:authorization_id\"\n },\n getGrant: {\n deprecated: \"octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant\",\n method: \"GET\",\n params: { grant_id: { required: true, type: \"integer\" } },\n url: \"/applications/grants/:grant_id\"\n },\n getOrCreateAuthorizationForApp: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id\"\n },\n getOrCreateAuthorizationForAppAndFingerprint: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { required: true, type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id/:fingerprint\"\n },\n getOrCreateAuthorizationForAppFingerprint: {\n deprecated: \"octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)\",\n method: \"PUT\",\n params: {\n client_id: { required: true, type: \"string\" },\n client_secret: { required: true, type: \"string\" },\n fingerprint: { required: true, type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/clients/:client_id/:fingerprint\"\n },\n listAuthorizations: {\n deprecated: \"octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations\",\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/authorizations\"\n },\n listGrants: {\n deprecated: \"octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants\",\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/applications/grants\"\n },\n resetAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)\",\n method: \"POST\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeAuthorizationForApplication: {\n deprecated: \"octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/tokens/:access_token\"\n },\n revokeGrantForApplication: {\n deprecated: \"octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)\",\n method: \"DELETE\",\n params: {\n access_token: { required: true, type: \"string\" },\n client_id: { required: true, type: \"string\" }\n },\n url: \"/applications/:client_id/grants/:access_token\"\n },\n updateAuthorization: {\n deprecated: \"octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization\",\n method: \"PATCH\",\n params: {\n add_scopes: { type: \"string[]\" },\n authorization_id: { required: true, type: \"integer\" },\n fingerprint: { type: \"string\" },\n note: { type: \"string\" },\n note_url: { type: \"string\" },\n remove_scopes: { type: \"string[]\" },\n scopes: { type: \"string[]\" }\n },\n url: \"/authorizations/:authorization_id\"\n }\n },\n orgs: {\n addOrUpdateMembership: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n role: { enum: [\"admin\", \"member\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n blockUser: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n checkBlockedUser: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n checkMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/members/:username\"\n },\n checkPublicMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n concealMembership: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n convertMemberToOutsideCollaborator: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/outside_collaborators/:username\"\n },\n createHook: {\n method: \"POST\",\n params: {\n active: { type: \"boolean\" },\n config: { required: true, type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks\"\n },\n createInvitation: {\n method: \"POST\",\n params: {\n email: { type: \"string\" },\n invitee_id: { type: \"integer\" },\n org: { required: true, type: \"string\" },\n role: {\n enum: [\"admin\", \"direct_member\", \"billing_manager\"],\n type: \"string\"\n },\n team_ids: { type: \"integer[]\" }\n },\n url: \"/orgs/:org/invitations\"\n },\n deleteHook: {\n method: \"DELETE\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n get: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org\"\n },\n getHook: {\n method: \"GET\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n getMembership: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n getMembershipForAuthenticatedUser: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/user/memberships/orgs/:org\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"integer\" }\n },\n url: \"/organizations\"\n },\n listBlockedUsers: {\n method: \"GET\",\n params: { org: { required: true, type: \"string\" } },\n url: \"/orgs/:org/blocks\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/orgs\"\n },\n listForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/orgs\"\n },\n listHooks: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/hooks\"\n },\n listInstallations: {\n headers: { accept: \"application/vnd.github.machine-man-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/installations\"\n },\n listInvitationTeams: {\n method: \"GET\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/invitations/:invitation_id/teams\"\n },\n listMembers: {\n method: \"GET\",\n params: {\n filter: { enum: [\"2fa_disabled\", \"all\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"all\", \"admin\", \"member\"], type: \"string\" }\n },\n url: \"/orgs/:org/members\"\n },\n listMemberships: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"active\", \"pending\"], type: \"string\" }\n },\n url: \"/user/memberships/orgs\"\n },\n listOutsideCollaborators: {\n method: \"GET\",\n params: {\n filter: { enum: [\"2fa_disabled\", \"all\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/outside_collaborators\"\n },\n listPendingInvitations: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/invitations\"\n },\n listPublicMembers: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/public_members\"\n },\n pingHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id/pings\"\n },\n publicizeMembership: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/public_members/:username\"\n },\n removeMember: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/members/:username\"\n },\n removeMembership: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/memberships/:username\"\n },\n removeOutsideCollaborator: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/outside_collaborators/:username\"\n },\n unblockUser: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/blocks/:username\"\n },\n update: {\n method: \"PATCH\",\n params: {\n billing_email: { type: \"string\" },\n company: { type: \"string\" },\n default_repository_permission: {\n enum: [\"read\", \"write\", \"admin\", \"none\"],\n type: \"string\"\n },\n description: { type: \"string\" },\n email: { type: \"string\" },\n has_organization_projects: { type: \"boolean\" },\n has_repository_projects: { type: \"boolean\" },\n location: { type: \"string\" },\n members_allowed_repository_creation_type: {\n enum: [\"all\", \"private\", \"none\"],\n type: \"string\"\n },\n members_can_create_internal_repositories: { type: \"boolean\" },\n members_can_create_private_repositories: { type: \"boolean\" },\n members_can_create_public_repositories: { type: \"boolean\" },\n members_can_create_repositories: { type: \"boolean\" },\n name: { type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org\"\n },\n updateHook: {\n method: \"PATCH\",\n params: {\n active: { type: \"boolean\" },\n config: { type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n hook_id: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/hooks/:hook_id\"\n },\n updateMembership: {\n method: \"PATCH\",\n params: {\n org: { required: true, type: \"string\" },\n state: { enum: [\"active\"], required: true, type: \"string\" }\n },\n url: \"/user/memberships/orgs/:org\"\n }\n },\n projects: {\n addCollaborator: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username\"\n },\n createCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n column_id: { required: true, type: \"integer\" },\n content_id: { type: \"integer\" },\n content_type: { type: \"string\" },\n note: { type: \"string\" }\n },\n url: \"/projects/columns/:column_id/cards\"\n },\n createColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n name: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/columns\"\n },\n createForAuthenticatedUser: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" }\n },\n url: \"/user/projects\"\n },\n createForOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/projects\"\n },\n createForRepo: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/projects\"\n },\n delete: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { project_id: { required: true, type: \"integer\" } },\n url: \"/projects/:project_id\"\n },\n deleteCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { card_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/cards/:card_id\"\n },\n deleteColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: { column_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/:column_id\"\n },\n get: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { project_id: { required: true, type: \"integer\" } },\n url: \"/projects/:project_id\"\n },\n getCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { card_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/cards/:card_id\"\n },\n getColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: { column_id: { required: true, type: \"integer\" } },\n url: \"/projects/columns/:column_id\"\n },\n listCards: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n archived_state: {\n enum: [\"all\", \"archived\", \"not_archived\"],\n type: \"string\"\n },\n column_id: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/projects/columns/:column_id/cards\"\n },\n listCollaborators: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n affiliation: { enum: [\"outside\", \"direct\", \"all\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/collaborators\"\n },\n listColumns: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n project_id: { required: true, type: \"integer\" }\n },\n url: \"/projects/:project_id/columns\"\n },\n listForOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/orgs/:org/projects\"\n },\n listForRepo: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/projects\"\n },\n listForUser: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/projects\"\n },\n moveCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n card_id: { required: true, type: \"integer\" },\n column_id: { type: \"integer\" },\n position: {\n required: true,\n type: \"string\",\n validation: \"^(top|bottom|after:\\\\d+)$\"\n }\n },\n url: \"/projects/columns/cards/:card_id/moves\"\n },\n moveColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"POST\",\n params: {\n column_id: { required: true, type: \"integer\" },\n position: {\n required: true,\n type: \"string\",\n validation: \"^(first|last|after:\\\\d+)$\"\n }\n },\n url: \"/projects/columns/:column_id/moves\"\n },\n removeCollaborator: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username\"\n },\n reviewUserPermissionLevel: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/projects/:project_id/collaborators/:username/permission\"\n },\n update: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n name: { type: \"string\" },\n organization_permission: { type: \"string\" },\n private: { type: \"boolean\" },\n project_id: { required: true, type: \"integer\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" }\n },\n url: \"/projects/:project_id\"\n },\n updateCard: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n archived: { type: \"boolean\" },\n card_id: { required: true, type: \"integer\" },\n note: { type: \"string\" }\n },\n url: \"/projects/columns/cards/:card_id\"\n },\n updateColumn: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PATCH\",\n params: {\n column_id: { required: true, type: \"integer\" },\n name: { required: true, type: \"string\" }\n },\n url: \"/projects/columns/:column_id\"\n }\n },\n pulls: {\n checkIfMerged: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/merge\"\n },\n create: {\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n head: { required: true, type: \"string\" },\n maintainer_can_modify: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n createComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_id: { required: true, type: \"string\" },\n in_reply_to: {\n deprecated: true,\n 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.\",\n type: \"integer\"\n },\n line: { type: \"integer\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n position: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n side: { enum: [\"LEFT\", \"RIGHT\"], type: \"string\" },\n start_line: { type: \"integer\" },\n start_side: { enum: [\"LEFT\", \"RIGHT\", \"side\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n createCommentReply: {\n deprecated: \"octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_id: { required: true, type: \"string\" },\n in_reply_to: {\n deprecated: true,\n 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.\",\n type: \"integer\"\n },\n line: { type: \"integer\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n position: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n side: { enum: [\"LEFT\", \"RIGHT\"], type: \"string\" },\n start_line: { type: \"integer\" },\n start_side: { enum: [\"LEFT\", \"RIGHT\", \"side\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n createFromIssue: {\n deprecated: \"octokit.pulls.createFromIssue() is deprecated, see https://developer.github.com/v3/pulls/#create-a-pull-request\",\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n draft: { type: \"boolean\" },\n head: { required: true, type: \"string\" },\n issue: { required: true, type: \"integer\" },\n maintainer_can_modify: { type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n createReview: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n comments: { type: \"object[]\" },\n \"comments[].body\": { required: true, type: \"string\" },\n \"comments[].path\": { required: true, type: \"string\" },\n \"comments[].position\": { required: true, type: \"integer\" },\n commit_id: { type: \"string\" },\n event: {\n enum: [\"APPROVE\", \"REQUEST_CHANGES\", \"COMMENT\"],\n type: \"string\"\n },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews\"\n },\n createReviewCommentReply: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies\"\n },\n createReviewRequest: {\n method: \"POST\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n reviewers: { type: \"string[]\" },\n team_reviewers: { type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n deleteComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n deletePendingReview: {\n method: \"DELETE\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n },\n deleteReviewRequest: {\n method: \"DELETE\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n reviewers: { type: \"string[]\" },\n team_reviewers: { type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n dismissReview: {\n method: \"PUT\",\n params: {\n message: { required: true, type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals\"\n },\n get: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number\"\n },\n getComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n getCommentsForReview: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments\"\n },\n getReview: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n },\n list: {\n method: \"GET\",\n params: {\n base: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n head: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: {\n enum: [\"created\", \"updated\", \"popularity\", \"long-running\"],\n type: \"string\"\n },\n state: { enum: [\"open\", \"closed\", \"all\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls\"\n },\n listComments: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/comments\"\n },\n listCommentsForRepo: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n since: { type: \"string\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/commits\"\n },\n listFiles: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/files\"\n },\n listReviewRequests: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers\"\n },\n listReviews: {\n method: \"GET\",\n params: {\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews\"\n },\n merge: {\n method: \"PUT\",\n params: {\n commit_message: { type: \"string\" },\n commit_title: { type: \"string\" },\n merge_method: { enum: [\"merge\", \"squash\", \"rebase\"], type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/merge\"\n },\n submitReview: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n event: {\n enum: [\"APPROVE\", \"REQUEST_CHANGES\", \"COMMENT\"],\n required: true,\n type: \"string\"\n },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events\"\n },\n update: {\n method: \"PATCH\",\n params: {\n base: { type: \"string\" },\n body: { type: \"string\" },\n maintainer_can_modify: { type: \"boolean\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n state: { enum: [\"open\", \"closed\"], type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number\"\n },\n updateBranch: {\n headers: { accept: \"application/vnd.github.lydian-preview+json\" },\n method: \"PUT\",\n params: {\n expected_head_sha: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/update-branch\"\n },\n updateComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id\"\n },\n updateReview: {\n method: \"PUT\",\n params: {\n body: { required: true, type: \"string\" },\n number: { alias: \"pull_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n pull_number: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n review_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id\"\n }\n },\n rateLimit: { get: { method: \"GET\", params: {}, url: \"/rate_limit\" } },\n reactions: {\n createForCommitComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id/reactions\"\n },\n createForIssue: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/reactions\"\n },\n createForIssueComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id/reactions\"\n },\n createForPullRequestReviewComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id/reactions\"\n },\n createForTeamDiscussion: {\n deprecated: \"octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n createForTeamDiscussionComment: {\n deprecated: \"octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionCommentInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionCommentLegacy: {\n deprecated: \"octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n createForTeamDiscussionInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions\"\n },\n createForTeamDiscussionLegacy: {\n deprecated: \"octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"POST\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n required: true,\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n delete: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"DELETE\",\n params: { reaction_id: { required: true, type: \"integer\" } },\n url: \"/reactions/:reaction_id\"\n },\n listForCommitComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id/reactions\"\n },\n listForIssue: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n issue_number: { required: true, type: \"integer\" },\n number: { alias: \"issue_number\", deprecated: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/:issue_number/reactions\"\n },\n listForIssueComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/issues/comments/:comment_id/reactions\"\n },\n listForPullRequestReviewComment: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pulls/comments/:comment_id/reactions\"\n },\n listForTeamDiscussion: {\n deprecated: \"octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n },\n listForTeamDiscussionComment: {\n deprecated: \"octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionCommentInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionCommentLegacy: {\n deprecated: \"octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions\"\n },\n listForTeamDiscussionInOrg: {\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions\"\n },\n listForTeamDiscussionLegacy: {\n deprecated: \"octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy\",\n headers: { accept: \"application/vnd.github.squirrel-girl-preview+json\" },\n method: \"GET\",\n params: {\n content: {\n enum: [\n \"+1\",\n \"-1\",\n \"laugh\",\n \"confused\",\n \"heart\",\n \"hooray\",\n \"rocket\",\n \"eyes\"\n ],\n type: \"string\"\n },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/reactions\"\n }\n },\n repos: {\n acceptInvitation: {\n method: \"PATCH\",\n params: { invitation_id: { required: true, type: \"integer\" } },\n url: \"/user/repository_invitations/:invitation_id\"\n },\n addCollaborator: {\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n addDeployKey: {\n method: \"POST\",\n params: {\n key: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n read_only: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys\"\n },\n addProtectedBranchAdminEnforcement: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n addProtectedBranchAppRestrictions: {\n method: \"POST\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n addProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n addProtectedBranchRequiredStatusChecksContexts: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n addProtectedBranchTeamRestrictions: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n addProtectedBranchUserRestrictions: {\n method: \"POST\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n checkCollaborator: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n checkVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n compareCommits: {\n method: \"GET\",\n params: {\n base: { required: true, type: \"string\" },\n head: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/compare/:base...:head\"\n },\n createCommitComment: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n commit_sha: { required: true, type: \"string\" },\n line: { type: \"integer\" },\n owner: { required: true, type: \"string\" },\n path: { type: \"string\" },\n position: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { alias: \"commit_sha\", deprecated: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/comments\"\n },\n createDeployment: {\n method: \"POST\",\n params: {\n auto_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n environment: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n payload: { type: \"string\" },\n production_environment: { type: \"boolean\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n required_contexts: { type: \"string[]\" },\n task: { type: \"string\" },\n transient_environment: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/deployments\"\n },\n createDeploymentStatus: {\n method: \"POST\",\n params: {\n auto_inactive: { type: \"boolean\" },\n deployment_id: { required: true, type: \"integer\" },\n description: { type: \"string\" },\n environment: { enum: [\"production\", \"staging\", \"qa\"], type: \"string\" },\n environment_url: { type: \"string\" },\n log_url: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n state: {\n enum: [\n \"error\",\n \"failure\",\n \"inactive\",\n \"in_progress\",\n \"queued\",\n \"pending\",\n \"success\"\n ],\n required: true,\n type: \"string\"\n },\n target_url: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses\"\n },\n createDispatchEvent: {\n method: \"POST\",\n params: {\n client_payload: { type: \"object\" },\n event_type: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/dispatches\"\n },\n createFile: {\n deprecated: \"octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)\",\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n createForAuthenticatedUser: {\n method: \"POST\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n auto_init: { type: \"boolean\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n gitignore_template: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n license_template: { type: \"string\" },\n name: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { type: \"integer\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/user/repos\"\n },\n createFork: {\n method: \"POST\",\n params: {\n organization: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/forks\"\n },\n createHook: {\n method: \"POST\",\n params: {\n active: { type: \"boolean\" },\n config: { required: true, type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks\"\n },\n createInOrg: {\n method: \"POST\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n auto_init: { type: \"boolean\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n gitignore_template: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n license_template: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { type: \"integer\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/orgs/:org/repos\"\n },\n createOrUpdateFile: {\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n createRelease: {\n method: \"POST\",\n params: {\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n prerelease: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n tag_name: { required: true, type: \"string\" },\n target_commitish: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases\"\n },\n createStatus: {\n method: \"POST\",\n params: {\n context: { type: \"string\" },\n description: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" },\n state: {\n enum: [\"error\", \"failure\", \"pending\", \"success\"],\n required: true,\n type: \"string\"\n },\n target_url: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/statuses/:sha\"\n },\n createUsingTemplate: {\n headers: { accept: \"application/vnd.github.baptiste-preview+json\" },\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n owner: { type: \"string\" },\n private: { type: \"boolean\" },\n template_owner: { required: true, type: \"string\" },\n template_repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:template_owner/:template_repo/generate\"\n },\n declineInvitation: {\n method: \"DELETE\",\n params: { invitation_id: { required: true, type: \"integer\" } },\n url: \"/user/repository_invitations/:invitation_id\"\n },\n delete: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo\"\n },\n deleteCommitComment: {\n method: \"DELETE\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n deleteDownload: {\n method: \"DELETE\",\n params: {\n download_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads/:download_id\"\n },\n deleteFile: {\n method: \"DELETE\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { type: \"string\" },\n \"author.name\": { type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { type: \"string\" },\n \"committer.name\": { type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n deleteHook: {\n method: \"DELETE\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n deleteInvitation: {\n method: \"DELETE\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations/:invitation_id\"\n },\n deleteRelease: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n deleteReleaseAsset: {\n method: \"DELETE\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n disableAutomatedSecurityFixes: {\n headers: { accept: \"application/vnd.github.london-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/automated-security-fixes\"\n },\n disablePagesSite: {\n headers: { accept: \"application/vnd.github.switcheroo-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n disableVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n enableAutomatedSecurityFixes: {\n headers: { accept: \"application/vnd.github.london-preview+json\" },\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/automated-security-fixes\"\n },\n enablePagesSite: {\n headers: { accept: \"application/vnd.github.switcheroo-preview+json\" },\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n source: { type: \"object\" },\n \"source.branch\": { enum: [\"master\", \"gh-pages\"], type: \"string\" },\n \"source.path\": { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n enableVulnerabilityAlerts: {\n headers: { accept: \"application/vnd.github.dorian-preview+json\" },\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/vulnerability-alerts\"\n },\n get: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo\"\n },\n getAppsWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n getArchiveLink: {\n method: \"GET\",\n params: {\n archive_format: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/:archive_format/:ref\"\n },\n getBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch\"\n },\n getBranchProtection: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n getClones: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n per: { enum: [\"day\", \"week\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/clones\"\n },\n getCodeFrequencyStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/code_frequency\"\n },\n getCollaboratorPermissionLevel: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username/permission\"\n },\n getCombinedStatusForRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/status\"\n },\n getCommit: {\n method: \"GET\",\n params: {\n commit_sha: { alias: \"ref\", deprecated: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { alias: \"ref\", deprecated: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref\"\n },\n getCommitActivityStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/commit_activity\"\n },\n getCommitComment: {\n method: \"GET\",\n params: {\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n getCommitRefSha: {\n deprecated: \"octokit.repos.getCommitRefSha() is deprecated, see https://developer.github.com/v3/repos/commits/#get-a-single-commit\",\n headers: { accept: \"application/vnd.github.v3.sha\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref\"\n },\n getContents: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n getContributorsStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/contributors\"\n },\n getDeployKey: {\n method: \"GET\",\n params: {\n key_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys/:key_id\"\n },\n getDeployment: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id\"\n },\n getDeploymentStatus: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n status_id: { required: true, type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id\"\n },\n getDownload: {\n method: \"GET\",\n params: {\n download_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads/:download_id\"\n },\n getHook: {\n method: \"GET\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n getLatestPagesBuild: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds/latest\"\n },\n getLatestRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/latest\"\n },\n getPages: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n getPagesBuild: {\n method: \"GET\",\n params: {\n build_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds/:build_id\"\n },\n getParticipationStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/participation\"\n },\n getProtectedBranchAdminEnforcement: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n getProtectedBranchPullRequestReviewEnforcement: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n getProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n getProtectedBranchRequiredStatusChecks: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n getProtectedBranchRestrictions: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions\"\n },\n getPunchCardStats: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/stats/punch_card\"\n },\n getReadme: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/readme\"\n },\n getRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n getReleaseAsset: {\n method: \"GET\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n getReleaseByTag: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n tag: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/tags/:tag\"\n },\n getTeamsWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n getTopPaths: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/popular/paths\"\n },\n getTopReferrers: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/popular/referrers\"\n },\n getUsersWithAccessToProtectedBranch: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n getViews: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n per: { enum: [\"day\", \"week\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/traffic/views\"\n },\n list: {\n method: \"GET\",\n params: {\n affiliation: { type: \"string\" },\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: {\n enum: [\"all\", \"owner\", \"public\", \"private\", \"member\"],\n type: \"string\"\n },\n visibility: { enum: [\"all\", \"public\", \"private\"], type: \"string\" }\n },\n url: \"/user/repos\"\n },\n listAppsWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n listAssetsForRelease: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id/assets\"\n },\n listBranches: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n protected: { type: \"boolean\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches\"\n },\n listBranchesForHeadCommit: {\n headers: { accept: \"application/vnd.github.groot-preview+json\" },\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/branches-where-head\"\n },\n listCollaborators: {\n method: \"GET\",\n params: {\n affiliation: { enum: [\"outside\", \"direct\", \"all\"], type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators\"\n },\n listCommentsForCommit: {\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { alias: \"commit_sha\", deprecated: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/comments\"\n },\n listCommitComments: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments\"\n },\n listCommits: {\n method: \"GET\",\n params: {\n author: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n path: { type: \"string\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" },\n since: { type: \"string\" },\n until: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits\"\n },\n listContributors: {\n method: \"GET\",\n params: {\n anon: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contributors\"\n },\n listDeployKeys: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys\"\n },\n listDeploymentStatuses: {\n method: \"GET\",\n params: {\n deployment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments/:deployment_id/statuses\"\n },\n listDeployments: {\n method: \"GET\",\n params: {\n environment: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" },\n task: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/deployments\"\n },\n listDownloads: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/downloads\"\n },\n listForOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: {\n enum: [\n \"all\",\n \"public\",\n \"private\",\n \"forks\",\n \"sources\",\n \"member\",\n \"internal\"\n ],\n type: \"string\"\n }\n },\n url: \"/orgs/:org/repos\"\n },\n listForUser: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n sort: {\n enum: [\"created\", \"updated\", \"pushed\", \"full_name\"],\n type: \"string\"\n },\n type: { enum: [\"all\", \"owner\", \"member\"], type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/repos\"\n },\n listForks: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" },\n sort: { enum: [\"newest\", \"oldest\", \"stargazers\"], type: \"string\" }\n },\n url: \"/repos/:owner/:repo/forks\"\n },\n listHooks: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks\"\n },\n listInvitations: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations\"\n },\n listInvitationsForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/repository_invitations\"\n },\n listLanguages: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/languages\"\n },\n listPagesBuilds: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds\"\n },\n listProtectedBranchRequiredStatusChecksContexts: {\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n listProtectedBranchTeamRestrictions: {\n deprecated: \"octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n listProtectedBranchUserRestrictions: {\n deprecated: \"octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n listPublic: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"integer\" }\n },\n url: \"/repositories\"\n },\n listPullRequestsAssociatedWithCommit: {\n headers: { accept: \"application/vnd.github.groot-preview+json\" },\n method: \"GET\",\n params: {\n commit_sha: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:commit_sha/pulls\"\n },\n listReleases: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases\"\n },\n listStatusesForRef: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n ref: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/commits/:ref/statuses\"\n },\n listTags: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/tags\"\n },\n listTeams: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/teams\"\n },\n listTeamsWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n listTopics: {\n headers: { accept: \"application/vnd.github.mercy-preview+json\" },\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/topics\"\n },\n listUsersWithAccessToProtectedBranch: {\n deprecated: \"octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13)\",\n method: \"GET\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n merge: {\n method: \"POST\",\n params: {\n base: { required: true, type: \"string\" },\n commit_message: { type: \"string\" },\n head: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/merges\"\n },\n pingHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id/pings\"\n },\n removeBranchProtection: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n removeCollaborator: {\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/collaborators/:username\"\n },\n removeDeployKey: {\n method: \"DELETE\",\n params: {\n key_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/keys/:key_id\"\n },\n removeProtectedBranchAdminEnforcement: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/enforce_admins\"\n },\n removeProtectedBranchAppRestrictions: {\n method: \"DELETE\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n removeProtectedBranchPullRequestReviewEnforcement: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n removeProtectedBranchRequiredSignatures: {\n headers: { accept: \"application/vnd.github.zzzax-preview+json\" },\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_signatures\"\n },\n removeProtectedBranchRequiredStatusChecks: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n removeProtectedBranchRequiredStatusChecksContexts: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n removeProtectedBranchRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions\"\n },\n removeProtectedBranchTeamRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n removeProtectedBranchUserRestrictions: {\n method: \"DELETE\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n replaceProtectedBranchAppRestrictions: {\n method: \"PUT\",\n params: {\n apps: { mapTo: \"data\", required: true, type: \"string[]\" },\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps\"\n },\n replaceProtectedBranchRequiredStatusChecksContexts: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { mapTo: \"data\", required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts\"\n },\n replaceProtectedBranchTeamRestrictions: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n teams: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams\"\n },\n replaceProtectedBranchUserRestrictions: {\n method: \"PUT\",\n params: {\n branch: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n users: { mapTo: \"data\", required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/restrictions/users\"\n },\n replaceTopics: {\n headers: { accept: \"application/vnd.github.mercy-preview+json\" },\n method: \"PUT\",\n params: {\n names: { required: true, type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/topics\"\n },\n requestPageBuild: {\n method: \"POST\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/pages/builds\"\n },\n retrieveCommunityProfileMetrics: {\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/community/profile\"\n },\n testPushHook: {\n method: \"POST\",\n params: {\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id/tests\"\n },\n transfer: {\n method: \"POST\",\n params: {\n new_owner: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_ids: { type: \"integer[]\" }\n },\n url: \"/repos/:owner/:repo/transfer\"\n },\n update: {\n method: \"PATCH\",\n params: {\n allow_merge_commit: { type: \"boolean\" },\n allow_rebase_merge: { type: \"boolean\" },\n allow_squash_merge: { type: \"boolean\" },\n archived: { type: \"boolean\" },\n default_branch: { type: \"string\" },\n delete_branch_on_merge: { type: \"boolean\" },\n description: { type: \"string\" },\n has_issues: { type: \"boolean\" },\n has_projects: { type: \"boolean\" },\n has_wiki: { type: \"boolean\" },\n homepage: { type: \"string\" },\n is_template: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n repo: { required: true, type: \"string\" },\n visibility: {\n enum: [\"public\", \"private\", \"visibility\", \"internal\"],\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo\"\n },\n updateBranchProtection: {\n method: \"PUT\",\n params: {\n allow_deletions: { type: \"boolean\" },\n allow_force_pushes: { allowNull: true, type: \"boolean\" },\n branch: { required: true, type: \"string\" },\n enforce_admins: { allowNull: true, required: true, type: \"boolean\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n required_linear_history: { type: \"boolean\" },\n required_pull_request_reviews: {\n allowNull: true,\n required: true,\n type: \"object\"\n },\n \"required_pull_request_reviews.dismiss_stale_reviews\": {\n type: \"boolean\"\n },\n \"required_pull_request_reviews.dismissal_restrictions\": {\n type: \"object\"\n },\n \"required_pull_request_reviews.dismissal_restrictions.teams\": {\n type: \"string[]\"\n },\n \"required_pull_request_reviews.dismissal_restrictions.users\": {\n type: \"string[]\"\n },\n \"required_pull_request_reviews.require_code_owner_reviews\": {\n type: \"boolean\"\n },\n \"required_pull_request_reviews.required_approving_review_count\": {\n type: \"integer\"\n },\n required_status_checks: {\n allowNull: true,\n required: true,\n type: \"object\"\n },\n \"required_status_checks.contexts\": { required: true, type: \"string[]\" },\n \"required_status_checks.strict\": { required: true, type: \"boolean\" },\n restrictions: { allowNull: true, required: true, type: \"object\" },\n \"restrictions.apps\": { type: \"string[]\" },\n \"restrictions.teams\": { required: true, type: \"string[]\" },\n \"restrictions.users\": { required: true, type: \"string[]\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection\"\n },\n updateCommitComment: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/comments/:comment_id\"\n },\n updateFile: {\n deprecated: \"octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)\",\n method: \"PUT\",\n params: {\n author: { type: \"object\" },\n \"author.email\": { required: true, type: \"string\" },\n \"author.name\": { required: true, type: \"string\" },\n branch: { type: \"string\" },\n committer: { type: \"object\" },\n \"committer.email\": { required: true, type: \"string\" },\n \"committer.name\": { required: true, type: \"string\" },\n content: { required: true, type: \"string\" },\n message: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n path: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n sha: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/contents/:path\"\n },\n updateHook: {\n method: \"PATCH\",\n params: {\n active: { type: \"boolean\" },\n add_events: { type: \"string[]\" },\n config: { type: \"object\" },\n \"config.content_type\": { type: \"string\" },\n \"config.insecure_ssl\": { type: \"string\" },\n \"config.secret\": { type: \"string\" },\n \"config.url\": { required: true, type: \"string\" },\n events: { type: \"string[]\" },\n hook_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n remove_events: { type: \"string[]\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/hooks/:hook_id\"\n },\n updateInformationAboutPagesSite: {\n method: \"PUT\",\n params: {\n cname: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n source: {\n enum: ['\"gh-pages\"', '\"master\"', '\"master /docs\"'],\n type: \"string\"\n }\n },\n url: \"/repos/:owner/:repo/pages\"\n },\n updateInvitation: {\n method: \"PATCH\",\n params: {\n invitation_id: { required: true, type: \"integer\" },\n owner: { required: true, type: \"string\" },\n permissions: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/invitations/:invitation_id\"\n },\n updateProtectedBranchPullRequestReviewEnforcement: {\n method: \"PATCH\",\n params: {\n branch: { required: true, type: \"string\" },\n dismiss_stale_reviews: { type: \"boolean\" },\n dismissal_restrictions: { type: \"object\" },\n \"dismissal_restrictions.teams\": { type: \"string[]\" },\n \"dismissal_restrictions.users\": { type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n require_code_owner_reviews: { type: \"boolean\" },\n required_approving_review_count: { type: \"integer\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews\"\n },\n updateProtectedBranchRequiredStatusChecks: {\n method: \"PATCH\",\n params: {\n branch: { required: true, type: \"string\" },\n contexts: { type: \"string[]\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n strict: { type: \"boolean\" }\n },\n url: \"/repos/:owner/:repo/branches/:branch/protection/required_status_checks\"\n },\n updateRelease: {\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n draft: { type: \"boolean\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n prerelease: { type: \"boolean\" },\n release_id: { required: true, type: \"integer\" },\n repo: { required: true, type: \"string\" },\n tag_name: { type: \"string\" },\n target_commitish: { type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/:release_id\"\n },\n updateReleaseAsset: {\n method: \"PATCH\",\n params: {\n asset_id: { required: true, type: \"integer\" },\n label: { type: \"string\" },\n name: { type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" }\n },\n url: \"/repos/:owner/:repo/releases/assets/:asset_id\"\n },\n uploadReleaseAsset: {\n method: \"POST\",\n params: {\n data: { mapTo: \"data\", required: true, type: \"string | object\" },\n file: { alias: \"data\", deprecated: true, type: \"string | object\" },\n headers: { required: true, type: \"object\" },\n \"headers.content-length\": { required: true, type: \"integer\" },\n \"headers.content-type\": { required: true, type: \"string\" },\n label: { type: \"string\" },\n name: { required: true, type: \"string\" },\n url: { required: true, type: \"string\" }\n },\n url: \":url\"\n }\n },\n search: {\n code: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"indexed\"], type: \"string\" }\n },\n url: \"/search/code\"\n },\n commits: {\n headers: { accept: \"application/vnd.github.cloak-preview+json\" },\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"author-date\", \"committer-date\"], type: \"string\" }\n },\n url: \"/search/commits\"\n },\n issues: {\n deprecated: \"octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)\",\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\n \"comments\",\n \"reactions\",\n \"reactions-+1\",\n \"reactions--1\",\n \"reactions-smile\",\n \"reactions-thinking_face\",\n \"reactions-heart\",\n \"reactions-tada\",\n \"interactions\",\n \"created\",\n \"updated\"\n ],\n type: \"string\"\n }\n },\n url: \"/search/issues\"\n },\n issuesAndPullRequests: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\n \"comments\",\n \"reactions\",\n \"reactions-+1\",\n \"reactions--1\",\n \"reactions-smile\",\n \"reactions-thinking_face\",\n \"reactions-heart\",\n \"reactions-tada\",\n \"interactions\",\n \"created\",\n \"updated\"\n ],\n type: \"string\"\n }\n },\n url: \"/search/issues\"\n },\n labels: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n q: { required: true, type: \"string\" },\n repository_id: { required: true, type: \"integer\" },\n sort: { enum: [\"created\", \"updated\"], type: \"string\" }\n },\n url: \"/search/labels\"\n },\n repos: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: {\n enum: [\"stars\", \"forks\", \"help-wanted-issues\", \"updated\"],\n type: \"string\"\n }\n },\n url: \"/search/repositories\"\n },\n topics: {\n method: \"GET\",\n params: { q: { required: true, type: \"string\" } },\n url: \"/search/topics\"\n },\n users: {\n method: \"GET\",\n params: {\n order: { enum: [\"desc\", \"asc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n q: { required: true, type: \"string\" },\n sort: { enum: [\"followers\", \"repositories\", \"joined\"], type: \"string\" }\n },\n url: \"/search/users\"\n }\n },\n teams: {\n addMember: {\n deprecated: \"octokit.teams.addMember() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n addMemberLegacy: {\n deprecated: \"octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy\",\n method: \"PUT\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n addOrUpdateMembership: {\n deprecated: \"octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n addOrUpdateMembershipInOrg: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n addOrUpdateMembershipLegacy: {\n deprecated: \"octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy\",\n method: \"PUT\",\n params: {\n role: { enum: [\"member\", \"maintainer\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n addOrUpdateProject: {\n deprecated: \"octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n addOrUpdateProjectInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n addOrUpdateProjectLegacy: {\n deprecated: \"octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"PUT\",\n params: {\n permission: { enum: [\"read\", \"write\", \"admin\"], type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n addOrUpdateRepo: {\n deprecated: \"octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)\",\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n addOrUpdateRepoInOrg: {\n method: \"PUT\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n addOrUpdateRepoLegacy: {\n deprecated: \"octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy\",\n method: \"PUT\",\n params: {\n owner: { required: true, type: \"string\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n checkManagesRepo: {\n deprecated: \"octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n checkManagesRepoInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n checkManagesRepoLegacy: {\n deprecated: \"octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy\",\n method: \"GET\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n create: {\n method: \"POST\",\n params: {\n description: { type: \"string\" },\n maintainers: { type: \"string[]\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n repo_names: { type: \"string[]\" }\n },\n url: \"/orgs/:org/teams\"\n },\n createDiscussion: {\n deprecated: \"octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n createDiscussionComment: {\n deprecated: \"octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n createDiscussionCommentInOrg: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments\"\n },\n createDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n createDiscussionInOrg: {\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_slug: { required: true, type: \"string\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions\"\n },\n createDiscussionLegacy: {\n deprecated: \"octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy\",\n method: \"POST\",\n params: {\n body: { required: true, type: \"string\" },\n private: { type: \"boolean\" },\n team_id: { required: true, type: \"integer\" },\n title: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n delete: {\n deprecated: \"octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n deleteDiscussion: {\n deprecated: \"octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n deleteDiscussionComment: {\n deprecated: \"octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionCommentInOrg: {\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy\",\n method: \"DELETE\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n deleteDiscussionInOrg: {\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n deleteDiscussionLegacy: {\n deprecated: \"octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy\",\n method: \"DELETE\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n deleteInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n deleteLegacy: {\n deprecated: \"octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy\",\n method: \"DELETE\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n get: {\n deprecated: \"octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)\",\n method: \"GET\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n getByName: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n getDiscussion: {\n deprecated: \"octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n getDiscussionComment: {\n deprecated: \"octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionCommentInOrg: {\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy\",\n method: \"GET\",\n params: {\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n getDiscussionInOrg: {\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n getDiscussionLegacy: {\n deprecated: \"octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy\",\n method: \"GET\",\n params: {\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n getLegacy: {\n deprecated: \"octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy\",\n method: \"GET\",\n params: { team_id: { required: true, type: \"integer\" } },\n url: \"/teams/:team_id\"\n },\n getMember: {\n deprecated: \"octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n getMemberLegacy: {\n deprecated: \"octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n getMembership: {\n deprecated: \"octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n getMembershipInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n getMembershipLegacy: {\n deprecated: \"octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy\",\n method: \"GET\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n list: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" }\n },\n url: \"/orgs/:org/teams\"\n },\n listChild: {\n deprecated: \"octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/teams\"\n },\n listChildInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/teams\"\n },\n listChildLegacy: {\n deprecated: \"octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/teams\"\n },\n listDiscussionComments: {\n deprecated: \"octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n listDiscussionCommentsInOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments\"\n },\n listDiscussionCommentsLegacy: {\n deprecated: \"octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments\"\n },\n listDiscussions: {\n deprecated: \"octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n listDiscussionsInOrg: {\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions\"\n },\n listDiscussionsLegacy: {\n deprecated: \"octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy\",\n method: \"GET\",\n params: {\n direction: { enum: [\"asc\", \"desc\"], type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions\"\n },\n listForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/teams\"\n },\n listMembers: {\n deprecated: \"octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/members\"\n },\n listMembersInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/members\"\n },\n listMembersLegacy: {\n deprecated: \"octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n role: { enum: [\"member\", \"maintainer\", \"all\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/members\"\n },\n listPendingInvitations: {\n deprecated: \"octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/invitations\"\n },\n listPendingInvitationsInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/invitations\"\n },\n listPendingInvitationsLegacy: {\n deprecated: \"octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/invitations\"\n },\n listProjects: {\n deprecated: \"octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects\"\n },\n listProjectsInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects\"\n },\n listProjectsLegacy: {\n deprecated: \"octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects\"\n },\n listRepos: {\n deprecated: \"octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos\"\n },\n listReposInOrg: {\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos\"\n },\n listReposLegacy: {\n deprecated: \"octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy\",\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos\"\n },\n removeMember: {\n deprecated: \"octokit.teams.removeMember() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n removeMemberLegacy: {\n deprecated: \"octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/members/:username\"\n },\n removeMembership: {\n deprecated: \"octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n removeMembershipInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/memberships/:username\"\n },\n removeMembershipLegacy: {\n deprecated: \"octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy\",\n method: \"DELETE\",\n params: {\n team_id: { required: true, type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/teams/:team_id/memberships/:username\"\n },\n removeProject: {\n deprecated: \"octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n removeProjectInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n removeProjectLegacy: {\n deprecated: \"octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy\",\n method: \"DELETE\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n removeRepo: {\n deprecated: \"octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)\",\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n removeRepoInOrg: {\n method: \"DELETE\",\n params: {\n org: { required: true, type: \"string\" },\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/repos/:owner/:repo\"\n },\n removeRepoLegacy: {\n deprecated: \"octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy\",\n method: \"DELETE\",\n params: {\n owner: { required: true, type: \"string\" },\n repo: { required: true, type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/repos/:owner/:repo\"\n },\n reviewProject: {\n deprecated: \"octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n reviewProjectInOrg: {\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n org: { required: true, type: \"string\" },\n project_id: { required: true, type: \"integer\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/projects/:project_id\"\n },\n reviewProjectLegacy: {\n deprecated: \"octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy\",\n headers: { accept: \"application/vnd.github.inertia-preview+json\" },\n method: \"GET\",\n params: {\n project_id: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/projects/:project_id\"\n },\n update: {\n deprecated: \"octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id\"\n },\n updateDiscussion: {\n deprecated: \"octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" },\n title: { type: \"string\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n updateDiscussionComment: {\n deprecated: \"octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)\",\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionCommentInOrg: {\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionCommentLegacy: {\n deprecated: \"octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy\",\n method: \"PATCH\",\n params: {\n body: { required: true, type: \"string\" },\n comment_number: { required: true, type: \"integer\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number/comments/:comment_number\"\n },\n updateDiscussionInOrg: {\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n org: { required: true, type: \"string\" },\n team_slug: { required: true, type: \"string\" },\n title: { type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug/discussions/:discussion_number\"\n },\n updateDiscussionLegacy: {\n deprecated: \"octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy\",\n method: \"PATCH\",\n params: {\n body: { type: \"string\" },\n discussion_number: { required: true, type: \"integer\" },\n team_id: { required: true, type: \"integer\" },\n title: { type: \"string\" }\n },\n url: \"/teams/:team_id/discussions/:discussion_number\"\n },\n updateInOrg: {\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n org: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_slug: { required: true, type: \"string\" }\n },\n url: \"/orgs/:org/teams/:team_slug\"\n },\n updateLegacy: {\n deprecated: \"octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy\",\n method: \"PATCH\",\n params: {\n description: { type: \"string\" },\n name: { required: true, type: \"string\" },\n parent_team_id: { type: \"integer\" },\n permission: { enum: [\"pull\", \"push\", \"admin\"], type: \"string\" },\n privacy: { enum: [\"secret\", \"closed\"], type: \"string\" },\n team_id: { required: true, type: \"integer\" }\n },\n url: \"/teams/:team_id\"\n }\n },\n users: {\n addEmails: {\n method: \"POST\",\n params: { emails: { required: true, type: \"string[]\" } },\n url: \"/user/emails\"\n },\n block: {\n method: \"PUT\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n checkBlocked: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n checkFollowing: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n checkFollowingForUser: {\n method: \"GET\",\n params: {\n target_user: { required: true, type: \"string\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/following/:target_user\"\n },\n createGpgKey: {\n method: \"POST\",\n params: { armored_public_key: { type: \"string\" } },\n url: \"/user/gpg_keys\"\n },\n createPublicKey: {\n method: \"POST\",\n params: { key: { type: \"string\" }, title: { type: \"string\" } },\n url: \"/user/keys\"\n },\n deleteEmails: {\n method: \"DELETE\",\n params: { emails: { required: true, type: \"string[]\" } },\n url: \"/user/emails\"\n },\n deleteGpgKey: {\n method: \"DELETE\",\n params: { gpg_key_id: { required: true, type: \"integer\" } },\n url: \"/user/gpg_keys/:gpg_key_id\"\n },\n deletePublicKey: {\n method: \"DELETE\",\n params: { key_id: { required: true, type: \"integer\" } },\n url: \"/user/keys/:key_id\"\n },\n follow: {\n method: \"PUT\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n getAuthenticated: { method: \"GET\", params: {}, url: \"/user\" },\n getByUsername: {\n method: \"GET\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/users/:username\"\n },\n getContextForUser: {\n method: \"GET\",\n params: {\n subject_id: { type: \"string\" },\n subject_type: {\n enum: [\"organization\", \"repository\", \"issue\", \"pull_request\"],\n type: \"string\"\n },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/hovercard\"\n },\n getGpgKey: {\n method: \"GET\",\n params: { gpg_key_id: { required: true, type: \"integer\" } },\n url: \"/user/gpg_keys/:gpg_key_id\"\n },\n getPublicKey: {\n method: \"GET\",\n params: { key_id: { required: true, type: \"integer\" } },\n url: \"/user/keys/:key_id\"\n },\n list: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n since: { type: \"string\" }\n },\n url: \"/users\"\n },\n listBlocked: { method: \"GET\", params: {}, url: \"/user/blocks\" },\n listEmails: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/emails\"\n },\n listFollowersForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/followers\"\n },\n listFollowersForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/followers\"\n },\n listFollowingForAuthenticatedUser: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/following\"\n },\n listFollowingForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/following\"\n },\n listGpgKeys: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/gpg_keys\"\n },\n listGpgKeysForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/gpg_keys\"\n },\n listPublicEmails: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/public_emails\"\n },\n listPublicKeys: {\n method: \"GET\",\n params: { page: { type: \"integer\" }, per_page: { type: \"integer\" } },\n url: \"/user/keys\"\n },\n listPublicKeysForUser: {\n method: \"GET\",\n params: {\n page: { type: \"integer\" },\n per_page: { type: \"integer\" },\n username: { required: true, type: \"string\" }\n },\n url: \"/users/:username/keys\"\n },\n togglePrimaryEmailVisibility: {\n method: \"PATCH\",\n params: {\n email: { required: true, type: \"string\" },\n visibility: { required: true, type: \"string\" }\n },\n url: \"/user/email/visibility\"\n },\n unblock: {\n method: \"DELETE\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/blocks/:username\"\n },\n unfollow: {\n method: \"DELETE\",\n params: { username: { required: true, type: \"string\" } },\n url: \"/user/following/:username\"\n },\n updateAuthenticated: {\n method: \"PATCH\",\n params: {\n bio: { type: \"string\" },\n blog: { type: \"string\" },\n company: { type: \"string\" },\n email: { type: \"string\" },\n hireable: { type: \"boolean\" },\n location: { type: \"string\" },\n name: { type: \"string\" }\n },\n url: \"/user\"\n }\n }\n};\n","export const VERSION = \"2.4.0\";\n","import { Deprecation } from \"deprecation\";\nexport function registerEndpoints(octokit, routes) {\n Object.keys(routes).forEach(namespaceName => {\n if (!octokit[namespaceName]) {\n octokit[namespaceName] = {};\n }\n Object.keys(routes[namespaceName]).forEach(apiName => {\n const apiOptions = routes[namespaceName][apiName];\n const endpointDefaults = [\"method\", \"url\", \"headers\"].reduce((map, key) => {\n if (typeof apiOptions[key] !== \"undefined\") {\n map[key] = apiOptions[key];\n }\n return map;\n }, {});\n endpointDefaults.request = {\n validate: apiOptions.params\n };\n let request = octokit.request.defaults(endpointDefaults);\n // patch request & endpoint methods to support deprecated parameters.\n // Not the most elegant solution, but we don’t want to move deprecation\n // logic into octokit/endpoint.js as it’s out of scope\n const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find(key => apiOptions.params[key].deprecated);\n if (hasDeprecatedParam) {\n const patch = patchForDeprecation.bind(null, octokit, apiOptions);\n request = patch(octokit.request.defaults(endpointDefaults), `.${namespaceName}.${apiName}()`);\n request.endpoint = patch(request.endpoint, `.${namespaceName}.${apiName}.endpoint()`);\n request.endpoint.merge = patch(request.endpoint.merge, `.${namespaceName}.${apiName}.endpoint.merge()`);\n }\n if (apiOptions.deprecated) {\n octokit[namespaceName][apiName] = Object.assign(function deprecatedEndpointMethod() {\n octokit.log.warn(new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`));\n octokit[namespaceName][apiName] = request;\n return request.apply(null, arguments);\n }, request);\n return;\n }\n octokit[namespaceName][apiName] = request;\n });\n });\n}\nfunction patchForDeprecation(octokit, apiOptions, method, methodName) {\n const patchedMethod = (options) => {\n options = Object.assign({}, options);\n Object.keys(options).forEach(key => {\n if (apiOptions.params[key] && apiOptions.params[key].deprecated) {\n const aliasKey = apiOptions.params[key].alias;\n octokit.log.warn(new Deprecation(`[@octokit/rest] \"${key}\" parameter is deprecated for \"${methodName}\". Use \"${aliasKey}\" instead`));\n if (!(aliasKey in options)) {\n options[aliasKey] = options[key];\n }\n delete options[key];\n }\n });\n return method(options);\n };\n Object.keys(method).forEach(key => {\n patchedMethod[key] = method[key];\n });\n return patchedMethod;\n}\n","import { Deprecation } from \"deprecation\";\nimport endpointsByScope from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { registerEndpoints } from \"./register-endpoints\";\n/**\n * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary\n * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is\n * done, we will remove the registerEndpoints methods and return the methods\n * directly as with the other plugins. At that point we will also remove the\n * legacy workarounds and deprecations.\n *\n * See the plan at\n * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1\n */\nexport function restEndpointMethods(octokit) {\n // @ts-ignore\n octokit.registerEndpoints = registerEndpoints.bind(null, octokit);\n registerEndpoints(octokit, endpointsByScope);\n // Aliasing scopes for backward compatibility\n // See https://github.com/octokit/rest.js/pull/1134\n [\n [\"gitdata\", \"git\"],\n [\"authorization\", \"oauthAuthorizations\"],\n [\"pullRequests\", \"pulls\"]\n ].forEach(([deprecatedScope, scope]) => {\n Object.defineProperty(octokit, deprecatedScope, {\n get() {\n octokit.log.warn(\n // @ts-ignore\n new Deprecation(`[@octokit/plugin-rest-endpoint-methods] \"octokit.${deprecatedScope}.*\" methods are deprecated, use \"octokit.${scope}.*\" instead`));\n // @ts-ignore\n return octokit[scope];\n }\n });\n });\n return {};\n}\nrestEndpointMethods.VERSION = VERSION;\n"],"names":[],"mappings":";;AAAA,uBAAe;IACX,OAAO,EAAE;QACL,iBAAiB,EAAE;YACf,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,2BAA2B,EAAE;YACzB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,uBAAuB,EAAE;YACrB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wDAAwD;SAChE;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACnD;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,2CAA2C,EAAE;YACzC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1E;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,4BAA4B,EAAE;YAC1B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACnD;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,aAAa,EAAE;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,gDAAgD;SACxD;KACJ;IACD,QAAQ,EAAE;QACN,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,gDAAgD;SACxD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,mCAAmC;SAC3C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,gDAAgD;SACxD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,yBAAyB;SACjC;QACD,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;QACvD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,SAAS;SACjB;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,mBAAmB;SAC3B;QACD,8BAA8B,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,uBAAuB,EAAE;YACrB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,yBAAyB,EAAE;YACvB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,+BAA+B,EAAE;YAC7B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,mCAAmC,EAAE;YACjC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,eAAe;SACvB;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtD,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,oCAAoC,EAAE;YAClC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,qBAAqB;SAC7B;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC5C,GAAG,EAAE,gBAAgB;SACxB;QACD,8BAA8B,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,mCAAmC;SAC3C;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAClC;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;KACJ;IACD,IAAI,EAAE;QACF,qBAAqB,EAAE;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACrD;YACD,GAAG,EAAE,kEAAkE;SAC1E;QACD,+BAA+B,EAAE;YAC7B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,2CAA2C;SACnD;QACD,sCAAsC,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,mDAAmD;SAC3D;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,sIAAsI;YAClJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,oDAAoD,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,uBAAuB,EAAE;YACrB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,uDAAuD;SAC/D;QACD,kBAAkB,EAAE;YAChB,OAAO,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACpD,GAAG,EAAE,kCAAkC;SAC1C;QACD,uBAAuB,EAAE;YACrB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aACxC;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,oDAAoD,EAAE;YACzE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,kBAAkB,EAAE;YAChB,OAAO,EAAE;gBACL,MAAM,EAAE,4FAA4F;aACvG;YACD,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAChE,GAAG,EAAE,qCAAqC;SAC7C;QACD,WAAW,EAAE;YACT,OAAO,EAAE,EAAE,MAAM,EAAE,oDAAoD,EAAE;YACzE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,uGAAuG;YACnH,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,yBAAyB;SACjC;QACD,oBAAoB,EAAE;YAClB,UAAU,EAAE,yGAAyG;YACrH,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,oBAAoB,EAAE;YAClB,UAAU,EAAE,yGAAyG;YACrH,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,+BAA+B;SACvC;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,MAAM;SACd;QACD,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,iBAAiB;SACzB;QACD,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAChE,GAAG,EAAE,qCAAqC;SAC7C;QACD,kBAAkB,EAAE;YAChB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,yBAAyB;SACjC;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,+BAA+B;SACvC;QACD,2BAA2B,EAAE;YACzB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,sDAAsD;SAC9D;QACD,yCAAyC,EAAE;YACvC,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,iBAAiB,EAAE;YACf,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,oBAAoB;SAC5B;QACD,qCAAqC,EAAE;YACnC,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,qBAAqB;SAC7B;QACD,4CAA4C,EAAE;YAC1C,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,6BAA6B;SACrC;QACD,mDAAmD,EAAE;YACjD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,qCAAqC;SAC7C;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,4BAA4B;SACpC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,oCAAoC;SAC5C;QACD,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,4BAA4B;SACpC;QACD,0BAA0B,EAAE;YACxB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACrD;YACD,GAAG,EAAE,kEAAkE;SAC1E;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,sIAAsI;YAClJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,oDAAoD,EAAE;YACzE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,iCAAiC,EAAE;YAC/B,UAAU,EAAE,yKAAyK;YACrL,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,yBAAyB,EAAE;YACvB,UAAU,EAAE,wJAAwJ;YACpK,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,uBAAuB,EAAE;YACrB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,qBAAqB;SAC7B;KACJ;IACD,MAAM,EAAE;QACJ,MAAM,EAAE;YACJ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7B,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3D,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,UAAU,EAAE;oBACR,IAAI,EAAE;wBACF,SAAS;wBACT,SAAS;wBACT,SAAS;wBACT,WAAW;wBACX,WAAW;wBACX,iBAAiB;qBACpB;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC1C,uCAAuC,EAAE;oBACrC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;oBACtC,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iCAAiC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,8BAA8B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,kCAAkC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtD,mCAAmC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxD,iCAAiC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtE,4BAA4B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACrC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzD,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3E;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,WAAW,EAAE;YACT,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,GAAG,EAAE;YACD,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,QAAQ,EAAE;YACN,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3E;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3E;YACD,GAAG,EAAE,6DAA6D;SACrE;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,cAAc,EAAE;YACZ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,oBAAoB,EAAE;YAClB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACzC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7B,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3D,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,UAAU,EAAE;oBACR,IAAI,EAAE;wBACF,SAAS;wBACT,SAAS;wBACT,SAAS;wBACT,WAAW;wBACX,WAAW;wBACX,iBAAiB;qBACpB;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC1C,uCAAuC,EAAE;oBACrC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;oBACtC,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iCAAiC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,8BAA8B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,kCAAkC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtD,mCAAmC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxD,iCAAiC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtE,4BAA4B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACrC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzD,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3E;YACD,GAAG,EAAE,8CAA8C;SACtD;KACJ;IACD,cAAc,EAAE;QACZ,cAAc,EAAE;YACZ,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,wBAAwB;SAChC;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,mBAAmB;SAC3B;KACJ;IACD,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;IAC9D,KAAK,EAAE;QACH,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,sBAAsB;SAC9B;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9B;YACD,GAAG,EAAE,QAAQ;SAChB;QACD,aAAa,EAAE;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,iBAAiB;SACzB;QACD,aAAa,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,IAAI,EAAE;YACF,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,uBAAuB;SAC/B;QACD,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,iBAAiB;SACzB;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,sBAAsB;SAC9B;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,QAAQ;SAChB;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,yBAAyB;SACjC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,eAAe;SACvB;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,sBAAsB;SAC9B;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,sBAAsB;SAC9B;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,iBAAiB;SACzB;QACD,aAAa,EAAE;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,sCAAsC;SAC9C;KACJ;IACD,GAAG,EAAE;QACD,UAAU,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBAChC,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC1C,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,aAAa,EAAE;oBACX,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBACxD,IAAI,EAAE,QAAQ;iBACjB;gBACD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACtE;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,OAAO,EAAE;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,OAAO,EAAE;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,mCAAmC;SAC3C;KACJ;IACD,SAAS,EAAE;QACP,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACpD,GAAG,EAAE,4BAA4B;SACpC;QACD,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE;KAC5E;IACD,YAAY,EAAE;QACV,6BAA6B,EAAE;YAC3B,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC;oBACnE,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,8BAA8B,EAAE;YAC5B,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC;oBACnE,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,qBAAqB,EAAE;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,+BAA+B;SACvC;QACD,sBAAsB,EAAE;YACpB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,wBAAwB,EAAE;YACtB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,+BAA+B;SACvC;QACD,yBAAyB,EAAE;YACvB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;KACJ;IACD,MAAM,EAAE;QACJ,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,SAAS,EAAE;YACP,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5C,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,WAAW,EAAE;YACT,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,eAAe,EAAE;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,eAAe,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrD,MAAM,EAAE;oBACJ,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,SAAS;iBAClB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrD,MAAM,EAAE;oBACJ,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,SAAS;iBAClB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,MAAM,EAAE;oBACJ,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC;oBAC/D,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,SAAS;SACjB;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,qBAAqB,EAAE;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,MAAM,EAAE;oBACJ,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC;oBAC/D,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,cAAc;SACtB;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,MAAM,EAAE;oBACJ,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC;oBAC/D,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,mBAAmB;SAC3B;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrD,MAAM,EAAE;oBACJ,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,SAAS;iBAClB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,WAAW,EAAE;oBACT,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC;oBACrD,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,WAAW,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,uDAAuD;SAC/D;QACD,YAAY,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,aAAa,EAAE;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrD,MAAM,EAAE;oBACJ,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,SAAS;iBAClB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,kDAAkD;SAC1D;KACJ;IACD,QAAQ,EAAE;QACN,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvD,GAAG,EAAE,oBAAoB;SAC5B;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,IAAI,EAAE;YACF,UAAU,EAAE,8FAA8F;YAC1G,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,WAAW;SACnB;QACD,gBAAgB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;KACpE;IACD,QAAQ,EAAE;QACN,MAAM,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,WAAW;SACnB;QACD,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE;YACxD,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnE,GAAG,EAAE,eAAe;SACvB;KACJ;IACD,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;IAC1D,UAAU,EAAE;QACR,YAAY,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,iCAAiC,EAAE;YAC/B,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC7D,GAAG,EAAE,wCAAwC;SAChD;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,qBAAqB,EAAE;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,8BAA8B,EAAE;YAC5B,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC7D,GAAG,EAAE,wCAAwC;SAChD;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,mHAAmH;YAC/H,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,6BAA6B,EAAE;YAC3B,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC7D,GAAG,EAAE,gCAAgC;SACxC;QACD,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,wBAAwB,EAAE;YACtB,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,kBAAkB;SAC1B;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,eAAe,EAAE;YACb,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3E;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,yBAAyB,EAAE;YACvB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxC,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aACrD;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,WAAW,EAAE;YACT,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxC,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aACrD;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,GAAG,EAAE;oBACD,IAAI,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC;oBAChD,IAAI,EAAE,QAAQ;iBACjB;gBACD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACnC;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,8BAA8B,EAAE;YAC5B,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,sDAAsD;SAC9D;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,+CAA+C,EAAE;YACpE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,2DAA2D;SACnE;QACD,YAAY,EAAE;YACV,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACnC;YACD,GAAG,EAAE,4BAA4B;SACpC;KACJ;IACD,mBAAmB,EAAE;QACjB,kBAAkB,EAAE;YAChB,UAAU,EAAE,qHAAqH;YACjI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,uJAAuJ;YACnK,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/B;YACD,GAAG,EAAE,iBAAiB;SACzB;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,oJAAoJ;YAChK,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACjE,GAAG,EAAE,mCAAmC;SAC3C;QACD,WAAW,EAAE;YACT,UAAU,EAAE,mIAAmI;YAC/I,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACzD,GAAG,EAAE,gCAAgC;SACxC;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,oJAAoJ;YAChK,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACjE,GAAG,EAAE,mCAAmC;SAC3C;QACD,QAAQ,EAAE;YACN,UAAU,EAAE,oIAAoI;YAChJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACzD,GAAG,EAAE,gCAAgC;SACxC;QACD,8BAA8B,EAAE;YAC5B,UAAU,EAAE,yLAAyL;YACrM,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,4CAA4C,EAAE;YAC1C,UAAU,EAAE,uNAAuN;YACnO,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/B;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,yCAAyC,EAAE;YACvC,UAAU,EAAE,qLAAqL;YACjM,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/B;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,oJAAoJ;YAChK,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,iBAAiB;SACzB;QACD,UAAU,EAAE;YACR,UAAU,EAAE,oIAAoI;YAChJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,sBAAsB;SAC9B;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,qHAAqH;YACjI,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,iCAAiC,EAAE;YAC/B,UAAU,EAAE,mJAAmJ;YAC/J,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,yBAAyB,EAAE;YACvB,UAAU,EAAE,mIAAmI;YAC/I,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,6JAA6J;YACzK,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAChC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACnC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC/B;YACD,GAAG,EAAE,mCAAmC;SAC3C;KACJ;IACD,IAAI,EAAE;QACF,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,UAAU,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3B,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,iBAAiB,CAAC;oBACnD,IAAI,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aAClC;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,YAAY;SACpB;QACD,OAAO,EAAE;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,iCAAiC,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,6BAA6B;SACrC;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC7B;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnD,GAAG,EAAE,mBAAmB;SAC3B;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,YAAY;SACpB;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,iBAAiB,EAAE;YACf,OAAO,EAAE,EAAE,MAAM,EAAE,iDAAiD,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,oBAAoB;SAC5B;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,YAAY,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,yBAAyB,EAAE;YACvB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,6BAA6B,EAAE;oBAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;oBACxC,IAAI,EAAE,QAAQ;iBACjB;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,yBAAyB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,wCAAwC,EAAE;oBACtC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC;oBAChC,IAAI,EAAE,QAAQ;iBACjB;gBACD,wCAAwC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7D,uCAAuC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5D,sCAAsC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3D,+BAA+B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,YAAY;SACpB;QACD,UAAU,EAAE;YACR,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9D;YACD,GAAG,EAAE,6BAA6B;SACrC;KACJ;IACD,QAAQ,EAAE;QACN,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAClD;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,0BAA0B,EAAE;YACxB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,qBAAqB;SAC7B;QACD,aAAa,EAAE;YACX,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,uBAAuB;SAC/B;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,kCAAkC;SAC1C;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,8BAA8B;SACtC;QACD,GAAG,EAAE;YACD,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,uBAAuB;SAC/B;QACD,OAAO,EAAE;YACL,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,kCAAkC;SAC1C;QACD,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC1D,GAAG,EAAE,8BAA8B;SACtC;QACD,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE;oBACZ,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC;oBACzC,IAAI,EAAE,QAAQ;iBACjB;gBACD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,iBAAiB,EAAE;YACf,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAClD;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,WAAW,EAAE;YACT,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAClD;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,qBAAqB;SAC7B;QACD,WAAW,EAAE;YACT,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,WAAW,EAAE;YACT,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,QAAQ,EAAE;YACN,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,QAAQ,EAAE;oBACN,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,2BAA2B;iBAC1C;aACJ;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,QAAQ,EAAE;oBACN,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,2BAA2B;iBAC1C;aACJ;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,kBAAkB,EAAE;YAChB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,yBAAyB,EAAE;YACvB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,uBAAuB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACtD;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8BAA8B;SACtC;KACJ;IACD,KAAK,EAAE;QACH,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,WAAW,EAAE;oBACT,UAAU,EAAE,IAAI;oBAChB,WAAW,EAAE,sJAAsJ;oBACnK,IAAI,EAAE,SAAS;iBAClB;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAClE;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,mGAAmG;YAC/G,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,WAAW,EAAE;oBACT,UAAU,EAAE,IAAI;oBAChB,WAAW,EAAE,sJAAsJ;oBACnK,IAAI,EAAE,SAAS;iBAClB;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAClE;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,eAAe,EAAE;YACb,UAAU,EAAE,iHAAiH;YAC7H,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC9B,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,CAAC;oBAC/C,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aACvC;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,aAAa,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,2DAA2D;SACnE;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC/B,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aACvC;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,sEAAsE;SAC9E;QACD,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,2DAA2D;SACnE;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC;oBAC1D,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC7D;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,KAAK,EAAE;YACH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrE,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,CAAC;oBAC/C,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,kEAAkE;SAC1E;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,sDAAsD;SAC9D;QACD,aAAa,EAAE;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,2DAA2D;SACnE;KACJ;IACD,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;IACrE,SAAS,EAAE;QACP,sBAAsB,EAAE;YACpB,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,cAAc,EAAE;YACZ,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,qBAAqB,EAAE;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2DAA2D;SACnE;QACD,iCAAiC,EAAE;YAC/B,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,uBAAuB,EAAE;YACrB,UAAU,EAAE,gIAAgI;YAC5I,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,8BAA8B,EAAE;YAC5B,UAAU,EAAE,8IAA8I;YAC1J,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,mFAAmF;SAC3F;QACD,mCAAmC,EAAE;YACjC,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+FAA+F;SACvG;QACD,oCAAoC,EAAE;YAClC,UAAU,EAAE,6KAA6K;YACzL,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,mFAAmF;SAC3F;QACD,4BAA4B,EAAE;YAC1B,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,sEAAsE;SAC9E;QACD,6BAA6B,EAAE;YAC3B,UAAU,EAAE,8JAA8J;YAC1K,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC5D,GAAG,EAAE,yBAAyB;SACjC;QACD,oBAAoB,EAAE;YAClB,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oDAAoD;SAC5D;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2DAA2D;SACnE;QACD,+BAA+B,EAAE;YAC7B,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,qBAAqB,EAAE;YACnB,UAAU,EAAE,4HAA4H;YACxI,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0DAA0D;SAClE;QACD,4BAA4B,EAAE;YAC1B,UAAU,EAAE,0IAA0I;YACtJ,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,mFAAmF;SAC3F;QACD,iCAAiC,EAAE;YAC/B,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,+FAA+F;SACvG;QACD,kCAAkC,EAAE;YAChC,UAAU,EAAE,0KAA0K;YACtL,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,mFAAmF;SAC3F;QACD,0BAA0B,EAAE;YACxB,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,sEAAsE;SAC9E;QACD,2BAA2B,EAAE;YACzB,UAAU,EAAE,2JAA2J;YACvK,OAAO,EAAE,EAAE,MAAM,EAAE,mDAAmD,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE;oBACL,IAAI,EAAE;wBACF,IAAI;wBACJ,IAAI;wBACJ,OAAO;wBACP,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,QAAQ;wBACR,MAAM;qBACT;oBACD,IAAI,EAAE,QAAQ;iBACjB;gBACD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0DAA0D;SAClE;KACJ;IACD,KAAK,EAAE;QACH,gBAAgB,EAAE;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC9D,GAAG,EAAE,6CAA6C;SACrD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gEAAgE;SACxE;QACD,iCAAiC,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACzD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mEAAmE;SAC3E;QACD,oCAAoC,EAAE;YAClC,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,8CAA8C,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7D,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iFAAiF;SACzF;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,wBAAwB,EAAE;YACtB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjE;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,iBAAiB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC7C;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtE,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE;oBACH,IAAI,EAAE;wBACF,OAAO;wBACP,SAAS;wBACT,UAAU;wBACV,aAAa;wBACb,QAAQ;wBACR,SAAS;wBACT,SAAS;qBACZ;oBACD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjC;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gCAAgC;SACxC;QACD,UAAU,EAAE;YACR,UAAU,EAAE,gGAAgG;YAC5G,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,0BAA0B,EAAE;YACxB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,UAAU,EAAE;oBACR,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC;oBACrD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,aAAa;SACrB;QACD,UAAU,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3B,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,WAAW,EAAE;YACT,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,UAAU,EAAE;oBACR,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC;oBACrD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,aAAa,EAAE;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5C,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACvC;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;oBAChD,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjC;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,mBAAmB,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,8CAA8C,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aACpD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC9D,GAAG,EAAE,6CAA6C;SACrD;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qBAAqB;SAC7B;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,UAAU,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,UAAU,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,aAAa,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,6BAA6B,EAAE;YAC3B,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,gBAAgB,EAAE;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,gDAAgD,EAAE;YACrE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,0BAA0B,EAAE;YACxB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,4BAA4B,EAAE;YAC1B,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8CAA8C;SACtD;QACD,eAAe,EAAE;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,gDAAgD,EAAE;YACrE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACpC;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,yBAAyB,EAAE;YACvB,OAAO,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACjE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qBAAqB;SAC7B;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mEAAmE;SAC3E;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,8BAA8B,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,wDAAwD;SAChE;QACD,uBAAuB,EAAE;YACrB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9D,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1D;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,eAAe,EAAE;YACb,UAAU,EAAE,uHAAuH;YACnI,OAAO,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE;YACpD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aACjD;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,OAAO,EAAE;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4CAA4C;SACpD;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,kCAAkC,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gEAAgE;SACxE;QACD,8CAA8C,EAAE;YAC5C,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+EAA+E;SACvF;QACD,oCAAoC,EAAE;YAClC,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,sCAAsC,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wEAAwE;SAChF;QACD,8BAA8B,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8DAA8D;SACtE;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,wCAAwC;SAChD;QACD,mCAAmC,EAAE;YACjC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,mCAAmC,EAAE;YACjC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;oBACnD,IAAI,EAAE,QAAQ;iBACjB;gBACD,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;oBACrD,IAAI,EAAE,QAAQ;iBACjB;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACrE;YACD,GAAG,EAAE,aAAa;SACrB;QACD,mCAAmC,EAAE;YACjC,UAAU,EAAE,yIAAyI;YACrJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mEAAmE;SAC3E;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,yBAAyB,EAAE;YACvB,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,6DAA6D;SACrE;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9D,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;oBACnD,IAAI,EAAE,QAAQ;iBACjB;gBACD,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,KAAK;wBACL,QAAQ;wBACR,SAAS;wBACT,OAAO;wBACP,SAAS;wBACT,QAAQ;wBACR,UAAU;qBACb;oBACD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;oBACnD,IAAI,EAAE,QAAQ;iBACjB;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACrE;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iCAAiC;SACzC;QACD,mCAAmC,EAAE;YACjC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,8BAA8B;SACtC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+BAA+B;SACvC;QACD,eAAe,EAAE;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,+CAA+C,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iFAAiF;SACzF;QACD,mCAAmC,EAAE;YACjC,UAAU,EAAE,0IAA0I;YACtJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,mCAAmC,EAAE;YACjC,UAAU,EAAE,0IAA0I;YACtJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC7B;YACD,GAAG,EAAE,eAAe;SACvB;QACD,oCAAoC,EAAE;YAClC,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2CAA2C;SACnD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,oCAAoC,EAAE;YAClC,UAAU,EAAE,2IAA2I;YACvJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,oCAAoC,EAAE;YAClC,UAAU,EAAE,2IAA2I;YACvJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,KAAK,EAAE;YACH,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,6CAA6C;SACrD;QACD,eAAe,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,qCAAqC,EAAE;YACnC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gEAAgE;SACxE;QACD,oCAAoC,EAAE;YAClC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACzD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mEAAmE;SAC3E;QACD,iDAAiD,EAAE;YAC/C,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+EAA+E;SACvF;QACD,uCAAuC,EAAE;YACrC,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,yCAAyC,EAAE;YACvC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,wEAAwE;SAChF;QACD,iDAAiD,EAAE;YAC/C,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7D,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iFAAiF;SACzF;QACD,iCAAiC,EAAE;YAC/B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,8DAA8D;SACtE;QACD,qCAAqC,EAAE;YACnC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,qCAAqC,EAAE;YACnC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,qCAAqC,EAAE;YACnC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACzD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,mEAAmE;SAC3E;QACD,kDAAkD,EAAE;YAChD,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC7D,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,iFAAiF;SACzF;QACD,sCAAsC,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,sCAAsC,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,oEAAoE;SAC5E;QACD,aAAa,EAAE;YACX,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,kCAAkC;SAC1C;QACD,+BAA+B,EAAE;YAC7B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aAClC;YACD,GAAG,EAAE,8BAA8B;SACtC;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE;oBACR,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC;oBACrD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,qBAAqB;SAC7B;QACD,sBAAsB,EAAE;YACpB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,6BAA6B,EAAE;oBAC3B,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,qDAAqD,EAAE;oBACnD,IAAI,EAAE,SAAS;iBAClB;gBACD,sDAAsD,EAAE;oBACpD,IAAI,EAAE,QAAQ;iBACjB;gBACD,4DAA4D,EAAE;oBAC1D,IAAI,EAAE,UAAU;iBACnB;gBACD,4DAA4D,EAAE;oBAC1D,IAAI,EAAE,UAAU;iBACnB;gBACD,0DAA0D,EAAE;oBACxD,IAAI,EAAE,SAAS;iBAClB;gBACD,+DAA+D,EAAE;oBAC7D,IAAI,EAAE,SAAS;iBAClB;gBACD,sBAAsB,EAAE;oBACpB,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,QAAQ;iBACjB;gBACD,iCAAiC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBACvE,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjE,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACzC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC1D,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;aAC7D;YACD,GAAG,EAAE,iDAAiD;SACzD;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,UAAU,EAAE;YACR,UAAU,EAAE,gGAAgG;YAC5G,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,UAAU,EAAE;YACR,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAChC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACnC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,+BAA+B,EAAE;YAC7B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE;oBACJ,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC;oBAClD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,iDAAiD,EAAE;YAC/C,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,sBAAsB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,8BAA8B,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACpD,8BAA8B,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,0BAA0B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,+BAA+B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACvD;YACD,GAAG,EAAE,+EAA+E;SACvF;QACD,yCAAyC,EAAE;YACvC,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC9B,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9B;YACD,GAAG,EAAE,wEAAwE;SAChF;QACD,aAAa,EAAE;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACvC;YACD,GAAG,EAAE,0CAA0C;SAClD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3C;YACD,GAAG,EAAE,+CAA+C;SACvD;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE;gBAChE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE;gBAClE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3C,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7D,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD,GAAG,EAAE,MAAM;SACd;KACJ;IACD,MAAM,EAAE;QACJ,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9C;YACD,GAAG,EAAE,cAAc;SACtB;QACD,OAAO,EAAE;YACL,OAAO,EAAE,EAAE,MAAM,EAAE,2CAA2C,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACpE;YACD,GAAG,EAAE,iBAAiB;SACzB;QACD,MAAM,EAAE;YACJ,UAAU,EAAE,iGAAiG;YAC7G,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,UAAU;wBACV,WAAW;wBACX,cAAc;wBACd,cAAc;wBACd,iBAAiB;wBACjB,yBAAyB;wBACzB,iBAAiB;wBACjB,gBAAgB;wBAChB,cAAc;wBACd,SAAS;wBACT,SAAS;qBACZ;oBACD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE;oBACF,IAAI,EAAE;wBACF,UAAU;wBACV,WAAW;wBACX,cAAc;wBACd,cAAc;wBACd,iBAAiB;wBACjB,yBAAyB;wBACzB,iBAAiB;wBACjB,gBAAgB;wBAChB,cAAc;wBACd,SAAS;wBACT,SAAS;qBACZ;oBACD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClD,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzD;YACD,GAAG,EAAE,gBAAgB;SACxB;QACD,KAAK,EAAE;YACH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,SAAS,CAAC;oBACzD,IAAI,EAAE,QAAQ;iBACjB;aACJ;YACD,GAAG,EAAE,sBAAsB;SAC9B;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACjD,GAAG,EAAE,gBAAgB;SACxB;QACD,KAAK,EAAE;YACH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACrC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1E;YACD,GAAG,EAAE,eAAe;SACvB;KACJ;IACD,KAAK,EAAE;QACH,SAAS,EAAE;YACP,UAAU,EAAE,4FAA4F;YACxG,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,eAAe,EAAE;YACb,UAAU,EAAE,0HAA0H;YACtI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,qBAAqB,EAAE;YACnB,UAAU,EAAE,oHAAoH;YAChI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,0BAA0B,EAAE;YACxB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,2BAA2B,EAAE;YACzB,UAAU,EAAE,oJAAoJ;YAChK,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,8GAA8G;YAC1H,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,uBAAuB,EAAE;YACrB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,wBAAwB,EAAE;YACtB,UAAU,EAAE,sIAAsI;YAClJ,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,eAAe,EAAE;YACb,UAAU,EAAE,wGAAwG;YACpH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,qBAAqB,EAAE;YACnB,UAAU,EAAE,sIAAsI;YAClJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0GAA0G;YACtH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,8IAA8I;YAC1J,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACjC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvD,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aACnC;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0GAA0G;YACtH,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,uBAAuB,EAAE;YACrB,UAAU,EAAE,wHAAwH;YACpI,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,4BAA4B,EAAE;YAC1B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,6BAA6B,EAAE;YAC3B,UAAU,EAAE,qJAAqJ;YACjK,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,yIAAyI;YACrJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,MAAM,EAAE;YACJ,UAAU,EAAE,sFAAsF;YAClG,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,iBAAiB;SACzB;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0GAA0G;YACtH,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,uBAAuB,EAAE;YACrB,UAAU,EAAE,wHAAwH;YACpI,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,4BAA4B,EAAE;YAC1B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qFAAqF;SAC7F;QACD,6BAA6B,EAAE;YAC3B,UAAU,EAAE,qJAAqJ;YACjK,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,yIAAyI;YACrJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,YAAY,EAAE;YACV,UAAU,EAAE,2GAA2G;YACvH,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,iBAAiB;SACzB;QACD,GAAG,EAAE;YACD,UAAU,EAAE,gFAAgF;YAC5F,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,iBAAiB;SACzB;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,aAAa,EAAE;YACX,UAAU,EAAE,oGAAoG;YAChH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,oBAAoB,EAAE;YAClB,UAAU,EAAE,kHAAkH;YAC9H,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,yBAAyB,EAAE;YACvB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qFAAqF;SAC7F;QACD,0BAA0B,EAAE;YACxB,UAAU,EAAE,sJAAsJ;YAClK,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,0IAA0I;YACtJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,SAAS,EAAE;YACP,UAAU,EAAE,qGAAqG;YACjH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACxD,GAAG,EAAE,iBAAiB;SACzB;QACD,SAAS,EAAE;YACP,UAAU,EAAE,4FAA4F;YACxG,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,eAAe,EAAE;YACb,UAAU,EAAE,0HAA0H;YACtI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,aAAa,EAAE;YACX,UAAU,EAAE,oGAAoG;YAChH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,kIAAkI;YAC9I,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC;YACD,GAAG,EAAE,kBAAkB;SAC1B;QACD,SAAS,EAAE;YACP,UAAU,EAAE,4FAA4F;YACxG,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,eAAe,EAAE;YACb,UAAU,EAAE,mHAAmH;YAC/H,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,sHAAsH;YAClI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,2BAA2B,EAAE;YACzB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qEAAqE;SAC7E;QACD,4BAA4B,EAAE;YAC1B,UAAU,EAAE,iJAAiJ;YAC7J,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yDAAyD;SACjE;QACD,eAAe,EAAE;YACb,UAAU,EAAE,wGAAwG;YACpH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,qBAAqB,EAAE;YACnB,UAAU,EAAE,qIAAqI;YACjJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,wBAAwB,EAAE;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,aAAa;SACrB;QACD,WAAW,EAAE;YACT,UAAU,EAAE,gGAAgG;YAC5G,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yBAAyB;SACjC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qCAAqC;SAC7C;QACD,iBAAiB,EAAE;YACf,UAAU,EAAE,8HAA8H;YAC1I,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yBAAyB;SACjC;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,sHAAsH;YAClI,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,2BAA2B,EAAE;YACzB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,4BAA4B,EAAE;YAC1B,UAAU,EAAE,qJAAqJ;YACjK,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,YAAY,EAAE;YACV,UAAU,EAAE,kGAAkG;YAC9G,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,iBAAiB,EAAE;YACf,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,wHAAwH;YACpI,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,0BAA0B;SAClC;QACD,SAAS,EAAE;YACP,UAAU,EAAE,4FAA4F;YACxG,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,eAAe,EAAE;YACb,UAAU,EAAE,kHAAkH;YAC9H,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,YAAY,EAAE;YACV,UAAU,EAAE,kGAAkG;YAC9G,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,kBAAkB,EAAE;YAChB,UAAU,EAAE,gIAAgI;YAC5I,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mCAAmC;SAC3C;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0GAA0G;YACtH,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,mDAAmD;SAC3D;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,wIAAwI;YACpJ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uCAAuC;SAC/C;QACD,aAAa,EAAE;YACX,UAAU,EAAE,oGAAoG;YAChH,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,0HAA0H;YACtI,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,UAAU,EAAE;YACR,UAAU,EAAE,8FAA8F;YAC1G,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,eAAe,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0HAA0H;YACtI,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,oCAAoC;SAC5C;QACD,aAAa,EAAE;YACX,UAAU,EAAE,oGAAoG;YAChH,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,kBAAkB,EAAE;YAChB,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,kDAAkD;SAC1D;QACD,mBAAmB,EAAE;YACjB,UAAU,EAAE,4HAA4H;YACxI,OAAO,EAAE,EAAE,MAAM,EAAE,6CAA6C,EAAE;YAClE,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/C,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,sCAAsC;SAC9C;QACD,MAAM,EAAE;YACJ,UAAU,EAAE,sFAAsF;YAClG,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,iBAAiB;SACzB;QACD,gBAAgB,EAAE;YACd,UAAU,EAAE,0GAA0G;YACtH,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,uBAAuB,EAAE;YACrB,UAAU,EAAE,wHAAwH;YACpI,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,4BAA4B,EAAE;YAC1B,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,qFAAqF;SAC7F;QACD,6BAA6B,EAAE;YAC3B,UAAU,EAAE,mJAAmJ;YAC/J,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,yEAAyE;SACjF;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,4DAA4D;SACpE;QACD,sBAAsB,EAAE;YACpB,UAAU,EAAE,uIAAuI;YACnJ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,gDAAgD;SACxD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvD,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChD;YACD,GAAG,EAAE,6BAA6B;SACrC;QACD,YAAY,EAAE;YACV,UAAU,EAAE,yGAAyG;YACrH,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/C;YACD,GAAG,EAAE,iBAAiB;SACzB;KACJ;IACD,KAAK,EAAE;QACH,SAAS,EAAE;YACP,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;YACxD,GAAG,EAAE,cAAc;SACtB;QACD,KAAK,EAAE;YACH,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,wBAAwB;SAChC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,wBAAwB;SAChC;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,2BAA2B;SACnC;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,yCAAyC;SACjD;QACD,YAAY,EAAE;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAClD,GAAG,EAAE,gBAAgB;SACxB;QACD,eAAe,EAAE;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC9D,GAAG,EAAE,YAAY;SACpB;QACD,YAAY,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;YACxD,GAAG,EAAE,cAAc;SACtB;QACD,YAAY,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,4BAA4B;SACpC;QACD,eAAe,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACvD,GAAG,EAAE,oBAAoB;SAC5B;QACD,MAAM,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,2BAA2B;SACnC;QACD,gBAAgB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;QAC7D,aAAa,EAAE;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,kBAAkB;SAC1B;QACD,iBAAiB,EAAE;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,YAAY,EAAE;oBACV,IAAI,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,CAAC;oBAC7D,IAAI,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,SAAS,EAAE;YACP,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YAC3D,GAAG,EAAE,4BAA4B;SACpC;QACD,YAAY,EAAE;YACV,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACvD,GAAG,EAAE,oBAAoB;SAC5B;QACD,IAAI,EAAE;YACF,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,GAAG,EAAE,QAAQ;SAChB;QACD,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE;QAC/D,UAAU,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,cAAc;SACtB;QACD,iCAAiC,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,iBAAiB;SACzB;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,iCAAiC,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,iBAAiB;SACzB;QACD,oBAAoB,EAAE;YAClB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,4BAA4B;SACpC;QACD,WAAW,EAAE;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,gBAAgB;SACxB;QACD,kBAAkB,EAAE;YAChB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,2BAA2B;SACnC;QACD,gBAAgB,EAAE;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,qBAAqB;SAC7B;QACD,cAAc,EAAE;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACpE,GAAG,EAAE,YAAY;SACpB;QACD,qBAAqB,EAAE;YACnB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACJ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC/C;YACD,GAAG,EAAE,uBAAuB;SAC/B;QACD,4BAA4B,EAAE;YAC1B,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aACjD;YACD,GAAG,EAAE,wBAAwB;SAChC;QACD,OAAO,EAAE;YACL,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,wBAAwB;SAChC;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxD,GAAG,EAAE,2BAA2B;SACnC;QACD,mBAAmB,EAAE;YACjB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,GAAG,EAAE,OAAO;SACf;KACJ;CACJ,CAAC;;AC/9MK,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACCpC,SAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE;IAC/C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI;QACzC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACzB,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;SAC/B;QACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI;YAClD,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;gBACvE,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE;oBACxC,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC9B;gBACD,OAAO,GAAG,CAAC;aACd,EAAE,EAAE,CAAC,CAAC;YACP,gBAAgB,CAAC,OAAO,GAAG;gBACvB,QAAQ,EAAE,UAAU,CAAC,MAAM;aAC9B,CAAC;YACF,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;;;;YAIzD,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/G,IAAI,kBAAkB,EAAE;gBACpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBAClE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9F,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;gBACtF,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAC3G;YACD,IAAI,UAAU,CAAC,UAAU,EAAE;gBACvB,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,wBAAwB,GAAG;oBAChF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9E,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;oBAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;iBACzC,EAAE,OAAO,CAAC,CAAC;gBACZ,OAAO;aACV;YACD,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;SAC7C,CAAC,CAAC;KACN,CAAC,CAAC;CACN;AACD,SAAS,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE;IAClE,MAAM,aAAa,GAAG,CAAC,OAAO,KAAK;QAC/B,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;YAChC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;gBAC7D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,+BAA+B,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrI,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,EAAE;oBACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;iBACpC;gBACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;aACvB;SACJ,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;KAC1B,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;QAC/B,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;CACxB;;ACvDD;;;;;;;;;;AAUA,AAAO,SAAS,mBAAmB,CAAC,OAAO,EAAE;;IAEzC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClE,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;;;IAG7C;QACI,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,eAAe,EAAE,qBAAqB,CAAC;QACxC,CAAC,cAAc,EAAE,OAAO,CAAC;KAC5B,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK;QACpC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE;YAC5C,GAAG,GAAG;gBACF,OAAO,CAAC,GAAG,CAAC,IAAI;;gBAEhB,IAAI,WAAW,CAAC,CAAC,iDAAiD,EAAE,eAAe,CAAC,yCAAyC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;;gBAEpJ,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;aACzB;SACJ,CAAC,CAAC;KACN,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;CACb;AACD,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/LICENSE b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/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/plugin-rest-endpoint-methods/node_modules/@octokit/types/README.md b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/README.md new file mode 100644 index 0000000..25b8f03 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/README.md @@ -0,0 +1,65 @@ +# 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](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "./src"; + +type listUserReposParameters = Endpoints["GET /repos/:owner/:repo"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/:owner/:repo"]["response"]; + +async function listRepos( + options: listUserReposParameters +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js new file mode 100644 index 0000000..4c5b65f --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js @@ -0,0 +1,8 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "2.16.2"; + +exports.VERSION = VERSION; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js.map new file mode 100644 index 0000000..2d148d3 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":["VERSION"],"mappings":";;;;MAAaA,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/AuthInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointDefaults.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/EndpointOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Fetch.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/OctokitResponse.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestParameters.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/RequestRequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/ResponseHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Route.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Signal.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/StrategyInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/Url.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/VERSION.js new file mode 100644 index 0000000..66bc3f7 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/VERSION.js @@ -0,0 +1 @@ +export const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/generated/Endpoints.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/index.js new file mode 100644 index 0000000..04b2163 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-src/index.js @@ -0,0 +1 @@ +export * from "./VERSION"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 0000000..0c19b50 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +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 { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 0000000..a2c2307 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +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 declare 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/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 0000000..df585be --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import { EndpointDefaults } from "./EndpointDefaults"; +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 `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + merge: { + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * + */ + (route: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ +

(options: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * Stateless method to turn endpoint options into request options. + * Calling `endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + * + * @param {object} options `method`, `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + parse: (options: O) => RequestOptions & Pick; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000..b1b91f1 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import { RequestMethod } from "./RequestMethod"; +import { Url } from "./Url"; +import { RequestParameters } from "./RequestParameters"; +export declare type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 0000000..cbbd5e8 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export declare type Fetch = any; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 0000000..70e1a8d --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +declare type Unwrap = T extends Promise ? U : T; +declare type AnyFunction = (...args: any[]) => any; +export declare type GetResponseTypeFromEndpointMethod = Unwrap>; +export declare type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 0000000..9a2dd7f --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import { ResponseHeaders } from "./ResponseHeaders"; +import { Url } from "./Url"; +export declare 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/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 0000000..ac5aae0 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export declare 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/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 0000000..ef4d8d3 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import { EndpointInterface } from "./EndpointInterface"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface RequestInterface { + /** + * Sends a request based on endpoint options + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 0000000..e999c8d --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export declare type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 0000000..97e2181 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +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 declare type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 0000000..692d193 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,45 @@ +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 declare 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]: unknown; +}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 0000000..4482a8a --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,26 @@ +/// +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 declare 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/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 0000000..c8fbe43 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,20 @@ +export declare 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/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 0000000..8079044 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Route.d.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 declare type Route = string; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal.d.ts new file mode 100644 index 0000000..4ebcf24 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Signal.d.ts @@ -0,0 +1,6 @@ +/** + * Abort signal + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal + */ +export declare type Signal = any; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 0000000..405cbd2 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import { AuthInterface } from "./AuthInterface"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 0000000..acaad63 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/Url.d.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/:org'`, `https://example.com/foo/bar` + */ +export declare type Url = string; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000..c24737b --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 0000000..d10c4c9 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,41416 @@ +import { OctokitResponse } from "../OctokitResponse"; +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +declare type RequiredPreview = { + mediaType: { + previews: [T, ...string[]]; + }; +}; +export interface Endpoints { + /** + * @see https://developer.github.com/v3/apps/#delete-an-installation + */ + "DELETE /app/installations/:installation_id": { + parameters: AppsDeleteInstallationEndpoint; + request: AppsDeleteInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#unsuspend-an-installation + */ + "DELETE /app/installations/:installation_id/suspended": { + parameters: AppsUnsuspendInstallationEndpoint; + request: AppsUnsuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-authorization + */ + "DELETE /applications/:client_id/grant": { + parameters: AppsDeleteAuthorizationEndpoint; + request: AppsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + "DELETE /applications/:client_id/grants/:access_token": { + parameters: AppsRevokeGrantForApplicationEndpoint; + request: AppsRevokeGrantForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token + */ + "DELETE /applications/:client_id/token": { + parameters: AppsDeleteTokenEndpoint; + request: AppsDeleteTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + "DELETE /applications/:client_id/tokens/:access_token": { + parameters: AppsRevokeAuthorizationForApplicationEndpoint; + request: AppsRevokeAuthorizationForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant + */ + "DELETE /applications/grants/:grant_id": { + parameters: OauthAuthorizationsDeleteGrantEndpoint; + request: OauthAuthorizationsDeleteGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization + */ + "DELETE /authorizations/:authorization_id": { + parameters: OauthAuthorizationsDeleteAuthorizationEndpoint; + request: OauthAuthorizationsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#delete-a-gist + */ + "DELETE /gists/:gist_id": { + parameters: GistsDeleteEndpoint; + request: GistsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#delete-a-comment + */ + "DELETE /gists/:gist_id/comments/:comment_id": { + parameters: GistsDeleteCommentEndpoint; + request: GistsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#unstar-a-gist + */ + "DELETE /gists/:gist_id/star": { + parameters: GistsUnstarEndpoint; + request: GistsUnstarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#revoke-an-installation-token + */ + "DELETE /installation/token": { + parameters: AppsRevokeInstallationTokenEndpoint; + request: AppsRevokeInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription + */ + "DELETE /notifications/threads/:thread_id/subscription": { + parameters: ActivityDeleteThreadSubscriptionEndpoint; + request: ActivityDeleteThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromOrgEndpoint; + request: ActionsDeleteSelfHostedRunnerFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#unblock-a-user + */ + "DELETE /orgs/:org/blocks/:username": { + parameters: OrgsUnblockUserEndpoint; + request: OrgsUnblockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#remove-a-credential-authorization-for-an-organization + */ + "DELETE /orgs/:org/credential-authorizations/:credential_id": { + parameters: OrgsRemoveCredentialAuthorizationEndpoint; + request: OrgsRemoveCredentialAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#delete-a-hook + */ + "DELETE /orgs/:org/hooks/:hook_id": { + parameters: OrgsDeleteHookEndpoint; + request: OrgsDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/:org/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForOrgEndpoint; + request: InteractionsRemoveRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-a-member + */ + "DELETE /orgs/:org/members/:username": { + parameters: OrgsRemoveMemberEndpoint; + request: OrgsRemoveMemberRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-organization-membership + */ + "DELETE /orgs/:org/memberships/:username": { + parameters: OrgsRemoveMembershipEndpoint; + request: OrgsRemoveMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#delete-an-organization-migration-archive + */ + "DELETE /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForOrgEndpoint; + request: MigrationsDeleteArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#unlock-an-organization-repository + */ + "DELETE /orgs/:org/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForOrgEndpoint; + request: MigrationsUnlockRepoForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#remove-outside-collaborator + */ + "DELETE /orgs/:org/outside_collaborators/:username": { + parameters: OrgsRemoveOutsideCollaboratorEndpoint; + request: OrgsRemoveOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#conceal-a-users-membership + */ + "DELETE /orgs/:org/public_members/:username": { + parameters: OrgsConcealMembershipEndpoint; + request: OrgsConcealMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team + */ + "DELETE /orgs/:org/teams/:team_slug": { + parameters: TeamsDeleteInOrgEndpoint; + request: TeamsDeleteInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionInOrgEndpoint; + request: TeamsDeleteDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentInOrgEndpoint; + request: TeamsDeleteDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionCommentEndpoint; + request: ReactionsDeleteForTeamDiscussionCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionEndpoint; + request: ReactionsDeleteForTeamDiscussionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership + */ + "DELETE /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsRemoveMembershipInOrgEndpoint; + request: TeamsRemoveMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project + */ + "DELETE /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsRemoveProjectInOrgEndpoint; + request: TeamsRemoveProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository + */ + "DELETE /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsRemoveRepoInOrgEndpoint; + request: TeamsRemoveRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#delete-a-project + */ + "DELETE /projects/:project_id": { + parameters: ProjectsDeleteEndpoint; + request: ProjectsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /projects/:project_id/collaborators/:username": { + parameters: ProjectsRemoveCollaboratorEndpoint; + request: ProjectsRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#delete-a-project-column + */ + "DELETE /projects/columns/:column_id": { + parameters: ProjectsDeleteColumnEndpoint; + request: ProjectsDeleteColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#delete-a-project-card + */ + "DELETE /projects/columns/cards/:card_id": { + parameters: ProjectsDeleteCardEndpoint; + request: ProjectsDeleteCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-reaction-legacy + */ + "DELETE /reactions/:reaction_id": { + parameters: ReactionsDeleteLegacyEndpoint; + request: ReactionsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#delete-a-repository + */ + "DELETE /repos/:owner/:repo": { + parameters: ReposDeleteEndpoint; + request: ReposDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#delete-an-artifact + */ + "DELETE /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsDeleteArtifactEndpoint; + request: ActionsDeleteArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromRepoEndpoint; + request: ActionsDeleteSelfHostedRunnerFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#delete-workflow-run-logs + */ + "DELETE /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDeleteWorkflowRunLogsEndpoint; + request: ActionsDeleteWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#delete-a-secret-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsDeleteSecretFromRepoEndpoint; + request: ActionsDeleteSecretFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-automated-security-fixes + */ + "DELETE /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposDisableAutomatedSecurityFixesEndpoint; + request: ReposDisableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-branch-protection + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposRemoveBranchProtectionEndpoint; + request: ReposRemoveBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-admin-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposRemoveProtectedBranchAdminEnforcementEndpoint; + request: ReposRemoveProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-pull-request-review-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-signatures-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposRemoveProtectedBranchRequiredSignaturesEndpoint; + request: ReposRemoveProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-contexts-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposRemoveProtectedBranchRestrictionsEndpoint; + request: ReposRemoveProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-app-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposRemoveProtectedBranchAppRestrictionsEndpoint; + request: ReposRemoveProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-team-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposRemoveProtectedBranchTeamRestrictionsEndpoint; + request: ReposRemoveProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-user-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposRemoveProtectedBranchUserRestrictionsEndpoint; + request: ReposRemoveProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /repos/:owner/:repo/collaborators/:username": { + parameters: ReposRemoveCollaboratorEndpoint; + request: ReposRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#delete-a-commit-comment + */ + "DELETE /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposDeleteCommitCommentEndpoint; + request: ReposDeleteCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-commit-comment-reaction + */ + "DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForCommitCommentEndpoint; + request: ReactionsDeleteForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#delete-a-file + */ + "DELETE /repos/:owner/:repo/contents/:path": { + parameters: ReposDeleteFileEndpoint; + request: ReposDeleteFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#delete-a-deployment + */ + "DELETE /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposDeleteDeploymentEndpoint; + request: ReposDeleteDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#delete-a-download + */ + "DELETE /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposDeleteDownloadEndpoint; + request: ReposDeleteDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#delete-a-reference + */ + "DELETE /repos/:owner/:repo/git/refs/:ref": { + parameters: GitDeleteRefEndpoint; + request: GitDeleteRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#delete-a-hook + */ + "DELETE /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposDeleteHookEndpoint; + request: ReposDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#cancel-an-import + */ + "DELETE /repos/:owner/:repo/import": { + parameters: MigrationsCancelImportEndpoint; + request: MigrationsCancelImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForRepoEndpoint; + request: InteractionsRemoveRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#delete-a-repository-invitation + */ + "DELETE /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposDeleteInvitationEndpoint; + request: ReposDeleteInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#remove-assignees-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesRemoveAssigneesEndpoint; + request: IssuesRemoveAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesRemoveAllLabelsEndpoint; + request: IssuesRemoveAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels/:name": { + parameters: IssuesRemoveLabelEndpoint; + request: IssuesRemoveLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#unlock-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesUnlockEndpoint; + request: IssuesUnlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-reaction + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueEndpoint; + request: ReactionsDeleteForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesDeleteCommentEndpoint; + request: IssuesDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-comment-reaction + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueCommentEndpoint; + request: ReactionsDeleteForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#remove-a-deploy-key + */ + "DELETE /repos/:owner/:repo/keys/:key_id": { + parameters: ReposRemoveDeployKeyEndpoint; + request: ReposRemoveDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#delete-a-label + */ + "DELETE /repos/:owner/:repo/labels/:name": { + parameters: IssuesDeleteLabelEndpoint; + request: IssuesDeleteLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#delete-a-milestone + */ + "DELETE /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesDeleteMilestoneEndpoint; + request: IssuesDeleteMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#disable-a-pages-site + */ + "DELETE /repos/:owner/:repo/pages": { + parameters: ReposDisablePagesSiteEndpoint; + request: ReposDisablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#delete-a-review-request + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsDeleteReviewRequestEndpoint; + request: PullsDeleteReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#delete-a-pending-review + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsDeletePendingReviewEndpoint; + request: PullsDeletePendingReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsDeleteCommentEndpoint; + request: PullsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForPullRequestCommentEndpoint; + request: ReactionsDeleteForPullRequestCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release + */ + "DELETE /repos/:owner/:repo/releases/:release_id": { + parameters: ReposDeleteReleaseEndpoint; + request: ReposDeleteReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release-asset + */ + "DELETE /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposDeleteReleaseAssetEndpoint; + request: ReposDeleteReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#delete-a-repository-subscription + */ + "DELETE /repos/:owner/:repo/subscription": { + parameters: ActivityDeleteRepoSubscriptionEndpoint; + request: ActivityDeleteRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-vulnerability-alerts + */ + "DELETE /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposDisableVulnerabilityAlertsEndpoint; + request: ReposDisableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#remove-a-user-from-the-organization + */ + "DELETE /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimRemoveUserFromOrgEndpoint; + request: ScimRemoveUserFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team-legacy + */ + "DELETE /teams/:team_id": { + parameters: TeamsDeleteLegacyEndpoint; + request: TeamsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionLegacyEndpoint; + request: TeamsDeleteDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentLegacyEndpoint; + request: TeamsDeleteDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-member-legacy + */ + "DELETE /teams/:team_id/members/:username": { + parameters: TeamsRemoveMemberLegacyEndpoint; + request: TeamsRemoveMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + "DELETE /teams/:team_id/memberships/:username": { + parameters: TeamsRemoveMembershipLegacyEndpoint; + request: TeamsRemoveMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + "DELETE /teams/:team_id/projects/:project_id": { + parameters: TeamsRemoveProjectLegacyEndpoint; + request: TeamsRemoveProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + "DELETE /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsRemoveRepoLegacyEndpoint; + request: TeamsRemoveRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#unblock-a-user + */ + "DELETE /user/blocks/:username": { + parameters: UsersUnblockEndpoint; + request: UsersUnblockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#delete-email-addresses + */ + "DELETE /user/emails": { + parameters: UsersDeleteEmailsEndpoint; + request: UsersDeleteEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#unfollow-a-user + */ + "DELETE /user/following/:username": { + parameters: UsersUnfollowEndpoint; + request: UsersUnfollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#delete-a-gpg-key + */ + "DELETE /user/gpg_keys/:gpg_key_id": { + parameters: UsersDeleteGpgKeyEndpoint; + request: UsersDeleteGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#remove-repository-from-installation + */ + "DELETE /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsRemoveRepoFromInstallationEndpoint; + request: AppsRemoveRepoFromInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#delete-a-public-key + */ + "DELETE /user/keys/:key_id": { + parameters: UsersDeletePublicKeyEndpoint; + request: UsersDeletePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#delete-a-user-migration-archive + */ + "DELETE /user/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForAuthenticatedUserEndpoint; + request: MigrationsDeleteArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#unlock-a-user-repository + */ + "DELETE /user/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForAuthenticatedUserEndpoint; + request: MigrationsUnlockRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/:invitation_id": { + parameters: ReposDeclineInvitationEndpoint; + request: ReposDeclineInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/:owner/:repo": { + parameters: ActivityUnstarRepoForAuthenticatedUserEndpoint; + request: ActivityUnstarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#stop-watching-a-repository-legacy + */ + "DELETE /user/subscriptions/:owner/:repo": { + parameters: ActivityStopWatchingRepoLegacyEndpoint; + request: ActivityStopWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-the-authenticated-github-app + */ + "GET /app": { + parameters: AppsGetAuthenticatedEndpoint; + request: AppsGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#list-installations + */ + "GET /app/installations": { + parameters: AppsListInstallationsEndpoint; + request: AppsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-installation + */ + "GET /app/installations/:installation_id": { + parameters: AppsGetInstallationEndpoint; + request: AppsGetInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + "GET /applications/:client_id/tokens/:access_token": { + parameters: AppsCheckAuthorizationEndpoint; + request: AppsCheckAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-grants + */ + "GET /applications/grants": { + parameters: OauthAuthorizationsListGrantsEndpoint; + request: OauthAuthorizationsListGrantsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant + */ + "GET /applications/grants/:grant_id": { + parameters: OauthAuthorizationsGetGrantEndpoint; + request: OauthAuthorizationsGetGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-single-github-app + */ + "GET /apps/:app_slug": { + parameters: AppsGetBySlugEndpoint; + request: AppsGetBySlugRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations + */ + "GET /authorizations": { + parameters: OauthAuthorizationsListAuthorizationsEndpoint; + request: OauthAuthorizationsListAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization + */ + "GET /authorizations/:authorization_id": { + parameters: OauthAuthorizationsGetAuthorizationEndpoint; + request: OauthAuthorizationsGetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#list-all-codes-of-conduct + */ + "GET /codes_of_conduct": { + parameters: CodesOfConductGetAllCodesOfConductEndpoint; + request: CodesOfConductGetAllCodesOfConductRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-an-individual-code-of-conduct + */ + "GET /codes_of_conduct/:key": { + parameters: CodesOfConductGetConductCodeEndpoint; + request: CodesOfConductGetConductCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/emojis/#emojis + */ + "GET /emojis": { + parameters: EmojisGetEndpoint; + request: EmojisGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events + */ + "GET /events": { + parameters: ActivityListPublicEventsEndpoint; + request: ActivityListPublicEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/feeds/#get-feeds + */ + "GET /feeds": { + parameters: ActivityGetFeedsEndpoint; + request: ActivityGetFeedsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-the-authenticated-user + */ + "GET /gists": { + parameters: GistsListEndpoint; + request: GistsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-gist + */ + "GET /gists/:gist_id": { + parameters: GistsGetEndpoint; + request: GistsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-specific-revision-of-a-gist + */ + "GET /gists/:gist_id/:sha": { + parameters: GistsGetRevisionEndpoint; + request: GistsGetRevisionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist + */ + "GET /gists/:gist_id/comments": { + parameters: GistsListCommentsEndpoint; + request: GistsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#get-a-single-comment + */ + "GET /gists/:gist_id/comments/:comment_id": { + parameters: GistsGetCommentEndpoint; + request: GistsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-commits + */ + "GET /gists/:gist_id/commits": { + parameters: GistsListCommitsEndpoint; + request: GistsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-forks + */ + "GET /gists/:gist_id/forks": { + parameters: GistsListForksEndpoint; + request: GistsListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#check-if-a-gist-is-starred + */ + "GET /gists/:gist_id/star": { + parameters: GistsCheckIsStarredEndpoint; + request: GistsCheckIsStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-public-gists + */ + "GET /gists/public": { + parameters: GistsListPublicEndpoint; + request: GistsListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-starred-gists + */ + "GET /gists/starred": { + parameters: GistsListStarredEndpoint; + request: GistsListStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#listing-available-templates + */ + "GET /gitignore/templates": { + parameters: GitignoreListTemplatesEndpoint; + request: GitignoreListTemplatesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#get-a-single-template + */ + "GET /gitignore/templates/:name": { + parameters: GitignoreGetTemplateEndpoint; + request: GitignoreGetTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories + */ + "GET /installation/repositories": { + parameters: AppsListReposEndpoint; + request: AppsListReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": { + parameters: IssuesListEndpoint; + request: IssuesListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-issues + */ + "GET /legacy/issues/search/:owner/:repository/:state/:keyword": { + parameters: SearchIssuesLegacyEndpoint; + request: SearchIssuesLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-repositories + */ + "GET /legacy/repos/search/:keyword": { + parameters: SearchReposLegacyEndpoint; + request: SearchReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#email-search + */ + "GET /legacy/user/email/:email": { + parameters: SearchEmailLegacyEndpoint; + request: SearchEmailLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-users + */ + "GET /legacy/user/search/:keyword": { + parameters: SearchUsersLegacyEndpoint; + request: SearchUsersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#list-commonly-used-licenses + */ + "GET /licenses": { + parameters: LicensesListCommonlyUsedEndpoint; + request: LicensesListCommonlyUsedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-an-individual-license + */ + "GET /licenses/:license": { + parameters: LicensesGetEndpoint; + request: LicensesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountEndpoint; + request: AppsGetSubscriptionPlanForAccountRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans + */ + "GET /marketplace_listing/plans": { + parameters: AppsListPlansEndpoint; + request: AppsListPlansRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanEndpoint; + request: AppsListAccountsForPlanRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountStubbedEndpoint; + request: AppsGetSubscriptionPlanForAccountStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": { + parameters: AppsListPlansStubbedEndpoint; + request: AppsListPlansStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanStubbedEndpoint; + request: AppsListAccountsForPlanStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/meta/#meta + */ + "GET /meta": { + parameters: MetaGetEndpoint; + request: MetaGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories + */ + "GET /networks/:owner/:repo/events": { + parameters: ActivityListPublicEventsForRepoNetworkEndpoint; + request: ActivityListPublicEventsForRepoNetworkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-notifications-for-the-authenticated-user + */ + "GET /notifications": { + parameters: ActivityListNotificationsForAuthenticatedUserEndpoint; + request: ActivityListNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread + */ + "GET /notifications/threads/:thread_id": { + parameters: ActivityGetThreadEndpoint; + request: ActivityGetThreadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/:thread_id/subscription": { + parameters: ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint; + request: ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-all-organizations + */ + "GET /organizations": { + parameters: OrgsListEndpoint; + request: OrgsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#get-an-organization + */ + "GET /orgs/:org": { + parameters: OrgsGetEndpoint; + request: OrgsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/:org/actions/runners": { + parameters: ActionsListSelfHostedRunnersForOrgEndpoint; + request: ActionsListSelfHostedRunnersForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForOrgEndpoint; + request: ActionsGetSelfHostedRunnerForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-an-organization + */ + "GET /orgs/:org/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForOrgEndpoint; + request: ActionsListRunnerApplicationsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#list-blocked-users + */ + "GET /orgs/:org/blocks": { + parameters: OrgsListBlockedUsersEndpoint; + request: OrgsListBlockedUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#check-whether-a-user-is-blocked-from-an-organization + */ + "GET /orgs/:org/blocks/:username": { + parameters: OrgsCheckBlockedUserEndpoint; + request: OrgsCheckBlockedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-credential-authorizations-for-an-organization + */ + "GET /orgs/:org/credential-authorizations": { + parameters: OrgsListCredentialAuthorizationsEndpoint; + request: OrgsListCredentialAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-organization-events + */ + "GET /orgs/:org/events": { + parameters: ActivityListPublicOrgEventsEndpoint; + request: ActivityListPublicOrgEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#list-hooks + */ + "GET /orgs/:org/hooks": { + parameters: OrgsListHooksEndpoint; + request: OrgsListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#get-single-hook + */ + "GET /orgs/:org/hooks/:hook_id": { + parameters: OrgsGetHookEndpoint; + request: OrgsGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-organization-installation + */ + "GET /orgs/:org/installation": { + parameters: AppsGetOrgInstallationEndpoint; + request: AppsGetOrgInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-installations-for-an-organization + */ + "GET /orgs/:org/installations": { + parameters: OrgsListInstallationsEndpoint; + request: OrgsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/:org/interaction-limits": { + parameters: InteractionsGetRestrictionsForOrgEndpoint; + request: InteractionsGetRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations + */ + "GET /orgs/:org/invitations": { + parameters: OrgsListPendingInvitationsEndpoint; + request: OrgsListPendingInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-organization-invitation-teams + */ + "GET /orgs/:org/invitations/:invitation_id/teams": { + parameters: OrgsListInvitationTeamsEndpoint; + request: OrgsListInvitationTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/:org/issues": { + parameters: IssuesListForOrgEndpoint; + request: IssuesListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#members-list + */ + "GET /orgs/:org/members": { + parameters: OrgsListMembersEndpoint; + request: OrgsListMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-membership + */ + "GET /orgs/:org/members/:username": { + parameters: OrgsCheckMembershipEndpoint; + request: OrgsCheckMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-organization-membership + */ + "GET /orgs/:org/memberships/:username": { + parameters: OrgsGetMembershipEndpoint; + request: OrgsGetMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-organization-migrations + */ + "GET /orgs/:org/migrations": { + parameters: MigrationsListForOrgEndpoint; + request: MigrationsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#get-the-status-of-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id": { + parameters: MigrationsGetStatusForOrgEndpoint; + request: MigrationsGetStatusForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#download-an-organization-migration-archive + */ + "GET /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDownloadArchiveForOrgEndpoint; + request: MigrationsDownloadArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-repositories-in-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id/repositories": { + parameters: MigrationsListReposForOrgEndpoint; + request: MigrationsListReposForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators + */ + "GET /orgs/:org/outside_collaborators": { + parameters: OrgsListOutsideCollaboratorsEndpoint; + request: OrgsListOutsideCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-organization-projects + */ + "GET /orgs/:org/projects": { + parameters: ProjectsListForOrgEndpoint; + request: ProjectsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#public-members-list + */ + "GET /orgs/:org/public_members": { + parameters: OrgsListPublicMembersEndpoint; + request: OrgsListPublicMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-public-membership + */ + "GET /orgs/:org/public_members/:username": { + parameters: OrgsCheckPublicMembershipEndpoint; + request: OrgsCheckPublicMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-organization-repositories + */ + "GET /orgs/:org/repos": { + parameters: ReposListForOrgEndpoint; + request: ReposListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-in-an-organization + */ + "GET /orgs/:org/team-sync/groups": { + parameters: TeamsListIdPGroupsForOrgEndpoint; + request: TeamsListIdPGroupsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-teams + */ + "GET /orgs/:org/teams": { + parameters: TeamsListEndpoint; + request: TeamsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-by-name + */ + "GET /orgs/:org/teams/:team_slug": { + parameters: TeamsGetByNameEndpoint; + request: TeamsGetByNameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions + */ + "GET /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsListDiscussionsInOrgEndpoint; + request: TeamsListDiscussionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsGetDiscussionInOrgEndpoint; + request: TeamsGetDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsInOrgEndpoint; + request: TeamsListDiscussionCommentsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentInOrgEndpoint; + request: TeamsGetDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsListForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionInOrgEndpoint; + request: ReactionsListForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations + */ + "GET /orgs/:org/teams/:team_slug/invitations": { + parameters: TeamsListPendingInvitationsInOrgEndpoint; + request: TeamsListPendingInvitationsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members + */ + "GET /orgs/:org/teams/:team_slug/members": { + parameters: TeamsListMembersInOrgEndpoint; + request: TeamsListMembersInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership + */ + "GET /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsGetMembershipInOrgEndpoint; + request: TeamsGetMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects + */ + "GET /orgs/:org/teams/:team_slug/projects": { + parameters: TeamsListProjectsInOrgEndpoint; + request: TeamsListProjectsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project + */ + "GET /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsReviewProjectInOrgEndpoint; + request: TeamsReviewProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos + */ + "GET /orgs/:org/teams/:team_slug/repos": { + parameters: TeamsListReposInOrgEndpoint; + request: TeamsListReposInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository + */ + "GET /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoInOrgEndpoint; + request: TeamsCheckManagesRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team + */ + "GET /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsInOrgEndpoint; + request: TeamsListIdPGroupsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams + */ + "GET /orgs/:org/teams/:team_slug/teams": { + parameters: TeamsListChildInOrgEndpoint; + request: TeamsListChildInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#get-a-project + */ + "GET /projects/:project_id": { + parameters: ProjectsGetEndpoint; + request: ProjectsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#list-collaborators + */ + "GET /projects/:project_id/collaborators": { + parameters: ProjectsListCollaboratorsEndpoint; + request: ProjectsListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#review-a-users-permission-level + */ + "GET /projects/:project_id/collaborators/:username/permission": { + parameters: ProjectsReviewUserPermissionLevelEndpoint; + request: ProjectsReviewUserPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#list-project-columns + */ + "GET /projects/:project_id/columns": { + parameters: ProjectsListColumnsEndpoint; + request: ProjectsListColumnsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#get-a-project-column + */ + "GET /projects/columns/:column_id": { + parameters: ProjectsGetColumnEndpoint; + request: ProjectsGetColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#list-project-cards + */ + "GET /projects/columns/:column_id/cards": { + parameters: ProjectsListCardsEndpoint; + request: ProjectsListCardsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#get-a-project-card + */ + "GET /projects/columns/cards/:card_id": { + parameters: ProjectsGetCardEndpoint; + request: ProjectsGetCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/rate_limit/#get-your-current-rate-limit-status + */ + "GET /rate_limit": { + parameters: RateLimitGetEndpoint; + request: RateLimitGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-a-repository + */ + "GET /repos/:owner/:repo": { + parameters: ReposGetEndpoint; + request: ReposGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-archive-link + */ + "GET /repos/:owner/:repo/:archive_format/:ref": { + parameters: ReposGetArchiveLinkEndpoint; + request: ReposGetArchiveLinkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-artifacts-for-a-repository + */ + "GET /repos/:owner/:repo/actions/artifacts": { + parameters: ActionsListArtifactsForRepoEndpoint; + request: ActionsListArtifactsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#get-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsGetArtifactEndpoint; + request: ActionsGetArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#download-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format": { + parameters: ActionsDownloadArtifactEndpoint; + request: ActionsDownloadArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#get-a-workflow-job + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id": { + parameters: ActionsGetWorkflowJobEndpoint; + request: ActionsGetWorkflowJobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#download-workflow-job-logs + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id/logs": { + parameters: ActionsDownloadWorkflowJobLogsEndpoint; + request: ActionsDownloadWorkflowJobLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners": { + parameters: ActionsListSelfHostedRunnersForRepoEndpoint; + request: ActionsListSelfHostedRunnersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForRepoEndpoint; + request: ActionsGetSelfHostedRunnerForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForRepoEndpoint; + request: ActionsListRunnerApplicationsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-repository-workflow-runs + */ + "GET /repos/:owner/:repo/actions/runs": { + parameters: ActionsListRepoWorkflowRunsEndpoint; + request: ActionsListRepoWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#get-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id": { + parameters: ActionsGetWorkflowRunEndpoint; + request: ActionsGetWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-workflow-run-artifacts + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/artifacts": { + parameters: ActionsListWorkflowRunArtifactsEndpoint; + request: ActionsListWorkflowRunArtifactsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#list-jobs-for-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/jobs": { + parameters: ActionsListJobsForWorkflowRunEndpoint; + request: ActionsListJobsForWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#download-workflow-run-logs + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDownloadWorkflowRunLogsEndpoint; + request: ActionsDownloadWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#list-secrets-for-a-repository + */ + "GET /repos/:owner/:repo/actions/secrets": { + parameters: ActionsListSecretsForRepoEndpoint; + request: ActionsListSecretsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-a-secret + */ + "GET /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsGetSecretEndpoint; + request: ActionsGetSecretRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-your-public-key + */ + "GET /repos/:owner/:repo/actions/secrets/public-key": { + parameters: ActionsGetPublicKeyEndpoint; + request: ActionsGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#list-repository-workflows + */ + "GET /repos/:owner/:repo/actions/workflows": { + parameters: ActionsListRepoWorkflowsEndpoint; + request: ActionsListRepoWorkflowsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#get-a-workflow + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id": { + parameters: ActionsGetWorkflowEndpoint; + request: ActionsGetWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-workflow-runs + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id/runs": { + parameters: ActionsListWorkflowRunsEndpoint; + request: ActionsListWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#list-assignees + */ + "GET /repos/:owner/:repo/assignees": { + parameters: IssuesListAssigneesEndpoint; + request: IssuesListAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#check-assignee + */ + "GET /repos/:owner/:repo/assignees/:assignee": { + parameters: IssuesCheckAssigneeEndpoint; + request: IssuesCheckAssigneeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-branches + */ + "GET /repos/:owner/:repo/branches": { + parameters: ReposListBranchesEndpoint; + request: ReposListBranchesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch + */ + "GET /repos/:owner/:repo/branches/:branch": { + parameters: ReposGetBranchEndpoint; + request: ReposGetBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch-protection + */ + "GET /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposGetBranchProtectionEndpoint; + request: ReposGetBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-admin-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposGetProtectedBranchAdminEnforcementEndpoint; + request: ReposGetProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-pull-request-review-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-signatures-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposGetProtectedBranchRequiredSignaturesEndpoint; + request: ReposGetProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-status-checks-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposGetProtectedBranchRequiredStatusChecksEndpoint; + request: ReposGetProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-required-status-checks-contexts-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposListProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-restrictions-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposGetProtectedBranchRestrictionsEndpoint; + request: ReposGetProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-apps-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposGetAppsWithAccessToProtectedBranchEndpoint; + request: ReposGetAppsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-teams-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposGetTeamsWithAccessToProtectedBranchEndpoint; + request: ReposGetTeamsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-users-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposGetUsersWithAccessToProtectedBranchEndpoint; + request: ReposGetUsersWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#get-a-check-run + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksGetEndpoint; + request: ChecksGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-run-annotations + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id/annotations": { + parameters: ChecksListAnnotationsEndpoint; + request: ChecksListAnnotationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#get-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id": { + parameters: ChecksGetSuiteEndpoint; + request: ChecksGetSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-in-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id/check-runs": { + parameters: ChecksListForSuiteEndpoint; + request: ChecksListForSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/:owner/:repo/code-scanning/alerts": { + parameters: CodeScanningListAlertsForRepoEndpoint; + request: CodeScanningListAlertsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#get-a-code-scanning-alert + */ + "GET /repos/:owner/:repo/code-scanning/alerts/:alert_id": { + parameters: CodeScanningGetAlertEndpoint; + request: CodeScanningGetAlertRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#list-collaborators + */ + "GET /repos/:owner/:repo/collaborators": { + parameters: ReposListCollaboratorsEndpoint; + request: ReposListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator + */ + "GET /repos/:owner/:repo/collaborators/:username": { + parameters: ReposCheckCollaboratorEndpoint; + request: ReposCheckCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level + */ + "GET /repos/:owner/:repo/collaborators/:username/permission": { + parameters: ReposGetCollaboratorPermissionLevelEndpoint; + request: ReposGetCollaboratorPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository + */ + "GET /repos/:owner/:repo/comments": { + parameters: ReposListCommitCommentsEndpoint; + request: ReposListCommitCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposGetCommitCommentEndpoint; + request: ReposGetCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsListForCommitCommentEndpoint; + request: ReactionsListForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository + */ + "GET /repos/:owner/:repo/commits": { + parameters: ReposListCommitsEndpoint; + request: ReposListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-branches-for-head-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/branches-where-head": { + parameters: ReposListBranchesForHeadCommitEndpoint; + request: ReposListBranchesForHeadCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposListCommentsForCommitEndpoint; + request: ReposListCommentsForCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/pulls": { + parameters: ReposListPullRequestsAssociatedWithCommitEndpoint; + request: ReposListPullRequestsAssociatedWithCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#get-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:ref": { + parameters: ReposGetCommitEndpoint; + request: ReposGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-runs": { + parameters: ChecksListForRefEndpoint; + request: ChecksListForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#list-check-suites-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-suites": { + parameters: ChecksListSuitesForRefEndpoint; + request: ChecksListSuitesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/status": { + parameters: ReposGetCombinedStatusForRefEndpoint; + request: ReposGetCombinedStatusForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/statuses": { + parameters: ReposListStatusesForRefEndpoint; + request: ReposListStatusesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-the-contents-of-a-repositorys-code-of-conduct + */ + "GET /repos/:owner/:repo/community/code_of_conduct": { + parameters: CodesOfConductGetForRepoEndpoint; + request: CodesOfConductGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/community/#retrieve-community-profile-metrics + */ + "GET /repos/:owner/:repo/community/profile": { + parameters: ReposRetrieveCommunityProfileMetricsEndpoint; + request: ReposRetrieveCommunityProfileMetricsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#compare-two-commits + */ + "GET /repos/:owner/:repo/compare/:base...:head": { + parameters: ReposCompareCommitsEndpoint; + request: ReposCompareCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-contents + */ + "GET /repos/:owner/:repo/contents/:path": { + parameters: ReposGetContentsEndpoint; + request: ReposGetContentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-contributors + */ + "GET /repos/:owner/:repo/contributors": { + parameters: ReposListContributorsEndpoint; + request: ReposListContributorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployments + */ + "GET /repos/:owner/:repo/deployments": { + parameters: ReposListDeploymentsEndpoint; + request: ReposListDeploymentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment + */ + "GET /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposGetDeploymentEndpoint; + request: ReposGetDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployment-statuses + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposListDeploymentStatusesEndpoint; + request: ReposListDeploymentStatusesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment-status + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id": { + parameters: ReposGetDeploymentStatusEndpoint; + request: ReposGetDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#list-downloads-for-a-repository + */ + "GET /repos/:owner/:repo/downloads": { + parameters: ReposListDownloadsEndpoint; + request: ReposListDownloadsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#get-a-single-download + */ + "GET /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposGetDownloadEndpoint; + request: ReposGetDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-repository-events + */ + "GET /repos/:owner/:repo/events": { + parameters: ActivityListRepoEventsEndpoint; + request: ActivityListRepoEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#list-forks + */ + "GET /repos/:owner/:repo/forks": { + parameters: ReposListForksEndpoint; + request: ReposListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#get-a-blob + */ + "GET /repos/:owner/:repo/git/blobs/:file_sha": { + parameters: GitGetBlobEndpoint; + request: GitGetBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#get-a-commit + */ + "GET /repos/:owner/:repo/git/commits/:commit_sha": { + parameters: GitGetCommitEndpoint; + request: GitGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#list-matching-references + */ + "GET /repos/:owner/:repo/git/matching-refs/:ref": { + parameters: GitListMatchingRefsEndpoint; + request: GitListMatchingRefsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#get-a-single-reference + */ + "GET /repos/:owner/:repo/git/ref/:ref": { + parameters: GitGetRefEndpoint; + request: GitGetRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#get-a-tag + */ + "GET /repos/:owner/:repo/git/tags/:tag_sha": { + parameters: GitGetTagEndpoint; + request: GitGetTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#get-a-tree + */ + "GET /repos/:owner/:repo/git/trees/:tree_sha": { + parameters: GitGetTreeEndpoint; + request: GitGetTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#list-hooks + */ + "GET /repos/:owner/:repo/hooks": { + parameters: ReposListHooksEndpoint; + request: ReposListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#get-single-hook + */ + "GET /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposGetHookEndpoint; + request: ReposGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-import-progress + */ + "GET /repos/:owner/:repo/import": { + parameters: MigrationsGetImportProgressEndpoint; + request: MigrationsGetImportProgressRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-commit-authors + */ + "GET /repos/:owner/:repo/import/authors": { + parameters: MigrationsGetCommitAuthorsEndpoint; + request: MigrationsGetCommitAuthorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-large-files + */ + "GET /repos/:owner/:repo/import/large_files": { + parameters: MigrationsGetLargeFilesEndpoint; + request: MigrationsGetLargeFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-repository-installation + */ + "GET /repos/:owner/:repo/installation": { + parameters: AppsGetRepoInstallationEndpoint; + request: AppsGetRepoInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#get-interaction-restrictions-for-a-repository + */ + "GET /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsGetRestrictionsForRepoEndpoint; + request: InteractionsGetRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository + */ + "GET /repos/:owner/:repo/invitations": { + parameters: ReposListInvitationsEndpoint; + request: ReposListInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-repository-issues + */ + "GET /repos/:owner/:repo/issues": { + parameters: IssuesListForRepoEndpoint; + request: IssuesListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#get-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesGetEndpoint; + request: IssuesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesListCommentsEndpoint; + request: IssuesListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/events": { + parameters: IssuesListEventsEndpoint; + request: IssuesListEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesListLabelsOnIssueEndpoint; + request: IssuesListLabelsOnIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsListForIssueEndpoint; + request: ReactionsListForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/timeline/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/timeline": { + parameters: IssuesListEventsForTimelineEndpoint; + request: IssuesListEventsForTimelineRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/issues/comments": { + parameters: IssuesListCommentsForRepoEndpoint; + request: IssuesListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesGetCommentEndpoint; + request: IssuesGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsListForIssueCommentEndpoint; + request: ReactionsListForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-a-repository + */ + "GET /repos/:owner/:repo/issues/events": { + parameters: IssuesListEventsForRepoEndpoint; + request: IssuesListEventsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#get-a-single-event + */ + "GET /repos/:owner/:repo/issues/events/:event_id": { + parameters: IssuesGetEventEndpoint; + request: IssuesGetEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#list-deploy-keys + */ + "GET /repos/:owner/:repo/keys": { + parameters: ReposListDeployKeysEndpoint; + request: ReposListDeployKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#get-a-deploy-key + */ + "GET /repos/:owner/:repo/keys/:key_id": { + parameters: ReposGetDeployKeyEndpoint; + request: ReposGetDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository + */ + "GET /repos/:owner/:repo/labels": { + parameters: IssuesListLabelsForRepoEndpoint; + request: IssuesListLabelsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-a-single-label + */ + "GET /repos/:owner/:repo/labels/:name": { + parameters: IssuesGetLabelEndpoint; + request: IssuesGetLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-languages + */ + "GET /repos/:owner/:repo/languages": { + parameters: ReposListLanguagesEndpoint; + request: ReposListLanguagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-the-contents-of-a-repositorys-license + */ + "GET /repos/:owner/:repo/license": { + parameters: LicensesGetForRepoEndpoint; + request: LicensesGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository + */ + "GET /repos/:owner/:repo/milestones": { + parameters: IssuesListMilestonesForRepoEndpoint; + request: IssuesListMilestonesForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#get-a-single-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesGetMilestoneEndpoint; + request: IssuesGetMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number/labels": { + parameters: IssuesListLabelsForMilestoneEndpoint; + request: IssuesListLabelsForMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/:owner/:repo/notifications": { + parameters: ActivityListRepoNotificationsForAuthenticatedUserEndpoint; + request: ActivityListRepoNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-information-about-a-pages-site + */ + "GET /repos/:owner/:repo/pages": { + parameters: ReposGetPagesEndpoint; + request: ReposGetPagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#list-pages-builds + */ + "GET /repos/:owner/:repo/pages/builds": { + parameters: ReposListPagesBuildsEndpoint; + request: ReposListPagesBuildsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-a-specific-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/:build_id": { + parameters: ReposGetPagesBuildEndpoint; + request: ReposGetPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-latest-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/latest": { + parameters: ReposGetLatestPagesBuildEndpoint; + request: ReposGetLatestPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-repository-projects + */ + "GET /repos/:owner/:repo/projects": { + parameters: ProjectsListForRepoEndpoint; + request: ProjectsListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests + */ + "GET /repos/:owner/:repo/pulls": { + parameters: PullsListEndpoint; + request: PullsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-a-single-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsGetEndpoint; + request: PullsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsListCommentsEndpoint; + request: PullsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/commits": { + parameters: PullsListCommitsEndpoint; + request: PullsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests-files + */ + "GET /repos/:owner/:repo/pulls/:pull_number/files": { + parameters: PullsListFilesEndpoint; + request: PullsListFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged + */ + "GET /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsCheckIfMergedEndpoint; + request: PullsCheckIfMergedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#list-review-requests + */ + "GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsListReviewRequestsEndpoint; + request: PullsListReviewRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#list-reviews-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsListReviewsEndpoint; + request: PullsListReviewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsGetReviewEndpoint; + request: PullsGetReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-comments-for-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments": { + parameters: PullsGetCommentsForReviewEndpoint; + request: PullsGetCommentsForReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/pulls/comments": { + parameters: PullsListCommentsForRepoEndpoint; + request: PullsListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsGetCommentEndpoint; + request: PullsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsListForPullRequestReviewCommentEndpoint; + request: ReactionsListForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-the-readme + */ + "GET /repos/:owner/:repo/readme": { + parameters: ReposGetReadmeEndpoint; + request: ReposGetReadmeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository + */ + "GET /repos/:owner/:repo/releases": { + parameters: ReposListReleasesEndpoint; + request: ReposListReleasesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release + */ + "GET /repos/:owner/:repo/releases/:release_id": { + parameters: ReposGetReleaseEndpoint; + request: ReposGetReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-assets-for-a-release + */ + "GET /repos/:owner/:repo/releases/:release_id/assets": { + parameters: ReposListAssetsForReleaseEndpoint; + request: ReposListAssetsForReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release-asset + */ + "GET /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposGetReleaseAssetEndpoint; + request: ReposGetReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-the-latest-release + */ + "GET /repos/:owner/:repo/releases/latest": { + parameters: ReposGetLatestReleaseEndpoint; + request: ReposGetLatestReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-release-by-tag-name + */ + "GET /repos/:owner/:repo/releases/tags/:tag": { + parameters: ReposGetReleaseByTagEndpoint; + request: ReposGetReleaseByTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-stargazers + */ + "GET /repos/:owner/:repo/stargazers": { + parameters: ActivityListStargazersForRepoEndpoint; + request: ActivityListStargazersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-additions-and-deletions-per-week + */ + "GET /repos/:owner/:repo/stats/code_frequency": { + parameters: ReposGetCodeFrequencyStatsEndpoint; + request: ReposGetCodeFrequencyStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data + */ + "GET /repos/:owner/:repo/stats/commit_activity": { + parameters: ReposGetCommitActivityStatsEndpoint; + request: ReposGetCommitActivityStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts + */ + "GET /repos/:owner/:repo/stats/contributors": { + parameters: ReposGetContributorsStatsEndpoint; + request: ReposGetContributorsStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-weekly-commit-count-for-the-repository-owner-and-everyone-else + */ + "GET /repos/:owner/:repo/stats/participation": { + parameters: ReposGetParticipationStatsEndpoint; + request: ReposGetParticipationStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-commits-per-hour-in-each-day + */ + "GET /repos/:owner/:repo/stats/punch_card": { + parameters: ReposGetPunchCardStatsEndpoint; + request: ReposGetPunchCardStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-watchers + */ + "GET /repos/:owner/:repo/subscribers": { + parameters: ActivityListWatchersForRepoEndpoint; + request: ActivityListWatchersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#get-a-repository-subscription + */ + "GET /repos/:owner/:repo/subscription": { + parameters: ActivityGetRepoSubscriptionEndpoint; + request: ActivityGetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-tags + */ + "GET /repos/:owner/:repo/tags": { + parameters: ReposListTagsEndpoint; + request: ReposListTagsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-teams + */ + "GET /repos/:owner/:repo/teams": { + parameters: ReposListTeamsEndpoint; + request: ReposListTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-all-repository-topics + */ + "GET /repos/:owner/:repo/topics": { + parameters: ReposGetAllTopicsEndpoint; + request: ReposGetAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#clones + */ + "GET /repos/:owner/:repo/traffic/clones": { + parameters: ReposGetClonesEndpoint; + request: ReposGetClonesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-paths + */ + "GET /repos/:owner/:repo/traffic/popular/paths": { + parameters: ReposGetTopPathsEndpoint; + request: ReposGetTopPathsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-referrers + */ + "GET /repos/:owner/:repo/traffic/popular/referrers": { + parameters: ReposGetTopReferrersEndpoint; + request: ReposGetTopReferrersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#views + */ + "GET /repos/:owner/:repo/traffic/views": { + parameters: ReposGetViewsEndpoint; + request: ReposGetViewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposCheckVulnerabilityAlertsEndpoint; + request: ReposCheckVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-public-repositories + */ + "GET /repositories": { + parameters: ReposListPublicEndpoint; + request: ReposListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-a-list-of-provisioned-identities + */ + "GET /scim/v2/organizations/:org/Users": { + parameters: ScimListProvisionedIdentitiesEndpoint; + request: ScimListProvisionedIdentitiesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-provisioning-details-for-a-single-user + */ + "GET /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimGetProvisioningDetailsForUserEndpoint; + request: ScimGetProvisioningDetailsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-code + */ + "GET /search/code": { + parameters: SearchCodeEndpoint; + request: SearchCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-commits + */ + "GET /search/commits": { + parameters: SearchCommitsEndpoint; + request: SearchCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-issues-and-pull-requests + */ + "GET /search/issues": { + parameters: SearchIssuesAndPullRequestsEndpoint; + request: SearchIssuesAndPullRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-labels + */ + "GET /search/labels": { + parameters: SearchLabelsEndpoint; + request: SearchLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-repositories + */ + "GET /search/repositories": { + parameters: SearchReposEndpoint; + request: SearchReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-topics + */ + "GET /search/topics": { + parameters: SearchTopicsEndpoint; + request: SearchTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-users + */ + "GET /search/users": { + parameters: SearchUsersEndpoint; + request: SearchUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-legacy + */ + "GET /teams/:team_id": { + parameters: TeamsGetLegacyEndpoint; + request: TeamsGetLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + "GET /teams/:team_id/discussions": { + parameters: TeamsListDiscussionsLegacyEndpoint; + request: TeamsListDiscussionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsGetDiscussionLegacyEndpoint; + request: TeamsGetDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsLegacyEndpoint; + request: TeamsListDiscussionCommentsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentLegacyEndpoint; + request: TeamsGetDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsListForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionLegacyEndpoint; + request: ReactionsListForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + "GET /teams/:team_id/invitations": { + parameters: TeamsListPendingInvitationsLegacyEndpoint; + request: TeamsListPendingInvitationsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + "GET /teams/:team_id/members": { + parameters: TeamsListMembersLegacyEndpoint; + request: TeamsListMembersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + "GET /teams/:team_id/members/:username": { + parameters: TeamsGetMemberLegacyEndpoint; + request: TeamsGetMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + "GET /teams/:team_id/memberships/:username": { + parameters: TeamsGetMembershipLegacyEndpoint; + request: TeamsGetMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + "GET /teams/:team_id/projects": { + parameters: TeamsListProjectsLegacyEndpoint; + request: TeamsListProjectsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + "GET /teams/:team_id/projects/:project_id": { + parameters: TeamsReviewProjectLegacyEndpoint; + request: TeamsReviewProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + "GET /teams/:team_id/repos": { + parameters: TeamsListReposLegacyEndpoint; + request: TeamsListReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + "GET /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoLegacyEndpoint; + request: TeamsCheckManagesRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team-legacy + */ + "GET /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsForLegacyEndpoint; + request: TeamsListIdPGroupsForLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + "GET /teams/:team_id/teams": { + parameters: TeamsListChildLegacyEndpoint; + request: TeamsListChildLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-the-authenticated-user + */ + "GET /user": { + parameters: UsersGetAuthenticatedEndpoint; + request: UsersGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-repositories-for-a-user-migration + */ + "GET /user/:migration_id/repositories": { + parameters: MigrationsListReposForUserEndpoint; + request: MigrationsListReposForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#list-blocked-users + */ + "GET /user/blocks": { + parameters: UsersListBlockedEndpoint; + request: UsersListBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#check-whether-youve-blocked-a-user + */ + "GET /user/blocks/:username": { + parameters: UsersCheckBlockedEndpoint; + request: UsersCheckBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user + */ + "GET /user/emails": { + parameters: UsersListEmailsEndpoint; + request: UsersListEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-the-authenticated-user + */ + "GET /user/followers": { + parameters: UsersListFollowersForAuthenticatedUserEndpoint; + request: UsersListFollowersForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-the-authenticated-user + */ + "GET /user/following": { + parameters: UsersListFollowedByAuthenticatedEndpoint; + request: UsersListFollowedByAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-you-are-following-a-user + */ + "GET /user/following/:username": { + parameters: UsersCheckFollowingEndpoint; + request: UsersCheckFollowingRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-your-gpg-keys + */ + "GET /user/gpg_keys": { + parameters: UsersListGpgKeysEndpoint; + request: UsersListGpgKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#get-a-single-gpg-key + */ + "GET /user/gpg_keys/:gpg_key_id": { + parameters: UsersGetGpgKeyEndpoint; + request: UsersGetGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-installations-for-a-user + */ + "GET /user/installations": { + parameters: AppsListInstallationsForAuthenticatedUserEndpoint; + request: AppsListInstallationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories-accessible-to-the-user-for-an-installation + */ + "GET /user/installations/:installation_id/repositories": { + parameters: AppsListInstallationReposForAuthenticatedUserEndpoint; + request: AppsListInstallationReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": { + parameters: IssuesListForAuthenticatedUserEndpoint; + request: IssuesListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-your-public-keys + */ + "GET /user/keys": { + parameters: UsersListPublicKeysEndpoint; + request: UsersListPublicKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#get-a-single-public-key + */ + "GET /user/keys/:key_id": { + parameters: UsersGetPublicKeyEndpoint; + request: UsersGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": { + parameters: AppsListSubscriptionsForAuthenticatedUserEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": { + parameters: AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-your-organization-memberships + */ + "GET /user/memberships/orgs": { + parameters: OrgsListMembershipsEndpoint; + request: OrgsListMembershipsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-your-organization-membership + */ + "GET /user/memberships/orgs/:org": { + parameters: OrgsGetMembershipForAuthenticatedUserEndpoint; + request: OrgsGetMembershipForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-user-migrations + */ + "GET /user/migrations": { + parameters: MigrationsListForAuthenticatedUserEndpoint; + request: MigrationsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#get-the-status-of-a-user-migration + */ + "GET /user/migrations/:migration_id": { + parameters: MigrationsGetStatusForAuthenticatedUserEndpoint; + request: MigrationsGetStatusForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#download-a-user-migration-archive + */ + "GET /user/migrations/:migration_id/archive": { + parameters: MigrationsGetArchiveForAuthenticatedUserEndpoint; + request: MigrationsGetArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-your-organizations + */ + "GET /user/orgs": { + parameters: OrgsListForAuthenticatedUserEndpoint; + request: OrgsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-public-email-addresses-for-a-user + */ + "GET /user/public_emails": { + parameters: UsersListPublicEmailsEndpoint; + request: UsersListPublicEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": { + parameters: ReposListForAuthenticatedUserEndpoint; + request: ReposListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-a-users-repository-invitations + */ + "GET /user/repository_invitations": { + parameters: ReposListInvitationsForAuthenticatedUserEndpoint; + request: ReposListInvitationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": { + parameters: ActivityListReposStarredByAuthenticatedUserEndpoint; + request: ActivityListReposStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/:owner/:repo": { + parameters: ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint; + request: ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": { + parameters: ActivityListWatchedReposForAuthenticatedUserEndpoint; + request: ActivityListWatchedReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#check-if-you-are-watching-a-repository-legacy + */ + "GET /user/subscriptions/:owner/:repo": { + parameters: ActivityCheckWatchingRepoLegacyEndpoint; + request: ActivityCheckWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-user-teams + */ + "GET /user/teams": { + parameters: TeamsListForAuthenticatedUserEndpoint; + request: TeamsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-all-users + */ + "GET /users": { + parameters: UsersListEndpoint; + request: UsersListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-a-single-user + */ + "GET /users/:username": { + parameters: UsersGetByUsernameEndpoint; + request: UsersGetByUsernameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-for-the-authenticated-user + */ + "GET /users/:username/events": { + parameters: ActivityListEventsForAuthenticatedUserEndpoint; + request: ActivityListEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-organization-events-for-the-authenticated-user + */ + "GET /users/:username/events/orgs/:org": { + parameters: ActivityListOrgEventsForAuthenticatedUserEndpoint; + request: ActivityListOrgEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-user + */ + "GET /users/:username/events/public": { + parameters: ActivityListPublicEventsForUserEndpoint; + request: ActivityListPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-a-user + */ + "GET /users/:username/followers": { + parameters: UsersListFollowersForUserEndpoint; + request: UsersListFollowersForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user + */ + "GET /users/:username/following": { + parameters: UsersListFollowingForUserEndpoint; + request: UsersListFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-one-user-follows-another + */ + "GET /users/:username/following/:target_user": { + parameters: UsersCheckFollowingForUserEndpoint; + request: UsersCheckFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-a-user + */ + "GET /users/:username/gists": { + parameters: GistsListForUserEndpoint; + request: GistsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-gpg-keys-for-a-user + */ + "GET /users/:username/gpg_keys": { + parameters: UsersListGpgKeysForUserEndpoint; + request: UsersListGpgKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-contextual-information-about-a-user + */ + "GET /users/:username/hovercard": { + parameters: UsersGetContextForUserEndpoint; + request: UsersGetContextForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-user-installation + */ + "GET /users/:username/installation": { + parameters: AppsGetUserInstallationEndpoint; + request: AppsGetUserInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user + */ + "GET /users/:username/keys": { + parameters: UsersListPublicKeysForUserEndpoint; + request: UsersListPublicKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-user-organizations + */ + "GET /users/:username/orgs": { + parameters: OrgsListForUserEndpoint; + request: OrgsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-user-projects + */ + "GET /users/:username/projects": { + parameters: ProjectsListForUserEndpoint; + request: ProjectsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-received-by-the-authenticated-user + */ + "GET /users/:username/received_events": { + parameters: ActivityListReceivedEventsForUserEndpoint; + request: ActivityListReceivedEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-received-by-a-user + */ + "GET /users/:username/received_events/public": { + parameters: ActivityListReceivedPublicEventsForUserEndpoint; + request: ActivityListReceivedPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-a-user + */ + "GET /users/:username/repos": { + parameters: ReposListForUserEndpoint; + request: ReposListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-a-user + */ + "GET /users/:username/starred": { + parameters: ActivityListReposStarredByUserEndpoint; + request: ActivityListReposStarredByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-a-user + */ + "GET /users/:username/subscriptions": { + parameters: ActivityListReposWatchedByUserEndpoint; + request: ActivityListReposWatchedByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-a-token + */ + "PATCH /applications/:client_id/token": { + parameters: AppsResetTokenEndpoint; + request: AppsResetTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization + */ + "PATCH /authorizations/:authorization_id": { + parameters: OauthAuthorizationsUpdateAuthorizationEndpoint; + request: OauthAuthorizationsUpdateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#update-a-gist + */ + "PATCH /gists/:gist_id": { + parameters: GistsUpdateEndpoint; + request: GistsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#edit-a-comment + */ + "PATCH /gists/:gist_id/comments/:comment_id": { + parameters: GistsUpdateCommentEndpoint; + request: GistsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read + */ + "PATCH /notifications/threads/:thread_id": { + parameters: ActivityMarkThreadAsReadEndpoint; + request: ActivityMarkThreadAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#edit-an-organization + */ + "PATCH /orgs/:org": { + parameters: OrgsUpdateEndpoint; + request: OrgsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#edit-a-hook + */ + "PATCH /orgs/:org/hooks/:hook_id": { + parameters: OrgsUpdateHookEndpoint; + request: OrgsUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team + */ + "PATCH /orgs/:org/teams/:team_slug": { + parameters: TeamsUpdateInOrgEndpoint; + request: TeamsUpdateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionInOrgEndpoint; + request: TeamsUpdateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentInOrgEndpoint; + request: TeamsUpdateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections + */ + "PATCH /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#update-a-project + */ + "PATCH /projects/:project_id": { + parameters: ProjectsUpdateEndpoint; + request: ProjectsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#update-a-project-column + */ + "PATCH /projects/columns/:column_id": { + parameters: ProjectsUpdateColumnEndpoint; + request: ProjectsUpdateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#update-a-project-card + */ + "PATCH /projects/columns/cards/:card_id": { + parameters: ProjectsUpdateCardEndpoint; + request: ProjectsUpdateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#update-a-repository + */ + "PATCH /repos/:owner/:repo": { + parameters: ReposUpdateEndpoint; + request: ReposUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-pull-request-review-enforcement-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-required-status-checks-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposUpdateProtectedBranchRequiredStatusChecksEndpoint; + request: ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#update-a-check-run + */ + "PATCH /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksUpdateEndpoint; + request: ChecksUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#update-repository-preferences-for-check-suites + */ + "PATCH /repos/:owner/:repo/check-suites/preferences": { + parameters: ChecksSetSuitesPreferencesEndpoint; + request: ChecksSetSuitesPreferencesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#update-a-commit-comment + */ + "PATCH /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposUpdateCommitCommentEndpoint; + request: ReposUpdateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#update-a-reference + */ + "PATCH /repos/:owner/:repo/git/refs/:ref": { + parameters: GitUpdateRefEndpoint; + request: GitUpdateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#edit-a-hook + */ + "PATCH /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposUpdateHookEndpoint; + request: ReposUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#update-existing-import + */ + "PATCH /repos/:owner/:repo/import": { + parameters: MigrationsUpdateImportEndpoint; + request: MigrationsUpdateImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#map-a-commit-author + */ + "PATCH /repos/:owner/:repo/import/authors/:author_id": { + parameters: MigrationsMapCommitAuthorEndpoint; + request: MigrationsMapCommitAuthorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#set-git-lfs-preference + */ + "PATCH /repos/:owner/:repo/import/lfs": { + parameters: MigrationsSetLfsPreferenceEndpoint; + request: MigrationsSetLfsPreferenceRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#update-a-repository-invitation + */ + "PATCH /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposUpdateInvitationEndpoint; + request: ReposUpdateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#update-an-issue + */ + "PATCH /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesUpdateEndpoint; + request: IssuesUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesUpdateCommentEndpoint; + request: IssuesUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#update-a-label + */ + "PATCH /repos/:owner/:repo/labels/:name": { + parameters: IssuesUpdateLabelEndpoint; + request: IssuesUpdateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#update-a-milestone + */ + "PATCH /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesUpdateMilestoneEndpoint; + request: IssuesUpdateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request + */ + "PATCH /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsUpdateEndpoint; + request: PullsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsUpdateCommentEndpoint; + request: PullsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release + */ + "PATCH /repos/:owner/:repo/releases/:release_id": { + parameters: ReposUpdateReleaseEndpoint; + request: ReposUpdateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release-asset + */ + "PATCH /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposUpdateReleaseAssetEndpoint; + request: ReposUpdateReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#update-a-user-attribute + */ + "PATCH /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimUpdateUserAttributeEndpoint; + request: ScimUpdateUserAttributeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team-legacy + */ + "PATCH /teams/:team_id": { + parameters: TeamsUpdateLegacyEndpoint; + request: TeamsUpdateLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionLegacyEndpoint; + request: TeamsUpdateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentLegacyEndpoint; + request: TeamsUpdateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections-legacy + */ + "PATCH /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#update-the-authenticated-user + */ + "PATCH /user": { + parameters: UsersUpdateAuthenticatedEndpoint; + request: UsersUpdateAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#toggle-primary-email-visibility + */ + "PATCH /user/email/visibility": { + parameters: UsersTogglePrimaryEmailVisibilityEndpoint; + request: UsersTogglePrimaryEmailVisibilityRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#edit-your-organization-membership + */ + "PATCH /user/memberships/orgs/:org": { + parameters: OrgsUpdateMembershipEndpoint; + request: OrgsUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/:invitation_id": { + parameters: ReposAcceptInvitationEndpoint; + request: ReposAcceptInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/:code/conversions": { + parameters: AppsCreateFromManifestEndpoint; + request: AppsCreateFromManifestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-new-installation-token + */ + "POST /app/installations/:installation_id/access_tokens": { + parameters: AppsCreateInstallationTokenEndpoint; + request: AppsCreateInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-a-token + */ + "POST /applications/:client_id/token": { + parameters: AppsCheckTokenEndpoint; + request: AppsCheckTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + "POST /applications/:client_id/tokens/:access_token": { + parameters: AppsResetAuthorizationEndpoint; + request: AppsResetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization + */ + "POST /authorizations": { + parameters: OauthAuthorizationsCreateAuthorizationEndpoint; + request: OauthAuthorizationsCreateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#create-a-content-attachment + */ + "POST /content_references/:content_reference_id/attachments": { + parameters: AppsCreateContentAttachmentEndpoint; + request: AppsCreateContentAttachmentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#create-a-gist + */ + "POST /gists": { + parameters: GistsCreateEndpoint; + request: GistsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#create-a-comment + */ + "POST /gists/:gist_id/comments": { + parameters: GistsCreateCommentEndpoint; + request: GistsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#fork-a-gist + */ + "POST /gists/:gist_id/forks": { + parameters: GistsForkEndpoint; + request: GistsForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-an-arbitrary-markdown-document + */ + "POST /markdown": { + parameters: MarkdownRenderEndpoint; + request: MarkdownRenderRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": { + parameters: MarkdownRenderRawEndpoint; + request: MarkdownRenderRawRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForOrgEndpoint; + request: ActionsCreateRegistrationTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForOrgEndpoint; + request: ActionsCreateRemoveTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#create-a-hook + */ + "POST /orgs/:org/hooks": { + parameters: OrgsCreateHookEndpoint; + request: OrgsCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#ping-a-hook + */ + "POST /orgs/:org/hooks/:hook_id/pings": { + parameters: OrgsPingHookEndpoint; + request: OrgsPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#create-organization-invitation + */ + "POST /orgs/:org/invitations": { + parameters: OrgsCreateInvitationEndpoint; + request: OrgsCreateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#start-an-organization-migration + */ + "POST /orgs/:org/migrations": { + parameters: MigrationsStartForOrgEndpoint; + request: MigrationsStartForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-an-organization-project + */ + "POST /orgs/:org/projects": { + parameters: ProjectsCreateForOrgEndpoint; + request: ProjectsCreateForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-an-organization-repository + */ + "POST /orgs/:org/repos": { + parameters: ReposCreateInOrgEndpoint; + request: ReposCreateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#create-team + */ + "POST /orgs/:org/teams": { + parameters: TeamsCreateEndpoint; + request: TeamsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsCreateDiscussionInOrgEndpoint; + request: TeamsCreateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentInOrgEndpoint; + request: TeamsCreateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#create-a-project-column + */ + "POST /projects/:project_id/columns": { + parameters: ProjectsCreateColumnEndpoint; + request: ProjectsCreateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#create-a-project-card + */ + "POST /projects/columns/:column_id/cards": { + parameters: ProjectsCreateCardEndpoint; + request: ProjectsCreateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#move-a-project-column + */ + "POST /projects/columns/:column_id/moves": { + parameters: ProjectsMoveColumnEndpoint; + request: ProjectsMoveColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#move-a-project-card + */ + "POST /projects/columns/cards/:card_id/moves": { + parameters: ProjectsMoveCardEndpoint; + request: ProjectsMoveCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForRepoEndpoint; + request: ActionsCreateRegistrationTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForRepoEndpoint; + request: ActionsCreateRemoveTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#cancel-a-workflow-run + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/cancel": { + parameters: ActionsCancelWorkflowRunEndpoint; + request: ActionsCancelWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#re-run-a-workflow + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/rerun": { + parameters: ActionsReRunWorkflowEndpoint; + request: ActionsReRunWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-admin-enforcement-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposAddProtectedBranchAdminEnforcementEndpoint; + request: ReposAddProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-signatures-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposAddProtectedBranchRequiredSignaturesEndpoint; + request: ReposAddProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-status-checks-contexts-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-app-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposAddProtectedBranchAppRestrictionsEndpoint; + request: ReposAddProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-team-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposAddProtectedBranchTeamRestrictionsEndpoint; + request: ReposAddProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-user-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposAddProtectedBranchUserRestrictionsEndpoint; + request: ReposAddProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#create-a-check-run + */ + "POST /repos/:owner/:repo/check-runs": { + parameters: ChecksCreateEndpoint; + request: ChecksCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#create-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites": { + parameters: ChecksCreateSuiteEndpoint; + request: ChecksCreateSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#rerequest-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites/:check_suite_id/rerequest": { + parameters: ChecksRerequestSuiteEndpoint; + request: ChecksRerequestSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-commit-comment + */ + "POST /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsCreateForCommitCommentEndpoint; + request: ReactionsCreateForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#create-a-commit-comment + */ + "POST /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposCreateCommitCommentEndpoint; + request: ReposCreateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment + */ + "POST /repos/:owner/:repo/deployments": { + parameters: ReposCreateDeploymentEndpoint; + request: ReposCreateDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment-status + */ + "POST /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposCreateDeploymentStatusEndpoint; + request: ReposCreateDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-dispatch-event + */ + "POST /repos/:owner/:repo/dispatches": { + parameters: ReposCreateDispatchEventEndpoint; + request: ReposCreateDispatchEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#create-a-fork + */ + "POST /repos/:owner/:repo/forks": { + parameters: ReposCreateForkEndpoint; + request: ReposCreateForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#create-a-blob + */ + "POST /repos/:owner/:repo/git/blobs": { + parameters: GitCreateBlobEndpoint; + request: GitCreateBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#create-a-commit + */ + "POST /repos/:owner/:repo/git/commits": { + parameters: GitCreateCommitEndpoint; + request: GitCreateCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#create-a-reference + */ + "POST /repos/:owner/:repo/git/refs": { + parameters: GitCreateRefEndpoint; + request: GitCreateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#create-a-tag-object + */ + "POST /repos/:owner/:repo/git/tags": { + parameters: GitCreateTagEndpoint; + request: GitCreateTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#create-a-tree + */ + "POST /repos/:owner/:repo/git/trees": { + parameters: GitCreateTreeEndpoint; + request: GitCreateTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#create-a-hook + */ + "POST /repos/:owner/:repo/hooks": { + parameters: ReposCreateHookEndpoint; + request: ReposCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#ping-a-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/pings": { + parameters: ReposPingHookEndpoint; + request: ReposPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#test-a-push-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/tests": { + parameters: ReposTestPushHookEndpoint; + request: ReposTestPushHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#create-an-issue + */ + "POST /repos/:owner/:repo/issues": { + parameters: IssuesCreateEndpoint; + request: IssuesCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#add-assignees-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesAddAssigneesEndpoint; + request: IssuesAddAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesCreateCommentEndpoint; + request: IssuesCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesAddLabelsEndpoint; + request: IssuesAddLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsCreateForIssueEndpoint; + request: ReactionsCreateForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue-comment + */ + "POST /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsCreateForIssueCommentEndpoint; + request: ReactionsCreateForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#add-a-new-deploy-key + */ + "POST /repos/:owner/:repo/keys": { + parameters: ReposAddDeployKeyEndpoint; + request: ReposAddDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#create-a-label + */ + "POST /repos/:owner/:repo/labels": { + parameters: IssuesCreateLabelEndpoint; + request: IssuesCreateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/merging/#perform-a-merge + */ + "POST /repos/:owner/:repo/merges": { + parameters: ReposMergeEndpoint; + request: ReposMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#create-a-milestone + */ + "POST /repos/:owner/:repo/milestones": { + parameters: IssuesCreateMilestoneEndpoint; + request: IssuesCreateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#enable-a-pages-site + */ + "POST /repos/:owner/:repo/pages": { + parameters: ReposEnablePagesSiteEndpoint; + request: ReposEnablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#request-a-page-build + */ + "POST /repos/:owner/:repo/pages/builds": { + parameters: ReposRequestPageBuildEndpoint; + request: ReposRequestPageBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-repository-project + */ + "POST /repos/:owner/:repo/projects": { + parameters: ProjectsCreateForRepoEndpoint; + request: ProjectsCreateForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#create-a-pull-request + */ + "POST /repos/:owner/:repo/pulls": { + parameters: PullsCreateEndpoint; + request: PullsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsCreateCommentEndpoint; + request: PullsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-review-comment-reply + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies": { + parameters: PullsCreateReviewCommentReplyEndpoint; + request: PullsCreateReviewCommentReplyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#create-a-review-request + */ + "POST /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsCreateReviewRequestEndpoint; + request: PullsCreateReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsCreateReviewEndpoint; + request: PullsCreateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events": { + parameters: PullsSubmitReviewEndpoint; + request: PullsSubmitReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsCreateForPullRequestReviewCommentEndpoint; + request: ReactionsCreateForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#create-a-release + */ + "POST /repos/:owner/:repo/releases": { + parameters: ReposCreateReleaseEndpoint; + request: ReposCreateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#upload-a-release-asset + */ + "POST /repos/:owner/:repo/releases/:release_id/assets{?name,label}": { + parameters: ReposUploadReleaseAssetEndpoint; + request: ReposUploadReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#create-a-status + */ + "POST /repos/:owner/:repo/statuses/:sha": { + parameters: ReposCreateStatusEndpoint; + request: ReposCreateStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#transfer-a-repository + */ + "POST /repos/:owner/:repo/transfer": { + parameters: ReposTransferEndpoint; + request: ReposTransferRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-using-a-template + */ + "POST /repos/:template_owner/:template_repo/generate": { + parameters: ReposCreateUsingTemplateEndpoint; + request: ReposCreateUsingTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#provision-and-invite-users + */ + "POST /scim/v2/organizations/:org/Users": { + parameters: ScimProvisionAndInviteUsersEndpoint; + request: ScimProvisionAndInviteUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + "POST /teams/:team_id/discussions": { + parameters: TeamsCreateDiscussionLegacyEndpoint; + request: TeamsCreateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentLegacyEndpoint; + request: TeamsCreateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#add-email-addresses + */ + "POST /user/emails": { + parameters: UsersAddEmailsEndpoint; + request: UsersAddEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#create-a-gpg-key + */ + "POST /user/gpg_keys": { + parameters: UsersCreateGpgKeyEndpoint; + request: UsersCreateGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#create-a-public-key + */ + "POST /user/keys": { + parameters: UsersCreatePublicKeyEndpoint; + request: UsersCreatePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#start-a-user-migration + */ + "POST /user/migrations": { + parameters: MigrationsStartForAuthenticatedUserEndpoint; + request: MigrationsStartForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-user-project + */ + "POST /user/projects": { + parameters: ProjectsCreateForAuthenticatedUserEndpoint; + request: ProjectsCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": { + parameters: ReposCreateForAuthenticatedUserEndpoint; + request: ReposCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#suspend-an-installation + */ + "PUT /app/installations/:installation_id/suspended": { + parameters: AppsSuspendInstallationEndpoint; + request: AppsSuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app + */ + "PUT /authorizations/clients/:client_id": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + "PUT /authorizations/clients/:client_id/:fingerprint": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#star-a-gist + */ + "PUT /gists/:gist_id/star": { + parameters: GistsStarEndpoint; + request: GistsStarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read + */ + "PUT /notifications": { + parameters: ActivityMarkNotificationsAsReadEndpoint; + request: ActivityMarkNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription + */ + "PUT /notifications/threads/:thread_id/subscription": { + parameters: ActivitySetThreadSubscriptionEndpoint; + request: ActivitySetThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#block-a-user + */ + "PUT /orgs/:org/blocks/:username": { + parameters: OrgsBlockUserEndpoint; + request: OrgsBlockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#add-or-update-interaction-restrictions-for-an-organization + */ + "PUT /orgs/:org/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForOrgEndpoint; + request: InteractionsAddOrUpdateRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#add-or-update-organization-membership + */ + "PUT /orgs/:org/memberships/:username": { + parameters: OrgsAddOrUpdateMembershipEndpoint; + request: OrgsAddOrUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#convert-member-to-outside-collaborator + */ + "PUT /orgs/:org/outside_collaborators/:username": { + parameters: OrgsConvertMemberToOutsideCollaboratorEndpoint; + request: OrgsConvertMemberToOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#publicize-a-users-membership + */ + "PUT /orgs/:org/public_members/:username": { + parameters: OrgsPublicizeMembershipEndpoint; + request: OrgsPublicizeMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership + */ + "PUT /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipInOrgEndpoint; + request: TeamsAddOrUpdateMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project + */ + "PUT /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectInOrgEndpoint; + request: TeamsAddOrUpdateProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository + */ + "PUT /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoInOrgEndpoint; + request: TeamsAddOrUpdateRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator + */ + "PUT /projects/:project_id/collaborators/:username": { + parameters: ProjectsAddCollaboratorEndpoint; + request: ProjectsAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#create-or-update-a-secret-for-a-repository + */ + "PUT /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsCreateOrUpdateSecretForRepoEndpoint; + request: ActionsCreateOrUpdateSecretForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-automated-security-fixes + */ + "PUT /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposEnableAutomatedSecurityFixesEndpoint; + request: ReposEnableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-branch-protection + */ + "PUT /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposUpdateBranchProtectionEndpoint; + request: ReposUpdateBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-required-status-checks-contexts-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-app-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposReplaceProtectedBranchAppRestrictionsEndpoint; + request: ReposReplaceProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-team-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposReplaceProtectedBranchTeamRestrictionsEndpoint; + request: ReposReplaceProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-user-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposReplaceProtectedBranchUserRestrictionsEndpoint; + request: ReposReplaceProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#add-user-as-a-collaborator + */ + "PUT /repos/:owner/:repo/collaborators/:username": { + parameters: ReposAddCollaboratorEndpoint; + request: ReposAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#create-or-update-a-file + */ + "PUT /repos/:owner/:repo/contents/:path": { + parameters: ReposCreateOrUpdateFileEndpoint; + request: ReposCreateOrUpdateFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#start-an-import + */ + "PUT /repos/:owner/:repo/import": { + parameters: MigrationsStartImportEndpoint; + request: MigrationsStartImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#add-or-update-interaction-restrictions-for-a-repository + */ + "PUT /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForRepoEndpoint; + request: InteractionsAddOrUpdateRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesReplaceAllLabelsEndpoint; + request: IssuesReplaceAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#lock-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesLockEndpoint; + request: IssuesLockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-repository-notifications-as-read + */ + "PUT /repos/:owner/:repo/notifications": { + parameters: ActivityMarkRepoNotificationsAsReadEndpoint; + request: ActivityMarkRepoNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#update-information-about-a-pages-site + */ + "PUT /repos/:owner/:repo/pages": { + parameters: ReposUpdateInformationAboutPagesSiteEndpoint; + request: ReposUpdateInformationAboutPagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsMergeEndpoint; + request: PullsMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#update-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsUpdateReviewEndpoint; + request: PullsUpdateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#dismiss-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals": { + parameters: PullsDismissReviewEndpoint; + request: PullsDismissReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request-branch + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/update-branch": { + parameters: PullsUpdateBranchEndpoint; + request: PullsUpdateBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#set-a-repository-subscription + */ + "PUT /repos/:owner/:repo/subscription": { + parameters: ActivitySetRepoSubscriptionEndpoint; + request: ActivitySetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#replace-all-repository-topics + */ + "PUT /repos/:owner/:repo/topics": { + parameters: ReposReplaceAllTopicsEndpoint; + request: ReposReplaceAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-vulnerability-alerts + */ + "PUT /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposEnableVulnerabilityAlertsEndpoint; + request: ReposEnableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#replace-a-provisioned-users-information + */ + "PUT /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimReplaceProvisionedUserInformationEndpoint; + request: ScimReplaceProvisionedUserInformationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-team-member-legacy + */ + "PUT /teams/:team_id/members/:username": { + parameters: TeamsAddMemberLegacyEndpoint; + request: TeamsAddMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + "PUT /teams/:team_id/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipLegacyEndpoint; + request: TeamsAddOrUpdateMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + "PUT /teams/:team_id/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectLegacyEndpoint; + request: TeamsAddOrUpdateProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + "PUT /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoLegacyEndpoint; + request: TeamsAddOrUpdateRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#block-a-user + */ + "PUT /user/blocks/:username": { + parameters: UsersBlockEndpoint; + request: UsersBlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#follow-a-user + */ + "PUT /user/following/:username": { + parameters: UsersFollowEndpoint; + request: UsersFollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#add-repository-to-installation + */ + "PUT /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsAddRepoToInstallationEndpoint; + request: AppsAddRepoToInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/:owner/:repo": { + parameters: ActivityStarRepoForAuthenticatedUserEndpoint; + request: ActivityStarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#watch-a-repository-legacy + */ + "PUT /user/subscriptions/:owner/:repo": { + parameters: ActivityWatchRepoLegacyEndpoint; + request: ActivityWatchRepoLegacyRequestOptions; + response: OctokitResponse; + }; +} +declare type AppsGetAuthenticatedEndpoint = {} & RequiredPreview<"machine-man">; +declare type AppsGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/app"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetAuthenticatedResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetAuthenticatedResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetAuthenticatedResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetAuthenticatedResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetAuthenticatedResponseDataPermissions; + events: Array; + installations_count: number; +}; +declare type AppsCreateFromManifestEndpoint = { + /** + * code parameter + */ + code: string; +}; +declare type AppsCreateFromManifestRequestOptions = { + method: "POST"; + url: "/app-manifests/:code/conversions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateFromManifestResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateFromManifestResponseData = { + id: number; + node_id: string; + owner: AppsCreateFromManifestResponseDataOwner; + name: string; + description: null; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + client_id: string; + client_secret: string; + webhook_secret: string; + pem: string; +}; +declare type AppsListInstallationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsRequestOptions = { + method: "GET"; + url: "/app/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsResponseDataItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsListInstallationsResponseDataItem = { + id: number; + account: AppsListInstallationsResponseDataItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsResponseDataItemPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsListInstallationsResponseData = Array; +declare type AppsGetInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsGetInstallationRequestOptions = { + method: "GET"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetInstallationResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetInstallationResponseData = { + id: number; + account: AppsGetInstallationResponseDataAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetInstallationResponseDataPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsDeleteInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsDeleteInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"machine-man">; +declare type AppsCreateInstallationTokenRequestOptions = { + method: "POST"; + url: "/app/installations/:installation_id/access_tokens"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsCreateInstallationTokenResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsCreateInstallationTokenResponseDataPermissions = { + issues: string; + contents: string; +}; +declare type AppsCreateInstallationTokenResponseData = { + token: string; + expires_at: string; + permissions: AppsCreateInstallationTokenResponseDataPermissions; + repositories: Array; +}; +declare type AppsSuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsSuspendInstallationRequestOptions = { + method: "PUT"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsUnsuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsUnsuspendInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListGrantsRequestOptions = { + method: "GET"; + url: "/applications/grants"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListGrantsResponseDataItem = { + id: number; + url: string; + app: OauthAuthorizationsListGrantsResponseDataItemApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsListGrantsResponseData = Array; +declare type OauthAuthorizationsGetGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsGetGrantRequestOptions = { + method: "GET"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetGrantResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetGrantResponseData = { + id: number; + url: string; + app: OauthAuthorizationsGetGrantResponseDataApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsDeleteGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsDeleteGrantRequestOptions = { + method: "DELETE"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsDeleteAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grant"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRevokeGrantForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeGrantForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grants/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsCheckTokenRequestOptions = { + method: "POST"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckTokenResponseDataUser; +}; +declare type AppsResetTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsResetTokenRequestOptions = { + method: "PATCH"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetTokenResponseDataUser; +}; +declare type AppsDeleteTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteTokenRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsCheckAuthorizationRequestOptions = { + method: "GET"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckAuthorizationResponseDataUser; +}; +declare type AppsResetAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsResetAuthorizationRequestOptions = { + method: "POST"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetAuthorizationResponseDataUser; +}; +declare type AppsRevokeAuthorizationForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeAuthorizationForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugEndpoint = { + /** + * app_slug parameter + */ + app_slug: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetBySlugRequestOptions = { + method: "GET"; + url: "/apps/:app_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetBySlugResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetBySlugResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetBySlugResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetBySlugResponseDataPermissions; + events: Array; +}; +declare type OauthAuthorizationsListAuthorizationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListAuthorizationsRequestOptions = { + method: "GET"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItem = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsListAuthorizationsResponseDataItemApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseData = Array; +declare 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; +}; +declare type OauthAuthorizationsCreateAuthorizationRequestOptions = { + method: "POST"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsCreateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare 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; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare 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; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id/:fingerprint"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsGetAuthorizationRequestOptions = { + method: "GET"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare 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; +}; +declare type OauthAuthorizationsUpdateAuthorizationRequestOptions = { + method: "PATCH"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsUpdateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsDeleteAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductEndpoint = {} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetAllCodesOfConductRequestOptions = { + method: "GET"; + url: "/codes_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductResponseDataItem = { + key: string; + name: string; + url: string; +}; +declare type CodesOfConductGetAllCodesOfConductResponseData = Array; +declare type CodesOfConductGetConductCodeEndpoint = { + /** + * key parameter + */ + key: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetConductCodeRequestOptions = { + method: "GET"; + url: "/codes_of_conduct/:key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetConductCodeResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare 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; +} & RequiredPreview<"corsair">; +declare type AppsCreateContentAttachmentRequestOptions = { + method: "POST"; + url: "/content_references/:content_reference_id/attachments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateContentAttachmentResponseData = { + id: number; + title: string; + body: string; +}; +declare type EmojisGetEndpoint = {}; +declare type EmojisGetRequestOptions = { + method: "GET"; + url: "/emojis"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsRequestOptions = { + method: "GET"; + url: "/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsEndpoint = {}; +declare type ActivityGetFeedsRequestOptions = { + method: "GET"; + url: "/feeds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsResponseDataLinksSecurityAdvisories = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganizationsItem = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganization = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserActor = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserPublic = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksTimeline = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinks = { + timeline: ActivityGetFeedsResponseDataLinksTimeline; + user: ActivityGetFeedsResponseDataLinksUser; + current_user_public: ActivityGetFeedsResponseDataLinksCurrentUserPublic; + current_user: ActivityGetFeedsResponseDataLinksCurrentUser; + current_user_actor: ActivityGetFeedsResponseDataLinksCurrentUserActor; + current_user_organization: ActivityGetFeedsResponseDataLinksCurrentUserOrganization; + current_user_organizations: Array; + security_advisories: ActivityGetFeedsResponseDataLinksSecurityAdvisories; +}; +declare type ActivityGetFeedsResponseData = { + timeline_url: string; + user_url: string; + current_user_public_url: string; + current_user_url: string; + current_user_actor_url: string; + current_user_organization_url: string; + current_user_organization_urls: Array; + security_advisories_url: string; + _links: ActivityGetFeedsResponseDataLinks; +}; +declare 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; +}; +declare type GistsListRequestOptions = { + method: "GET"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListResponseDataItemFiles = { + "hello_world.rb": GistsListResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListResponseData = Array; +declare 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; +}; +declare type GistsCreateRequestOptions = { + method: "POST"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsCreateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsCreateResponseDataHistoryItemUser; + change_status: GistsCreateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsCreateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataForksItem = { + user: GistsCreateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsCreateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFiles = { + "hello_world.rb": GistsCreateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsCreateResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsCreateResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsCreateResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsCreateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsCreateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsCreateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare 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; +}; +declare type GistsListPublicRequestOptions = { + method: "GET"; + url: "/gists/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListPublicResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListPublicResponseDataItemFiles = { + "hello_world.rb": GistsListPublicResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListPublicResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListPublicResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListPublicResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListPublicResponseData = Array; +declare 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; +}; +declare type GistsListStarredRequestOptions = { + method: "GET"; + url: "/gists/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListStarredResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListStarredResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListStarredResponseDataItemFiles = { + "hello_world.rb": GistsListStarredResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListStarredResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListStarredResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListStarredResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListStarredResponseData = Array; +declare type GistsGetEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsGetRequestOptions = { + method: "GET"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetResponseDataHistoryItemUser; + change_status: GistsGetResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataForksItem = { + user: GistsGetResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFiles = { + "hello_world.rb": GistsGetResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare 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; +}; +declare type GistsUpdateRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsUpdateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsUpdateResponseDataHistoryItemUser; + change_status: GistsUpdateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsUpdateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataForksItem = { + user: GistsUpdateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataFilesNewFileTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldMd = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFiles = { + "hello_world.rb": GistsUpdateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsUpdateResponseDataFilesHelloWorldPy; + "hello_world.md": GistsUpdateResponseDataFilesHelloWorldMd; + "new_file.txt": GistsUpdateResponseDataFilesNewFileTxt; +}; +declare type GistsUpdateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsUpdateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsUpdateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsDeleteEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsDeleteRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type GistsListCommentsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type GistsListCommentsResponseData = Array; +declare type GistsCreateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * The comment text. + */ + body: string; +}; +declare type GistsCreateCommentRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsGetCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsGetCommentRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The comment text. + */ + body: string; +}; +declare type GistsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsDeleteCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type GistsListCommitsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommitsResponseDataItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsListCommitsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommitsResponseDataItem = { + url: string; + version: string; + user: GistsListCommitsResponseDataItemUser; + change_status: GistsListCommitsResponseDataItemChangeStatus; + committed_at: string; +}; +declare type GistsListCommitsResponseData = Array; +declare type GistsForkEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsForkRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsForkResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsForkResponseDataFiles = { + "hello_world.rb": GistsForkResponseDataFilesHelloWorldRb; +}; +declare type GistsForkResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsForkResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsForkResponseDataOwner; + truncated: boolean; +}; +declare 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; +}; +declare type GistsListForksRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForksResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForksResponseDataItem = { + user: GistsListForksResponseDataItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsListForksResponseData = Array; +declare type GistsStarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsStarRequestOptions = { + method: "PUT"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUnstarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsUnstarRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCheckIsStarredEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsCheckIsStarredRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * sha parameter + */ + sha: string; +}; +declare type GistsGetRevisionRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetRevisionResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetRevisionResponseDataHistoryItemUser; + change_status: GistsGetRevisionResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetRevisionResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataForksItem = { + user: GistsGetRevisionResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetRevisionResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFiles = { + "hello_world.rb": GistsGetRevisionResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetRevisionResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetRevisionResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetRevisionResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetRevisionResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetRevisionResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetRevisionResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GitignoreListTemplatesEndpoint = {}; +declare type GitignoreListTemplatesRequestOptions = { + method: "GET"; + url: "/gitignore/templates"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreListTemplatesResponseData = Array; +declare type GitignoreGetTemplateEndpoint = { + /** + * name parameter + */ + name: string; +}; +declare type GitignoreGetTemplateRequestOptions = { + method: "GET"; + url: "/gitignore/templates/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreGetTemplateResponseData = { + name: string; + source: string; +}; +declare type AppsListReposEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListReposRequestOptions = { + method: "GET"; + url: "/installation/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListReposResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListReposResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListReposResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListReposResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsRevokeInstallationTokenEndpoint = {}; +declare type AppsRevokeInstallationTokenRequestOptions = { + method: "DELETE"; + url: "/installation/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListRequestOptions = { + method: "GET"; + url: "/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListResponseDataItemUser; + labels: Array; + assignee: IssuesListResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListResponseDataItemRepository; +}; +declare type IssuesListResponseData = Array; +declare 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; +}; +declare type SearchIssuesLegacyRequestOptions = { + method: "GET"; + url: "/legacy/issues/search/:owner/:repository/:state/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesLegacyResponseDataIssuesItem = { + gravatar_id: string; + position: number; + number: number; + votes: number; + created_at: string; + comments: number; + body: string; + title: string; + updated_at: string; + html_url: string; + user: string; + labels: Array; + state: string; +}; +declare type SearchIssuesLegacyResponseData = { + issues: Array; +}; +declare 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"; +}; +declare type SearchReposLegacyRequestOptions = { + method: "GET"; + url: "/legacy/repos/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposLegacyResponseDataRepositoriesItem = { + type: string; + created: string; + watchers: number; + has_downloads: boolean; + username: string; + homepage: string; + url: string; + fork: boolean; + has_issues: boolean; + has_wiki: boolean; + forks: number; + size: number; + private: boolean; + followers: number; + name: string; + owner: string; + open_issues: number; + pushed_at: string; + score: number; + pushed: string; + description: string; + language: string; + created_at: string; +}; +declare type SearchReposLegacyResponseData = { + repositories: Array; +}; +declare type SearchEmailLegacyEndpoint = { + /** + * The email address. + */ + email: string; +}; +declare type SearchEmailLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/email/:email"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchEmailLegacyResponseDataUser = { + public_repo_count: number; + public_gist_count: number; + followers_count: number; + following_count: number; + created: string; + created_at: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + id: number; + login: string; + type: string; + gravatar_id: string; +}; +declare type SearchEmailLegacyResponseData = { + user: SearchEmailLegacyResponseDataUser; +}; +declare 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"; +}; +declare type SearchUsersLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersLegacyResponseDataUsersItem = { + gravatar_id: string; + name: string; + created_at: string; + location: string; + public_repo_count: number; + followers: number; + language: string; + fullname: string; + username: string; + id: string; + repos: number; + type: string; + followers_count: number; + login: string; + score: number; + created: string; +}; +declare type SearchUsersLegacyResponseData = { + users: Array; +}; +declare type LicensesListCommonlyUsedEndpoint = {}; +declare type LicensesListCommonlyUsedRequestOptions = { + method: "GET"; + url: "/licenses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesListCommonlyUsedResponseDataItem = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id?: string; +}; +declare type LicensesListCommonlyUsedResponseData = Array; +declare type LicensesGetEndpoint = { + /** + * license parameter + */ + license: string; +}; +declare type LicensesGetRequestOptions = { + method: "GET"; + url: "/licenses/:license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetResponseData = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; + html_url: string; + description: string; + implementation: string; + permissions: Array; + conditions: Array; + limitations: Array; + body: string; + featured: boolean; +}; +declare 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; +}; +declare type MarkdownRenderRequestOptions = { + method: "POST"; + url: "/markdown"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MarkdownRenderRawEndpoint = { + /** + * data parameter + */ + data: string; +} & { + headers: { + "content-type": "text/plain; charset=utf-8"; + }; +}; +declare type MarkdownRenderRawRequestOptions = { + method: "POST"; + url: "/markdown/raw"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountRequestOptions = { + method: "GET"; + url: "/marketplace_listing/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase; +}; +declare type AppsListPlansEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansResponseData = Array; +declare type AppsListAccountsForPlanEndpoint = { + /** + * 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; +}; +declare type AppsListAccountsForPlanRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanResponseData = Array; +declare type AppsGetSubscriptionPlanForAccountStubbedEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase; +}; +declare type AppsListPlansStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansStubbedResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansStubbedResponseData = Array; +declare type AppsListAccountsForPlanStubbedEndpoint = { + /** + * 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; +}; +declare type AppsListAccountsForPlanStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanStubbedResponseData = Array; +declare type MetaGetEndpoint = {}; +declare type MetaGetRequestOptions = { + method: "GET"; + url: "/meta"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MetaGetResponseDataSshKeyFingerprints = { + MD5_RSA: string; + MD5_DSA: string; + SHA256_RSA: string; + SHA256_DSA: string; +}; +declare type MetaGetResponseData = { + verifiable_password_authentication: boolean; + ssh_key_fingerprints: MetaGetResponseDataSshKeyFingerprints; + hooks: Array; + web: Array; + api: Array; + git: Array; + pages: Array; + importer: Array; +}; +declare 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; +}; +declare type ActivityListPublicEventsForRepoNetworkRequestOptions = { + method: "GET"; + url: "/networks/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ActivityListNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkNotificationsAsReadEndpoint = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadResponseDataSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityGetThreadResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityGetThreadResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityGetThreadResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityGetThreadResponseData = { + id: string; + repository: ActivityGetThreadResponseDataRepository; + subject: ActivityGetThreadResponseDataSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityMarkThreadAsReadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityMarkThreadAsReadRequestOptions = { + method: "PATCH"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare 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; +}; +declare type ActivitySetThreadSubscriptionRequestOptions = { + method: "PUT"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetThreadSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare type ActivityDeleteThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityDeleteThreadSubscriptionRequestOptions = { + method: "DELETE"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListEndpoint = { + /** + * The integer ID of the last organization that you've seen. + */ + since?: number; +}; +declare type OrgsListRequestOptions = { + method: "GET"; + url: "/organizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListResponseData = Array; +declare type OrgsGetEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetRequestOptions = { + method: "GET"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetResponseDataPlan = { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; +}; +declare type OrgsGetResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: number; + disk_usage?: number; + collaborators?: number; + billing_email?: string; + plan: OrgsGetResponseDataPlan; + default_repository_permission?: string; + members_can_create_repositories?: boolean; + two_factor_requirement_enabled?: boolean; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; +}; +declare 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 an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + 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 organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * 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 Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; +}; +declare type OrgsUpdateRequestOptions = { + method: "PATCH"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateResponseDataPlan = { + name: string; + space: number; + private_repos: number; +}; +declare type OrgsUpdateResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos: number; + owned_private_repos: number; + private_gists: number; + disk_usage: number; + collaborators: number; + billing_email: string; + plan: OrgsUpdateResponseDataPlan; + default_repository_permission: string; + members_can_create_repositories: boolean; + two_factor_requirement_enabled: boolean; + members_allowed_repository_creation_type: string; + members_can_create_public_repositories: boolean; + members_can_create_private_repositories: boolean; + members_can_create_internal_repositories: boolean; +}; +declare type ActionsListSelfHostedRunnersForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSelfHostedRunnersForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsListRunnerApplicationsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForOrgResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForOrgResponseData = Array; +declare type ActionsCreateRegistrationTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRegistrationTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRemoveTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForOrgResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListBlockedUsersRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListBlockedUsersResponseData = Array; +declare type OrgsCheckBlockedUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckBlockedUserRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsBlockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsBlockUserRequestOptions = { + method: "PUT"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUnblockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsUnblockUserRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListCredentialAuthorizationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/credential-authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsResponseDataItem = { + login: string; + credential_id: string; + credential_type: string; + token_last_eight: string; + credential_authorized_at: string; + scopes: Array; +}; +declare type OrgsListCredentialAuthorizationsResponseData = Array; +declare type OrgsRemoveCredentialAuthorizationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * credential_id parameter + */ + credential_id: number; +}; +declare type OrgsRemoveCredentialAuthorizationRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/credential-authorizations/:credential_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicOrgEventsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicOrgEventsRequestOptions = { + method: "GET"; + url: "/orgs/:org/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListHooksRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksResponseDataItemConfig = { + url: string; + content_type: string; +}; +declare type OrgsListHooksResponseDataItem = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsListHooksResponseData = Array; +declare 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; +}; +declare type OrgsCreateHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsCreateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsCreateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsGetHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsGetHookRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsGetHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsGetHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare 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; +}; +declare type OrgsUpdateHookRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsUpdateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsDeleteHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsDeleteHookRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPingHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsPingHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetOrgInstallationRequestOptions = { + method: "GET"; + url: "/orgs/:org/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetOrgInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetOrgInstallationResponseData = { + id: number; + account: AppsGetOrgInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetOrgInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type OrgsListInstallationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemPermissions = { + deployments: string; + metadata: string; + pull_requests: string; + statuses: string; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListInstallationsResponseDataInstallationsItem = { + id: number; + account: OrgsListInstallationsResponseDataInstallationsItemAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: OrgsListInstallationsResponseDataInstallationsItemPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsResponseData = { + total_count: number; + installations: Array; +}; +declare type InteractionsGetRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare 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"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPendingInvitationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPendingInvitationsResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsListPendingInvitationsResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type OrgsListPendingInvitationsResponseData = Array; +declare 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[]; +}; +declare type OrgsCreateInvitationRequestOptions = { + method: "POST"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsCreateInvitationResponseData = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsCreateInvitationResponseDataInviter; + team_count: number; + invitation_team_url: string; +}; +declare 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; +}; +declare type OrgsListInvitationTeamsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations/:invitation_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInvitationTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type OrgsListInvitationTeamsResponseData = Array; +declare 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; +}; +declare type IssuesListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForOrgResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForOrgResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForOrgResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForOrgResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForOrgResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForOrgResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForOrgResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForOrgResponseDataItemUser; + labels: Array; + assignee: IssuesListForOrgResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForOrgResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForOrgResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForOrgResponseDataItemRepository; +}; +declare type IssuesListForOrgResponseData = Array; +declare 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; +}; +declare type OrgsListMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembersResponseData = Array; +declare type OrgsCheckMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveMemberEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMemberRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsGetMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipResponseDataOrganization; + user: OrgsGetMembershipResponseDataUser; +}; +declare 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"; +}; +declare type OrgsAddOrUpdateMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsAddOrUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsAddOrUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsAddOrUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsAddOrUpdateMembershipResponseDataOrganization; + user: OrgsAddOrUpdateMembershipResponseDataUser; +}; +declare type OrgsRemoveMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type MigrationsStartForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsStartForOrgResponseData = { + id: number; + owner: MigrationsStartForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForOrgResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForOrgResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsListForOrgResponseDataItem = { + id: number; + owner: MigrationsListForOrgResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgResponseData = Array; +declare type MigrationsGetStatusForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsGetStatusForOrgResponseData = { + id: number; + owner: MigrationsGetStatusForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsDownloadArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDownloadArchiveForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForOrgResponseDataItemLicense; +}; +declare type MigrationsListReposForOrgResponseData = Array; +declare 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; +}; +declare type OrgsListOutsideCollaboratorsRequestOptions = { + method: "GET"; + url: "/orgs/:org/outside_collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListOutsideCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListOutsideCollaboratorsResponseData = Array; +declare type OrgsRemoveOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveOutsideCollaboratorRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorRequestOptions = { + method: "PUT"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConvertMemberToOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForOrgResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForOrgResponseData = Array; +declare type ProjectsCreateForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForOrgResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type OrgsListPublicMembersEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPublicMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPublicMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPublicMembersResponseData = Array; +declare type OrgsCheckPublicMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckPublicMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPublicizeMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsPublicizeMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConcealMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConcealMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. + */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member" | "internal"; + /** + * 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; +}; +declare type ReposListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForOrgResponseDataItemLicense; +}; +declare type ReposListForOrgResponseData = Array; +declare 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. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateInOrgResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateInOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateInOrgResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateInOrgResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateInOrgResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsListIdPGroupsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListIdPGroupsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/team-sync/groups"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForOrgResponseData = { + groups: Array; +}; +declare type TeamsListEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type TeamsListResponseData = Array; +declare type TeamsCreateEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + 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` + */ + 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. + */ + parent_team_id?: number; +}; +declare type TeamsCreateRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsCreateResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsCreateResponseDataOrganization; +}; +declare type TeamsGetByNameEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsGetByNameRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetByNameResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetByNameResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetByNameResponseDataOrganization; +}; +declare type TeamsUpdateInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + 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. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateInOrgResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateInOrgResponseDataOrganization; +}; +declare type TeamsDeleteInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsDeleteInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsListDiscussionsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsInOrgResponseDataItem = { + author: TeamsListDiscussionsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionsInOrgResponseData = Array; +declare type TeamsCreateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsCreateDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionInOrgResponseData = { + author: TeamsCreateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionInOrgResponseData = { + author: TeamsGetDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; +}; +declare type TeamsUpdateDiscussionInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionInOrgResponseData = { + author: TeamsUpdateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsListDiscussionCommentsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItem = { + author: TeamsListDiscussionCommentsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseData = Array; +declare type TeamsCreateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseData = { + author: TeamsCreateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentInOrgResponseData = { + author: TeamsGetDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseData = { + author: TeamsUpdateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionCommentEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionCommentRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsInOrgResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsInOrgResponseData = Array; +declare type TeamsListMembersInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsListMembersInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersInOrgResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersInOrgResponseData = Array; +declare type TeamsGetMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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"; +}; +declare type TeamsAddOrUpdateMembershipInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsInOrgResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsInOrgResponseDataItemPermissions; +}; +declare type TeamsListProjectsInOrgResponseData = Array; +declare type TeamsReviewProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectInOrgResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectInOrgResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectInOrgResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposInOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposInOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposInOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposInOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposInOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposInOrgResponseDataItemLicense; +}; +declare type TeamsListReposInOrgResponseData = Array; +declare type TeamsCheckManagesRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseData = { + organization: TeamsCheckManagesRepoInOrgResponseDataOrganization; + parent: TeamsCheckManagesRepoInOrgResponseDataParent; + source: TeamsCheckManagesRepoInOrgResponseDataSource; + permissions: TeamsCheckManagesRepoInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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. + * \* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations. + * \* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type TeamsAddOrUpdateRepoInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsListIdPGroupsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsInOrgResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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: TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseData = { + groups: TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups; +}; +declare type TeamsListChildInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildInOrgResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildInOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildInOrgResponseDataItemParent; +}; +declare type TeamsListChildInOrgResponseData = Array; +declare type ProjectsGetCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetCardRequestOptions = { + method: "GET"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsGetCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateCardRequestOptions = { + method: "PATCH"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsUpdateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsDeleteCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteCardRequestOptions = { + method: "DELETE"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveCardRequestOptions = { + method: "POST"; + url: "/projects/columns/cards/:card_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetColumnRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsUpdateColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * The new name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateColumnRequestOptions = { + method: "PATCH"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteColumnRequestOptions = { + method: "DELETE"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListCardsRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCardsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCardsResponseDataItem = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsListCardsResponseDataItemCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsListCardsResponseData = Array; +declare 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 repository issues](https://developer.github.com/v3/issues/#list-repository-issues) 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; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateCardRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsCreateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveColumnRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetRequestOptions = { + method: "GET"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsGetResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateRequestOptions = { + method: "PATCH"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsUpdateResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListCollaboratorsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCollaboratorsResponseData = Array; +declare 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"; +} & RequiredPreview<"inertia">; +declare type ProjectsAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsRemoveCollaboratorEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsReviewUserPermissionLevelRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsReviewUserPermissionLevelResponseData = { + permission: string; + user: ProjectsReviewUserPermissionLevelResponseDataUser; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListColumnsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListColumnsResponseDataItem = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsListColumnsResponseData = Array; +declare type ProjectsCreateColumnEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * The name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateColumnRequestOptions = { + method: "POST"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type RateLimitGetEndpoint = {}; +declare type RateLimitGetRequestOptions = { + method: "GET"; + url: "/rate_limit"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type RateLimitGetResponseDataRate = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesIntegrationManifest = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesGraphql = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesSearch = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesCore = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResources = { + core: RateLimitGetResponseDataResourcesCore; + search: RateLimitGetResponseDataResourcesSearch; + graphql: RateLimitGetResponseDataResourcesGraphql; + integration_manifest: RateLimitGetResponseDataResourcesIntegrationManifest; +}; +declare type RateLimitGetResponseData = { + resources: RateLimitGetResponseDataResources; + rate: RateLimitGetResponseDataRate; +}; +declare type ReactionsDeleteLegacyEndpoint = { + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetResponseDataCodeOfConduct = { + key: string; + name: string; + url: string; +}; +declare type ReposGetResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposGetResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataOwner; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template?: boolean; + topics?: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions?: ReposGetResponseDataPermissions; + allow_rebase_merge?: boolean; + template_repository?: null; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_merge_commit?: boolean; + subscribers_count: number; + network_count: number; + license?: ReposGetResponseDataLicense; + organization?: ReposGetResponseDataOrganization; + parent?: ReposGetResponseDataParent; + source?: ReposGetResponseDataSource; + forks?: number; + open_issues?: number; + watchers?: number; + code_of_conduct?: ReposGetResponseDataCodeOfConduct; +}; +declare 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. 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; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + */ + archived?: boolean; +}; +declare type ReposUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; + organization: ReposUpdateResponseDataOrganization; + parent: ReposUpdateResponseDataParent; + source: ReposUpdateResponseDataSource; +}; +declare type ReposDeleteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposDeleteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteResponseData = { + message: string; + documentation_url: string; +}; +declare type ActionsListArtifactsForRepoEndpoint = { + /** + * 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; +}; +declare type ActionsListArtifactsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListArtifactsForRepoResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListArtifactsForRepoResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsGetArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsGetArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetArtifactResponseData = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsDeleteArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsDeleteArtifactRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDownloadArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; + /** + * archive_format parameter + */ + archive_format: string; +}; +declare type ActionsDownloadArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsGetWorkflowJobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobResponseDataStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsGetWorkflowJobResponseData = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsDownloadWorkflowJobLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsDownloadWorkflowJobLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoEndpoint = { + /** + * 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; +}; +declare type ActionsListSelfHostedRunnersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsListRunnerApplicationsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForRepoResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForRepoResponseData = Array; +declare type ActionsCreateRegistrationTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRegistrationTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRemoveTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForRepoResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListRepoWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListRepoWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare type ActionsGetWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsGetWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsGetWorkflowRunResponseDataHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsGetWorkflowRunResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsGetWorkflowRunResponseDataHeadCommitAuthor; + committer: ActionsGetWorkflowRunResponseDataHeadCommitCommitter; +}; +declare type ActionsGetWorkflowRunResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsGetWorkflowRunResponseDataHeadCommit; + repository: ActionsGetWorkflowRunResponseDataRepository; + head_repository: ActionsGetWorkflowRunResponseDataHeadRepository; +}; +declare type ActionsListWorkflowRunArtifactsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunArtifactsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunArtifactsResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListWorkflowRunArtifactsResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsCancelWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsCancelWorkflowRunRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Filters jobs by their `completed_at` timestamp. Can be one of: + * \* `latest`: Returns jobs from the most recent execution of the workflow run. + * \* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListJobsForWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItemStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItem = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsListJobsForWorkflowRunResponseData = { + total_count: number; + jobs: Array; +}; +declare type ActionsDownloadWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDownloadWorkflowRunLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDeleteWorkflowRunLogsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsReRunWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsReRunWorkflowRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoEndpoint = { + /** + * 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; +}; +declare type ActionsListSecretsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoResponseDataSecretsItem = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsListSecretsForRepoResponseData = { + total_count: number; + secrets: Array; +}; +declare type ActionsGetPublicKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsGetPublicKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/public-key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type ActionsGetSecretEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsGetSecretRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSecretResponseData = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get your public key](https://developer.github.com/v3/actions/secrets/#get-your-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteSecretFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsDeleteSecretFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsEndpoint = { + /** + * 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; +}; +declare type ActionsListRepoWorkflowsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsResponseDataWorkflowsItem = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListRepoWorkflowsResponseData = { + total_count: number; + workflows: Array; +}; +declare type ActionsGetWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; +}; +declare type ActionsGetWorkflowRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowResponseData = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare 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; +}; +declare type IssuesListAssigneesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListAssigneesResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListAssigneesResponseData = Array; +declare type IssuesCheckAssigneeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * assignee parameter + */ + assignee: string; +}; +declare type IssuesCheckAssigneeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees/:assignee"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposEnableAutomatedSecurityFixesRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposDisableAutomatedSecurityFixesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListBranchesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesResponseDataItemProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposListBranchesResponseDataItemProtection = { + enabled: boolean; + required_status_checks: ReposListBranchesResponseDataItemProtectionRequiredStatusChecks; +}; +declare type ReposListBranchesResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesResponseDataItem = { + name: string; + commit: ReposListBranchesResponseDataItemCommit; + protected: boolean; + protection: ReposListBranchesResponseDataItemProtection; + protection_url: string; +}; +declare type ReposListBranchesResponseData = Array; +declare type ReposGetBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchResponseDataProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposGetBranchResponseDataProtection = { + enabled: boolean; + required_status_checks: ReposGetBranchResponseDataProtectionRequiredStatusChecks; +}; +declare type ReposGetBranchResponseDataLinks = { + html: string; + self: string; +}; +declare type ReposGetBranchResponseDataCommitCommitter = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitParentsItem = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitAuthor = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetBranchResponseDataCommitCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommit = { + author: ReposGetBranchResponseDataCommitCommitAuthor; + url: string; + message: string; + tree: ReposGetBranchResponseDataCommitCommitTree; + committer: ReposGetBranchResponseDataCommitCommitCommitter; + verification: ReposGetBranchResponseDataCommitCommitVerification; +}; +declare type ReposGetBranchResponseDataCommit = { + sha: string; + node_id: string; + commit: ReposGetBranchResponseDataCommitCommit; + author: ReposGetBranchResponseDataCommitAuthor; + parents: Array; + url: string; + committer: ReposGetBranchResponseDataCommitCommitter; +}; +declare type ReposGetBranchResponseData = { + name: string; + commit: ReposGetBranchResponseDataCommit; + _links: ReposGetBranchResponseDataLinks; + protected: boolean; + protection: ReposGetBranchResponseDataProtection; + protection_url: string; +}; +declare type ReposGetBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchProtectionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposGetBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposGetBranchProtectionResponseData = { + url: string; + required_status_checks: ReposGetBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposGetBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposGetBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposGetBranchProtectionResponseDataRestrictions; + required_linear_history: ReposGetBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposGetBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposGetBranchProtectionResponseDataAllowDeletions; +}; +declare 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 the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; + /** + * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. + */ + required_linear_history?: boolean; + /** + * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." + */ + allow_force_pushes?: boolean | null; + /** + * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. + */ + allow_deletions?: boolean; +}; +declare type ReposUpdateBranchProtectionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposUpdateBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposUpdateBranchProtectionResponseData = { + url: string; + required_status_checks: ReposUpdateBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposUpdateBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposUpdateBranchProtectionResponseDataRestrictions; + required_linear_history: ReposUpdateBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposUpdateBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposUpdateBranchProtectionResponseDataAllowDeletions; +}; +declare type ReposRemoveBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveBranchProtectionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchAdminEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposAddProtectedBranchAdminEnforcementRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare 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; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposGetProtectedBranchRequiredSignaturesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposAddProtectedBranchRequiredSignaturesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposRemoveProtectedBranchRequiredSignaturesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare 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[]; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposGetProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRestrictionsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions; + events: Array; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchRestrictionsResponseData = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposRemoveProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions; + events: Array; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposAddProtectedBranchAppRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposGetTeamsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposAddProtectedBranchTeamRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposGetUsersWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetUsersWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposAddProtectedBranchUserRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseData = Array; +declare 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. If the integrator does not provide this, then the homepage of the GitHub app is used. + */ + 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`, `skipped`, `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`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "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[]; +} & RequiredPreview<"antiope">; +declare type ChecksCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksCreateResponseDataPullRequestsItemHead; + base: ChecksCreateResponseDataPullRequestsItemBase; +}; +declare type ChecksCreateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksCreateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count?: number; + annotations_url?: string; +}; +declare type ChecksCreateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: null | string; + started_at: string; + completed_at: null | string; + output: ChecksCreateResponseDataOutput; + name: string; + check_suite: ChecksCreateResponseDataCheckSuite; + app: ChecksCreateResponseDataApp; + pull_requests: Array; +}; +declare 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`, `skipped`, `timed_out`, or `action_required`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "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[]; +} & RequiredPreview<"antiope">; +declare type ChecksUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksUpdateResponseDataPullRequestsItemHead; + base: ChecksUpdateResponseDataPullRequestsItemBase; +}; +declare type ChecksUpdateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksUpdateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksUpdateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksUpdateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksUpdateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksUpdateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksUpdateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksUpdateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksUpdateResponseDataOutput; + name: string; + check_suite: ChecksUpdateResponseDataCheckSuite; + app: ChecksUpdateResponseDataApp; + pull_requests: Array; +}; +declare type ChecksGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksGetResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksGetResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksGetResponseDataPullRequestsItemHead; + base: ChecksGetResponseDataPullRequestsItemBase; +}; +declare type ChecksGetResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetResponseDataCheckSuite = { + id: number; +}; +declare type ChecksGetResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksGetResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksGetResponseDataOutput; + name: string; + check_suite: ChecksGetResponseDataCheckSuite; + app: ChecksGetResponseDataApp; + pull_requests: Array; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListAnnotationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id/annotations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListAnnotationsResponseDataItem = { + path: string; + start_line: number; + end_line: number; + start_column: number; + end_column: number; + annotation_level: string; + title: string; + message: string; + raw_details: string; +}; +declare type ChecksListAnnotationsResponseData = Array; +declare type ChecksCreateSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The sha of the head commit. + */ + head_sha: string; +} & RequiredPreview<"antiope">; +declare type ChecksCreateSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksCreateSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksCreateSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksCreateSuiteResponseDataApp; + repository: ChecksCreateSuiteResponseDataRepository; +}; +declare 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[]; +} & RequiredPreview<"antiope">; +declare type ChecksSetSuitesPreferencesRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-suites/preferences"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksSetSuitesPreferencesResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksSetSuitesPreferencesResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferencesAutoTriggerChecksItem = { + app_id: number; + setting: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferences = { + auto_trigger_checks: Array; +}; +declare type ChecksSetSuitesPreferencesResponseData = { + preferences: ChecksSetSuitesPreferencesResponseDataPreferences; + repository: ChecksSetSuitesPreferencesResponseDataRepository; +}; +declare type ChecksGetSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksGetSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksGetSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksGetSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksGetSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksGetSuiteResponseDataApp; + repository: ChecksGetSuiteResponseDataRepository; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListForSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForSuiteResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForSuiteResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForSuiteResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForSuiteResponseDataCheckRunsItemCheckSuite; + app: ChecksListForSuiteResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForSuiteResponseData = { + total_count: number; + check_runs: Array; +}; +declare type ChecksRerequestSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksRerequestSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Set to `closed` to list only closed code scanning alerts. + */ + state?: string; + /** + * Returns a list of code scanning alerts for a specific brach reference. The `ref` must be formatted as `heads/`. + */ + ref?: string; +}; +declare type CodeScanningListAlertsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoResponseDataItem = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare type CodeScanningListAlertsForRepoResponseData = Array; +declare type CodeScanningGetAlertEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * alert_id parameter + */ + alert_id: number; +}; +declare type CodeScanningGetAlertRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts/:alert_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningGetAlertResponseData = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare 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; +}; +declare type ReposListCollaboratorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCollaboratorsResponseDataItemPermissions = { + pull: boolean; + push: boolean; + admin: boolean; +}; +declare type ReposListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + permissions: ReposListCollaboratorsResponseDataItemPermissions; +}; +declare type ReposListCollaboratorsResponseData = Array; +declare type ReposCheckCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposCheckCollaboratorRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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. + * \* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. + * \* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type ReposAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddCollaboratorResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposAddCollaboratorResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposAddCollaboratorResponseData = { + id: number; + repository: ReposAddCollaboratorResponseDataRepository; + invitee: ReposAddCollaboratorResponseDataInvitee; + inviter: ReposAddCollaboratorResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposRemoveCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposGetCollaboratorPermissionLevelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCollaboratorPermissionLevelResponseData = { + permission: string; + user: ReposGetCollaboratorPermissionLevelResponseDataUser; +}; +declare 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; +}; +declare type ReposListCommitCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitCommentsResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommitCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommitCommentsResponseData = Array; +declare type ReposGetCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposGetCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposGetCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposUpdateCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment + */ + body: string; +}; +declare type ReposUpdateCommitCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposUpdateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposDeleteCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposDeleteCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForCommitCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForCommitCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForCommitCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForCommitCommentResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForCommitCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForCommitCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommit = { + url: string; + author: ReposListCommitsResponseDataItemCommitAuthor; + committer: ReposListCommitsResponseDataItemCommitCommitter; + message: string; + tree: ReposListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: ReposListCommitsResponseDataItemCommitVerification; +}; +declare type ReposListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposListCommitsResponseDataItemCommit; + author: ReposListCommitsResponseDataItemAuthor; + committer: ReposListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type ReposListCommitsResponseData = Array; +declare type ReposListBranchesForHeadCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +} & RequiredPreview<"groot">; +declare type ReposListBranchesForHeadCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/branches-where-head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesForHeadCommitResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesForHeadCommitResponseDataItem = { + name: string; + commit: ReposListBranchesForHeadCommitResponseDataItemCommit; + protected: boolean; +}; +declare type ReposListBranchesForHeadCommitResponseData = Array; +declare 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; +}; +declare type ReposListCommentsForCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommentsForCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommentsForCommitResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommentsForCommitResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommentsForCommitResponseData = Array; +declare 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; +}; +declare type ReposCreateCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposCreateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare 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; +} & RequiredPreview<"groot">; +declare type ReposListPullRequestsAssociatedWithCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks = { + self: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf; + html: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml; + issue: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue; + comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments; + review_comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments; + review_comment: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment; + commits: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits; + statuses: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemUser; + body: string; + labels: Array; + milestone: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: ReposListPullRequestsAssociatedWithCommitResponseDataItemHead; + base: ReposListPullRequestsAssociatedWithCommitResponseDataItemBase; + _links: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseData = Array; +declare type ReposGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitResponseDataFilesItem = { + filename: string; + additions: number; + deletions: number; + changes: number; + status: string; + raw_url: string; + blob_url: string; + patch: string; +}; +declare type ReposGetCommitResponseDataStats = { + additions: number; + deletions: number; + total: number; +}; +declare type ReposGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetCommitResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommit = { + url: string; + author: ReposGetCommitResponseDataCommitAuthor; + committer: ReposGetCommitResponseDataCommitCommitter; + message: string; + tree: ReposGetCommitResponseDataCommitTree; + comment_count: number; + verification: ReposGetCommitResponseDataCommitVerification; +}; +declare type ReposGetCommitResponseData = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposGetCommitResponseDataCommit; + author: ReposGetCommitResponseDataAuthor; + committer: ReposGetCommitResponseDataCommitter; + parents: Array; + stats: ReposGetCommitResponseDataStats; + files: Array; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForRefResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForRefResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForRefResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForRefResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForRefResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForRefResponseDataCheckRunsItemCheckSuite; + app: ChecksListForRefResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForRefResponseData = { + total_count: number; + check_runs: Array; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListSuitesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions; + events: Array; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksListSuitesForRefResponseDataCheckSuitesItemApp; + repository: ChecksListSuitesForRefResponseDataCheckSuitesItemRepository; +}; +declare type ChecksListSuitesForRefResponseData = { + total_count: number; + check_suites: Array; +}; +declare type ReposGetCombinedStatusForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCombinedStatusForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/status"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetCombinedStatusForRefResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposGetCombinedStatusForRefResponseDataStatusesItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; +}; +declare type ReposGetCombinedStatusForRefResponseData = { + state: string; + statuses: Array; + sha: string; + total_count: number; + repository: ReposGetCombinedStatusForRefResponseDataRepository; + commit_url: string; + url: string; +}; +declare 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; +}; +declare type ReposListStatusesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListStatusesForRefResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListStatusesForRefResponseDataItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposListStatusesForRefResponseDataItemCreator; +}; +declare type ReposListStatusesForRefResponseData = Array; +declare type CodesOfConductGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/code_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetForRepoResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare type ReposRetrieveCommunityProfileMetricsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRetrieveCommunityProfileMetricsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/profile"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense = { + name: string; + key: string; + spdx_id: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct = { + name: string; + key: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFiles = { + code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct; + contributing: ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing; + issue_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate; + pull_request_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate; + license: ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense; + readme: ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseData = { + health_percentage: number; + description: string; + documentation: boolean; + files: ReposRetrieveCommunityProfileMetricsResponseDataFiles; + updated_at: string; +}; +declare type ReposCompareCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * base parameter + */ + base: string; + /** + * head parameter + */ + head: string; +}; +declare type ReposCompareCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/compare/:base...:head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCompareCommitsResponseDataFilesItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommit = { + url: string; + author: ReposCompareCommitsResponseDataCommitsItemCommitAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataCommitsItemCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataCommitsItemCommitVerification; +}; +declare type ReposCompareCommitsResponseDataCommitsItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataCommitsItemCommit; + author: ReposCompareCommitsResponseDataCommitsItemAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataMergeBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataMergeBaseCommitCommit; + author: ReposCompareCommitsResponseDataMergeBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataBaseCommitCommit; + author: ReposCompareCommitsResponseDataBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseData = { + url: string; + html_url: string; + permalink_url: string; + diff_url: string; + patch_url: string; + base_commit: ReposCompareCommitsResponseDataBaseCommit; + merge_base_commit: ReposCompareCommitsResponseDataMergeBaseCommit; + status: string; + ahead_by: number; + behind_by: number; + total_commits: number; + commits: Array; + files: Array; +}; +declare 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; +}; +declare type ReposGetContentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContentsResponseDataItemLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposGetContentsResponseDataItem = { + type: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataItemLinks; +}; +declare type ReposGetContentsResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetContentsResponseData = { + type: string; + encoding?: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataLinks; + target?: string; + submodule_git_url?: string; +} | Array; +declare 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; +}; +declare type ReposCreateOrUpdateFileRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposCreateOrUpdateFileResponseDataCommitAuthor; + committer: ReposCreateOrUpdateFileResponseDataCommitCommitter; + message: string; + tree: ReposCreateOrUpdateFileResponseDataCommitTree; + parents: Array; + verification: ReposCreateOrUpdateFileResponseDataCommitVerification; +}; +declare type ReposCreateOrUpdateFileResponseDataContentLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposCreateOrUpdateFileResponseDataContent = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + _links: ReposCreateOrUpdateFileResponseDataContentLinks; +}; +declare type ReposCreateOrUpdateFileResponseData = { + content: ReposCreateOrUpdateFileResponseDataContent; + commit: ReposCreateOrUpdateFileResponseDataCommit; +}; +declare 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; +}; +declare type ReposDeleteFileRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposDeleteFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposDeleteFileResponseDataCommitAuthor; + committer: ReposDeleteFileResponseDataCommitCommitter; + message: string; + tree: ReposDeleteFileResponseDataCommitTree; + parents: Array; + verification: ReposDeleteFileResponseDataCommitVerification; +}; +declare type ReposDeleteFileResponseData = { + content: null; + commit: ReposDeleteFileResponseDataCommit; +}; +declare 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; +}; +declare type ReposListContributorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListContributorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + contributions: number; +}; +declare type ReposListContributorsResponseData = Array; +declare 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; +}; +declare type ReposListDeploymentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentsResponseDataItemPayload = { + deploy: string; +}; +declare type ReposListDeploymentsResponseDataItem = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposListDeploymentsResponseDataItemPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposListDeploymentsResponseDataItemCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposListDeploymentsResponseData = Array; +declare 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; +}; +declare type ReposCreateDeploymentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposCreateDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposCreateDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposCreateDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposGetDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposGetDeploymentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposGetDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposGetDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposGetDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposDeleteDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposDeleteDeploymentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListDeploymentStatusesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentStatusesResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentStatusesResponseDataItem = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposListDeploymentStatusesResponseDataItemCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposListDeploymentStatusesResponseData = Array; +declare 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; +}; +declare type ReposCreateDeploymentStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposCreateDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposGetDeploymentStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * status_id parameter + */ + status_id: number; +}; +declare type ReposGetDeploymentStatusRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposGetDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposCreateDispatchEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * **Required:** A custom webhook event name. + */ + event_type?: string; + /** + * JSON payload with extra information about the webhook event that your action or worklow may use. + */ + client_payload?: ReposCreateDispatchEventParamsClientPayload; +}; +declare type ReposCreateDispatchEventRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/dispatches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListDownloadsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDownloadsResponseDataItem = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposListDownloadsResponseData = Array; +declare type ReposGetDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposGetDownloadRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDownloadResponseData = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposDeleteDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposDeleteDownloadRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ActivityListRepoEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListForksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForksResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForksResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForksResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForksResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForksResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForksResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForksResponseDataItemLicense; +}; +declare type ReposListForksResponseData = Array; +declare type ReposCreateForkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; +}; +declare type ReposCreateForkRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForkResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForkResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForkResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForkResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare 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; +}; +declare type GitCreateBlobRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/blobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateBlobResponseData = { + url: string; + sha: string; +}; +declare type GitGetBlobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * file_sha parameter + */ + file_sha: string; +}; +declare type GitGetBlobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/blobs/:file_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetBlobResponseData = { + content: string; + encoding: string; + url: string; + sha: string; + size: number; +}; +declare 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; +}; +declare type GitCreateCommitRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseData = { + sha: string; + node_id: string; + url: string; + author: GitCreateCommitResponseDataAuthor; + committer: GitCreateCommitResponseDataCommitter; + message: string; + tree: GitCreateCommitResponseDataTree; + parents: Array; + verification: GitCreateCommitResponseDataVerification; +}; +declare type GitGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +}; +declare type GitGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/commits/:commit_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseData = { + sha: string; + url: string; + author: GitGetCommitResponseDataAuthor; + committer: GitGetCommitResponseDataCommitter; + message: string; + tree: GitGetCommitResponseDataTree; + parents: Array; + verification: GitGetCommitResponseDataVerification; +}; +declare 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; +}; +declare type GitListMatchingRefsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/matching-refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitListMatchingRefsResponseDataItemObject = { + type: string; + sha: string; + url: string; +}; +declare type GitListMatchingRefsResponseDataItem = { + ref: string; + node_id: string; + url: string; + object: GitListMatchingRefsResponseDataItemObject; +}; +declare type GitListMatchingRefsResponseData = Array; +declare type GitGetRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitGetRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/ref/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitGetRefResponseDataObject; +}; +declare 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; +}; +declare type GitCreateRefRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/refs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitCreateRefResponseDataObject; +}; +declare 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; +}; +declare type GitUpdateRefRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitUpdateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitUpdateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitUpdateRefResponseDataObject; +}; +declare type GitDeleteRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitDeleteRefRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type GitCreateTagRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitCreateTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitCreateTagResponseDataTagger; + object: GitCreateTagResponseDataObject; + verification: GitCreateTagResponseDataVerification; +}; +declare type GitGetTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag_sha parameter + */ + tag_sha: string; +}; +declare type GitGetTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/tags/:tag_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitGetTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitGetTagResponseDataTagger; + object: GitGetTagResponseDataObject; + verification: GitGetTagResponseDataVerification; +}; +declare 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; +}; +declare type GitCreateTreeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/trees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size: number; + sha: string; + url: string; +}; +declare type GitCreateTreeResponseData = { + sha: string; + url: string; + tree: Array; +}; +declare type GitGetTreeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tree_sha parameter + */ + tree_sha: string; + /** + * recursive parameter + */ + recursive?: "1"; +}; +declare type GitGetTreeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/trees/:tree_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size?: number; + sha: string; + url: string; +}; +declare type GitGetTreeResponseData = { + sha: string; + url: string; + tree: Array; + truncated: boolean; +}; +declare 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; +}; +declare type ReposListHooksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListHooksResponseDataItemLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposListHooksResponseDataItemConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposListHooksResponseDataItem = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposListHooksResponseDataItemLastResponse; +}; +declare type ReposListHooksResponseData = Array; +declare 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; +}; +declare type ReposCreateHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposCreateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposCreateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposCreateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposCreateHookResponseDataLastResponse; +}; +declare type ReposGetHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposGetHookRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposGetHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposGetHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposGetHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposGetHookResponseDataLastResponse; +}; +declare 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; +}; +declare type ReposUpdateHookRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposUpdateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposUpdateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposUpdateHookResponseDataLastResponse; +}; +declare type ReposDeleteHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposDeleteHookRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposPingHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposPingHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTestPushHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposTestPushHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/tests"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type MigrationsStartImportRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + percent: number; + commit_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type MigrationsGetImportProgressEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetImportProgressRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetImportProgressResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare 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; +}; +declare type MigrationsUpdateImportRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUpdateImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + url: string; + html_url: string; + authors_url: string; + repository_url: string; + tfvc_project?: string; + status_text?: string; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + authors_count?: number; + percent?: number; + commit_count?: number; +}; +declare type MigrationsCancelImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsCancelImportRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type MigrationsGetCommitAuthorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/authors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetCommitAuthorsResponseDataItem = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetCommitAuthorsResponseData = Array; +declare 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; +}; +declare type MigrationsMapCommitAuthorRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/authors/:author_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsMapCommitAuthorResponseData = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetLargeFilesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetLargeFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/large_files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetLargeFilesResponseDataItem = { + ref_name: string; + path: string; + oid: string; + size: number; +}; +declare type MigrationsGetLargeFilesResponseData = Array; +declare 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"; +}; +declare type MigrationsSetLfsPreferenceRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/lfs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsSetLfsPreferenceResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type AppsGetRepoInstallationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetRepoInstallationRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetRepoInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetRepoInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetRepoInstallationResponseData = { + id: number; + account: AppsGetRepoInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetRepoInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type InteractionsGetRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare 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"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListInvitationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsResponseDataItem = { + id: number; + repository: ReposListInvitationsResponseDataItemRepository; + invitee: ReposListInvitationsResponseDataItemInvitee; + inviter: ReposListInvitationsResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsResponseData = Array; +declare type ReposDeleteInvitationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeleteInvitationRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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`, `maintain`, `triage`, and `admin`. + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; +}; +declare type ReposUpdateInvitationRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateInvitationResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposUpdateInvitationResponseData = { + id: number; + repository: ReposUpdateInvitationResponseDataRepository; + invitee: ReposUpdateInvitationResponseDataInvitee; + inviter: ReposUpdateInvitationResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare 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; +}; +declare type IssuesListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForRepoResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForRepoResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForRepoResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForRepoResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForRepoResponseDataItemUser; + labels: Array; + assignee: IssuesListForRepoResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForRepoResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForRepoResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListForRepoResponseData = Array; +declare 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[]; +}; +declare type IssuesCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesCreateResponseDataUser; + labels: Array; + assignee: IssuesCreateResponseDataAssignee; + assignees: Array; + milestone: IssuesCreateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesCreateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesCreateResponseDataClosedBy; +}; +declare 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; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsForRepoResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsForRepoResponseData = Array; +declare type IssuesGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesUpdateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueCommentResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListEventsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForRepoResponseDataItemIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListEventsForRepoResponseDataItemIssueUser; + labels: Array; + assignee: IssuesListEventsForRepoResponseDataItemIssueAssignee; + assignees: Array; + milestone: IssuesListEventsForRepoResponseDataItemIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListEventsForRepoResponseDataItemIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListEventsForRepoResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForRepoResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesListEventsForRepoResponseDataItemIssue; +}; +declare type IssuesListEventsForRepoResponseData = Array; +declare type IssuesGetEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * event_id parameter + */ + event_id: number; +}; +declare type IssuesGetEventRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events/:event_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetEventResponseDataIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetEventResponseDataIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetEventResponseDataIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetEventResponseDataIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetEventResponseDataIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetEventResponseDataIssueUser; + labels: Array; + assignee: IssuesGetEventResponseDataIssueAssignee; + assignees: Array; + milestone: IssuesGetEventResponseDataIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetEventResponseDataIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesGetEventResponseDataActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseData = { + id: number; + node_id: string; + url: string; + actor: IssuesGetEventResponseDataActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesGetEventResponseDataIssue; +}; +declare type IssuesGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetResponseDataUser; + labels: Array; + assignee: IssuesGetResponseDataAssignee; + assignees: Array; + milestone: IssuesGetResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesGetResponseDataClosedBy; +}; +declare 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[]; +}; +declare type IssuesUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesUpdateResponseDataUser; + labels: Array; + assignee: IssuesUpdateResponseDataAssignee; + assignees: Array; + milestone: IssuesUpdateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesUpdateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesUpdateResponseDataClosedBy; +}; +declare 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[]; +}; +declare type IssuesAddAssigneesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesAddAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesAddAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesAddAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesAddAssigneesResponseDataUser; + labels: Array; + assignee: IssuesAddAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesAddAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesAddAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare 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[]; +}; +declare type IssuesRemoveAssigneesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesRemoveAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesRemoveAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesRemoveAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesRemoveAssigneesResponseDataUser; + labels: Array; + assignee: IssuesRemoveAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesRemoveAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesRemoveAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare 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; +}; +declare type IssuesListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsResponseData = Array; +declare type IssuesCreateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare 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; +}; +declare type IssuesListEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsResponseData = Array; +declare 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; +}; +declare type IssuesListLabelsOnIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsOnIssueResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsOnIssueResponseData = Array; +declare 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[]; +}; +declare type IssuesAddLabelsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddLabelsResponseData = Array; +declare type IssuesReplaceAllLabelsEndpoint = { + /** + * 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[]; +}; +declare type IssuesReplaceAllLabelsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesReplaceAllLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesReplaceAllLabelsResponseData = Array; +declare type IssuesRemoveAllLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesRemoveAllLabelsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * name parameter + */ + name: string; +}; +declare type IssuesRemoveLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveLabelResponseData = Array; +declare 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"; +}; +declare type IssuesLockRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUnlockEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesUnlockRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"mockingbird">; +declare type IssuesListEventsForTimelineRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/timeline"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForTimelineResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForTimelineResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForTimelineResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsForTimelineResponseData = Array; +declare 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; +}; +declare type ReposListDeployKeysRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeployKeysResponseDataItem = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposListDeployKeysResponseData = Array; +declare 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; +}; +declare type ReposAddDeployKeyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposGetDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposGetDeployKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposRemoveDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposRemoveDeployKeyRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListLabelsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForRepoResponseData = Array; +declare 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; +}; +declare type IssuesCreateLabelRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesGetLabelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare 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; +}; +declare type IssuesUpdateLabelRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesDeleteLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesDeleteLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposListLanguagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/languages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesResponseData = { + C: number; + Python: number; +}; +declare type LicensesGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type LicensesGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetForRepoResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type LicensesGetForRepoResponseDataLinks = { + self: string; + git: string; + html: string; +}; +declare type LicensesGetForRepoResponseData = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + content: string; + encoding: string; + _links: LicensesGetForRepoResponseDataLinks; + license: LicensesGetForRepoResponseDataLicense; +}; +declare 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; +}; +declare type ReposMergeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/merges"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposMergeResponseDataParentsItem = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposMergeResponseDataCommitTree = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommit = { + author: ReposMergeResponseDataCommitAuthor; + committer: ReposMergeResponseDataCommitCommitter; + message: string; + tree: ReposMergeResponseDataCommitTree; + url: string; + comment_count: number; + verification: ReposMergeResponseDataCommitVerification; +}; +declare type ReposMergeResponseData = { + sha: string; + node_id: string; + commit: ReposMergeResponseDataCommit; + url: string; + html_url: string; + comments_url: string; + author: ReposMergeResponseDataAuthor; + committer: ReposMergeResponseDataCommitter; + parents: Array; +}; +declare 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; +}; +declare type IssuesListMilestonesForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListMilestonesForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListMilestonesForRepoResponseDataItem = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListMilestonesForRepoResponseDataItemCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListMilestonesForRepoResponseData = Array; +declare 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; +}; +declare type IssuesCreateMilestoneRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesGetMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare 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; +}; +declare type IssuesUpdateMilestoneRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesDeleteMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesDeleteMilestoneRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListLabelsForMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForMilestoneResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForMilestoneResponseData = Array; +declare type ActivityListRepoNotificationsForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkRepoNotificationsAsReadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkRepoNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposGetPagesResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposGetPagesResponseDataSource; +}; +declare type ReposEnablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * source parameter + */ + source?: ReposEnablePagesSiteParamsSource; +} & RequiredPreview<"switcheroo">; +declare type ReposEnablePagesSiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnablePagesSiteResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposEnablePagesSiteResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposEnablePagesSiteResponseDataSource; +}; +declare type ReposDisablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"switcheroo">; +declare type ReposDisablePagesSiteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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"'; +}; +declare type ReposUpdateInformationAboutPagesSiteRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRequestPageBuildRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildResponseData = { + url: string; + status: string; +}; +declare 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; +}; +declare type ReposListPagesBuildsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPagesBuildsResponseDataItemPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPagesBuildsResponseDataItemError = { + message: null; +}; +declare type ReposListPagesBuildsResponseDataItem = { + url: string; + status: string; + error: ReposListPagesBuildsResponseDataItemError; + pusher: ReposListPagesBuildsResponseDataItemPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposListPagesBuildsResponseData = Array; +declare type ReposGetLatestPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetLatestPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetLatestPagesBuildResponseDataError; + pusher: ReposGetLatestPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposGetPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * build_id parameter + */ + build_id: number; +}; +declare type ReposGetPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/:build_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetPagesBuildResponseDataError; + pusher: ReposGetPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForRepoResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForRepoResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForRepoResponseData = Array; +declare type ProjectsCreateForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForRepoResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForRepoResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForRepoResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare 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; +}; +declare type PullsListRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListResponseDataItemLinksStatuses = { + href: string; +}; +declare type PullsListResponseDataItemLinksCommits = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComment = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksIssue = { + href: string; +}; +declare type PullsListResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListResponseDataItemLinks = { + self: PullsListResponseDataItemLinksSelf; + html: PullsListResponseDataItemLinksHtml; + issue: PullsListResponseDataItemLinksIssue; + comments: PullsListResponseDataItemLinksComments; + review_comments: PullsListResponseDataItemLinksReviewComments; + review_comment: PullsListResponseDataItemLinksReviewComment; + commits: PullsListResponseDataItemLinksCommits; + statuses: PullsListResponseDataItemLinksStatuses; +}; +declare type PullsListResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemBaseUser; + repo: PullsListResponseDataItemBaseRepo; +}; +declare type PullsListResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemHeadUser; + repo: PullsListResponseDataItemHeadRepo; +}; +declare type PullsListResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsListResponseDataItemUser; + body: string; + labels: Array; + milestone: PullsListResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsListResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsListResponseDataItemHead; + base: PullsListResponseDataItemBase; + _links: PullsListResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type PullsListResponseData = Array; +declare 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; +}; +declare type PullsCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateResponseDataLinks = { + self: PullsCreateResponseDataLinksSelf; + html: PullsCreateResponseDataLinksHtml; + issue: PullsCreateResponseDataLinksIssue; + comments: PullsCreateResponseDataLinksComments; + review_comments: PullsCreateResponseDataLinksReviewComments; + review_comment: PullsCreateResponseDataLinksReviewComment; + commits: PullsCreateResponseDataLinksCommits; + statuses: PullsCreateResponseDataLinksStatuses; +}; +declare type PullsCreateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataBaseUser; + repo: PullsCreateResponseDataBaseRepo; +}; +declare type PullsCreateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataHeadUser; + repo: PullsCreateResponseDataHeadRepo; +}; +declare type PullsCreateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateResponseDataHead; + base: PullsCreateResponseDataBase; + _links: PullsCreateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsCreateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare 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; +}; +declare type PullsListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinks = { + self: PullsListCommentsForRepoResponseDataItemLinksSelf; + html: PullsListCommentsForRepoResponseDataItemLinksHtml; + pull_request: PullsListCommentsForRepoResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsForRepoResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsForRepoResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsForRepoResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsForRepoResponseData = Array; +declare type PullsGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetCommentResponseDataLinks = { + self: PullsGetCommentResponseDataLinksSelf; + html: PullsGetCommentResponseDataLinksHtml; + pull_request: PullsGetCommentResponseDataLinksPullRequest; +}; +declare type PullsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare 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; +}; +declare type PullsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinks = { + self: PullsUpdateCommentResponseDataLinksSelf; + html: PullsUpdateCommentResponseDataLinksHtml; + pull_request: PullsUpdateCommentResponseDataLinksPullRequest; +}; +declare type PullsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsUpdateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsUpdateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForPullRequestReviewCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForPullRequestReviewCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForPullRequestReviewCommentResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForPullRequestReviewCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForPullRequestReviewCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForPullRequestCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForPullRequestCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataLinksStatuses = { + href: string; +}; +declare type PullsGetResponseDataLinksCommits = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsGetResponseDataLinksComments = { + href: string; +}; +declare type PullsGetResponseDataLinksIssue = { + href: string; +}; +declare type PullsGetResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetResponseDataLinks = { + self: PullsGetResponseDataLinksSelf; + html: PullsGetResponseDataLinksHtml; + issue: PullsGetResponseDataLinksIssue; + comments: PullsGetResponseDataLinksComments; + review_comments: PullsGetResponseDataLinksReviewComments; + review_comment: PullsGetResponseDataLinksReviewComment; + commits: PullsGetResponseDataLinksCommits; + statuses: PullsGetResponseDataLinksStatuses; +}; +declare type PullsGetResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataBaseUser; + repo: PullsGetResponseDataBaseRepo; +}; +declare type PullsGetResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataHeadUser; + repo: PullsGetResponseDataHeadRepo; +}; +declare type PullsGetResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsGetResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsGetResponseDataUser; + body: string; + labels: Array; + milestone: PullsGetResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsGetResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsGetResponseDataHead; + base: PullsGetResponseDataBase; + _links: PullsGetResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsGetResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare 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; +}; +declare type PullsUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsUpdateResponseDataLinksCommits = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksIssue = { + href: string; +}; +declare type PullsUpdateResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateResponseDataLinks = { + self: PullsUpdateResponseDataLinksSelf; + html: PullsUpdateResponseDataLinksHtml; + issue: PullsUpdateResponseDataLinksIssue; + comments: PullsUpdateResponseDataLinksComments; + review_comments: PullsUpdateResponseDataLinksReviewComments; + review_comment: PullsUpdateResponseDataLinksReviewComment; + commits: PullsUpdateResponseDataLinksCommits; + statuses: PullsUpdateResponseDataLinksStatuses; +}; +declare type PullsUpdateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataBaseUser; + repo: PullsUpdateResponseDataBaseRepo; +}; +declare type PullsUpdateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataHeadUser; + repo: PullsUpdateResponseDataHeadRepo; +}; +declare type PullsUpdateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsUpdateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsUpdateResponseDataUser; + body: string; + labels: Array; + milestone: PullsUpdateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsUpdateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsUpdateResponseDataHead; + base: PullsUpdateResponseDataBase; + _links: PullsUpdateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsUpdateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare 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; +}; +declare type PullsListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinks = { + self: PullsListCommentsResponseDataItemLinksSelf; + html: PullsListCommentsResponseDataItemLinksHtml; + pull_request: PullsListCommentsResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsResponseData = Array; +declare 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"; +}; +declare type PullsCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinks = { + self: PullsCreateCommentResponseDataLinksSelf; + html: PullsCreateCommentResponseDataLinksHtml; + pull_request: PullsCreateCommentResponseDataLinksPullRequest; +}; +declare type PullsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsCreateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare 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; +}; +declare type PullsCreateReviewCommentReplyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinks = { + self: PullsCreateReviewCommentReplyResponseDataLinksSelf; + html: PullsCreateReviewCommentReplyResponseDataLinksHtml; + pull_request: PullsCreateReviewCommentReplyResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewCommentReplyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewCommentReplyResponseData = { + url: string; + pull_request_review_id: number; + id: number; + node_id: string; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + user: PullsCreateReviewCommentReplyResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateReviewCommentReplyResponseDataLinks; +}; +declare 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; +}; +declare type PullsListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type PullsListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommit = { + url: string; + author: PullsListCommitsResponseDataItemCommitAuthor; + committer: PullsListCommitsResponseDataItemCommitCommitter; + message: string; + tree: PullsListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: PullsListCommitsResponseDataItemCommitVerification; +}; +declare type PullsListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: PullsListCommitsResponseDataItemCommit; + author: PullsListCommitsResponseDataItemAuthor; + committer: PullsListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type PullsListCommitsResponseData = Array; +declare 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; +}; +declare type PullsListFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListFilesResponseDataItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type PullsListFilesResponseData = Array; +declare type PullsCheckIfMergedEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsCheckIfMergedRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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"; +}; +declare type PullsMergeRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsMergeResponseData = { + sha: string; + merged: boolean; + message: string; +}; +declare 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; +}; +declare type PullsListReviewRequestsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewRequestsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListReviewRequestsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewRequestsResponseData = { + users: Array; + teams: Array; +}; +declare 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[]; +}; +declare type PullsCreateReviewRequestRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewRequestResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinks = { + self: PullsCreateReviewRequestResponseDataLinksSelf; + html: PullsCreateReviewRequestResponseDataLinksHtml; + issue: PullsCreateReviewRequestResponseDataLinksIssue; + comments: PullsCreateReviewRequestResponseDataLinksComments; + review_comments: PullsCreateReviewRequestResponseDataLinksReviewComments; + review_comment: PullsCreateReviewRequestResponseDataLinksReviewComment; + commits: PullsCreateReviewRequestResponseDataLinksCommits; + statuses: PullsCreateReviewRequestResponseDataLinksStatuses; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataBaseUser; + repo: PullsCreateReviewRequestResponseDataBaseRepo; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataHeadUser; + repo: PullsCreateReviewRequestResponseDataHeadRepo; +}; +declare type PullsCreateReviewRequestResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateReviewRequestResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateReviewRequestResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateReviewRequestResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateReviewRequestResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateReviewRequestResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateReviewRequestResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateReviewRequestResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateReviewRequestResponseDataHead; + base: PullsCreateReviewRequestResponseDataBase; + _links: PullsCreateReviewRequestResponseDataLinks; + author_association: string; + draft: boolean; +}; +declare 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[]; +}; +declare type PullsDeleteReviewRequestRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type PullsListReviewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinks = { + html: PullsListReviewsResponseDataItemLinksHtml; + pull_request: PullsListReviewsResponseDataItemLinksPullRequest; +}; +declare type PullsListReviewsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewsResponseDataItem = { + id: number; + node_id: string; + user: PullsListReviewsResponseDataItemUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsListReviewsResponseDataItemLinks; +}; +declare type PullsListReviewsResponseData = Array; +declare 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[]; +}; +declare type PullsCreateReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinks = { + html: PullsCreateReviewResponseDataLinksHtml; + pull_request: PullsCreateReviewResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewResponseData = { + id: number; + node_id: string; + user: PullsCreateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsCreateReviewResponseDataLinks; +}; +declare type PullsGetReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsGetReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetReviewResponseDataLinks = { + html: PullsGetReviewResponseDataLinksHtml; + pull_request: PullsGetReviewResponseDataLinksPullRequest; +}; +declare type PullsGetReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetReviewResponseData = { + id: number; + node_id: string; + user: PullsGetReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsGetReviewResponseDataLinks; +}; +declare type PullsDeletePendingReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsDeletePendingReviewRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDeletePendingReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinks = { + html: PullsDeletePendingReviewResponseDataLinksHtml; + pull_request: PullsDeletePendingReviewResponseDataLinksPullRequest; +}; +declare type PullsDeletePendingReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDeletePendingReviewResponseData = { + id: number; + node_id: string; + user: PullsDeletePendingReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDeletePendingReviewResponseDataLinks; +}; +declare 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; +}; +declare type PullsUpdateReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinks = { + html: PullsUpdateReviewResponseDataLinksHtml; + pull_request: PullsUpdateReviewResponseDataLinksPullRequest; +}; +declare type PullsUpdateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateReviewResponseData = { + id: number; + node_id: string; + user: PullsUpdateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsUpdateReviewResponseDataLinks; +}; +declare 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; +}; +declare type PullsGetCommentsForReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinks = { + self: PullsGetCommentsForReviewResponseDataItemLinksSelf; + html: PullsGetCommentsForReviewResponseDataItemLinksHtml; + pull_request: PullsGetCommentsForReviewResponseDataItemLinksPullRequest; +}; +declare type PullsGetCommentsForReviewResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentsForReviewResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentsForReviewResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentsForReviewResponseDataItemLinks; +}; +declare type PullsGetCommentsForReviewResponseData = Array; +declare 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; +}; +declare type PullsDismissReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDismissReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinks = { + html: PullsDismissReviewResponseDataLinksHtml; + pull_request: PullsDismissReviewResponseDataLinksPullRequest; +}; +declare type PullsDismissReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDismissReviewResponseData = { + id: number; + node_id: string; + user: PullsDismissReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDismissReviewResponseDataLinks; +}; +declare 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"; +}; +declare type PullsSubmitReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsSubmitReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinks = { + html: PullsSubmitReviewResponseDataLinksHtml; + pull_request: PullsSubmitReviewResponseDataLinksPullRequest; +}; +declare type PullsSubmitReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsSubmitReviewResponseData = { + id: number; + node_id: string; + user: PullsSubmitReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsSubmitReviewResponseDataLinks; +}; +declare 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; +} & RequiredPreview<"lydian">; +declare type PullsUpdateBranchRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/update-branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateBranchResponseData = { + message: string; + url: string; +}; +declare 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; +}; +declare type ReposGetReadmeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/readme"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReadmeResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetReadmeResponseData = { + type: string; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string; + _links: ReposGetReadmeResponseDataLinks; +}; +declare 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; +}; +declare type ReposListReleasesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListReleasesResponseDataItemAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItemAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListReleasesResponseDataItemAssetsItemUploader; +}; +declare type ReposListReleasesResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItem = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposListReleasesResponseDataItemAuthor; + assets: Array; +}; +declare type ReposListReleasesResponseData = Array; +declare 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; +}; +declare type ReposCreateReleaseRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposCreateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposGetReleaseAssetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseAssetResponseDataUploader; +}; +declare 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; +}; +declare type ReposUpdateReleaseAssetRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseAssetResponseDataUploader; +}; +declare type ReposDeleteReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposDeleteReleaseAssetRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetLatestReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetLatestReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetLatestReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseByTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag parameter + */ + tag: string; +}; +declare type ReposGetReleaseByTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/tags/:tag"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseByTagResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseByTagResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseByTagResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposGetReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseResponseDataAuthor; + assets: Array; +}; +declare 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; +}; +declare type ReposUpdateReleaseRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseResponseDataAssetsItemUploader; +}; +declare type ReposUpdateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposUpdateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposDeleteReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposDeleteReleaseRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListAssetsForReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id/assets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListAssetsForReleaseResponseDataItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListAssetsForReleaseResponseDataItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListAssetsForReleaseResponseDataItemUploader; +}; +declare type ReposListAssetsForReleaseResponseData = Array; +declare type ReposUploadReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * name parameter + */ + name?: string; + /** + * label parameter + */ + label?: string; + /** + * The raw file data + */ + data: string; + /** + * The URL origin (protocol + host name + port) is included in `upload_url` returned in the response of the "Create a release" endpoint + */ + origin?: string; + /** + * For https://api.github.com, set `baseUrl` to `https://uploads.github.com`. For GitHub Enterprise Server, set it to `/api/uploads` + */ + baseUrl: string; +} & { + headers: { + "content-type": string; + }; +}; +declare type ReposUploadReleaseAssetRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases/:release_id/assets{?name,label}"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUploadReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUploadReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUploadReleaseAssetResponseDataUploader; +}; +declare 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; +}; +declare type ActivityListStargazersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stargazers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListStargazersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListStargazersForRepoResponseData = Array; +declare type ReposGetCodeFrequencyStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCodeFrequencyStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/code_frequency"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCodeFrequencyStatsResponseData = Array>; +declare type ReposGetCommitActivityStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCommitActivityStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/commit_activity"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitActivityStatsResponseDataItem = { + days: Array; + total: number; + week: number; +}; +declare type ReposGetCommitActivityStatsResponseData = Array; +declare type ReposGetContributorsStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetContributorsStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContributorsStatsResponseDataItemWeeksItem = { + w: string; + a: number; + d: number; + c: number; +}; +declare type ReposGetContributorsStatsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetContributorsStatsResponseDataItem = { + author: ReposGetContributorsStatsResponseDataItemAuthor; + total: number; + weeks: Array; +}; +declare type ReposGetContributorsStatsResponseData = Array; +declare type ReposGetParticipationStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetParticipationStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/participation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetParticipationStatsResponseData = { + all: Array; + owner: Array; +}; +declare type ReposGetPunchCardStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPunchCardStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/punch_card"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPunchCardStatsResponseData = Array>; +declare 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; +}; +declare type ReposCreateStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/statuses/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateStatusResponseData = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposCreateStatusResponseDataCreator; +}; +declare 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; +}; +declare type ActivityListWatchersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscribers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchersForRepoResponseData = Array; +declare type ActivityGetRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityGetRepoSubscriptionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare 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; +}; +declare type ActivitySetRepoSubscriptionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare type ActivityDeleteRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityDeleteRepoSubscriptionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListTagsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTagsResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListTagsResponseDataItem = { + name: string; + commit: ReposListTagsResponseDataItemCommit; + zipball_url: string; + tarball_url: string; +}; +declare type ReposListTagsResponseData = Array; +declare 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; +}; +declare type ReposListTeamsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListTeamsResponseData = Array; +declare type ReposGetAllTopicsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"mercy">; +declare type ReposGetAllTopicsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAllTopicsResponseData = { + names: Array; +}; +declare type ReposReplaceAllTopicsEndpoint = { + /** + * 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[]; +} & RequiredPreview<"mercy">; +declare type ReposReplaceAllTopicsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceAllTopicsResponseData = { + names: Array; +}; +declare type ReposGetClonesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetClonesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/clones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetClonesResponseDataClonesItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetClonesResponseData = { + count: number; + uniques: number; + clones: Array; +}; +declare type ReposGetTopPathsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopPathsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/paths"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopPathsResponseDataItem = { + path: string; + title: string; + count: number; + uniques: number; +}; +declare type ReposGetTopPathsResponseData = Array; +declare type ReposGetTopReferrersEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopReferrersRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/referrers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopReferrersResponseDataItem = { + referrer: string; + count: number; + uniques: number; +}; +declare type ReposGetTopReferrersResponseData = Array; +declare type ReposGetViewsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetViewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/views"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetViewsResponseDataViewsItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetViewsResponseData = { + count: number; + uniques: number; + views: Array; +}; +declare 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[]; +}; +declare type ReposTransferRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/transfer"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTransferResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposTransferResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposTransferResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposTransferResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposTransferResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCheckVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposCheckVulnerabilityAlertsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposEnableVulnerabilityAlertsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposDisableVulnerabilityAlertsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetArchiveLinkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * archive_format parameter + */ + archive_format: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetArchiveLinkRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/:archive_format/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"baptiste">; +declare type ReposCreateUsingTemplateRequestOptions = { + method: "POST"; + url: "/repos/:template_owner/:template_repo/generate"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCreateUsingTemplateResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: ReposCreateUsingTemplateResponseDataTemplateRepository; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPublicEndpoint = { + /** + * The integer ID of the last repository that you've seen. + */ + since?: number; +}; +declare type ReposListPublicRequestOptions = { + method: "GET"; + url: "/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPublicResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPublicResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListPublicResponseData = Array; +declare 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; +}; +declare type ScimListProvisionedIdentitiesRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemEmailsItem = { + value: string; + primary: boolean; + type: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemName = { + givenName: string; + familyName: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItem = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimListProvisionedIdentitiesResponseDataResourcesItemName; + emails: Array; + active: boolean; + meta: ScimListProvisionedIdentitiesResponseDataResourcesItemMeta; +}; +declare type ScimListProvisionedIdentitiesResponseData = { + schemas: Array; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: Array; +}; +declare type ScimProvisionAndInviteUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ScimProvisionAndInviteUsersRequestOptions = { + method: "POST"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimProvisionAndInviteUsersResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimProvisionAndInviteUsersResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimProvisionAndInviteUsersResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimProvisionAndInviteUsersResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimProvisionAndInviteUsersResponseDataName; + emails: Array; + active: boolean; + meta: ScimProvisionAndInviteUsersResponseDataMeta; +}; +declare type ScimGetProvisioningDetailsForUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimGetProvisioningDetailsForUserRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimGetProvisioningDetailsForUserResponseDataName; + emails: Array; + active: boolean; + meta: ScimGetProvisioningDetailsForUserResponseDataMeta; +}; +declare type ScimReplaceProvisionedUserInformationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimReplaceProvisionedUserInformationRequestOptions = { + method: "PUT"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimReplaceProvisionedUserInformationResponseDataName; + emails: Array; + active: boolean; + meta: ScimReplaceProvisionedUserInformationResponseDataMeta; +}; +declare type ScimUpdateUserAttributeEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimUpdateUserAttributeRequestOptions = { + method: "PATCH"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimUpdateUserAttributeResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimUpdateUserAttributeResponseDataEmailsItem = { + value: string; + type: string; + primary?: boolean; +}; +declare type ScimUpdateUserAttributeResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimUpdateUserAttributeResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimUpdateUserAttributeResponseDataName; + emails: Array; + active: boolean; + meta: ScimUpdateUserAttributeResponseDataMeta; +}; +declare type ScimRemoveUserFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimRemoveUserFromOrgRequestOptions = { + method: "DELETE"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type SearchCodeRequestOptions = { + method: "GET"; + url: "/search/code"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCodeResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCodeResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCodeResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; +}; +declare type SearchCodeResponseDataItemsItem = { + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + repository: SearchCodeResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCodeResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +} & RequiredPreview<"cloak">; +declare type SearchCommitsRequestOptions = { + method: "GET"; + url: "/search/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCommitsResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCommitsResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type SearchCommitsResponseDataItemsItemParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemCommitTree = { + url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommit = { + url: string; + author: SearchCommitsResponseDataItemsItemCommitAuthor; + committer: SearchCommitsResponseDataItemsItemCommitCommitter; + message: string; + tree: SearchCommitsResponseDataItemsItemCommitTree; + comment_count: number; +}; +declare type SearchCommitsResponseDataItemsItem = { + url: string; + sha: string; + html_url: string; + comments_url: string; + commit: SearchCommitsResponseDataItemsItemCommit; + author: SearchCommitsResponseDataItemsItemAuthor; + committer: SearchCommitsResponseDataItemsItemCommitter; + parents: Array; + repository: SearchCommitsResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCommitsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchIssuesAndPullRequestsRequestOptions = { + method: "GET"; + url: "/search/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest = { + html_url: null; + diff_url: null; + patch_url: null; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItem = { + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + user: SearchIssuesAndPullRequestsResponseDataItemsItemUser; + labels: Array; + state: string; + assignee: null; + milestone: null; + comments: number; + created_at: string; + updated_at: string; + closed_at: null; + pull_request: SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest; + body: string; + score: number; +}; +declare type SearchIssuesAndPullRequestsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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"; +}; +declare type SearchLabelsRequestOptions = { + method: "GET"; + url: "/search/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchLabelsResponseDataItemsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; + default: boolean; + description: string; + score: number; +}; +declare type SearchLabelsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchReposRequestOptions = { + method: "GET"; + url: "/search/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposResponseDataItemsItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + received_events_url: string; + type: string; +}; +declare type SearchReposResponseDataItemsItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchReposResponseDataItemsItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + created_at: string; + updated_at: string; + pushed_at: string; + homepage: string; + size: number; + stargazers_count: number; + watchers_count: number; + language: string; + forks_count: number; + open_issues_count: number; + master_branch: string; + default_branch: string; + score: number; +}; +declare type SearchReposResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchTopicsRequestOptions = { + method: "GET"; + url: "/search/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchTopicsResponseDataItemsItem = { + name: string; + display_name: string; + short_description: string; + description: string; + created_by: string; + released: string; + created_at: string; + updated_at: string; + featured: boolean; + curated: boolean; + score: number; +}; +declare type SearchTopicsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchUsersRequestOptions = { + method: "GET"; + url: "/search/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersResponseDataItemsItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + received_events_url: string; + type: string; + score: number; +}; +declare type SearchUsersResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type TeamsGetLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsGetLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetLegacyResponseDataOrganization; +}; +declare type TeamsUpdateLegacyEndpoint = { + /** + * 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. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateLegacyResponseDataOrganization; +}; +declare type TeamsDeleteLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsListDiscussionsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsLegacyResponseDataItem = { + author: TeamsListDiscussionsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionsLegacyResponseData = Array; +declare type TeamsCreateDiscussionLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsCreateDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionLegacyResponseData = { + author: TeamsCreateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionLegacyResponseData = { + author: TeamsGetDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsUpdateDiscussionLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionLegacyResponseData = { + author: TeamsUpdateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsListDiscussionCommentsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItem = { + author: TeamsListDiscussionCommentsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseData = Array; +declare type TeamsCreateDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseData = { + author: TeamsCreateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentLegacyResponseData = { + author: TeamsGetDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsUpdateDiscussionCommentLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseData = { + author: TeamsUpdateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyEndpoint = { + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentLegacyEndpoint = { + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyEndpoint = { + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionLegacyEndpoint = { + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type TeamsListPendingInvitationsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsLegacyResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsLegacyResponseData = Array; +declare type TeamsListMembersLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsListMembersLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersLegacyResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersLegacyResponseData = Array; +declare type TeamsGetMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMemberLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsAddMemberLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyResponseDataErrorsItem = { + code: string; + field: string; + resource: string; +}; +declare type TeamsAddMemberLegacyResponseData = { + message: string; + errors: Array; +}; +declare type TeamsRemoveMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMemberLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipLegacyEndpoint = { + /** + * 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"; +}; +declare type TeamsAddOrUpdateMembershipLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsLegacyResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsLegacyResponseDataItemPermissions; +}; +declare type TeamsListProjectsLegacyResponseData = Array; +declare type TeamsReviewProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectLegacyResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectLegacyResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectLegacyEndpoint = { + /** + * 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)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectLegacyResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposLegacyResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposLegacyResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposLegacyResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposLegacyResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposLegacyResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposLegacyResponseDataItemLicense; +}; +declare type TeamsListReposLegacyResponseData = Array; +declare type TeamsCheckManagesRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseData = { + organization: TeamsCheckManagesRepoLegacyResponseDataOrganization; + parent: TeamsCheckManagesRepoLegacyResponseDataParent; + source: TeamsCheckManagesRepoLegacyResponseDataSource; + permissions: TeamsCheckManagesRepoLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoLegacyEndpoint = { + /** + * 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. + */ + permission?: "pull" | "push" | "admin"; +}; +declare type TeamsAddOrUpdateRepoLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsListIdPGroupsForLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForLegacyResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint = { + /** + * 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: TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseData = { + groups: Array; +}; +declare type TeamsListChildLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildLegacyResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildLegacyResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildLegacyResponseDataItemParent; +}; +declare type TeamsListChildLegacyResponseData = Array; +declare type UsersGetAuthenticatedEndpoint = {}; +declare type UsersGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersGetAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists?: number; + total_private_repos?: number; + owned_private_repos?: number; + disk_usage?: number; + collaborators?: number; + two_factor_authentication?: boolean; + plan?: UsersGetAuthenticatedResponseDataPlan; +}; +declare 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; +}; +declare type UsersUpdateAuthenticatedRequestOptions = { + method: "PATCH"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUpdateAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersUpdateAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists: number; + total_private_repos: number; + owned_private_repos: number; + disk_usage: number; + collaborators: number; + two_factor_authentication: boolean; + plan: UsersUpdateAuthenticatedResponseDataPlan; +}; +declare type UsersListBlockedEndpoint = {}; +declare type UsersListBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListBlockedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListBlockedResponseData = Array; +declare type UsersCheckBlockedEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersBlockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersBlockRequestOptions = { + method: "PUT"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnblockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnblockRequestOptions = { + method: "DELETE"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type UsersTogglePrimaryEmailVisibilityRequestOptions = { + method: "PATCH"; + url: "/user/email/visibility"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseData = Array; +declare type UsersListEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListEmailsRequestOptions = { + method: "GET"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListEmailsResponseData = Array; +declare 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[]; +}; +declare type UsersAddEmailsRequestOptions = { + method: "POST"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersAddEmailsResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; +}; +declare type UsersAddEmailsResponseData = Array; +declare 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[]; +}; +declare type UsersDeleteEmailsRequestOptions = { + method: "DELETE"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForAuthenticatedUserResponseData = Array; +declare type UsersListFollowedByAuthenticatedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowedByAuthenticatedRequestOptions = { + method: "GET"; + url: "/user/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowedByAuthenticatedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowedByAuthenticatedResponseData = Array; +declare type UsersCheckFollowingEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckFollowingRequestOptions = { + method: "GET"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersFollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersFollowRequestOptions = { + method: "PUT"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnfollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnfollowRequestOptions = { + method: "DELETE"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysRequestOptions = { + method: "GET"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseData = Array; +declare 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; +}; +declare type UsersCreateGpgKeyRequestOptions = { + method: "POST"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreateGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersCreateGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersCreateGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersGetGpgKeyRequestOptions = { + method: "GET"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersGetGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersDeleteGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersDeleteGpgKeyRequestOptions = { + method: "DELETE"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url: string; + description?: string; + gravatar_id?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItem = { + id: number; + account: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions; + events: Array; + single_file_name: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseData = { + total_count: number; + installations: Array; +}; +declare 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; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations/:installation_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsAddRepoToInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsAddRepoToInstallationRequestOptions = { + method: "PUT"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRemoveRepoFromInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsRemoveRepoFromInstallationRequestOptions = { + method: "DELETE"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForAuthenticatedUserResponseDataItemUser; + labels: Array; + assignee: IssuesListForAuthenticatedUserResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForAuthenticatedUserResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForAuthenticatedUserResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForAuthenticatedUserResponseDataItemRepository; +}; +declare type IssuesListForAuthenticatedUserResponseData = Array; +declare type UsersListPublicKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysRequestOptions = { + method: "GET"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysResponseDataItem = { + key_id: string; + key: string; +}; +declare type UsersListPublicKeysResponseData = Array; +declare 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; +}; +declare type UsersCreatePublicKeyRequestOptions = { + method: "POST"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreatePublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersGetPublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersGetPublicKeyRequestOptions = { + method: "GET"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersDeletePublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersDeletePublicKeyRequestOptions = { + method: "DELETE"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseData = Array; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases/stubbed"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseData = Array; +declare 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; +}; +declare type OrgsListMembershipsRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembershipsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembershipsResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListMembershipsResponseDataItem = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsListMembershipsResponseDataItemOrganization; + user: OrgsListMembershipsResponseDataItemUser; +}; +declare type OrgsListMembershipsResponseData = Array; +declare type OrgsGetMembershipForAuthenticatedUserEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipForAuthenticatedUserResponseDataOrganization; + user: OrgsGetMembershipForAuthenticatedUserResponseDataUser; +}; +declare type OrgsUpdateMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; +}; +declare type OrgsUpdateMembershipRequestOptions = { + method: "PATCH"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsUpdateMembershipResponseDataOrganization; + user: OrgsUpdateMembershipResponseDataUser; +}; +declare 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; +}; +declare type MigrationsStartForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsStartForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItem = { + id: number; + owner: MigrationsListForAuthenticatedUserResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserResponseData = Array; +declare type MigrationsGetStatusForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsGetArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetArchiveForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForAuthenticatedUserResponseData = Array; +declare type ProjectsCreateForAuthenticatedUserEndpoint = { + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForAuthenticatedUserResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForAuthenticatedUserResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForAuthenticatedUserResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type UsersListPublicEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicEmailsRequestOptions = { + method: "GET"; + url: "/user/public_emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListPublicEmailsResponseData = Array; +declare type ReposListForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ReposListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForAuthenticatedUserResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForAuthenticatedUserResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForAuthenticatedUserResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListInvitationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListInvitationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repository_invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItem = { + id: number; + repository: ReposListInvitationsForAuthenticatedUserResponseDataItemRepository; + invitee: ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee; + inviter: ReposListInvitationsForAuthenticatedUserResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseData = Array; +declare type ReposAcceptInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposAcceptInvitationRequestOptions = { + method: "PATCH"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeclineInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeclineInvitationRequestOptions = { + method: "DELETE"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ActivityListReposStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseData = Array; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStarRepoForAuthenticatedUserRequestOptions = { + method: "PUT"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityUnstarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityUnstarRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListWatchedReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseData = Array; +declare type ActivityCheckWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckWatchingRepoLegacyRequestOptions = { + method: "GET"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityWatchRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityWatchRepoLegacyRequestOptions = { + method: "PUT"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStopWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStopWatchingRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsListForAuthenticatedUserResponseDataItemOrganization; +}; +declare type TeamsListForAuthenticatedUserResponseData = Array; +declare type MigrationsListReposForUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForUserRequestOptions = { + method: "GET"; + url: "/user/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForUserResponseDataItemLicense; +}; +declare type MigrationsListReposForUserResponseData = Array; +declare type UsersListEndpoint = { + /** + * The integer ID of the last User that you've seen. + */ + since?: string; +}; +declare type UsersListRequestOptions = { + method: "GET"; + url: "/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListResponseData = Array; +declare type UsersGetByUsernameEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersGetByUsernameRequestOptions = { + method: "GET"; + url: "/users/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetByUsernameResponseDataPlan = { + name: string; + space: number; + collaborators: number; + private_repos: number; +}; +declare type UsersGetByUsernameResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + plan?: UsersGetByUsernameResponseDataPlan; +}; +declare type ActivityListEventsForAuthenticatedUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListOrgEventsForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ActivityListOrgEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForUserRequestOptions = { + method: "GET"; + url: "/users/:username/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForUserResponseData = Array; +declare type UsersListFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowingForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowingForUserResponseData = Array; +declare type UsersCheckFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * target_user parameter + */ + target_user: string; +}; +declare type UsersCheckFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following/:target_user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserEndpoint = { + /** + * 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; +}; +declare type GistsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForUserResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListForUserResponseDataItemFiles = { + "hello_world.rb": GistsListForUserResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListForUserResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListForUserResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListForUserResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListForUserResponseData = Array; +declare type UsersListGpgKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysForUserResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysForUserResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseData = Array; +declare 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; +}; +declare type UsersGetContextForUserRequestOptions = { + method: "GET"; + url: "/users/:username/hovercard"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetContextForUserResponseDataContextsItem = { + message: string; + octicon: string; +}; +declare type UsersGetContextForUserResponseData = { + contexts: Array; +}; +declare type AppsGetUserInstallationEndpoint = { + /** + * username parameter + */ + username: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetUserInstallationRequestOptions = { + method: "GET"; + url: "/users/:username/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetUserInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetUserInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetUserInstallationResponseData = { + id: number; + account: AppsGetUserInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetUserInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type UsersListPublicKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysForUserResponseDataItem = { + id: number; + key: string; +}; +declare type UsersListPublicKeysForUserResponseData = Array; +declare type OrgsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForUserResponseData = Array; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForUserResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForUserResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForUserResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForUserResponseData = Array; +declare type ActivityListReceivedEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReceivedPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ActivityListReposStarredByUserRequestOptions = { + method: "GET"; + url: "/users/:username/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByUserResponseData = Array; +declare type ActivityListReposWatchedByUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposWatchedByUserRequestOptions = { + method: "GET"; + url: "/users/:username/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposWatchedByUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListReposWatchedByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposWatchedByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposWatchedByUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListReposWatchedByUserResponseDataItemLicense; +}; +declare type ActivityListReposWatchedByUserResponseData = Array; +declare type AppsCreateInstallationTokenParamsPermissions = {}; +declare type GistsCreateParamsFiles = { + content?: string; +}; +declare type GistsUpdateParamsFiles = { + content?: string; + filename?: string; +}; +declare type OrgsCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type OrgsUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type ReposUpdateBranchProtectionParamsRequiredStatusChecks = { + strict: boolean; + contexts: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviews = { + dismissal_restrictions?: ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRestrictions = { + users: string[]; + teams: string[]; + apps?: string[]; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ChecksCreateParamsOutput = { + title: string; + summary: string; + text?: string; + annotations?: ChecksCreateParamsOutputAnnotations[]; + images?: ChecksCreateParamsOutputImages[]; +}; +declare 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; +}; +declare type ChecksCreateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksCreateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksUpdateParamsOutput = { + title?: string; + summary: string; + text?: string; + annotations?: ChecksUpdateParamsOutputAnnotations[]; + images?: ChecksUpdateParamsOutputImages[]; +}; +declare 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; +}; +declare type ChecksUpdateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksUpdateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksSetSuitesPreferencesParamsAutoTriggerChecks = { + app_id: number; + setting: boolean; +}; +declare type ReposCreateOrUpdateFileParamsCommitter = { + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileParamsAuthor = { + name: string; + email: string; +}; +declare type ReposDeleteFileParamsCommitter = { + name?: string; + email?: string; +}; +declare type ReposDeleteFileParamsAuthor = { + name?: string; + email?: string; +}; +declare type ReposCreateDispatchEventParamsClientPayload = {}; +declare type GitCreateCommitParamsAuthor = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateCommitParamsCommitter = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTagParamsTagger = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTreeParamsTree = { + path?: string; + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + type?: "blob" | "tree" | "commit"; + sha?: string | null; + content?: string; +}; +declare type ReposCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposEnablePagesSiteParamsSource = { + branch?: "master" | "gh-pages"; + path?: string; +}; +declare type PullsCreateReviewParamsComments = { + path: string; + position: number; + body: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +export {}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 0000000..5d2d5ae --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,20 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js new file mode 100644 index 0000000..3c0cafc --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js @@ -0,0 +1,4 @@ +const VERSION = "2.16.2"; + +export { VERSION }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js.map new file mode 100644 index 0000000..cd0e254 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/package.json b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/package.json new file mode 100644 index 0000000..9036e41 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types/package.json @@ -0,0 +1,49 @@ +{ + "name": "@octokit/types", + "description": "Shared TypeScript definitions for Octokit projects", + "version": "2.16.2", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "repository": "https://github.com/octokit/types.ts", + "dependencies": { + "@types/node": ">= 8" + }, + "devDependencies": { + "@gimenete/type-writer": "^0.1.5", + "@octokit/graphql": "^4.2.2", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "handlebars": "^4.7.6", + "lodash.set": "^4.3.2", + "npm-run-all": "^4.1.5", + "pascal-case": "^3.1.1", + "prettier": "^2.0.0", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.17.0", + "typescript": "^3.6.4" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/package.json b/node_modules/@octokit/plugin-rest-endpoint-methods/package.json new file mode 100644 index 0000000..351d143 --- /dev/null +++ b/node_modules/@octokit/plugin-rest-endpoint-methods/package.json @@ -0,0 +1,56 @@ +{ + "name": "@octokit/plugin-rest-endpoint-methods", + "description": "Octokit plugin adding one method for all of api.github.com REST API endpoints", + "version": "2.4.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "repository": "https://github.com/octokit/plugin-rest-endpoint-methods.js", + "dependencies": { + "@octokit/types": "^2.0.1", + "deprecation": "^2.3.1" + }, + "devDependencies": { + "@gimenete/type-writer": "^0.1.4", + "@octokit/core": "^2.1.2", + "@octokit/graphql": "^4.3.1", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.7.1", + "@pika/plugin-build-web": "^0.7.1", + "@pika/plugin-ts-standard-pkg": "^0.7.1", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^25.1.0", + "@types/node": "^13.1.0", + "fetch-mock": "^8.0.0", + "jest": "^24.9.0", + "lodash.camelcase": "^4.3.0", + "lodash.set": "^4.3.2", + "lodash.upperfirst": "^4.3.1", + "mustache": "^4.0.0", + "npm-run-all": "^4.1.5", + "prettier": "^1.19.1", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "ts-jest": "^25.1.0", + "typescript": "^3.7.2" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@octokit/request-error/dist-node/index.js index aa89664..95b9c57 100644 --- a/node_modules/@octokit/request-error/dist-node/index.js +++ b/node_modules/@octokit/request-error/dist-node/index.js @@ -31,7 +31,7 @@ class RequestError extends Error { } }); - this.headers = options.headers; // redact request credentials without mutating original request options + this.headers = options.headers || {}; // redact request credentials without mutating original request options const requestCopy = Object.assign({}, options.request); @@ -52,3 +52,4 @@ class RequestError extends Error { } exports.RequestError = RequestError; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request-error/dist-node/index.js.map b/node_modules/@octokit/request-error/dist-node/index.js.map new file mode 100644 index 0000000..ec1c6db --- /dev/null +++ b/node_modules/@octokit/request-error/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnce = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnce(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n });\n this.headers = options.headers || {};\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n }\n}\n"],"names":["logOnce","once","deprecation","console","warn","RequestError","Error","constructor","message","statusCode","options","captureStackTrace","name","status","Object","defineProperty","get","Deprecation","headers","requestCopy","assign","request","authorization","replace","url"],"mappings":";;;;;;;;;AAEA,MAAMA,OAAO,GAAGC,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAApB;;;;;AAIA,AAAO,MAAMG,YAAN,SAA2BC,KAA3B,CAAiC;EACpCC,WAAW,CAACC,OAAD,EAAUC,UAAV,EAAsBC,OAAtB,EAA+B;UAChCF,OAAN,EADsC;;;;QAIlCF,KAAK,CAACK,iBAAV,EAA6B;MACzBL,KAAK,CAACK,iBAAN,CAAwB,IAAxB,EAA8B,KAAKJ,WAAnC;;;SAECK,IAAL,GAAY,WAAZ;SACKC,MAAL,GAAcJ,UAAd;IACAK,MAAM,CAACC,cAAP,CAAsB,IAAtB,EAA4B,MAA5B,EAAoC;MAChCC,GAAG,GAAG;QACFhB,OAAO,CAAC,IAAIiB,uBAAJ,CAAgB,0EAAhB,CAAD,CAAP;eACOR,UAAP;;;KAHR;SAMKS,OAAL,GAAeR,OAAO,CAACQ,OAAR,IAAmB,EAAlC,CAfsC;;UAiBhCC,WAAW,GAAGL,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACW,OAA1B,CAApB;;QACIX,OAAO,CAACW,OAAR,CAAgBH,OAAhB,CAAwBI,aAA5B,EAA2C;MACvCH,WAAW,CAACD,OAAZ,GAAsBJ,MAAM,CAACM,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACW,OAAR,CAAgBH,OAAlC,EAA2C;QAC7DI,aAAa,EAAEZ,OAAO,CAACW,OAAR,CAAgBH,OAAhB,CAAwBI,aAAxB,CAAsCC,OAAtC,CAA8C,MAA9C,EAAsD,aAAtD;OADG,CAAtB;;;IAIJJ,WAAW,CAACK,GAAZ,GAAkBL,WAAW,CAACK,GAAZ;;KAGbD,OAHa,CAGL,sBAHK,EAGmB,0BAHnB;;KAMbA,OANa,CAML,qBANK,EAMkB,yBANlB,CAAlB;SAOKF,OAAL,GAAeF,WAAf;;;;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/request-error/dist-src/index.js index 10eb5c7..cfcb7c4 100644 --- a/node_modules/@octokit/request-error/dist-src/index.js +++ b/node_modules/@octokit/request-error/dist-src/index.js @@ -20,7 +20,7 @@ export class RequestError extends Error { return statusCode; } }); - this.headers = options.headers; + this.headers = options.headers || {}; // redact request credentials without mutating original request options const requestCopy = Object.assign({}, options.request); if (options.request.headers.authorization) { diff --git a/node_modules/@octokit/request-error/dist-types/index.d.ts b/node_modules/@octokit/request-error/dist-types/index.d.ts index b12f21d..baa8a0e 100644 --- a/node_modules/@octokit/request-error/dist-types/index.d.ts +++ b/node_modules/@octokit/request-error/dist-types/index.d.ts @@ -1,4 +1,5 @@ -import { RequestOptions, ResponseHeaders, RequestErrorOptions } from "./types"; +import { RequestOptions, ResponseHeaders } from "@octokit/types"; +import { RequestErrorOptions } from "./types"; /** * Error with extra properties to help with debugging */ diff --git a/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/request-error/dist-types/types.d.ts index 444254e..865d213 100644 --- a/node_modules/@octokit/request-error/dist-types/types.d.ts +++ b/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -1,37 +1,5 @@ -/** - * 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; -}; +import { RequestOptions, ResponseHeaders } from "@octokit/types"; export declare type RequestErrorOptions = { - headers: ResponseHeaders; + 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 index 52ff28a..32b45a3 100644 --- a/node_modules/@octokit/request-error/dist-web/index.js +++ b/node_modules/@octokit/request-error/dist-web/index.js @@ -1,48 +1,44 @@ import { Deprecation } from 'deprecation'; import once from 'once'; -const logOnce = once(deprecation => console.warn(deprecation)); +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]") - }); + 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; } - - 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 }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request-error/dist-web/index.js.map b/node_modules/@octokit/request-error/dist-web/index.js.map new file mode 100644 index 0000000..05151b0 --- /dev/null +++ b/node_modules/@octokit/request-error/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnce = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnce(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n });\n this.headers = options.headers || {};\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n }\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;;;;AAIjE,AAAO,MAAM,YAAY,SAAS,KAAK,CAAC;IACpC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;;;QAGf,IAAI,KAAK,CAAC,iBAAiB,EAAE;YACzB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;YAChC,GAAG,GAAG;gBACF,OAAO,CAAC,IAAI,WAAW,CAAC,0EAA0E,CAAC,CAAC,CAAC;gBACrG,OAAO,UAAU,CAAC;aACrB;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;;QAErC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;YACvC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC7D,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;aACtF,CAAC,CAAC;SACN;QACD,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG;;;aAG5B,OAAO,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;;;aAG3D,OAAO,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;KAC9B;CACJ;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/LICENSE b/node_modules/@octokit/request-error/node_modules/@octokit/types/LICENSE new file mode 100644 index 0000000..57bee5f --- /dev/null +++ b/node_modules/@octokit/request-error/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/request-error/node_modules/@octokit/types/README.md b/node_modules/@octokit/request-error/node_modules/@octokit/types/README.md new file mode 100644 index 0000000..25b8f03 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/README.md @@ -0,0 +1,65 @@ +# 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](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "./src"; + +type listUserReposParameters = Endpoints["GET /repos/:owner/:repo"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/:owner/:repo"]["response"]; + +async function listRepos( + options: listUserReposParameters +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js new file mode 100644 index 0000000..4c5b65f --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js @@ -0,0 +1,8 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "2.16.2"; + +exports.VERSION = VERSION; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js.map new file mode 100644 index 0000000..2d148d3 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":["VERSION"],"mappings":";;;;MAAaA,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/AuthInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointDefaults.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/EndpointOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Fetch.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/OctokitResponse.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestMethod.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestParameters.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/RequestRequestOptions.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/ResponseHeaders.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Route.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Signal.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/StrategyInterface.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/Url.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/VERSION.js new file mode 100644 index 0000000..66bc3f7 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/VERSION.js @@ -0,0 +1 @@ +export const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/generated/Endpoints.js new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/index.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/index.js new file mode 100644 index 0000000..04b2163 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-src/index.js @@ -0,0 +1 @@ +export * from "./VERSION"; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 0000000..0c19b50 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +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 { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 0000000..a2c2307 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +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 declare 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/request-error/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 0000000..df585be --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import { EndpointDefaults } from "./EndpointDefaults"; +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 `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + merge: { + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * + */ + (route: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ +

(options: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * Stateless method to turn endpoint options into request options. + * Calling `endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + * + * @param {object} options `method`, `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + parse: (options: O) => RequestOptions & Pick; +} diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000..b1b91f1 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import { RequestMethod } from "./RequestMethod"; +import { Url } from "./Url"; +import { RequestParameters } from "./RequestParameters"; +export declare type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 0000000..cbbd5e8 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export declare type Fetch = any; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 0000000..70e1a8d --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +declare type Unwrap = T extends Promise ? U : T; +declare type AnyFunction = (...args: any[]) => any; +export declare type GetResponseTypeFromEndpointMethod = Unwrap>; +export declare type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 0000000..9a2dd7f --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import { ResponseHeaders } from "./ResponseHeaders"; +import { Url } from "./Url"; +export declare 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/request-error/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 0000000..ac5aae0 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export declare 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/request-error/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 0000000..ef4d8d3 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import { EndpointInterface } from "./EndpointInterface"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface RequestInterface { + /** + * Sends a request based on endpoint options + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/:org'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 0000000..e999c8d --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export declare type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 0000000..97e2181 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +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 declare type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 0000000..692d193 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,45 @@ +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 declare 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]: unknown; +}; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 0000000..4482a8a --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,26 @@ +/// +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 declare 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/request-error/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 0000000..c8fbe43 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,20 @@ +export declare 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/request-error/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 0000000..8079044 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Route.d.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 declare type Route = string; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Signal.d.ts new file mode 100644 index 0000000..4ebcf24 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Signal.d.ts @@ -0,0 +1,6 @@ +/** + * Abort signal + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal + */ +export declare type Signal = any; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 0000000..405cbd2 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import { AuthInterface } from "./AuthInterface"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 0000000..acaad63 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/Url.d.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/:org'`, `https://example.com/foo/bar` + */ +export declare type Url = string; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000..c24737b --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "2.16.2"; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 0000000..d10c4c9 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,41416 @@ +import { OctokitResponse } from "../OctokitResponse"; +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +declare type RequiredPreview = { + mediaType: { + previews: [T, ...string[]]; + }; +}; +export interface Endpoints { + /** + * @see https://developer.github.com/v3/apps/#delete-an-installation + */ + "DELETE /app/installations/:installation_id": { + parameters: AppsDeleteInstallationEndpoint; + request: AppsDeleteInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#unsuspend-an-installation + */ + "DELETE /app/installations/:installation_id/suspended": { + parameters: AppsUnsuspendInstallationEndpoint; + request: AppsUnsuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-authorization + */ + "DELETE /applications/:client_id/grant": { + parameters: AppsDeleteAuthorizationEndpoint; + request: AppsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + "DELETE /applications/:client_id/grants/:access_token": { + parameters: AppsRevokeGrantForApplicationEndpoint; + request: AppsRevokeGrantForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token + */ + "DELETE /applications/:client_id/token": { + parameters: AppsDeleteTokenEndpoint; + request: AppsDeleteTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + "DELETE /applications/:client_id/tokens/:access_token": { + parameters: AppsRevokeAuthorizationForApplicationEndpoint; + request: AppsRevokeAuthorizationForApplicationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant + */ + "DELETE /applications/grants/:grant_id": { + parameters: OauthAuthorizationsDeleteGrantEndpoint; + request: OauthAuthorizationsDeleteGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization + */ + "DELETE /authorizations/:authorization_id": { + parameters: OauthAuthorizationsDeleteAuthorizationEndpoint; + request: OauthAuthorizationsDeleteAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#delete-a-gist + */ + "DELETE /gists/:gist_id": { + parameters: GistsDeleteEndpoint; + request: GistsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#delete-a-comment + */ + "DELETE /gists/:gist_id/comments/:comment_id": { + parameters: GistsDeleteCommentEndpoint; + request: GistsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#unstar-a-gist + */ + "DELETE /gists/:gist_id/star": { + parameters: GistsUnstarEndpoint; + request: GistsUnstarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#revoke-an-installation-token + */ + "DELETE /installation/token": { + parameters: AppsRevokeInstallationTokenEndpoint; + request: AppsRevokeInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#delete-a-thread-subscription + */ + "DELETE /notifications/threads/:thread_id/subscription": { + parameters: ActivityDeleteThreadSubscriptionEndpoint; + request: ActivityDeleteThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromOrgEndpoint; + request: ActionsDeleteSelfHostedRunnerFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#unblock-a-user + */ + "DELETE /orgs/:org/blocks/:username": { + parameters: OrgsUnblockUserEndpoint; + request: OrgsUnblockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#remove-a-credential-authorization-for-an-organization + */ + "DELETE /orgs/:org/credential-authorizations/:credential_id": { + parameters: OrgsRemoveCredentialAuthorizationEndpoint; + request: OrgsRemoveCredentialAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#delete-a-hook + */ + "DELETE /orgs/:org/hooks/:hook_id": { + parameters: OrgsDeleteHookEndpoint; + request: OrgsDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/:org/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForOrgEndpoint; + request: InteractionsRemoveRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-a-member + */ + "DELETE /orgs/:org/members/:username": { + parameters: OrgsRemoveMemberEndpoint; + request: OrgsRemoveMemberRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#remove-organization-membership + */ + "DELETE /orgs/:org/memberships/:username": { + parameters: OrgsRemoveMembershipEndpoint; + request: OrgsRemoveMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#delete-an-organization-migration-archive + */ + "DELETE /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForOrgEndpoint; + request: MigrationsDeleteArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#unlock-an-organization-repository + */ + "DELETE /orgs/:org/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForOrgEndpoint; + request: MigrationsUnlockRepoForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#remove-outside-collaborator + */ + "DELETE /orgs/:org/outside_collaborators/:username": { + parameters: OrgsRemoveOutsideCollaboratorEndpoint; + request: OrgsRemoveOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#conceal-a-users-membership + */ + "DELETE /orgs/:org/public_members/:username": { + parameters: OrgsConcealMembershipEndpoint; + request: OrgsConcealMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team + */ + "DELETE /orgs/:org/teams/:team_slug": { + parameters: TeamsDeleteInOrgEndpoint; + request: TeamsDeleteInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionInOrgEndpoint; + request: TeamsDeleteDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentInOrgEndpoint; + request: TeamsDeleteDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionCommentEndpoint; + request: ReactionsDeleteForTeamDiscussionCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-team-discussion-reaction + */ + "DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForTeamDiscussionEndpoint; + request: ReactionsDeleteForTeamDiscussionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership + */ + "DELETE /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsRemoveMembershipInOrgEndpoint; + request: TeamsRemoveMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project + */ + "DELETE /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsRemoveProjectInOrgEndpoint; + request: TeamsRemoveProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository + */ + "DELETE /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsRemoveRepoInOrgEndpoint; + request: TeamsRemoveRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#delete-a-project + */ + "DELETE /projects/:project_id": { + parameters: ProjectsDeleteEndpoint; + request: ProjectsDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /projects/:project_id/collaborators/:username": { + parameters: ProjectsRemoveCollaboratorEndpoint; + request: ProjectsRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#delete-a-project-column + */ + "DELETE /projects/columns/:column_id": { + parameters: ProjectsDeleteColumnEndpoint; + request: ProjectsDeleteColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#delete-a-project-card + */ + "DELETE /projects/columns/cards/:card_id": { + parameters: ProjectsDeleteCardEndpoint; + request: ProjectsDeleteCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-reaction-legacy + */ + "DELETE /reactions/:reaction_id": { + parameters: ReactionsDeleteLegacyEndpoint; + request: ReactionsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#delete-a-repository + */ + "DELETE /repos/:owner/:repo": { + parameters: ReposDeleteEndpoint; + request: ReposDeleteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#delete-an-artifact + */ + "DELETE /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsDeleteArtifactEndpoint; + request: ActionsDeleteArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsDeleteSelfHostedRunnerFromRepoEndpoint; + request: ActionsDeleteSelfHostedRunnerFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#delete-workflow-run-logs + */ + "DELETE /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDeleteWorkflowRunLogsEndpoint; + request: ActionsDeleteWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#delete-a-secret-from-a-repository + */ + "DELETE /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsDeleteSecretFromRepoEndpoint; + request: ActionsDeleteSecretFromRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-automated-security-fixes + */ + "DELETE /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposDisableAutomatedSecurityFixesEndpoint; + request: ReposDisableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-branch-protection + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposRemoveBranchProtectionEndpoint; + request: ReposRemoveBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-admin-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposRemoveProtectedBranchAdminEnforcementEndpoint; + request: ReposRemoveProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-pull-request-review-enforcement-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-signatures-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposRemoveProtectedBranchRequiredSignaturesEndpoint; + request: ReposRemoveProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-required-status-checks-contexts-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposRemoveProtectedBranchRestrictionsEndpoint; + request: ReposRemoveProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-app-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposRemoveProtectedBranchAppRestrictionsEndpoint; + request: ReposRemoveProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-team-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposRemoveProtectedBranchTeamRestrictionsEndpoint; + request: ReposRemoveProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#remove-user-restrictions-of-protected-branch + */ + "DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposRemoveProtectedBranchUserRestrictionsEndpoint; + request: ReposRemoveProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#remove-user-as-a-collaborator + */ + "DELETE /repos/:owner/:repo/collaborators/:username": { + parameters: ReposRemoveCollaboratorEndpoint; + request: ReposRemoveCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#delete-a-commit-comment + */ + "DELETE /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposDeleteCommitCommentEndpoint; + request: ReposDeleteCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-commit-comment-reaction + */ + "DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForCommitCommentEndpoint; + request: ReactionsDeleteForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#delete-a-file + */ + "DELETE /repos/:owner/:repo/contents/:path": { + parameters: ReposDeleteFileEndpoint; + request: ReposDeleteFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#delete-a-deployment + */ + "DELETE /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposDeleteDeploymentEndpoint; + request: ReposDeleteDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#delete-a-download + */ + "DELETE /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposDeleteDownloadEndpoint; + request: ReposDeleteDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#delete-a-reference + */ + "DELETE /repos/:owner/:repo/git/refs/:ref": { + parameters: GitDeleteRefEndpoint; + request: GitDeleteRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#delete-a-hook + */ + "DELETE /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposDeleteHookEndpoint; + request: ReposDeleteHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#cancel-an-import + */ + "DELETE /repos/:owner/:repo/import": { + parameters: MigrationsCancelImportEndpoint; + request: MigrationsCancelImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsRemoveRestrictionsForRepoEndpoint; + request: InteractionsRemoveRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#delete-a-repository-invitation + */ + "DELETE /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposDeleteInvitationEndpoint; + request: ReposDeleteInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#remove-assignees-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesRemoveAssigneesEndpoint; + request: IssuesRemoveAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesRemoveAllLabelsEndpoint; + request: IssuesRemoveAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/labels/:name": { + parameters: IssuesRemoveLabelEndpoint; + request: IssuesRemoveLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#unlock-an-issue + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesUnlockEndpoint; + request: IssuesUnlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-reaction + */ + "DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueEndpoint; + request: ReactionsDeleteForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesDeleteCommentEndpoint; + request: IssuesDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-an-issue-comment-reaction + */ + "DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForIssueCommentEndpoint; + request: ReactionsDeleteForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#remove-a-deploy-key + */ + "DELETE /repos/:owner/:repo/keys/:key_id": { + parameters: ReposRemoveDeployKeyEndpoint; + request: ReposRemoveDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#delete-a-label + */ + "DELETE /repos/:owner/:repo/labels/:name": { + parameters: IssuesDeleteLabelEndpoint; + request: IssuesDeleteLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#delete-a-milestone + */ + "DELETE /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesDeleteMilestoneEndpoint; + request: IssuesDeleteMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#disable-a-pages-site + */ + "DELETE /repos/:owner/:repo/pages": { + parameters: ReposDisablePagesSiteEndpoint; + request: ReposDisablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#delete-a-review-request + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsDeleteReviewRequestEndpoint; + request: PullsDeleteReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#delete-a-pending-review + */ + "DELETE /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsDeletePendingReviewEndpoint; + request: PullsDeletePendingReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#delete-a-comment + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsDeleteCommentEndpoint; + request: PullsDeleteCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id": { + parameters: ReactionsDeleteForPullRequestCommentEndpoint; + request: ReactionsDeleteForPullRequestCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release + */ + "DELETE /repos/:owner/:repo/releases/:release_id": { + parameters: ReposDeleteReleaseEndpoint; + request: ReposDeleteReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#delete-a-release-asset + */ + "DELETE /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposDeleteReleaseAssetEndpoint; + request: ReposDeleteReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#delete-a-repository-subscription + */ + "DELETE /repos/:owner/:repo/subscription": { + parameters: ActivityDeleteRepoSubscriptionEndpoint; + request: ActivityDeleteRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#disable-vulnerability-alerts + */ + "DELETE /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposDisableVulnerabilityAlertsEndpoint; + request: ReposDisableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#remove-a-user-from-the-organization + */ + "DELETE /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimRemoveUserFromOrgEndpoint; + request: ScimRemoveUserFromOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#delete-team-legacy + */ + "DELETE /teams/:team_id": { + parameters: TeamsDeleteLegacyEndpoint; + request: TeamsDeleteLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsDeleteDiscussionLegacyEndpoint; + request: TeamsDeleteDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + "DELETE /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsDeleteDiscussionCommentLegacyEndpoint; + request: TeamsDeleteDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-member-legacy + */ + "DELETE /teams/:team_id/members/:username": { + parameters: TeamsRemoveMemberLegacyEndpoint; + request: TeamsRemoveMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy + */ + "DELETE /teams/:team_id/memberships/:username": { + parameters: TeamsRemoveMembershipLegacyEndpoint; + request: TeamsRemoveMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-project-legacy + */ + "DELETE /teams/:team_id/projects/:project_id": { + parameters: TeamsRemoveProjectLegacyEndpoint; + request: TeamsRemoveProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#remove-team-repository-legacy + */ + "DELETE /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsRemoveRepoLegacyEndpoint; + request: TeamsRemoveRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#unblock-a-user + */ + "DELETE /user/blocks/:username": { + parameters: UsersUnblockEndpoint; + request: UsersUnblockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#delete-email-addresses + */ + "DELETE /user/emails": { + parameters: UsersDeleteEmailsEndpoint; + request: UsersDeleteEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#unfollow-a-user + */ + "DELETE /user/following/:username": { + parameters: UsersUnfollowEndpoint; + request: UsersUnfollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#delete-a-gpg-key + */ + "DELETE /user/gpg_keys/:gpg_key_id": { + parameters: UsersDeleteGpgKeyEndpoint; + request: UsersDeleteGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#remove-repository-from-installation + */ + "DELETE /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsRemoveRepoFromInstallationEndpoint; + request: AppsRemoveRepoFromInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#delete-a-public-key + */ + "DELETE /user/keys/:key_id": { + parameters: UsersDeletePublicKeyEndpoint; + request: UsersDeletePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#delete-a-user-migration-archive + */ + "DELETE /user/migrations/:migration_id/archive": { + parameters: MigrationsDeleteArchiveForAuthenticatedUserEndpoint; + request: MigrationsDeleteArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#unlock-a-user-repository + */ + "DELETE /user/migrations/:migration_id/repos/:repo_name/lock": { + parameters: MigrationsUnlockRepoForAuthenticatedUserEndpoint; + request: MigrationsUnlockRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/:invitation_id": { + parameters: ReposDeclineInvitationEndpoint; + request: ReposDeclineInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/:owner/:repo": { + parameters: ActivityUnstarRepoForAuthenticatedUserEndpoint; + request: ActivityUnstarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#stop-watching-a-repository-legacy + */ + "DELETE /user/subscriptions/:owner/:repo": { + parameters: ActivityStopWatchingRepoLegacyEndpoint; + request: ActivityStopWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-the-authenticated-github-app + */ + "GET /app": { + parameters: AppsGetAuthenticatedEndpoint; + request: AppsGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#list-installations + */ + "GET /app/installations": { + parameters: AppsListInstallationsEndpoint; + request: AppsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-installation + */ + "GET /app/installations/:installation_id": { + parameters: AppsGetInstallationEndpoint; + request: AppsGetInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + "GET /applications/:client_id/tokens/:access_token": { + parameters: AppsCheckAuthorizationEndpoint; + request: AppsCheckAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-grants + */ + "GET /applications/grants": { + parameters: OauthAuthorizationsListGrantsEndpoint; + request: OauthAuthorizationsListGrantsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant + */ + "GET /applications/grants/:grant_id": { + parameters: OauthAuthorizationsGetGrantEndpoint; + request: OauthAuthorizationsGetGrantRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-single-github-app + */ + "GET /apps/:app_slug": { + parameters: AppsGetBySlugEndpoint; + request: AppsGetBySlugRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations + */ + "GET /authorizations": { + parameters: OauthAuthorizationsListAuthorizationsEndpoint; + request: OauthAuthorizationsListAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization + */ + "GET /authorizations/:authorization_id": { + parameters: OauthAuthorizationsGetAuthorizationEndpoint; + request: OauthAuthorizationsGetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#list-all-codes-of-conduct + */ + "GET /codes_of_conduct": { + parameters: CodesOfConductGetAllCodesOfConductEndpoint; + request: CodesOfConductGetAllCodesOfConductRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-an-individual-code-of-conduct + */ + "GET /codes_of_conduct/:key": { + parameters: CodesOfConductGetConductCodeEndpoint; + request: CodesOfConductGetConductCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/emojis/#emojis + */ + "GET /emojis": { + parameters: EmojisGetEndpoint; + request: EmojisGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events + */ + "GET /events": { + parameters: ActivityListPublicEventsEndpoint; + request: ActivityListPublicEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/feeds/#get-feeds + */ + "GET /feeds": { + parameters: ActivityGetFeedsEndpoint; + request: ActivityGetFeedsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-the-authenticated-user + */ + "GET /gists": { + parameters: GistsListEndpoint; + request: GistsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-gist + */ + "GET /gists/:gist_id": { + parameters: GistsGetEndpoint; + request: GistsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#get-a-specific-revision-of-a-gist + */ + "GET /gists/:gist_id/:sha": { + parameters: GistsGetRevisionEndpoint; + request: GistsGetRevisionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist + */ + "GET /gists/:gist_id/comments": { + parameters: GistsListCommentsEndpoint; + request: GistsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#get-a-single-comment + */ + "GET /gists/:gist_id/comments/:comment_id": { + parameters: GistsGetCommentEndpoint; + request: GistsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-commits + */ + "GET /gists/:gist_id/commits": { + parameters: GistsListCommitsEndpoint; + request: GistsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gist-forks + */ + "GET /gists/:gist_id/forks": { + parameters: GistsListForksEndpoint; + request: GistsListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#check-if-a-gist-is-starred + */ + "GET /gists/:gist_id/star": { + parameters: GistsCheckIsStarredEndpoint; + request: GistsCheckIsStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-public-gists + */ + "GET /gists/public": { + parameters: GistsListPublicEndpoint; + request: GistsListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-starred-gists + */ + "GET /gists/starred": { + parameters: GistsListStarredEndpoint; + request: GistsListStarredRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#listing-available-templates + */ + "GET /gitignore/templates": { + parameters: GitignoreListTemplatesEndpoint; + request: GitignoreListTemplatesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gitignore/#get-a-single-template + */ + "GET /gitignore/templates/:name": { + parameters: GitignoreGetTemplateEndpoint; + request: GitignoreGetTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories + */ + "GET /installation/repositories": { + parameters: AppsListReposEndpoint; + request: AppsListReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": { + parameters: IssuesListEndpoint; + request: IssuesListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-issues + */ + "GET /legacy/issues/search/:owner/:repository/:state/:keyword": { + parameters: SearchIssuesLegacyEndpoint; + request: SearchIssuesLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-repositories + */ + "GET /legacy/repos/search/:keyword": { + parameters: SearchReposLegacyEndpoint; + request: SearchReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#email-search + */ + "GET /legacy/user/email/:email": { + parameters: SearchEmailLegacyEndpoint; + request: SearchEmailLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/legacy/#search-users + */ + "GET /legacy/user/search/:keyword": { + parameters: SearchUsersLegacyEndpoint; + request: SearchUsersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#list-commonly-used-licenses + */ + "GET /licenses": { + parameters: LicensesListCommonlyUsedEndpoint; + request: LicensesListCommonlyUsedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-an-individual-license + */ + "GET /licenses/:license": { + parameters: LicensesGetEndpoint; + request: LicensesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountEndpoint; + request: AppsGetSubscriptionPlanForAccountRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans + */ + "GET /marketplace_listing/plans": { + parameters: AppsListPlansEndpoint; + request: AppsListPlansRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanEndpoint; + request: AppsListAccountsForPlanRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/:account_id": { + parameters: AppsGetSubscriptionPlanForAccountStubbedEndpoint; + request: AppsGetSubscriptionPlanForAccountStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": { + parameters: AppsListPlansStubbedEndpoint; + request: AppsListPlansStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/:plan_id/accounts": { + parameters: AppsListAccountsForPlanStubbedEndpoint; + request: AppsListAccountsForPlanStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/meta/#meta + */ + "GET /meta": { + parameters: MetaGetEndpoint; + request: MetaGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories + */ + "GET /networks/:owner/:repo/events": { + parameters: ActivityListPublicEventsForRepoNetworkEndpoint; + request: ActivityListPublicEventsForRepoNetworkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-notifications-for-the-authenticated-user + */ + "GET /notifications": { + parameters: ActivityListNotificationsForAuthenticatedUserEndpoint; + request: ActivityListNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread + */ + "GET /notifications/threads/:thread_id": { + parameters: ActivityGetThreadEndpoint; + request: ActivityGetThreadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/:thread_id/subscription": { + parameters: ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint; + request: ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-all-organizations + */ + "GET /organizations": { + parameters: OrgsListEndpoint; + request: OrgsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#get-an-organization + */ + "GET /orgs/:org": { + parameters: OrgsGetEndpoint; + request: OrgsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/:org/actions/runners": { + parameters: ActionsListSelfHostedRunnersForOrgEndpoint; + request: ActionsListSelfHostedRunnersForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/:org/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForOrgEndpoint; + request: ActionsGetSelfHostedRunnerForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-an-organization + */ + "GET /orgs/:org/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForOrgEndpoint; + request: ActionsListRunnerApplicationsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#list-blocked-users + */ + "GET /orgs/:org/blocks": { + parameters: OrgsListBlockedUsersEndpoint; + request: OrgsListBlockedUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#check-whether-a-user-is-blocked-from-an-organization + */ + "GET /orgs/:org/blocks/:username": { + parameters: OrgsCheckBlockedUserEndpoint; + request: OrgsCheckBlockedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-credential-authorizations-for-an-organization + */ + "GET /orgs/:org/credential-authorizations": { + parameters: OrgsListCredentialAuthorizationsEndpoint; + request: OrgsListCredentialAuthorizationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-organization-events + */ + "GET /orgs/:org/events": { + parameters: ActivityListPublicOrgEventsEndpoint; + request: ActivityListPublicOrgEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#list-hooks + */ + "GET /orgs/:org/hooks": { + parameters: OrgsListHooksEndpoint; + request: OrgsListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#get-single-hook + */ + "GET /orgs/:org/hooks/:hook_id": { + parameters: OrgsGetHookEndpoint; + request: OrgsGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-an-organization-installation + */ + "GET /orgs/:org/installation": { + parameters: AppsGetOrgInstallationEndpoint; + request: AppsGetOrgInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-installations-for-an-organization + */ + "GET /orgs/:org/installations": { + parameters: OrgsListInstallationsEndpoint; + request: OrgsListInstallationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/:org/interaction-limits": { + parameters: InteractionsGetRestrictionsForOrgEndpoint; + request: InteractionsGetRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations + */ + "GET /orgs/:org/invitations": { + parameters: OrgsListPendingInvitationsEndpoint; + request: OrgsListPendingInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-organization-invitation-teams + */ + "GET /orgs/:org/invitations/:invitation_id/teams": { + parameters: OrgsListInvitationTeamsEndpoint; + request: OrgsListInvitationTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/:org/issues": { + parameters: IssuesListForOrgEndpoint; + request: IssuesListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#members-list + */ + "GET /orgs/:org/members": { + parameters: OrgsListMembersEndpoint; + request: OrgsListMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-membership + */ + "GET /orgs/:org/members/:username": { + parameters: OrgsCheckMembershipEndpoint; + request: OrgsCheckMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-organization-membership + */ + "GET /orgs/:org/memberships/:username": { + parameters: OrgsGetMembershipEndpoint; + request: OrgsGetMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-organization-migrations + */ + "GET /orgs/:org/migrations": { + parameters: MigrationsListForOrgEndpoint; + request: MigrationsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#get-the-status-of-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id": { + parameters: MigrationsGetStatusForOrgEndpoint; + request: MigrationsGetStatusForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#download-an-organization-migration-archive + */ + "GET /orgs/:org/migrations/:migration_id/archive": { + parameters: MigrationsDownloadArchiveForOrgEndpoint; + request: MigrationsDownloadArchiveForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#list-repositories-in-an-organization-migration + */ + "GET /orgs/:org/migrations/:migration_id/repositories": { + parameters: MigrationsListReposForOrgEndpoint; + request: MigrationsListReposForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators + */ + "GET /orgs/:org/outside_collaborators": { + parameters: OrgsListOutsideCollaboratorsEndpoint; + request: OrgsListOutsideCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-organization-projects + */ + "GET /orgs/:org/projects": { + parameters: ProjectsListForOrgEndpoint; + request: ProjectsListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#public-members-list + */ + "GET /orgs/:org/public_members": { + parameters: OrgsListPublicMembersEndpoint; + request: OrgsListPublicMembersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#check-public-membership + */ + "GET /orgs/:org/public_members/:username": { + parameters: OrgsCheckPublicMembershipEndpoint; + request: OrgsCheckPublicMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-organization-repositories + */ + "GET /orgs/:org/repos": { + parameters: ReposListForOrgEndpoint; + request: ReposListForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-in-an-organization + */ + "GET /orgs/:org/team-sync/groups": { + parameters: TeamsListIdPGroupsForOrgEndpoint; + request: TeamsListIdPGroupsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-teams + */ + "GET /orgs/:org/teams": { + parameters: TeamsListEndpoint; + request: TeamsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-by-name + */ + "GET /orgs/:org/teams/:team_slug": { + parameters: TeamsGetByNameEndpoint; + request: TeamsGetByNameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions + */ + "GET /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsListDiscussionsInOrgEndpoint; + request: TeamsListDiscussionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsGetDiscussionInOrgEndpoint; + request: TeamsGetDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsInOrgEndpoint; + request: TeamsListDiscussionCommentsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentInOrgEndpoint; + request: TeamsGetDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsListForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion + */ + "GET /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionInOrgEndpoint; + request: ReactionsListForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations + */ + "GET /orgs/:org/teams/:team_slug/invitations": { + parameters: TeamsListPendingInvitationsInOrgEndpoint; + request: TeamsListPendingInvitationsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members + */ + "GET /orgs/:org/teams/:team_slug/members": { + parameters: TeamsListMembersInOrgEndpoint; + request: TeamsListMembersInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership + */ + "GET /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsGetMembershipInOrgEndpoint; + request: TeamsGetMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects + */ + "GET /orgs/:org/teams/:team_slug/projects": { + parameters: TeamsListProjectsInOrgEndpoint; + request: TeamsListProjectsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project + */ + "GET /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsReviewProjectInOrgEndpoint; + request: TeamsReviewProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos + */ + "GET /orgs/:org/teams/:team_slug/repos": { + parameters: TeamsListReposInOrgEndpoint; + request: TeamsListReposInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository + */ + "GET /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoInOrgEndpoint; + request: TeamsCheckManagesRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team + */ + "GET /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsInOrgEndpoint; + request: TeamsListIdPGroupsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams + */ + "GET /orgs/:org/teams/:team_slug/teams": { + parameters: TeamsListChildInOrgEndpoint; + request: TeamsListChildInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#get-a-project + */ + "GET /projects/:project_id": { + parameters: ProjectsGetEndpoint; + request: ProjectsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#list-collaborators + */ + "GET /projects/:project_id/collaborators": { + parameters: ProjectsListCollaboratorsEndpoint; + request: ProjectsListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#review-a-users-permission-level + */ + "GET /projects/:project_id/collaborators/:username/permission": { + parameters: ProjectsReviewUserPermissionLevelEndpoint; + request: ProjectsReviewUserPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#list-project-columns + */ + "GET /projects/:project_id/columns": { + parameters: ProjectsListColumnsEndpoint; + request: ProjectsListColumnsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#get-a-project-column + */ + "GET /projects/columns/:column_id": { + parameters: ProjectsGetColumnEndpoint; + request: ProjectsGetColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#list-project-cards + */ + "GET /projects/columns/:column_id/cards": { + parameters: ProjectsListCardsEndpoint; + request: ProjectsListCardsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#get-a-project-card + */ + "GET /projects/columns/cards/:card_id": { + parameters: ProjectsGetCardEndpoint; + request: ProjectsGetCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/rate_limit/#get-your-current-rate-limit-status + */ + "GET /rate_limit": { + parameters: RateLimitGetEndpoint; + request: RateLimitGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-a-repository + */ + "GET /repos/:owner/:repo": { + parameters: ReposGetEndpoint; + request: ReposGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-archive-link + */ + "GET /repos/:owner/:repo/:archive_format/:ref": { + parameters: ReposGetArchiveLinkEndpoint; + request: ReposGetArchiveLinkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-artifacts-for-a-repository + */ + "GET /repos/:owner/:repo/actions/artifacts": { + parameters: ActionsListArtifactsForRepoEndpoint; + request: ActionsListArtifactsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#get-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id": { + parameters: ActionsGetArtifactEndpoint; + request: ActionsGetArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#download-an-artifact + */ + "GET /repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format": { + parameters: ActionsDownloadArtifactEndpoint; + request: ActionsDownloadArtifactRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#get-a-workflow-job + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id": { + parameters: ActionsGetWorkflowJobEndpoint; + request: ActionsGetWorkflowJobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#download-workflow-job-logs + */ + "GET /repos/:owner/:repo/actions/jobs/:job_id/logs": { + parameters: ActionsDownloadWorkflowJobLogsEndpoint; + request: ActionsDownloadWorkflowJobLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-self-hosted-runners-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners": { + parameters: ActionsListSelfHostedRunnersForRepoEndpoint; + request: ActionsListSelfHostedRunnersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/:runner_id": { + parameters: ActionsGetSelfHostedRunnerForRepoEndpoint; + request: ActionsGetSelfHostedRunnerForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#list-runner-applications-for-a-repository + */ + "GET /repos/:owner/:repo/actions/runners/downloads": { + parameters: ActionsListRunnerApplicationsForRepoEndpoint; + request: ActionsListRunnerApplicationsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-repository-workflow-runs + */ + "GET /repos/:owner/:repo/actions/runs": { + parameters: ActionsListRepoWorkflowRunsEndpoint; + request: ActionsListRepoWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#get-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id": { + parameters: ActionsGetWorkflowRunEndpoint; + request: ActionsGetWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/artifacts/#list-workflow-run-artifacts + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/artifacts": { + parameters: ActionsListWorkflowRunArtifactsEndpoint; + request: ActionsListWorkflowRunArtifactsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-jobs/#list-jobs-for-a-workflow-run + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/jobs": { + parameters: ActionsListJobsForWorkflowRunEndpoint; + request: ActionsListJobsForWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#download-workflow-run-logs + */ + "GET /repos/:owner/:repo/actions/runs/:run_id/logs": { + parameters: ActionsDownloadWorkflowRunLogsEndpoint; + request: ActionsDownloadWorkflowRunLogsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#list-secrets-for-a-repository + */ + "GET /repos/:owner/:repo/actions/secrets": { + parameters: ActionsListSecretsForRepoEndpoint; + request: ActionsListSecretsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-a-secret + */ + "GET /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsGetSecretEndpoint; + request: ActionsGetSecretRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#get-your-public-key + */ + "GET /repos/:owner/:repo/actions/secrets/public-key": { + parameters: ActionsGetPublicKeyEndpoint; + request: ActionsGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#list-repository-workflows + */ + "GET /repos/:owner/:repo/actions/workflows": { + parameters: ActionsListRepoWorkflowsEndpoint; + request: ActionsListRepoWorkflowsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflows/#get-a-workflow + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id": { + parameters: ActionsGetWorkflowEndpoint; + request: ActionsGetWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#list-workflow-runs + */ + "GET /repos/:owner/:repo/actions/workflows/:workflow_id/runs": { + parameters: ActionsListWorkflowRunsEndpoint; + request: ActionsListWorkflowRunsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#list-assignees + */ + "GET /repos/:owner/:repo/assignees": { + parameters: IssuesListAssigneesEndpoint; + request: IssuesListAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#check-assignee + */ + "GET /repos/:owner/:repo/assignees/:assignee": { + parameters: IssuesCheckAssigneeEndpoint; + request: IssuesCheckAssigneeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-branches + */ + "GET /repos/:owner/:repo/branches": { + parameters: ReposListBranchesEndpoint; + request: ReposListBranchesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch + */ + "GET /repos/:owner/:repo/branches/:branch": { + parameters: ReposGetBranchEndpoint; + request: ReposGetBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-branch-protection + */ + "GET /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposGetBranchProtectionEndpoint; + request: ReposGetBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-admin-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposGetProtectedBranchAdminEnforcementEndpoint; + request: ReposGetProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-pull-request-review-enforcement-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-signatures-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposGetProtectedBranchRequiredSignaturesEndpoint; + request: ReposGetProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-required-status-checks-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposGetProtectedBranchRequiredStatusChecksEndpoint; + request: ReposGetProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-required-status-checks-contexts-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposListProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#get-restrictions-of-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions": { + parameters: ReposGetProtectedBranchRestrictionsEndpoint; + request: ReposGetProtectedBranchRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-apps-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposGetAppsWithAccessToProtectedBranchEndpoint; + request: ReposGetAppsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-teams-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposGetTeamsWithAccessToProtectedBranchEndpoint; + request: ReposGetTeamsWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#list-users-with-access-to-protected-branch + */ + "GET /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposGetUsersWithAccessToProtectedBranchEndpoint; + request: ReposGetUsersWithAccessToProtectedBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#get-a-check-run + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksGetEndpoint; + request: ChecksGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-run-annotations + */ + "GET /repos/:owner/:repo/check-runs/:check_run_id/annotations": { + parameters: ChecksListAnnotationsEndpoint; + request: ChecksListAnnotationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#get-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id": { + parameters: ChecksGetSuiteEndpoint; + request: ChecksGetSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-in-a-check-suite + */ + "GET /repos/:owner/:repo/check-suites/:check_suite_id/check-runs": { + parameters: ChecksListForSuiteEndpoint; + request: ChecksListForSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/:owner/:repo/code-scanning/alerts": { + parameters: CodeScanningListAlertsForRepoEndpoint; + request: CodeScanningListAlertsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/code-scanning/#get-a-code-scanning-alert + */ + "GET /repos/:owner/:repo/code-scanning/alerts/:alert_id": { + parameters: CodeScanningGetAlertEndpoint; + request: CodeScanningGetAlertRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#list-collaborators + */ + "GET /repos/:owner/:repo/collaborators": { + parameters: ReposListCollaboratorsEndpoint; + request: ReposListCollaboratorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator + */ + "GET /repos/:owner/:repo/collaborators/:username": { + parameters: ReposCheckCollaboratorEndpoint; + request: ReposCheckCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level + */ + "GET /repos/:owner/:repo/collaborators/:username/permission": { + parameters: ReposGetCollaboratorPermissionLevelEndpoint; + request: ReposGetCollaboratorPermissionLevelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository + */ + "GET /repos/:owner/:repo/comments": { + parameters: ReposListCommitCommentsEndpoint; + request: ReposListCommitCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposGetCommitCommentEndpoint; + request: ReposGetCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-commit-comment + */ + "GET /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsListForCommitCommentEndpoint; + request: ReactionsListForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository + */ + "GET /repos/:owner/:repo/commits": { + parameters: ReposListCommitsEndpoint; + request: ReposListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-branches-for-head-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/branches-where-head": { + parameters: ReposListBranchesForHeadCommitEndpoint; + request: ReposListBranchesForHeadCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposListCommentsForCommitEndpoint; + request: ReposListCommentsForCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-commit + */ + "GET /repos/:owner/:repo/commits/:commit_sha/pulls": { + parameters: ReposListPullRequestsAssociatedWithCommitEndpoint; + request: ReposListPullRequestsAssociatedWithCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#get-a-single-commit + */ + "GET /repos/:owner/:repo/commits/:ref": { + parameters: ReposGetCommitEndpoint; + request: ReposGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#list-check-runs-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-runs": { + parameters: ChecksListForRefEndpoint; + request: ChecksListForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#list-check-suites-for-a-git-reference + */ + "GET /repos/:owner/:repo/commits/:ref/check-suites": { + parameters: ChecksListSuitesForRefEndpoint; + request: ChecksListSuitesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/status": { + parameters: ReposGetCombinedStatusForRefEndpoint; + request: ReposGetCombinedStatusForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref + */ + "GET /repos/:owner/:repo/commits/:ref/statuses": { + parameters: ReposListStatusesForRefEndpoint; + request: ReposListStatusesForRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/codes_of_conduct/#get-the-contents-of-a-repositorys-code-of-conduct + */ + "GET /repos/:owner/:repo/community/code_of_conduct": { + parameters: CodesOfConductGetForRepoEndpoint; + request: CodesOfConductGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/community/#retrieve-community-profile-metrics + */ + "GET /repos/:owner/:repo/community/profile": { + parameters: ReposRetrieveCommunityProfileMetricsEndpoint; + request: ReposRetrieveCommunityProfileMetricsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/commits/#compare-two-commits + */ + "GET /repos/:owner/:repo/compare/:base...:head": { + parameters: ReposCompareCommitsEndpoint; + request: ReposCompareCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-contents + */ + "GET /repos/:owner/:repo/contents/:path": { + parameters: ReposGetContentsEndpoint; + request: ReposGetContentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-contributors + */ + "GET /repos/:owner/:repo/contributors": { + parameters: ReposListContributorsEndpoint; + request: ReposListContributorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployments + */ + "GET /repos/:owner/:repo/deployments": { + parameters: ReposListDeploymentsEndpoint; + request: ReposListDeploymentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment + */ + "GET /repos/:owner/:repo/deployments/:deployment_id": { + parameters: ReposGetDeploymentEndpoint; + request: ReposGetDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#list-deployment-statuses + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposListDeploymentStatusesEndpoint; + request: ReposListDeploymentStatusesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#get-a-single-deployment-status + */ + "GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id": { + parameters: ReposGetDeploymentStatusEndpoint; + request: ReposGetDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#list-downloads-for-a-repository + */ + "GET /repos/:owner/:repo/downloads": { + parameters: ReposListDownloadsEndpoint; + request: ReposListDownloadsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/downloads/#get-a-single-download + */ + "GET /repos/:owner/:repo/downloads/:download_id": { + parameters: ReposGetDownloadEndpoint; + request: ReposGetDownloadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-repository-events + */ + "GET /repos/:owner/:repo/events": { + parameters: ActivityListRepoEventsEndpoint; + request: ActivityListRepoEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#list-forks + */ + "GET /repos/:owner/:repo/forks": { + parameters: ReposListForksEndpoint; + request: ReposListForksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#get-a-blob + */ + "GET /repos/:owner/:repo/git/blobs/:file_sha": { + parameters: GitGetBlobEndpoint; + request: GitGetBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#get-a-commit + */ + "GET /repos/:owner/:repo/git/commits/:commit_sha": { + parameters: GitGetCommitEndpoint; + request: GitGetCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#list-matching-references + */ + "GET /repos/:owner/:repo/git/matching-refs/:ref": { + parameters: GitListMatchingRefsEndpoint; + request: GitListMatchingRefsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#get-a-single-reference + */ + "GET /repos/:owner/:repo/git/ref/:ref": { + parameters: GitGetRefEndpoint; + request: GitGetRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#get-a-tag + */ + "GET /repos/:owner/:repo/git/tags/:tag_sha": { + parameters: GitGetTagEndpoint; + request: GitGetTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#get-a-tree + */ + "GET /repos/:owner/:repo/git/trees/:tree_sha": { + parameters: GitGetTreeEndpoint; + request: GitGetTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#list-hooks + */ + "GET /repos/:owner/:repo/hooks": { + parameters: ReposListHooksEndpoint; + request: ReposListHooksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#get-single-hook + */ + "GET /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposGetHookEndpoint; + request: ReposGetHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-import-progress + */ + "GET /repos/:owner/:repo/import": { + parameters: MigrationsGetImportProgressEndpoint; + request: MigrationsGetImportProgressRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-commit-authors + */ + "GET /repos/:owner/:repo/import/authors": { + parameters: MigrationsGetCommitAuthorsEndpoint; + request: MigrationsGetCommitAuthorsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#get-large-files + */ + "GET /repos/:owner/:repo/import/large_files": { + parameters: MigrationsGetLargeFilesEndpoint; + request: MigrationsGetLargeFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-repository-installation + */ + "GET /repos/:owner/:repo/installation": { + parameters: AppsGetRepoInstallationEndpoint; + request: AppsGetRepoInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#get-interaction-restrictions-for-a-repository + */ + "GET /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsGetRestrictionsForRepoEndpoint; + request: InteractionsGetRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository + */ + "GET /repos/:owner/:repo/invitations": { + parameters: ReposListInvitationsEndpoint; + request: ReposListInvitationsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-repository-issues + */ + "GET /repos/:owner/:repo/issues": { + parameters: IssuesListForRepoEndpoint; + request: IssuesListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#get-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesGetEndpoint; + request: IssuesGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesListCommentsEndpoint; + request: IssuesListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/events": { + parameters: IssuesListEventsEndpoint; + request: IssuesListEventsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesListLabelsOnIssueEndpoint; + request: IssuesListLabelsOnIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsListForIssueEndpoint; + request: ReactionsListForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/timeline/#list-events-for-an-issue + */ + "GET /repos/:owner/:repo/issues/:issue_number/timeline": { + parameters: IssuesListEventsForTimelineEndpoint; + request: IssuesListEventsForTimelineRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/issues/comments": { + parameters: IssuesListCommentsForRepoEndpoint; + request: IssuesListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesGetCommentEndpoint; + request: IssuesGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-an-issue-comment + */ + "GET /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsListForIssueCommentEndpoint; + request: ReactionsListForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#list-events-for-a-repository + */ + "GET /repos/:owner/:repo/issues/events": { + parameters: IssuesListEventsForRepoEndpoint; + request: IssuesListEventsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/events/#get-a-single-event + */ + "GET /repos/:owner/:repo/issues/events/:event_id": { + parameters: IssuesGetEventEndpoint; + request: IssuesGetEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#list-deploy-keys + */ + "GET /repos/:owner/:repo/keys": { + parameters: ReposListDeployKeysEndpoint; + request: ReposListDeployKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#get-a-deploy-key + */ + "GET /repos/:owner/:repo/keys/:key_id": { + parameters: ReposGetDeployKeyEndpoint; + request: ReposGetDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository + */ + "GET /repos/:owner/:repo/labels": { + parameters: IssuesListLabelsForRepoEndpoint; + request: IssuesListLabelsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-a-single-label + */ + "GET /repos/:owner/:repo/labels/:name": { + parameters: IssuesGetLabelEndpoint; + request: IssuesGetLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-languages + */ + "GET /repos/:owner/:repo/languages": { + parameters: ReposListLanguagesEndpoint; + request: ReposListLanguagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/licenses/#get-the-contents-of-a-repositorys-license + */ + "GET /repos/:owner/:repo/license": { + parameters: LicensesGetForRepoEndpoint; + request: LicensesGetForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository + */ + "GET /repos/:owner/:repo/milestones": { + parameters: IssuesListMilestonesForRepoEndpoint; + request: IssuesListMilestonesForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#get-a-single-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesGetMilestoneEndpoint; + request: IssuesGetMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone + */ + "GET /repos/:owner/:repo/milestones/:milestone_number/labels": { + parameters: IssuesListLabelsForMilestoneEndpoint; + request: IssuesListLabelsForMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/:owner/:repo/notifications": { + parameters: ActivityListRepoNotificationsForAuthenticatedUserEndpoint; + request: ActivityListRepoNotificationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-information-about-a-pages-site + */ + "GET /repos/:owner/:repo/pages": { + parameters: ReposGetPagesEndpoint; + request: ReposGetPagesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#list-pages-builds + */ + "GET /repos/:owner/:repo/pages/builds": { + parameters: ReposListPagesBuildsEndpoint; + request: ReposListPagesBuildsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-a-specific-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/:build_id": { + parameters: ReposGetPagesBuildEndpoint; + request: ReposGetPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#get-latest-pages-build + */ + "GET /repos/:owner/:repo/pages/builds/latest": { + parameters: ReposGetLatestPagesBuildEndpoint; + request: ReposGetLatestPagesBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-repository-projects + */ + "GET /repos/:owner/:repo/projects": { + parameters: ProjectsListForRepoEndpoint; + request: ProjectsListForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests + */ + "GET /repos/:owner/:repo/pulls": { + parameters: PullsListEndpoint; + request: PullsListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-a-single-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsGetEndpoint; + request: PullsGetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsListCommentsEndpoint; + request: PullsListCommentsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/commits": { + parameters: PullsListCommitsEndpoint; + request: PullsListCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#list-pull-requests-files + */ + "GET /repos/:owner/:repo/pulls/:pull_number/files": { + parameters: PullsListFilesEndpoint; + request: PullsListFilesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged + */ + "GET /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsCheckIfMergedEndpoint; + request: PullsCheckIfMergedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#list-review-requests + */ + "GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsListReviewRequestsEndpoint; + request: PullsListReviewRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#list-reviews-on-a-pull-request + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsListReviewsEndpoint; + request: PullsListReviewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsGetReviewEndpoint; + request: PullsGetReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#get-comments-for-a-single-review + */ + "GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments": { + parameters: PullsGetCommentsForReviewEndpoint; + request: PullsGetCommentsForReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#list-comments-in-a-repository + */ + "GET /repos/:owner/:repo/pulls/comments": { + parameters: PullsListCommentsForRepoEndpoint; + request: PullsListCommentsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#get-a-single-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsGetCommentEndpoint; + request: PullsGetCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsListForPullRequestReviewCommentEndpoint; + request: ReactionsListForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#get-the-readme + */ + "GET /repos/:owner/:repo/readme": { + parameters: ReposGetReadmeEndpoint; + request: ReposGetReadmeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository + */ + "GET /repos/:owner/:repo/releases": { + parameters: ReposListReleasesEndpoint; + request: ReposListReleasesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release + */ + "GET /repos/:owner/:repo/releases/:release_id": { + parameters: ReposGetReleaseEndpoint; + request: ReposGetReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#list-assets-for-a-release + */ + "GET /repos/:owner/:repo/releases/:release_id/assets": { + parameters: ReposListAssetsForReleaseEndpoint; + request: ReposListAssetsForReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-single-release-asset + */ + "GET /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposGetReleaseAssetEndpoint; + request: ReposGetReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-the-latest-release + */ + "GET /repos/:owner/:repo/releases/latest": { + parameters: ReposGetLatestReleaseEndpoint; + request: ReposGetLatestReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#get-a-release-by-tag-name + */ + "GET /repos/:owner/:repo/releases/tags/:tag": { + parameters: ReposGetReleaseByTagEndpoint; + request: ReposGetReleaseByTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-stargazers + */ + "GET /repos/:owner/:repo/stargazers": { + parameters: ActivityListStargazersForRepoEndpoint; + request: ActivityListStargazersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-additions-and-deletions-per-week + */ + "GET /repos/:owner/:repo/stats/code_frequency": { + parameters: ReposGetCodeFrequencyStatsEndpoint; + request: ReposGetCodeFrequencyStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-last-year-of-commit-activity-data + */ + "GET /repos/:owner/:repo/stats/commit_activity": { + parameters: ReposGetCommitActivityStatsEndpoint; + request: ReposGetCommitActivityStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-contributors-list-with-additions-deletions-and-commit-counts + */ + "GET /repos/:owner/:repo/stats/contributors": { + parameters: ReposGetContributorsStatsEndpoint; + request: ReposGetContributorsStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-weekly-commit-count-for-the-repository-owner-and-everyone-else + */ + "GET /repos/:owner/:repo/stats/participation": { + parameters: ReposGetParticipationStatsEndpoint; + request: ReposGetParticipationStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statistics/#get-the-number-of-commits-per-hour-in-each-day + */ + "GET /repos/:owner/:repo/stats/punch_card": { + parameters: ReposGetPunchCardStatsEndpoint; + request: ReposGetPunchCardStatsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-watchers + */ + "GET /repos/:owner/:repo/subscribers": { + parameters: ActivityListWatchersForRepoEndpoint; + request: ActivityListWatchersForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#get-a-repository-subscription + */ + "GET /repos/:owner/:repo/subscription": { + parameters: ActivityGetRepoSubscriptionEndpoint; + request: ActivityGetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-tags + */ + "GET /repos/:owner/:repo/tags": { + parameters: ReposListTagsEndpoint; + request: ReposListTagsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-teams + */ + "GET /repos/:owner/:repo/teams": { + parameters: ReposListTeamsEndpoint; + request: ReposListTeamsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#get-all-repository-topics + */ + "GET /repos/:owner/:repo/topics": { + parameters: ReposGetAllTopicsEndpoint; + request: ReposGetAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#clones + */ + "GET /repos/:owner/:repo/traffic/clones": { + parameters: ReposGetClonesEndpoint; + request: ReposGetClonesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-paths + */ + "GET /repos/:owner/:repo/traffic/popular/paths": { + parameters: ReposGetTopPathsEndpoint; + request: ReposGetTopPathsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#list-referrers + */ + "GET /repos/:owner/:repo/traffic/popular/referrers": { + parameters: ReposGetTopReferrersEndpoint; + request: ReposGetTopReferrersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/traffic/#views + */ + "GET /repos/:owner/:repo/traffic/views": { + parameters: ReposGetViewsEndpoint; + request: ReposGetViewsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposCheckVulnerabilityAlertsEndpoint; + request: ReposCheckVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-public-repositories + */ + "GET /repositories": { + parameters: ReposListPublicEndpoint; + request: ReposListPublicRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-a-list-of-provisioned-identities + */ + "GET /scim/v2/organizations/:org/Users": { + parameters: ScimListProvisionedIdentitiesEndpoint; + request: ScimListProvisionedIdentitiesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#get-provisioning-details-for-a-single-user + */ + "GET /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimGetProvisioningDetailsForUserEndpoint; + request: ScimGetProvisioningDetailsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-code + */ + "GET /search/code": { + parameters: SearchCodeEndpoint; + request: SearchCodeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-commits + */ + "GET /search/commits": { + parameters: SearchCommitsEndpoint; + request: SearchCommitsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-issues-and-pull-requests + */ + "GET /search/issues": { + parameters: SearchIssuesAndPullRequestsEndpoint; + request: SearchIssuesAndPullRequestsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-labels + */ + "GET /search/labels": { + parameters: SearchLabelsEndpoint; + request: SearchLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-repositories + */ + "GET /search/repositories": { + parameters: SearchReposEndpoint; + request: SearchReposRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-topics + */ + "GET /search/topics": { + parameters: SearchTopicsEndpoint; + request: SearchTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/search/#search-users + */ + "GET /search/users": { + parameters: SearchUsersEndpoint; + request: SearchUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#get-team-legacy + */ + "GET /teams/:team_id": { + parameters: TeamsGetLegacyEndpoint; + request: TeamsGetLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + "GET /teams/:team_id/discussions": { + parameters: TeamsListDiscussionsLegacyEndpoint; + request: TeamsListDiscussionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsGetDiscussionLegacyEndpoint; + request: TeamsGetDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsListDiscussionCommentsLegacyEndpoint; + request: TeamsListDiscussionCommentsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsGetDiscussionCommentLegacyEndpoint; + request: TeamsGetDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsListForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsListForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsListForTeamDiscussionLegacyEndpoint; + request: ReactionsListForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy + */ + "GET /teams/:team_id/invitations": { + parameters: TeamsListPendingInvitationsLegacyEndpoint; + request: TeamsListPendingInvitationsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#list-team-members-legacy + */ + "GET /teams/:team_id/members": { + parameters: TeamsListMembersLegacyEndpoint; + request: TeamsListMembersLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-member-legacy + */ + "GET /teams/:team_id/members/:username": { + parameters: TeamsGetMemberLegacyEndpoint; + request: TeamsGetMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#get-team-membership-legacy + */ + "GET /teams/:team_id/memberships/:username": { + parameters: TeamsGetMembershipLegacyEndpoint; + request: TeamsGetMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-projects-legacy + */ + "GET /teams/:team_id/projects": { + parameters: TeamsListProjectsLegacyEndpoint; + request: TeamsListProjectsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#review-a-team-project-legacy + */ + "GET /teams/:team_id/projects/:project_id": { + parameters: TeamsReviewProjectLegacyEndpoint; + request: TeamsReviewProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-team-repos-legacy + */ + "GET /teams/:team_id/repos": { + parameters: TeamsListReposLegacyEndpoint; + request: TeamsListReposLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + "GET /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsCheckManagesRepoLegacyEndpoint; + request: TeamsCheckManagesRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#list-idp-groups-for-a-team-legacy + */ + "GET /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsListIdPGroupsForLegacyEndpoint; + request: TeamsListIdPGroupsForLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + "GET /teams/:team_id/teams": { + parameters: TeamsListChildLegacyEndpoint; + request: TeamsListChildLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-the-authenticated-user + */ + "GET /user": { + parameters: UsersGetAuthenticatedEndpoint; + request: UsersGetAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-repositories-for-a-user-migration + */ + "GET /user/:migration_id/repositories": { + parameters: MigrationsListReposForUserEndpoint; + request: MigrationsListReposForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#list-blocked-users + */ + "GET /user/blocks": { + parameters: UsersListBlockedEndpoint; + request: UsersListBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#check-whether-youve-blocked-a-user + */ + "GET /user/blocks/:username": { + parameters: UsersCheckBlockedEndpoint; + request: UsersCheckBlockedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user + */ + "GET /user/emails": { + parameters: UsersListEmailsEndpoint; + request: UsersListEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-the-authenticated-user + */ + "GET /user/followers": { + parameters: UsersListFollowersForAuthenticatedUserEndpoint; + request: UsersListFollowersForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-the-authenticated-user + */ + "GET /user/following": { + parameters: UsersListFollowedByAuthenticatedEndpoint; + request: UsersListFollowedByAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-you-are-following-a-user + */ + "GET /user/following/:username": { + parameters: UsersCheckFollowingEndpoint; + request: UsersCheckFollowingRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-your-gpg-keys + */ + "GET /user/gpg_keys": { + parameters: UsersListGpgKeysEndpoint; + request: UsersListGpgKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#get-a-single-gpg-key + */ + "GET /user/gpg_keys/:gpg_key_id": { + parameters: UsersGetGpgKeyEndpoint; + request: UsersGetGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-installations-for-a-user + */ + "GET /user/installations": { + parameters: AppsListInstallationsForAuthenticatedUserEndpoint; + request: AppsListInstallationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#list-repositories-accessible-to-the-user-for-an-installation + */ + "GET /user/installations/:installation_id/repositories": { + parameters: AppsListInstallationReposForAuthenticatedUserEndpoint; + request: AppsListInstallationReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": { + parameters: IssuesListForAuthenticatedUserEndpoint; + request: IssuesListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-your-public-keys + */ + "GET /user/keys": { + parameters: UsersListPublicKeysEndpoint; + request: UsersListPublicKeysRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#get-a-single-public-key + */ + "GET /user/keys/:key_id": { + parameters: UsersGetPublicKeyEndpoint; + request: UsersGetPublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": { + parameters: AppsListSubscriptionsForAuthenticatedUserEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/marketplace/#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": { + parameters: AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint; + request: AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#list-your-organization-memberships + */ + "GET /user/memberships/orgs": { + parameters: OrgsListMembershipsEndpoint; + request: OrgsListMembershipsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#get-your-organization-membership + */ + "GET /user/memberships/orgs/:org": { + parameters: OrgsGetMembershipForAuthenticatedUserEndpoint; + request: OrgsGetMembershipForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#list-user-migrations + */ + "GET /user/migrations": { + parameters: MigrationsListForAuthenticatedUserEndpoint; + request: MigrationsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#get-the-status-of-a-user-migration + */ + "GET /user/migrations/:migration_id": { + parameters: MigrationsGetStatusForAuthenticatedUserEndpoint; + request: MigrationsGetStatusForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#download-a-user-migration-archive + */ + "GET /user/migrations/:migration_id/archive": { + parameters: MigrationsGetArchiveForAuthenticatedUserEndpoint; + request: MigrationsGetArchiveForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-your-organizations + */ + "GET /user/orgs": { + parameters: OrgsListForAuthenticatedUserEndpoint; + request: OrgsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#list-public-email-addresses-for-a-user + */ + "GET /user/public_emails": { + parameters: UsersListPublicEmailsEndpoint; + request: UsersListPublicEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": { + parameters: ReposListForAuthenticatedUserEndpoint; + request: ReposListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#list-a-users-repository-invitations + */ + "GET /user/repository_invitations": { + parameters: ReposListInvitationsForAuthenticatedUserEndpoint; + request: ReposListInvitationsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": { + parameters: ActivityListReposStarredByAuthenticatedUserEndpoint; + request: ActivityListReposStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/:owner/:repo": { + parameters: ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint; + request: ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": { + parameters: ActivityListWatchedReposForAuthenticatedUserEndpoint; + request: ActivityListWatchedReposForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#check-if-you-are-watching-a-repository-legacy + */ + "GET /user/subscriptions/:owner/:repo": { + parameters: ActivityCheckWatchingRepoLegacyEndpoint; + request: ActivityCheckWatchingRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#list-user-teams + */ + "GET /user/teams": { + parameters: TeamsListForAuthenticatedUserEndpoint; + request: TeamsListForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-all-users + */ + "GET /users": { + parameters: UsersListEndpoint; + request: UsersListRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-a-single-user + */ + "GET /users/:username": { + parameters: UsersGetByUsernameEndpoint; + request: UsersGetByUsernameRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-for-the-authenticated-user + */ + "GET /users/:username/events": { + parameters: ActivityListEventsForAuthenticatedUserEndpoint; + request: ActivityListEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-organization-events-for-the-authenticated-user + */ + "GET /users/:username/events/orgs/:org": { + parameters: ActivityListOrgEventsForAuthenticatedUserEndpoint; + request: ActivityListOrgEventsForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-for-a-user + */ + "GET /users/:username/events/public": { + parameters: ActivityListPublicEventsForUserEndpoint; + request: ActivityListPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-followers-of-a-user + */ + "GET /users/:username/followers": { + parameters: UsersListFollowersForUserEndpoint; + request: UsersListFollowersForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user + */ + "GET /users/:username/following": { + parameters: UsersListFollowingForUserEndpoint; + request: UsersListFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#check-if-one-user-follows-another + */ + "GET /users/:username/following/:target_user": { + parameters: UsersCheckFollowingForUserEndpoint; + request: UsersCheckFollowingForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#list-gists-for-a-user + */ + "GET /users/:username/gists": { + parameters: GistsListForUserEndpoint; + request: GistsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#list-gpg-keys-for-a-user + */ + "GET /users/:username/gpg_keys": { + parameters: UsersListGpgKeysForUserEndpoint; + request: UsersListGpgKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#get-contextual-information-about-a-user + */ + "GET /users/:username/hovercard": { + parameters: UsersGetContextForUserEndpoint; + request: UsersGetContextForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#get-a-user-installation + */ + "GET /users/:username/installation": { + parameters: AppsGetUserInstallationEndpoint; + request: AppsGetUserInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user + */ + "GET /users/:username/keys": { + parameters: UsersListPublicKeysForUserEndpoint; + request: UsersListPublicKeysForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#list-user-organizations + */ + "GET /users/:username/orgs": { + parameters: OrgsListForUserEndpoint; + request: OrgsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#list-user-projects + */ + "GET /users/:username/projects": { + parameters: ProjectsListForUserEndpoint; + request: ProjectsListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-events-received-by-the-authenticated-user + */ + "GET /users/:username/received_events": { + parameters: ActivityListReceivedEventsForUserEndpoint; + request: ActivityListReceivedEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/events/#list-public-events-received-by-a-user + */ + "GET /users/:username/received_events/public": { + parameters: ActivityListReceivedPublicEventsForUserEndpoint; + request: ActivityListReceivedPublicEventsForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#list-repositories-for-a-user + */ + "GET /users/:username/repos": { + parameters: ReposListForUserEndpoint; + request: ReposListForUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#list-repositories-starred-by-a-user + */ + "GET /users/:username/starred": { + parameters: ActivityListReposStarredByUserEndpoint; + request: ActivityListReposStarredByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#list-repositories-watched-by-a-user + */ + "GET /users/:username/subscriptions": { + parameters: ActivityListReposWatchedByUserEndpoint; + request: ActivityListReposWatchedByUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-a-token + */ + "PATCH /applications/:client_id/token": { + parameters: AppsResetTokenEndpoint; + request: AppsResetTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization + */ + "PATCH /authorizations/:authorization_id": { + parameters: OauthAuthorizationsUpdateAuthorizationEndpoint; + request: OauthAuthorizationsUpdateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#update-a-gist + */ + "PATCH /gists/:gist_id": { + parameters: GistsUpdateEndpoint; + request: GistsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#edit-a-comment + */ + "PATCH /gists/:gist_id/comments/:comment_id": { + parameters: GistsUpdateCommentEndpoint; + request: GistsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read + */ + "PATCH /notifications/threads/:thread_id": { + parameters: ActivityMarkThreadAsReadEndpoint; + request: ActivityMarkThreadAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/#edit-an-organization + */ + "PATCH /orgs/:org": { + parameters: OrgsUpdateEndpoint; + request: OrgsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#edit-a-hook + */ + "PATCH /orgs/:org/hooks/:hook_id": { + parameters: OrgsUpdateHookEndpoint; + request: OrgsUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team + */ + "PATCH /orgs/:org/teams/:team_slug": { + parameters: TeamsUpdateInOrgEndpoint; + request: TeamsUpdateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionInOrgEndpoint; + request: TeamsUpdateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment + */ + "PATCH /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentInOrgEndpoint; + request: TeamsUpdateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections + */ + "PATCH /orgs/:org/teams/:team_slug/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#update-a-project + */ + "PATCH /projects/:project_id": { + parameters: ProjectsUpdateEndpoint; + request: ProjectsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#update-a-project-column + */ + "PATCH /projects/columns/:column_id": { + parameters: ProjectsUpdateColumnEndpoint; + request: ProjectsUpdateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#update-a-project-card + */ + "PATCH /projects/columns/cards/:card_id": { + parameters: ProjectsUpdateCardEndpoint; + request: ProjectsUpdateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#update-a-repository + */ + "PATCH /repos/:owner/:repo": { + parameters: ReposUpdateEndpoint; + request: ReposUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-pull-request-review-enforcement-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": { + parameters: ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint; + request: ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-required-status-checks-of-protected-branch + */ + "PATCH /repos/:owner/:repo/branches/:branch/protection/required_status_checks": { + parameters: ReposUpdateProtectedBranchRequiredStatusChecksEndpoint; + request: ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#update-a-check-run + */ + "PATCH /repos/:owner/:repo/check-runs/:check_run_id": { + parameters: ChecksUpdateEndpoint; + request: ChecksUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#update-repository-preferences-for-check-suites + */ + "PATCH /repos/:owner/:repo/check-suites/preferences": { + parameters: ChecksSetSuitesPreferencesEndpoint; + request: ChecksSetSuitesPreferencesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#update-a-commit-comment + */ + "PATCH /repos/:owner/:repo/comments/:comment_id": { + parameters: ReposUpdateCommitCommentEndpoint; + request: ReposUpdateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#update-a-reference + */ + "PATCH /repos/:owner/:repo/git/refs/:ref": { + parameters: GitUpdateRefEndpoint; + request: GitUpdateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#edit-a-hook + */ + "PATCH /repos/:owner/:repo/hooks/:hook_id": { + parameters: ReposUpdateHookEndpoint; + request: ReposUpdateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#update-existing-import + */ + "PATCH /repos/:owner/:repo/import": { + parameters: MigrationsUpdateImportEndpoint; + request: MigrationsUpdateImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#map-a-commit-author + */ + "PATCH /repos/:owner/:repo/import/authors/:author_id": { + parameters: MigrationsMapCommitAuthorEndpoint; + request: MigrationsMapCommitAuthorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#set-git-lfs-preference + */ + "PATCH /repos/:owner/:repo/import/lfs": { + parameters: MigrationsSetLfsPreferenceEndpoint; + request: MigrationsSetLfsPreferenceRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#update-a-repository-invitation + */ + "PATCH /repos/:owner/:repo/invitations/:invitation_id": { + parameters: ReposUpdateInvitationEndpoint; + request: ReposUpdateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#update-an-issue + */ + "PATCH /repos/:owner/:repo/issues/:issue_number": { + parameters: IssuesUpdateEndpoint; + request: IssuesUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/issues/comments/:comment_id": { + parameters: IssuesUpdateCommentEndpoint; + request: IssuesUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#update-a-label + */ + "PATCH /repos/:owner/:repo/labels/:name": { + parameters: IssuesUpdateLabelEndpoint; + request: IssuesUpdateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#update-a-milestone + */ + "PATCH /repos/:owner/:repo/milestones/:milestone_number": { + parameters: IssuesUpdateMilestoneEndpoint; + request: IssuesUpdateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request + */ + "PATCH /repos/:owner/:repo/pulls/:pull_number": { + parameters: PullsUpdateEndpoint; + request: PullsUpdateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#edit-a-comment + */ + "PATCH /repos/:owner/:repo/pulls/comments/:comment_id": { + parameters: PullsUpdateCommentEndpoint; + request: PullsUpdateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release + */ + "PATCH /repos/:owner/:repo/releases/:release_id": { + parameters: ReposUpdateReleaseEndpoint; + request: ReposUpdateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#edit-a-release-asset + */ + "PATCH /repos/:owner/:repo/releases/assets/:asset_id": { + parameters: ReposUpdateReleaseAssetEndpoint; + request: ReposUpdateReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#update-a-user-attribute + */ + "PATCH /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimUpdateUserAttributeEndpoint; + request: ScimUpdateUserAttributeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#edit-team-legacy + */ + "PATCH /teams/:team_id": { + parameters: TeamsUpdateLegacyEndpoint; + request: TeamsUpdateLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number": { + parameters: TeamsUpdateDiscussionLegacyEndpoint; + request: TeamsUpdateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy + */ + "PATCH /teams/:team_id/discussions/:discussion_number/comments/:comment_number": { + parameters: TeamsUpdateDiscussionCommentLegacyEndpoint; + request: TeamsUpdateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/team_sync/#create-or-update-idp-group-connections-legacy + */ + "PATCH /teams/:team_id/team-sync/group-mappings": { + parameters: TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint; + request: TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/#update-the-authenticated-user + */ + "PATCH /user": { + parameters: UsersUpdateAuthenticatedEndpoint; + request: UsersUpdateAuthenticatedRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#toggle-primary-email-visibility + */ + "PATCH /user/email/visibility": { + parameters: UsersTogglePrimaryEmailVisibilityEndpoint; + request: UsersTogglePrimaryEmailVisibilityRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#edit-your-organization-membership + */ + "PATCH /user/memberships/orgs/:org": { + parameters: OrgsUpdateMembershipEndpoint; + request: OrgsUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/:invitation_id": { + parameters: ReposAcceptInvitationEndpoint; + request: ReposAcceptInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/:code/conversions": { + parameters: AppsCreateFromManifestEndpoint; + request: AppsCreateFromManifestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#create-a-new-installation-token + */ + "POST /app/installations/:installation_id/access_tokens": { + parameters: AppsCreateInstallationTokenEndpoint; + request: AppsCreateInstallationTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#check-a-token + */ + "POST /applications/:client_id/token": { + parameters: AppsCheckTokenEndpoint; + request: AppsCheckTokenRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + "POST /applications/:client_id/tokens/:access_token": { + parameters: AppsResetAuthorizationEndpoint; + request: AppsResetAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization + */ + "POST /authorizations": { + parameters: OauthAuthorizationsCreateAuthorizationEndpoint; + request: OauthAuthorizationsCreateAuthorizationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#create-a-content-attachment + */ + "POST /content_references/:content_reference_id/attachments": { + parameters: AppsCreateContentAttachmentEndpoint; + request: AppsCreateContentAttachmentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#create-a-gist + */ + "POST /gists": { + parameters: GistsCreateEndpoint; + request: GistsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/comments/#create-a-comment + */ + "POST /gists/:gist_id/comments": { + parameters: GistsCreateCommentEndpoint; + request: GistsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#fork-a-gist + */ + "POST /gists/:gist_id/forks": { + parameters: GistsForkEndpoint; + request: GistsForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-an-arbitrary-markdown-document + */ + "POST /markdown": { + parameters: MarkdownRenderEndpoint; + request: MarkdownRenderRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": { + parameters: MarkdownRenderRawEndpoint; + request: MarkdownRenderRawRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForOrgEndpoint; + request: ActionsCreateRegistrationTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-an-organization + */ + "POST /orgs/:org/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForOrgEndpoint; + request: ActionsCreateRemoveTokenForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#create-a-hook + */ + "POST /orgs/:org/hooks": { + parameters: OrgsCreateHookEndpoint; + request: OrgsCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/hooks/#ping-a-hook + */ + "POST /orgs/:org/hooks/:hook_id/pings": { + parameters: OrgsPingHookEndpoint; + request: OrgsPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#create-organization-invitation + */ + "POST /orgs/:org/invitations": { + parameters: OrgsCreateInvitationEndpoint; + request: OrgsCreateInvitationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/orgs/#start-an-organization-migration + */ + "POST /orgs/:org/migrations": { + parameters: MigrationsStartForOrgEndpoint; + request: MigrationsStartForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-an-organization-project + */ + "POST /orgs/:org/projects": { + parameters: ProjectsCreateForOrgEndpoint; + request: ProjectsCreateForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-an-organization-repository + */ + "POST /orgs/:org/repos": { + parameters: ReposCreateInOrgEndpoint; + request: ReposCreateInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#create-team + */ + "POST /orgs/:org/teams": { + parameters: TeamsCreateEndpoint; + request: TeamsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions": { + parameters: TeamsCreateDiscussionInOrgEndpoint; + request: TeamsCreateDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentInOrgEndpoint; + request: TeamsCreateDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion + */ + "POST /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionInOrgEndpoint; + request: ReactionsCreateForTeamDiscussionInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#create-a-project-column + */ + "POST /projects/:project_id/columns": { + parameters: ProjectsCreateColumnEndpoint; + request: ProjectsCreateColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#create-a-project-card + */ + "POST /projects/columns/:column_id/cards": { + parameters: ProjectsCreateCardEndpoint; + request: ProjectsCreateCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/columns/#move-a-project-column + */ + "POST /projects/columns/:column_id/moves": { + parameters: ProjectsMoveColumnEndpoint; + request: ProjectsMoveColumnRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/cards/#move-a-project-card + */ + "POST /projects/columns/cards/:card_id/moves": { + parameters: ProjectsMoveCardEndpoint; + request: ProjectsMoveCardRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-registration-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/registration-token": { + parameters: ActionsCreateRegistrationTokenForRepoEndpoint; + request: ActionsCreateRegistrationTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/self-hosted-runners/#create-a-remove-token-for-a-repository + */ + "POST /repos/:owner/:repo/actions/runners/remove-token": { + parameters: ActionsCreateRemoveTokenForRepoEndpoint; + request: ActionsCreateRemoveTokenForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#cancel-a-workflow-run + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/cancel": { + parameters: ActionsCancelWorkflowRunEndpoint; + request: ActionsCancelWorkflowRunRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/workflow-runs/#re-run-a-workflow + */ + "POST /repos/:owner/:repo/actions/runs/:run_id/rerun": { + parameters: ActionsReRunWorkflowEndpoint; + request: ActionsReRunWorkflowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-admin-enforcement-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/enforce_admins": { + parameters: ReposAddProtectedBranchAdminEnforcementEndpoint; + request: ReposAddProtectedBranchAdminEnforcementRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-signatures-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_signatures": { + parameters: ReposAddProtectedBranchRequiredSignaturesEndpoint; + request: ReposAddProtectedBranchRequiredSignaturesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-required-status-checks-contexts-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-app-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposAddProtectedBranchAppRestrictionsEndpoint; + request: ReposAddProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-team-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposAddProtectedBranchTeamRestrictionsEndpoint; + request: ReposAddProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#add-user-restrictions-of-protected-branch + */ + "POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposAddProtectedBranchUserRestrictionsEndpoint; + request: ReposAddProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/runs/#create-a-check-run + */ + "POST /repos/:owner/:repo/check-runs": { + parameters: ChecksCreateEndpoint; + request: ChecksCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#create-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites": { + parameters: ChecksCreateSuiteEndpoint; + request: ChecksCreateSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/checks/suites/#rerequest-a-check-suite + */ + "POST /repos/:owner/:repo/check-suites/:check_suite_id/rerequest": { + parameters: ChecksRerequestSuiteEndpoint; + request: ChecksRerequestSuiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-commit-comment + */ + "POST /repos/:owner/:repo/comments/:comment_id/reactions": { + parameters: ReactionsCreateForCommitCommentEndpoint; + request: ReactionsCreateForCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/comments/#create-a-commit-comment + */ + "POST /repos/:owner/:repo/commits/:commit_sha/comments": { + parameters: ReposCreateCommitCommentEndpoint; + request: ReposCreateCommitCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment + */ + "POST /repos/:owner/:repo/deployments": { + parameters: ReposCreateDeploymentEndpoint; + request: ReposCreateDeploymentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/deployments/#create-a-deployment-status + */ + "POST /repos/:owner/:repo/deployments/:deployment_id/statuses": { + parameters: ReposCreateDeploymentStatusEndpoint; + request: ReposCreateDeploymentStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-dispatch-event + */ + "POST /repos/:owner/:repo/dispatches": { + parameters: ReposCreateDispatchEventEndpoint; + request: ReposCreateDispatchEventRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/forks/#create-a-fork + */ + "POST /repos/:owner/:repo/forks": { + parameters: ReposCreateForkEndpoint; + request: ReposCreateForkRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/blobs/#create-a-blob + */ + "POST /repos/:owner/:repo/git/blobs": { + parameters: GitCreateBlobEndpoint; + request: GitCreateBlobRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/commits/#create-a-commit + */ + "POST /repos/:owner/:repo/git/commits": { + parameters: GitCreateCommitEndpoint; + request: GitCreateCommitRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/refs/#create-a-reference + */ + "POST /repos/:owner/:repo/git/refs": { + parameters: GitCreateRefEndpoint; + request: GitCreateRefRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/tags/#create-a-tag-object + */ + "POST /repos/:owner/:repo/git/tags": { + parameters: GitCreateTagEndpoint; + request: GitCreateTagRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/git/trees/#create-a-tree + */ + "POST /repos/:owner/:repo/git/trees": { + parameters: GitCreateTreeEndpoint; + request: GitCreateTreeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#create-a-hook + */ + "POST /repos/:owner/:repo/hooks": { + parameters: ReposCreateHookEndpoint; + request: ReposCreateHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#ping-a-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/pings": { + parameters: ReposPingHookEndpoint; + request: ReposPingHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/hooks/#test-a-push-hook + */ + "POST /repos/:owner/:repo/hooks/:hook_id/tests": { + parameters: ReposTestPushHookEndpoint; + request: ReposTestPushHookRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#create-an-issue + */ + "POST /repos/:owner/:repo/issues": { + parameters: IssuesCreateEndpoint; + request: IssuesCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/assignees/#add-assignees-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/assignees": { + parameters: IssuesAddAssigneesEndpoint; + request: IssuesAddAssigneesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/issues/:issue_number/comments": { + parameters: IssuesCreateCommentEndpoint; + request: IssuesCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesAddLabelsEndpoint; + request: IssuesAddLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue + */ + "POST /repos/:owner/:repo/issues/:issue_number/reactions": { + parameters: ReactionsCreateForIssueEndpoint; + request: ReactionsCreateForIssueRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-an-issue-comment + */ + "POST /repos/:owner/:repo/issues/comments/:comment_id/reactions": { + parameters: ReactionsCreateForIssueCommentEndpoint; + request: ReactionsCreateForIssueCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/keys/#add-a-new-deploy-key + */ + "POST /repos/:owner/:repo/keys": { + parameters: ReposAddDeployKeyEndpoint; + request: ReposAddDeployKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#create-a-label + */ + "POST /repos/:owner/:repo/labels": { + parameters: IssuesCreateLabelEndpoint; + request: IssuesCreateLabelRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/merging/#perform-a-merge + */ + "POST /repos/:owner/:repo/merges": { + parameters: ReposMergeEndpoint; + request: ReposMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/milestones/#create-a-milestone + */ + "POST /repos/:owner/:repo/milestones": { + parameters: IssuesCreateMilestoneEndpoint; + request: IssuesCreateMilestoneRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#enable-a-pages-site + */ + "POST /repos/:owner/:repo/pages": { + parameters: ReposEnablePagesSiteEndpoint; + request: ReposEnablePagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#request-a-page-build + */ + "POST /repos/:owner/:repo/pages/builds": { + parameters: ReposRequestPageBuildEndpoint; + request: ReposRequestPageBuildRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-repository-project + */ + "POST /repos/:owner/:repo/projects": { + parameters: ProjectsCreateForRepoEndpoint; + request: ProjectsCreateForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#create-a-pull-request + */ + "POST /repos/:owner/:repo/pulls": { + parameters: PullsCreateEndpoint; + request: PullsCreateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-comment + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments": { + parameters: PullsCreateCommentEndpoint; + request: PullsCreateCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/comments/#create-a-review-comment-reply + */ + "POST /repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies": { + parameters: PullsCreateReviewCommentReplyEndpoint; + request: PullsCreateReviewCommentReplyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/review_requests/#create-a-review-request + */ + "POST /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": { + parameters: PullsCreateReviewRequestEndpoint; + request: PullsCreateReviewRequestRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews": { + parameters: PullsCreateReviewEndpoint; + request: PullsCreateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review + */ + "POST /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events": { + parameters: PullsSubmitReviewEndpoint; + request: PullsSubmitReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions": { + parameters: ReactionsCreateForPullRequestReviewCommentEndpoint; + request: ReactionsCreateForPullRequestReviewCommentRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#create-a-release + */ + "POST /repos/:owner/:repo/releases": { + parameters: ReposCreateReleaseEndpoint; + request: ReposCreateReleaseRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/releases/#upload-a-release-asset + */ + "POST /repos/:owner/:repo/releases/:release_id/assets{?name,label}": { + parameters: ReposUploadReleaseAssetEndpoint; + request: ReposUploadReleaseAssetRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/statuses/#create-a-status + */ + "POST /repos/:owner/:repo/statuses/:sha": { + parameters: ReposCreateStatusEndpoint; + request: ReposCreateStatusRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#transfer-a-repository + */ + "POST /repos/:owner/:repo/transfer": { + parameters: ReposTransferEndpoint; + request: ReposTransferRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-using-a-template + */ + "POST /repos/:template_owner/:template_repo/generate": { + parameters: ReposCreateUsingTemplateEndpoint; + request: ReposCreateUsingTemplateRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#provision-and-invite-users + */ + "POST /scim/v2/organizations/:org/Users": { + parameters: ScimProvisionAndInviteUsersEndpoint; + request: ScimProvisionAndInviteUsersRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + "POST /teams/:team_id/discussions": { + parameters: TeamsCreateDiscussionLegacyEndpoint; + request: TeamsCreateDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments": { + parameters: TeamsCreateDiscussionCommentLegacyEndpoint; + request: TeamsCreateDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionCommentLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/:team_id/discussions/:discussion_number/reactions": { + parameters: ReactionsCreateForTeamDiscussionLegacyEndpoint; + request: ReactionsCreateForTeamDiscussionLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/emails/#add-email-addresses + */ + "POST /user/emails": { + parameters: UsersAddEmailsEndpoint; + request: UsersAddEmailsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/gpg_keys/#create-a-gpg-key + */ + "POST /user/gpg_keys": { + parameters: UsersCreateGpgKeyEndpoint; + request: UsersCreateGpgKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/keys/#create-a-public-key + */ + "POST /user/keys": { + parameters: UsersCreatePublicKeyEndpoint; + request: UsersCreatePublicKeyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/users/#start-a-user-migration + */ + "POST /user/migrations": { + parameters: MigrationsStartForAuthenticatedUserEndpoint; + request: MigrationsStartForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/#create-a-user-project + */ + "POST /user/projects": { + parameters: ProjectsCreateForAuthenticatedUserEndpoint; + request: ProjectsCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": { + parameters: ReposCreateForAuthenticatedUserEndpoint; + request: ReposCreateForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/#suspend-an-installation + */ + "PUT /app/installations/:installation_id/suspended": { + parameters: AppsSuspendInstallationEndpoint; + request: AppsSuspendInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app + */ + "PUT /authorizations/clients/:client_id": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + "PUT /authorizations/clients/:client_id/:fingerprint": { + parameters: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint; + request: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/gists/#star-a-gist + */ + "PUT /gists/:gist_id/star": { + parameters: GistsStarEndpoint; + request: GistsStarRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-notifications-as-read + */ + "PUT /notifications": { + parameters: ActivityMarkNotificationsAsReadEndpoint; + request: ActivityMarkNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#set-a-thread-subscription + */ + "PUT /notifications/threads/:thread_id/subscription": { + parameters: ActivitySetThreadSubscriptionEndpoint; + request: ActivitySetThreadSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/blocking/#block-a-user + */ + "PUT /orgs/:org/blocks/:username": { + parameters: OrgsBlockUserEndpoint; + request: OrgsBlockUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/orgs/#add-or-update-interaction-restrictions-for-an-organization + */ + "PUT /orgs/:org/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForOrgEndpoint; + request: InteractionsAddOrUpdateRestrictionsForOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#add-or-update-organization-membership + */ + "PUT /orgs/:org/memberships/:username": { + parameters: OrgsAddOrUpdateMembershipEndpoint; + request: OrgsAddOrUpdateMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/outside_collaborators/#convert-member-to-outside-collaborator + */ + "PUT /orgs/:org/outside_collaborators/:username": { + parameters: OrgsConvertMemberToOutsideCollaboratorEndpoint; + request: OrgsConvertMemberToOutsideCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/orgs/members/#publicize-a-users-membership + */ + "PUT /orgs/:org/public_members/:username": { + parameters: OrgsPublicizeMembershipEndpoint; + request: OrgsPublicizeMembershipRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership + */ + "PUT /orgs/:org/teams/:team_slug/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipInOrgEndpoint; + request: TeamsAddOrUpdateMembershipInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project + */ + "PUT /orgs/:org/teams/:team_slug/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectInOrgEndpoint; + request: TeamsAddOrUpdateProjectInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository + */ + "PUT /orgs/:org/teams/:team_slug/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoInOrgEndpoint; + request: TeamsAddOrUpdateRepoInOrgRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/projects/collaborators/#add-user-as-a-collaborator + */ + "PUT /projects/:project_id/collaborators/:username": { + parameters: ProjectsAddCollaboratorEndpoint; + request: ProjectsAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/actions/secrets/#create-or-update-a-secret-for-a-repository + */ + "PUT /repos/:owner/:repo/actions/secrets/:name": { + parameters: ActionsCreateOrUpdateSecretForRepoEndpoint; + request: ActionsCreateOrUpdateSecretForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-automated-security-fixes + */ + "PUT /repos/:owner/:repo/automated-security-fixes": { + parameters: ReposEnableAutomatedSecurityFixesEndpoint; + request: ReposEnableAutomatedSecurityFixesRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#update-branch-protection + */ + "PUT /repos/:owner/:repo/branches/:branch/protection": { + parameters: ReposUpdateBranchProtectionEndpoint; + request: ReposUpdateBranchProtectionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-required-status-checks-contexts-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": { + parameters: ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint; + request: ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-app-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/apps": { + parameters: ReposReplaceProtectedBranchAppRestrictionsEndpoint; + request: ReposReplaceProtectedBranchAppRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-team-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": { + parameters: ReposReplaceProtectedBranchTeamRestrictionsEndpoint; + request: ReposReplaceProtectedBranchTeamRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/branches/#replace-user-restrictions-of-protected-branch + */ + "PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users": { + parameters: ReposReplaceProtectedBranchUserRestrictionsEndpoint; + request: ReposReplaceProtectedBranchUserRestrictionsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/collaborators/#add-user-as-a-collaborator + */ + "PUT /repos/:owner/:repo/collaborators/:username": { + parameters: ReposAddCollaboratorEndpoint; + request: ReposAddCollaboratorRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/contents/#create-or-update-a-file + */ + "PUT /repos/:owner/:repo/contents/:path": { + parameters: ReposCreateOrUpdateFileEndpoint; + request: ReposCreateOrUpdateFileRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/migrations/source_imports/#start-an-import + */ + "PUT /repos/:owner/:repo/import": { + parameters: MigrationsStartImportEndpoint; + request: MigrationsStartImportRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/interactions/repos/#add-or-update-interaction-restrictions-for-a-repository + */ + "PUT /repos/:owner/:repo/interaction-limits": { + parameters: InteractionsAddOrUpdateRestrictionsForRepoEndpoint; + request: InteractionsAddOrUpdateRestrictionsForRepoRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/labels": { + parameters: IssuesReplaceAllLabelsEndpoint; + request: IssuesReplaceAllLabelsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/issues/#lock-an-issue + */ + "PUT /repos/:owner/:repo/issues/:issue_number/lock": { + parameters: IssuesLockEndpoint; + request: IssuesLockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/notifications/#mark-repository-notifications-as-read + */ + "PUT /repos/:owner/:repo/notifications": { + parameters: ActivityMarkRepoNotificationsAsReadEndpoint; + request: ActivityMarkRepoNotificationsAsReadRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/pages/#update-information-about-a-pages-site + */ + "PUT /repos/:owner/:repo/pages": { + parameters: ReposUpdateInformationAboutPagesSiteEndpoint; + request: ReposUpdateInformationAboutPagesSiteRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/merge": { + parameters: PullsMergeEndpoint; + request: PullsMergeRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#update-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": { + parameters: PullsUpdateReviewEndpoint; + request: PullsUpdateReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/reviews/#dismiss-a-pull-request-review + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals": { + parameters: PullsDismissReviewEndpoint; + request: PullsDismissReviewRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/pulls/#update-a-pull-request-branch + */ + "PUT /repos/:owner/:repo/pulls/:pull_number/update-branch": { + parameters: PullsUpdateBranchEndpoint; + request: PullsUpdateBranchRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#set-a-repository-subscription + */ + "PUT /repos/:owner/:repo/subscription": { + parameters: ActivitySetRepoSubscriptionEndpoint; + request: ActivitySetRepoSubscriptionRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#replace-all-repository-topics + */ + "PUT /repos/:owner/:repo/topics": { + parameters: ReposReplaceAllTopicsEndpoint; + request: ReposReplaceAllTopicsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/repos/#enable-vulnerability-alerts + */ + "PUT /repos/:owner/:repo/vulnerability-alerts": { + parameters: ReposEnableVulnerabilityAlertsEndpoint; + request: ReposEnableVulnerabilityAlertsRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/scim/#replace-a-provisioned-users-information + */ + "PUT /scim/v2/organizations/:org/Users/:scim_user_id": { + parameters: ScimReplaceProvisionedUserInformationEndpoint; + request: ScimReplaceProvisionedUserInformationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-team-member-legacy + */ + "PUT /teams/:team_id/members/:username": { + parameters: TeamsAddMemberLegacyEndpoint; + request: TeamsAddMemberLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + "PUT /teams/:team_id/memberships/:username": { + parameters: TeamsAddOrUpdateMembershipLegacyEndpoint; + request: TeamsAddOrUpdateMembershipLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + "PUT /teams/:team_id/projects/:project_id": { + parameters: TeamsAddOrUpdateProjectLegacyEndpoint; + request: TeamsAddOrUpdateProjectLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + "PUT /teams/:team_id/repos/:owner/:repo": { + parameters: TeamsAddOrUpdateRepoLegacyEndpoint; + request: TeamsAddOrUpdateRepoLegacyRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/blocking/#block-a-user + */ + "PUT /user/blocks/:username": { + parameters: UsersBlockEndpoint; + request: UsersBlockRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/users/followers/#follow-a-user + */ + "PUT /user/following/:username": { + parameters: UsersFollowEndpoint; + request: UsersFollowRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/apps/installations/#add-repository-to-installation + */ + "PUT /user/installations/:installation_id/repositories/:repository_id": { + parameters: AppsAddRepoToInstallationEndpoint; + request: AppsAddRepoToInstallationRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/starring/#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/:owner/:repo": { + parameters: ActivityStarRepoForAuthenticatedUserEndpoint; + request: ActivityStarRepoForAuthenticatedUserRequestOptions; + response: OctokitResponse; + }; + /** + * @see https://developer.github.com/v3/activity/watching/#watch-a-repository-legacy + */ + "PUT /user/subscriptions/:owner/:repo": { + parameters: ActivityWatchRepoLegacyEndpoint; + request: ActivityWatchRepoLegacyRequestOptions; + response: OctokitResponse; + }; +} +declare type AppsGetAuthenticatedEndpoint = {} & RequiredPreview<"machine-man">; +declare type AppsGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/app"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetAuthenticatedResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetAuthenticatedResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetAuthenticatedResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetAuthenticatedResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetAuthenticatedResponseDataPermissions; + events: Array; + installations_count: number; +}; +declare type AppsCreateFromManifestEndpoint = { + /** + * code parameter + */ + code: string; +}; +declare type AppsCreateFromManifestRequestOptions = { + method: "POST"; + url: "/app-manifests/:code/conversions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateFromManifestResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateFromManifestResponseData = { + id: number; + node_id: string; + owner: AppsCreateFromManifestResponseDataOwner; + name: string; + description: null; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + client_id: string; + client_secret: string; + webhook_secret: string; + pem: string; +}; +declare type AppsListInstallationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsRequestOptions = { + method: "GET"; + url: "/app/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsResponseDataItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsListInstallationsResponseDataItem = { + id: number; + account: AppsListInstallationsResponseDataItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsResponseDataItemPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsListInstallationsResponseData = Array; +declare type AppsGetInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsGetInstallationRequestOptions = { + method: "GET"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetInstallationResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetInstallationResponseData = { + id: number; + account: AppsGetInstallationResponseDataAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetInstallationResponseDataPermissions; + events: Array; + single_file_name: string; + repository_selection: string; +}; +declare type AppsDeleteInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsDeleteInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"machine-man">; +declare type AppsCreateInstallationTokenRequestOptions = { + method: "POST"; + url: "/app/installations/:installation_id/access_tokens"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCreateInstallationTokenResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsCreateInstallationTokenResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsCreateInstallationTokenResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsCreateInstallationTokenResponseDataPermissions = { + issues: string; + contents: string; +}; +declare type AppsCreateInstallationTokenResponseData = { + token: string; + expires_at: string; + permissions: AppsCreateInstallationTokenResponseDataPermissions; + repositories: Array; +}; +declare type AppsSuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsSuspendInstallationRequestOptions = { + method: "PUT"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsUnsuspendInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; +}; +declare type AppsUnsuspendInstallationRequestOptions = { + method: "DELETE"; + url: "/app/installations/:installation_id/suspended"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListGrantsRequestOptions = { + method: "GET"; + url: "/applications/grants"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListGrantsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListGrantsResponseDataItem = { + id: number; + url: string; + app: OauthAuthorizationsListGrantsResponseDataItemApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsListGrantsResponseData = Array; +declare type OauthAuthorizationsGetGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsGetGrantRequestOptions = { + method: "GET"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetGrantResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetGrantResponseData = { + id: number; + url: string; + app: OauthAuthorizationsGetGrantResponseDataApp; + created_at: string; + updated_at: string; + scopes: Array; +}; +declare type OauthAuthorizationsDeleteGrantEndpoint = { + /** + * grant_id parameter + */ + grant_id: number; +}; +declare type OauthAuthorizationsDeleteGrantRequestOptions = { + method: "DELETE"; + url: "/applications/grants/:grant_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsDeleteAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grant"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRevokeGrantForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeGrantForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/grants/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsCheckTokenRequestOptions = { + method: "POST"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckTokenResponseDataUser; +}; +declare type AppsResetTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsResetTokenRequestOptions = { + method: "PATCH"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetTokenResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetTokenResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetTokenResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetTokenResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetTokenResponseDataUser; +}; +declare type AppsDeleteTokenEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; +}; +declare type AppsDeleteTokenRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsCheckAuthorizationRequestOptions = { + method: "GET"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCheckAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsCheckAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsCheckAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsCheckAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsCheckAuthorizationResponseDataUser; +}; +declare type AppsResetAuthorizationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsResetAuthorizationRequestOptions = { + method: "POST"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsResetAuthorizationResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsResetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type AppsResetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: AppsResetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; + user: AppsResetAuthorizationResponseDataUser; +}; +declare type AppsRevokeAuthorizationForApplicationEndpoint = { + /** + * client_id parameter + */ + client_id: string; + /** + * access_token parameter + */ + access_token: string; +}; +declare type AppsRevokeAuthorizationForApplicationRequestOptions = { + method: "DELETE"; + url: "/applications/:client_id/tokens/:access_token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugEndpoint = { + /** + * app_slug parameter + */ + app_slug: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetBySlugRequestOptions = { + method: "GET"; + url: "/apps/:app_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetBySlugResponseDataPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsGetBySlugResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type AppsGetBySlugResponseData = { + id: number; + slug: string; + node_id: string; + owner: AppsGetBySlugResponseDataOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: AppsGetBySlugResponseDataPermissions; + events: Array; +}; +declare type OauthAuthorizationsListAuthorizationsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OauthAuthorizationsListAuthorizationsRequestOptions = { + method: "GET"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItemApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseDataItem = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsListAuthorizationsResponseDataItemApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsListAuthorizationsResponseData = Array; +declare 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; +}; +declare type OauthAuthorizationsCreateAuthorizationRequestOptions = { + method: "POST"; + url: "/authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsCreateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsCreateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare 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; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare 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; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions = { + method: "PUT"; + url: "/authorizations/clients/:client_id/:fingerprint"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsGetAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsGetAuthorizationRequestOptions = { + method: "GET"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsGetAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsGetAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsGetAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare 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; +}; +declare type OauthAuthorizationsUpdateAuthorizationRequestOptions = { + method: "PATCH"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseDataApp = { + url: string; + name: string; + client_id: string; +}; +declare type OauthAuthorizationsUpdateAuthorizationResponseData = { + id: number; + url: string; + scopes: Array; + token: string; + token_last_eight: string; + hashed_token: string; + app: OauthAuthorizationsUpdateAuthorizationResponseDataApp; + note: string; + note_url: string; + updated_at: string; + created_at: string; + fingerprint: string; +}; +declare type OauthAuthorizationsDeleteAuthorizationEndpoint = { + /** + * authorization_id parameter + */ + authorization_id: number; +}; +declare type OauthAuthorizationsDeleteAuthorizationRequestOptions = { + method: "DELETE"; + url: "/authorizations/:authorization_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductEndpoint = {} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetAllCodesOfConductRequestOptions = { + method: "GET"; + url: "/codes_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetAllCodesOfConductResponseDataItem = { + key: string; + name: string; + url: string; +}; +declare type CodesOfConductGetAllCodesOfConductResponseData = Array; +declare type CodesOfConductGetConductCodeEndpoint = { + /** + * key parameter + */ + key: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetConductCodeRequestOptions = { + method: "GET"; + url: "/codes_of_conduct/:key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetConductCodeResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare 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; +} & RequiredPreview<"corsair">; +declare type AppsCreateContentAttachmentRequestOptions = { + method: "POST"; + url: "/content_references/:content_reference_id/attachments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsCreateContentAttachmentResponseData = { + id: number; + title: string; + body: string; +}; +declare type EmojisGetEndpoint = {}; +declare type EmojisGetRequestOptions = { + method: "GET"; + url: "/emojis"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsRequestOptions = { + method: "GET"; + url: "/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsEndpoint = {}; +declare type ActivityGetFeedsRequestOptions = { + method: "GET"; + url: "/feeds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetFeedsResponseDataLinksSecurityAdvisories = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganizationsItem = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserOrganization = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserActor = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksCurrentUserPublic = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksUser = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinksTimeline = { + href: string; + type: string; +}; +declare type ActivityGetFeedsResponseDataLinks = { + timeline: ActivityGetFeedsResponseDataLinksTimeline; + user: ActivityGetFeedsResponseDataLinksUser; + current_user_public: ActivityGetFeedsResponseDataLinksCurrentUserPublic; + current_user: ActivityGetFeedsResponseDataLinksCurrentUser; + current_user_actor: ActivityGetFeedsResponseDataLinksCurrentUserActor; + current_user_organization: ActivityGetFeedsResponseDataLinksCurrentUserOrganization; + current_user_organizations: Array; + security_advisories: ActivityGetFeedsResponseDataLinksSecurityAdvisories; +}; +declare type ActivityGetFeedsResponseData = { + timeline_url: string; + user_url: string; + current_user_public_url: string; + current_user_url: string; + current_user_actor_url: string; + current_user_organization_url: string; + current_user_organization_urls: Array; + security_advisories_url: string; + _links: ActivityGetFeedsResponseDataLinks; +}; +declare 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; +}; +declare type GistsListRequestOptions = { + method: "GET"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListResponseDataItemFiles = { + "hello_world.rb": GistsListResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListResponseData = Array; +declare 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; +}; +declare type GistsCreateRequestOptions = { + method: "POST"; + url: "/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsCreateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsCreateResponseDataHistoryItemUser; + change_status: GistsCreateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsCreateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataForksItem = { + user: GistsCreateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsCreateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsCreateResponseDataFiles = { + "hello_world.rb": GistsCreateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsCreateResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsCreateResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsCreateResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsCreateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsCreateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsCreateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare 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; +}; +declare type GistsListPublicRequestOptions = { + method: "GET"; + url: "/gists/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListPublicResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListPublicResponseDataItemFiles = { + "hello_world.rb": GistsListPublicResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListPublicResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListPublicResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListPublicResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListPublicResponseData = Array; +declare 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; +}; +declare type GistsListStarredRequestOptions = { + method: "GET"; + url: "/gists/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListStarredResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListStarredResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListStarredResponseDataItemFiles = { + "hello_world.rb": GistsListStarredResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListStarredResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListStarredResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListStarredResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListStarredResponseData = Array; +declare type GistsGetEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsGetRequestOptions = { + method: "GET"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetResponseDataHistoryItemUser; + change_status: GistsGetResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataForksItem = { + user: GistsGetResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetResponseDataFiles = { + "hello_world.rb": GistsGetResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare 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; +}; +declare type GistsUpdateRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsUpdateResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataHistoryItem = { + url: string; + version: string; + user: GistsUpdateResponseDataHistoryItemUser; + change_status: GistsUpdateResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsUpdateResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataForksItem = { + user: GistsUpdateResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateResponseDataFilesNewFileTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldMd = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsUpdateResponseDataFiles = { + "hello_world.rb": GistsUpdateResponseDataFilesHelloWorldRb; + "hello_world.py": GistsUpdateResponseDataFilesHelloWorldPy; + "hello_world.md": GistsUpdateResponseDataFilesHelloWorldMd; + "new_file.txt": GistsUpdateResponseDataFilesNewFileTxt; +}; +declare type GistsUpdateResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsUpdateResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsUpdateResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GistsDeleteEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsDeleteRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type GistsListCommentsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type GistsListCommentsResponseData = Array; +declare type GistsCreateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * The comment text. + */ + body: string; +}; +declare type GistsCreateCommentRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsGetCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsGetCommentRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsUpdateCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The comment text. + */ + body: string; +}; +declare type GistsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + body: string; + user: GistsUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type GistsDeleteCommentEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type GistsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type GistsListCommitsRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListCommitsResponseDataItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsListCommitsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListCommitsResponseDataItem = { + url: string; + version: string; + user: GistsListCommitsResponseDataItemUser; + change_status: GistsListCommitsResponseDataItemChangeStatus; + committed_at: string; +}; +declare type GistsListCommitsResponseData = Array; +declare type GistsForkEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsForkRequestOptions = { + method: "POST"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsForkResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsForkResponseDataFiles = { + "hello_world.rb": GistsForkResponseDataFilesHelloWorldRb; +}; +declare type GistsForkResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsForkResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsForkResponseDataOwner; + truncated: boolean; +}; +declare 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; +}; +declare type GistsListForksRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForksResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForksResponseDataItem = { + user: GistsListForksResponseDataItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsListForksResponseData = Array; +declare type GistsStarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsStarRequestOptions = { + method: "PUT"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsUnstarEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsUnstarRequestOptions = { + method: "DELETE"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsCheckIsStarredEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; +}; +declare type GistsCheckIsStarredRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/star"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionEndpoint = { + /** + * gist_id parameter + */ + gist_id: string; + /** + * sha parameter + */ + sha: string; +}; +declare type GistsGetRevisionRequestOptions = { + method: "GET"; + url: "/gists/:gist_id/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsGetRevisionResponseDataHistoryItemChangeStatus = { + deletions: number; + additions: number; + total: number; +}; +declare type GistsGetRevisionResponseDataHistoryItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataHistoryItem = { + url: string; + version: string; + user: GistsGetRevisionResponseDataHistoryItemUser; + change_status: GistsGetRevisionResponseDataHistoryItemChangeStatus; + committed_at: string; +}; +declare type GistsGetRevisionResponseDataForksItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataForksItem = { + user: GistsGetRevisionResponseDataForksItemUser; + url: string; + id: string; + created_at: string; + updated_at: string; +}; +declare type GistsGetRevisionResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPythonTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRubyTxt = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldPy = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; + content: string; +}; +declare type GistsGetRevisionResponseDataFiles = { + "hello_world.rb": GistsGetRevisionResponseDataFilesHelloWorldRb; + "hello_world.py": GistsGetRevisionResponseDataFilesHelloWorldPy; + "hello_world_ruby.txt": GistsGetRevisionResponseDataFilesHelloWorldRubyTxt; + "hello_world_python.txt": GistsGetRevisionResponseDataFilesHelloWorldPythonTxt; +}; +declare type GistsGetRevisionResponseData = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsGetRevisionResponseDataFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsGetRevisionResponseDataOwner; + truncated: boolean; + forks: Array; + history: Array; +}; +declare type GitignoreListTemplatesEndpoint = {}; +declare type GitignoreListTemplatesRequestOptions = { + method: "GET"; + url: "/gitignore/templates"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreListTemplatesResponseData = Array; +declare type GitignoreGetTemplateEndpoint = { + /** + * name parameter + */ + name: string; +}; +declare type GitignoreGetTemplateRequestOptions = { + method: "GET"; + url: "/gitignore/templates/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitignoreGetTemplateResponseData = { + name: string; + source: string; +}; +declare type AppsListReposEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListReposRequestOptions = { + method: "GET"; + url: "/installation/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListReposResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListReposResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListReposResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListReposResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsRevokeInstallationTokenEndpoint = {}; +declare type AppsRevokeInstallationTokenRequestOptions = { + method: "DELETE"; + url: "/installation/token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListRequestOptions = { + method: "GET"; + url: "/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListResponseDataItemUser; + labels: Array; + assignee: IssuesListResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListResponseDataItemRepository; +}; +declare type IssuesListResponseData = Array; +declare 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; +}; +declare type SearchIssuesLegacyRequestOptions = { + method: "GET"; + url: "/legacy/issues/search/:owner/:repository/:state/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesLegacyResponseDataIssuesItem = { + gravatar_id: string; + position: number; + number: number; + votes: number; + created_at: string; + comments: number; + body: string; + title: string; + updated_at: string; + html_url: string; + user: string; + labels: Array; + state: string; +}; +declare type SearchIssuesLegacyResponseData = { + issues: Array; +}; +declare 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"; +}; +declare type SearchReposLegacyRequestOptions = { + method: "GET"; + url: "/legacy/repos/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposLegacyResponseDataRepositoriesItem = { + type: string; + created: string; + watchers: number; + has_downloads: boolean; + username: string; + homepage: string; + url: string; + fork: boolean; + has_issues: boolean; + has_wiki: boolean; + forks: number; + size: number; + private: boolean; + followers: number; + name: string; + owner: string; + open_issues: number; + pushed_at: string; + score: number; + pushed: string; + description: string; + language: string; + created_at: string; +}; +declare type SearchReposLegacyResponseData = { + repositories: Array; +}; +declare type SearchEmailLegacyEndpoint = { + /** + * The email address. + */ + email: string; +}; +declare type SearchEmailLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/email/:email"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchEmailLegacyResponseDataUser = { + public_repo_count: number; + public_gist_count: number; + followers_count: number; + following_count: number; + created: string; + created_at: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + id: number; + login: string; + type: string; + gravatar_id: string; +}; +declare type SearchEmailLegacyResponseData = { + user: SearchEmailLegacyResponseDataUser; +}; +declare 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"; +}; +declare type SearchUsersLegacyRequestOptions = { + method: "GET"; + url: "/legacy/user/search/:keyword"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersLegacyResponseDataUsersItem = { + gravatar_id: string; + name: string; + created_at: string; + location: string; + public_repo_count: number; + followers: number; + language: string; + fullname: string; + username: string; + id: string; + repos: number; + type: string; + followers_count: number; + login: string; + score: number; + created: string; +}; +declare type SearchUsersLegacyResponseData = { + users: Array; +}; +declare type LicensesListCommonlyUsedEndpoint = {}; +declare type LicensesListCommonlyUsedRequestOptions = { + method: "GET"; + url: "/licenses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesListCommonlyUsedResponseDataItem = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id?: string; +}; +declare type LicensesListCommonlyUsedResponseData = Array; +declare type LicensesGetEndpoint = { + /** + * license parameter + */ + license: string; +}; +declare type LicensesGetRequestOptions = { + method: "GET"; + url: "/licenses/:license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetResponseData = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; + html_url: string; + description: string; + implementation: string; + permissions: Array; + conditions: Array; + limitations: Array; + body: string; + featured: boolean; +}; +declare 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; +}; +declare type MarkdownRenderRequestOptions = { + method: "POST"; + url: "/markdown"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MarkdownRenderRawEndpoint = { + /** + * data parameter + */ + data: string; +} & { + headers: { + "content-type": "text/plain; charset=utf-8"; + }; +}; +declare type MarkdownRenderRawRequestOptions = { + method: "POST"; + url: "/markdown/raw"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountRequestOptions = { + method: "GET"; + url: "/marketplace_listing/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountResponseDataMarketplacePurchase; +}; +declare type AppsListPlansEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansResponseData = Array; +declare type AppsListAccountsForPlanEndpoint = { + /** + * 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; +}; +declare type AppsListAccountsForPlanRequestOptions = { + method: "GET"; + url: "/marketplace_listing/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanResponseData = Array; +declare type AppsGetSubscriptionPlanForAccountStubbedEndpoint = { + /** + * account_id parameter + */ + account_id: number; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/accounts/:account_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchasePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChangePlan; +}; +declare type AppsGetSubscriptionPlanForAccountStubbedResponseData = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePendingChange; + marketplace_purchase: AppsGetSubscriptionPlanForAccountStubbedResponseDataMarketplacePurchase; +}; +declare type AppsListPlansStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListPlansStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListPlansStubbedResponseDataItem = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListPlansStubbedResponseData = Array; +declare type AppsListAccountsForPlanStubbedEndpoint = { + /** + * 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; +}; +declare type AppsListAccountsForPlanStubbedRequestOptions = { + method: "GET"; + url: "/marketplace_listing/stubbed/plans/:plan_id/accounts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchasePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + state: string; + unit_name: null; + bullets: Array; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange = { + effective_date: string; + unit_count: null; + id: number; + plan: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChangePlan; +}; +declare type AppsListAccountsForPlanStubbedResponseDataItem = { + url: string; + type: string; + id: number; + login: string; + email: null; + organization_billing_email: string; + marketplace_pending_change: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePendingChange; + marketplace_purchase: AppsListAccountsForPlanStubbedResponseDataItemMarketplacePurchase; +}; +declare type AppsListAccountsForPlanStubbedResponseData = Array; +declare type MetaGetEndpoint = {}; +declare type MetaGetRequestOptions = { + method: "GET"; + url: "/meta"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MetaGetResponseDataSshKeyFingerprints = { + MD5_RSA: string; + MD5_DSA: string; + SHA256_RSA: string; + SHA256_DSA: string; +}; +declare type MetaGetResponseData = { + verifiable_password_authentication: boolean; + ssh_key_fingerprints: MetaGetResponseDataSshKeyFingerprints; + hooks: Array; + web: Array; + api: Array; + git: Array; + pages: Array; + importer: Array; +}; +declare 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; +}; +declare type ActivityListPublicEventsForRepoNetworkRequestOptions = { + method: "GET"; + url: "/networks/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ActivityListNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkNotificationsAsReadEndpoint = { + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadResponseDataSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityGetThreadResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityGetThreadResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityGetThreadResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityGetThreadResponseData = { + id: string; + repository: ActivityGetThreadResponseDataRepository; + subject: ActivityGetThreadResponseDataSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityMarkThreadAsReadEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityMarkThreadAsReadRequestOptions = { + method: "PATCH"; + url: "/notifications/threads/:thread_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetThreadSubscriptionForAuthenticatedUserResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare 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; +}; +declare type ActivitySetThreadSubscriptionRequestOptions = { + method: "PUT"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetThreadSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + thread_url: string; +}; +declare type ActivityDeleteThreadSubscriptionEndpoint = { + /** + * thread_id parameter + */ + thread_id: number; +}; +declare type ActivityDeleteThreadSubscriptionRequestOptions = { + method: "DELETE"; + url: "/notifications/threads/:thread_id/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListEndpoint = { + /** + * The integer ID of the last organization that you've seen. + */ + since?: number; +}; +declare type OrgsListRequestOptions = { + method: "GET"; + url: "/organizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListResponseData = Array; +declare type OrgsGetEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetRequestOptions = { + method: "GET"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetResponseDataPlan = { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; +}; +declare type OrgsGetResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: number; + disk_usage?: number; + collaborators?: number; + billing_email?: string; + plan: OrgsGetResponseDataPlan; + default_repository_permission?: string; + members_can_create_repositories?: boolean; + two_factor_requirement_enabled?: boolean; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; +}; +declare 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 an organization can use organization projects. + */ + has_organization_projects?: boolean; + /** + * Toggles whether repositories that belong to the organization can use repository projects. + */ + 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 organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + */ + members_can_create_repositories?: boolean; + /** + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_internal_repositories?: boolean; + /** + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_private_repositories?: boolean; + /** + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. + */ + members_can_create_public_repositories?: boolean; + /** + * 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 Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; +}; +declare type OrgsUpdateRequestOptions = { + method: "PATCH"; + url: "/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateResponseDataPlan = { + name: string; + space: number; + private_repos: number; +}; +declare type OrgsUpdateResponseData = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; + total_private_repos: number; + owned_private_repos: number; + private_gists: number; + disk_usage: number; + collaborators: number; + billing_email: string; + plan: OrgsUpdateResponseDataPlan; + default_repository_permission: string; + members_can_create_repositories: boolean; + two_factor_requirement_enabled: boolean; + members_allowed_repository_creation_type: string; + members_can_create_public_repositories: boolean; + members_can_create_private_repositories: boolean; + members_can_create_internal_repositories: boolean; +}; +declare type ActionsListSelfHostedRunnersForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListSelfHostedRunnersForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForOrgResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsListRunnerApplicationsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForOrgResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForOrgResponseData = Array; +declare type ActionsCreateRegistrationTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRegistrationTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForOrgEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ActionsCreateRemoveTokenForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForOrgResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForOrgResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListBlockedUsersRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListBlockedUsersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListBlockedUsersResponseData = Array; +declare type OrgsCheckBlockedUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckBlockedUserRequestOptions = { + method: "GET"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsBlockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsBlockUserRequestOptions = { + method: "PUT"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUnblockUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsUnblockUserRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsListCredentialAuthorizationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/credential-authorizations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListCredentialAuthorizationsResponseDataItem = { + login: string; + credential_id: string; + credential_type: string; + token_last_eight: string; + credential_authorized_at: string; + scopes: Array; +}; +declare type OrgsListCredentialAuthorizationsResponseData = Array; +declare type OrgsRemoveCredentialAuthorizationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * credential_id parameter + */ + credential_id: number; +}; +declare type OrgsRemoveCredentialAuthorizationRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/credential-authorizations/:credential_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicOrgEventsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicOrgEventsRequestOptions = { + method: "GET"; + url: "/orgs/:org/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListHooksRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListHooksResponseDataItemConfig = { + url: string; + content_type: string; +}; +declare type OrgsListHooksResponseDataItem = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsListHooksResponseData = Array; +declare 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; +}; +declare type OrgsCreateHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsCreateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsCreateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsGetHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsGetHookRequestOptions = { + method: "GET"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsGetHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsGetHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare 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; +}; +declare type OrgsUpdateHookRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateHookResponseDataConfig = { + url: string; + content_type: string; +}; +declare type OrgsUpdateHookResponseData = { + id: number; + url: string; + ping_url: string; + name: string; + events: Array; + active: boolean; + config: OrgsUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; +}; +declare type OrgsDeleteHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsDeleteHookRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPingHookEndpoint = { + /** + * org parameter + */ + org: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type OrgsPingHookRequestOptions = { + method: "POST"; + url: "/orgs/:org/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetOrgInstallationRequestOptions = { + method: "GET"; + url: "/orgs/:org/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetOrgInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetOrgInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetOrgInstallationResponseData = { + id: number; + account: AppsGetOrgInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetOrgInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type OrgsListInstallationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemPermissions = { + deployments: string; + metadata: string; + pull_requests: string; + statuses: string; +}; +declare type OrgsListInstallationsResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListInstallationsResponseDataInstallationsItem = { + id: number; + account: OrgsListInstallationsResponseDataInstallationsItemAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: OrgsListInstallationsResponseDataInstallationsItemPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type OrgsListInstallationsResponseData = { + total_count: number; + installations: Array; +}; +declare type InteractionsGetRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare 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"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForOrgResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForOrgEndpoint = { + /** + * org parameter + */ + org: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPendingInvitationsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPendingInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPendingInvitationsResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsListPendingInvitationsResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type OrgsListPendingInvitationsResponseData = Array; +declare 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[]; +}; +declare type OrgsCreateInvitationRequestOptions = { + method: "POST"; + url: "/orgs/:org/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsCreateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsCreateInvitationResponseData = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: OrgsCreateInvitationResponseDataInviter; + team_count: number; + invitation_team_url: string; +}; +declare 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; +}; +declare type OrgsListInvitationTeamsRequestOptions = { + method: "GET"; + url: "/orgs/:org/invitations/:invitation_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListInvitationTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type OrgsListInvitationTeamsResponseData = Array; +declare 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; +}; +declare type IssuesListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForOrgResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForOrgResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForOrgResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForOrgResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForOrgResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForOrgResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForOrgResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForOrgResponseDataItemUser; + labels: Array; + assignee: IssuesListForOrgResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForOrgResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForOrgResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForOrgResponseDataItemRepository; +}; +declare type IssuesListForOrgResponseData = Array; +declare 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; +}; +declare type OrgsListMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembersResponseData = Array; +declare type OrgsCheckMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveMemberEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMemberRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsGetMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipResponseDataOrganization; + user: OrgsGetMembershipResponseDataUser; +}; +declare 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"; +}; +declare type OrgsAddOrUpdateMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsAddOrUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsAddOrUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsAddOrUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsAddOrUpdateMembershipResponseDataOrganization; + user: OrgsAddOrUpdateMembershipResponseDataUser; +}; +declare type OrgsRemoveMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type MigrationsStartForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsStartForOrgResponseData = { + id: number; + owner: MigrationsStartForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForOrgResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForOrgResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForOrgResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsListForOrgResponseDataItem = { + id: number; + owner: MigrationsListForOrgResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForOrgResponseData = Array; +declare type MigrationsGetStatusForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForOrgResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForOrgResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForOrgResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type MigrationsGetStatusForOrgResponseData = { + id: number; + owner: MigrationsGetStatusForOrgResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsDownloadArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDownloadArchiveForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/migrations/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForOrgResponseDataItemLicense; +}; +declare type MigrationsListReposForOrgResponseData = Array; +declare 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; +}; +declare type OrgsListOutsideCollaboratorsRequestOptions = { + method: "GET"; + url: "/orgs/:org/outside_collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListOutsideCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListOutsideCollaboratorsResponseData = Array; +declare type OrgsRemoveOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsRemoveOutsideCollaboratorRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsRemoveOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConvertMemberToOutsideCollaboratorRequestOptions = { + method: "PUT"; + url: "/orgs/:org/outside_collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConvertMemberToOutsideCollaboratorResponseData = { + message: string; + documentation_url: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForOrgResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForOrgResponseData = Array; +declare type ProjectsCreateForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForOrgResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type OrgsListPublicMembersEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListPublicMembersRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListPublicMembersResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListPublicMembersResponseData = Array; +declare type OrgsCheckPublicMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsCheckPublicMembershipRequestOptions = { + method: "GET"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsPublicizeMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsPublicizeMembershipRequestOptions = { + method: "PUT"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsConcealMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * username parameter + */ + username: string; +}; +declare type OrgsConcealMembershipRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/public_members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `type` can also be `internal`. + */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member" | "internal"; + /** + * 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; +}; +declare type ReposListForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForOrgResponseDataItemLicense; +}; +declare type ReposListForOrgResponseData = Array; +declare 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. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-repository-visibility#about-internal-repositories)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateInOrgResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateInOrgResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateInOrgResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateInOrgResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateInOrgResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsListIdPGroupsForOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListIdPGroupsForOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/team-sync/groups"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForOrgResponseData = { + groups: Array; +}; +declare type TeamsListEndpoint = { + /** + * org parameter + */ + org: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type TeamsListResponseData = Array; +declare type TeamsCreateEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The name of the team. + */ + name: string; + /** + * The description of the team. + */ + description?: string; + /** + * List GitHub IDs for organization members who will become team maintainers. + */ + 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` + */ + 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. + */ + parent_team_id?: number; +}; +declare type TeamsCreateRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsCreateResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsCreateResponseDataOrganization; +}; +declare type TeamsGetByNameEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsGetByNameRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetByNameResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetByNameResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetByNameResponseDataOrganization; +}; +declare type TeamsUpdateInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + 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. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateInOrgResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateInOrgResponseDataOrganization; +}; +declare type TeamsDeleteInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsDeleteInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsListDiscussionsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsInOrgResponseDataItem = { + author: TeamsListDiscussionsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionsInOrgResponseData = Array; +declare type TeamsCreateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsCreateDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionInOrgResponseData = { + author: TeamsCreateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionInOrgResponseData = { + author: TeamsGetDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion post's title. + */ + title?: string; + /** + * The discussion post's body text. + */ + body?: string; +}; +declare type TeamsUpdateDiscussionInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionInOrgResponseData = { + author: TeamsUpdateDiscussionInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsListDiscussionCommentsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsInOrgResponseDataItem = { + author: TeamsListDiscussionCommentsInOrgResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsInOrgResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsInOrgResponseData = Array; +declare type TeamsCreateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentInOrgResponseData = { + author: TeamsCreateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentInOrgResponseData = { + author: TeamsGetDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsUpdateDiscussionCommentInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentInOrgResponseData = { + author: TeamsUpdateDiscussionCommentInOrgResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentInOrgResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionCommentEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionCommentRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionInOrgResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionInOrgResponseData = Array; +declare type ReactionsCreateForTeamDiscussionInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionInOrgRequestOptions = { + method: "POST"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionInOrgResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionInOrgResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForTeamDiscussionEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForTeamDiscussionRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsInOrgResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsInOrgResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsInOrgResponseData = Array; +declare type TeamsListMembersInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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; +}; +declare type TeamsListMembersInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersInOrgResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersInOrgResponseData = Array; +declare type TeamsGetMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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"; +}; +declare type TeamsAddOrUpdateMembershipInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipInOrgResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsInOrgResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsInOrgResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsInOrgResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsInOrgResponseDataItemPermissions; +}; +declare type TeamsListProjectsInOrgResponseData = Array; +declare type TeamsReviewProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectInOrgResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectInOrgResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectInOrgResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectInOrgResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposInOrgResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposInOrgResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposInOrgResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposInOrgResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposInOrgResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposInOrgResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposInOrgResponseDataItemLicense; +}; +declare type TeamsListReposInOrgResponseData = Array; +declare type TeamsCheckManagesRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoInOrgResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoInOrgResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoInOrgResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoInOrgResponseData = { + organization: TeamsCheckManagesRepoInOrgResponseDataOrganization; + parent: TeamsCheckManagesRepoInOrgResponseDataParent; + source: TeamsCheckManagesRepoInOrgResponseDataSource; + permissions: TeamsCheckManagesRepoInOrgResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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. + * \* `maintain` - team members can manage the repository without access to sensitive or destructive actions. Recommended for project managers. Only applies to repositories owned by organizations. + * \* `triage` - team members can proactively manage issues and pull requests without write access. Recommended for contributors who triage a repository. Only applies to repositories owned by organizations. + * + * If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type TeamsAddOrUpdateRepoInOrgRequestOptions = { + method: "PUT"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoInOrgRequestOptions = { + method: "DELETE"; + url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; +}; +declare type TeamsListIdPGroupsInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsInOrgResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsInOrgResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * 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: TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgRequestOptions = { + method: "PATCH"; + url: "/orgs/:org/teams/:team_slug/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseData = { + groups: TeamsCreateOrUpdateIdPGroupConnectionsInOrgResponseDataGroups; +}; +declare type TeamsListChildInOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * team_slug parameter + */ + team_slug: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildInOrgRequestOptions = { + method: "GET"; + url: "/orgs/:org/teams/:team_slug/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildInOrgResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildInOrgResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildInOrgResponseDataItemParent; +}; +declare type TeamsListChildInOrgResponseData = Array; +declare type ProjectsGetCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetCardRequestOptions = { + method: "GET"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsGetCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateCardRequestOptions = { + method: "PATCH"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsUpdateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsDeleteCardEndpoint = { + /** + * card_id parameter + */ + card_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteCardRequestOptions = { + method: "DELETE"; + url: "/projects/columns/cards/:card_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveCardRequestOptions = { + method: "POST"; + url: "/projects/columns/cards/:card_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetColumnRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsUpdateColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; + /** + * The new name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateColumnRequestOptions = { + method: "PATCH"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteColumnEndpoint = { + /** + * column_id parameter + */ + column_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteColumnRequestOptions = { + method: "DELETE"; + url: "/projects/columns/:column_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListCardsRequestOptions = { + method: "GET"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCardsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCardsResponseDataItem = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsListCardsResponseDataItemCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare type ProjectsListCardsResponseData = Array; +declare 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 repository issues](https://developer.github.com/v3/issues/#list-repository-issues) 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; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateCardRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/cards"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateCardResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateCardResponseData = { + url: string; + id: number; + node_id: string; + note: string; + creator: ProjectsCreateCardResponseDataCreator; + created_at: string; + updated_at: string; + archived: boolean; + column_url: string; + content_url: string; + project_url: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsMoveColumnRequestOptions = { + method: "POST"; + url: "/projects/columns/:column_id/moves"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsGetRequestOptions = { + method: "GET"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsGetResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsGetResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsGetResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsUpdateRequestOptions = { + method: "PATCH"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsUpdateResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsUpdateResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsUpdateResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsDeleteEndpoint = { + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type ProjectsDeleteRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListCollaboratorsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListCollaboratorsResponseData = Array; +declare 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"; +} & RequiredPreview<"inertia">; +declare type ProjectsAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsRemoveCollaboratorEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/projects/:project_id/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * username parameter + */ + username: string; +} & RequiredPreview<"inertia">; +declare type ProjectsReviewUserPermissionLevelRequestOptions = { + method: "GET"; + url: "/projects/:project_id/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsReviewUserPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsReviewUserPermissionLevelResponseData = { + permission: string; + user: ProjectsReviewUserPermissionLevelResponseDataUser; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListColumnsRequestOptions = { + method: "GET"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListColumnsResponseDataItem = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type ProjectsListColumnsResponseData = Array; +declare type ProjectsCreateColumnEndpoint = { + /** + * project_id parameter + */ + project_id: number; + /** + * The name of the column. + */ + name: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateColumnRequestOptions = { + method: "POST"; + url: "/projects/:project_id/columns"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateColumnResponseData = { + url: string; + project_url: string; + cards_url: string; + id: number; + node_id: string; + name: string; + created_at: string; + updated_at: string; +}; +declare type RateLimitGetEndpoint = {}; +declare type RateLimitGetRequestOptions = { + method: "GET"; + url: "/rate_limit"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type RateLimitGetResponseDataRate = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesIntegrationManifest = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesGraphql = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesSearch = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResourcesCore = { + limit: number; + remaining: number; + reset: number; +}; +declare type RateLimitGetResponseDataResources = { + core: RateLimitGetResponseDataResourcesCore; + search: RateLimitGetResponseDataResourcesSearch; + graphql: RateLimitGetResponseDataResourcesGraphql; + integration_manifest: RateLimitGetResponseDataResourcesIntegrationManifest; +}; +declare type RateLimitGetResponseData = { + resources: RateLimitGetResponseDataResources; + rate: RateLimitGetResponseDataRate; +}; +declare type ReactionsDeleteLegacyEndpoint = { + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetResponseDataCodeOfConduct = { + key: string; + name: string; + url: string; +}; +declare type ReposGetResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposGetResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposGetResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposGetResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposGetResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposGetResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetResponseDataOwner; + private: boolean; + html_url: string; + description: string | null; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string | null; + hooks_url: string; + svn_url: string; + homepage: string | null; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template?: boolean; + topics?: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions?: ReposGetResponseDataPermissions; + allow_rebase_merge?: boolean; + template_repository?: null; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_merge_commit?: boolean; + subscribers_count: number; + network_count: number; + license?: ReposGetResponseDataLicense; + organization?: ReposGetResponseDataOrganization; + parent?: ReposGetResponseDataParent; + source?: ReposGetResponseDataSource; + forks?: number; + open_issues?: number; + watchers?: number; + code_of_conduct?: ReposGetResponseDataCodeOfConduct; +}; +declare 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. 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; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; + /** + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + */ + archived?: boolean; +}; +declare type ReposUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposUpdateResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposUpdateResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type ReposUpdateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; + organization: ReposUpdateResponseDataOrganization; + parent: ReposUpdateResponseDataParent; + source: ReposUpdateResponseDataSource; +}; +declare type ReposDeleteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposDeleteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteResponseData = { + message: string; + documentation_url: string; +}; +declare type ActionsListArtifactsForRepoEndpoint = { + /** + * 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; +}; +declare type ActionsListArtifactsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListArtifactsForRepoResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListArtifactsForRepoResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsGetArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsGetArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetArtifactResponseData = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsDeleteArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; +}; +declare type ActionsDeleteArtifactRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDownloadArtifactEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * artifact_id parameter + */ + artifact_id: number; + /** + * archive_format parameter + */ + archive_format: string; +}; +declare type ActionsDownloadArtifactRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsGetWorkflowJobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowJobResponseDataStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsGetWorkflowJobResponseData = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsDownloadWorkflowJobLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * job_id parameter + */ + job_id: number; +}; +declare type ActionsDownloadWorkflowJobLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/jobs/:job_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoEndpoint = { + /** + * 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; +}; +declare type ActionsListSelfHostedRunnersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseDataRunnersItem = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsListSelfHostedRunnersForRepoResponseData = { + total_count: number; + runners: Array; +}; +declare type ActionsListRunnerApplicationsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsListRunnerApplicationsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRunnerApplicationsForRepoResponseDataItem = { + os: string; + architecture: string; + download_url: string; + filename: string; +}; +declare type ActionsListRunnerApplicationsForRepoResponseData = Array; +declare type ActionsCreateRegistrationTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRegistrationTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/registration-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRegistrationTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsCreateRemoveTokenForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsCreateRemoveTokenForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runners/remove-token"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsCreateRemoveTokenForRepoResponseData = { + token: string; + expires_at: string; +}; +declare type ActionsGetSelfHostedRunnerForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsGetSelfHostedRunnerForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSelfHostedRunnerForRepoResponseData = { + id: number; + name: string; + os: string; + status: string; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * runner_id parameter + */ + runner_id: number; +}; +declare type ActionsDeleteSelfHostedRunnerFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runners/:runner_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListRepoWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListRepoWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListRepoWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare type ActionsGetWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsGetWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsGetWorkflowRunResponseDataHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsGetWorkflowRunResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsGetWorkflowRunResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsGetWorkflowRunResponseDataHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsGetWorkflowRunResponseDataHeadCommitAuthor; + committer: ActionsGetWorkflowRunResponseDataHeadCommitCommitter; +}; +declare type ActionsGetWorkflowRunResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsGetWorkflowRunResponseDataHeadCommit; + repository: ActionsGetWorkflowRunResponseDataRepository; + head_repository: ActionsGetWorkflowRunResponseDataHeadRepository; +}; +declare type ActionsListWorkflowRunArtifactsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunArtifactsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunArtifactsResponseDataArtifactsItem = { + id: number; + node_id: string; + name: string; + size_in_bytes: number; + url: string; + archive_download_url: string; + expired: boolean; + created_at: string; + expires_at: string; +}; +declare type ActionsListWorkflowRunArtifactsResponseData = { + total_count: number; + artifacts: Array; +}; +declare type ActionsCancelWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsCancelWorkflowRunRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/cancel"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; + /** + * Filters jobs by their `completed_at` timestamp. Can be one of: + * \* `latest`: Returns jobs from the most recent execution of the workflow run. + * \* `all`: Returns all jobs for a workflow run, including from old executions of the workflow run. + */ + filter?: "latest" | "all"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListJobsForWorkflowRunRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/jobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItemStepsItem = { + name: string; + status: string; + conclusion: string; + number: number; + started_at: string; + completed_at: string; +}; +declare type ActionsListJobsForWorkflowRunResponseDataJobsItem = { + id: number; + run_id: number; + run_url: string; + node_id: string; + head_sha: string; + url: string; + html_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + name: string; + steps: Array; + check_run_url: string; +}; +declare type ActionsListJobsForWorkflowRunResponseData = { + total_count: number; + jobs: Array; +}; +declare type ActionsDownloadWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDownloadWorkflowRunLogsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteWorkflowRunLogsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsDeleteWorkflowRunLogsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/runs/:run_id/logs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsReRunWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * run_id parameter + */ + run_id: number; +}; +declare type ActionsReRunWorkflowRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/actions/runs/:run_id/rerun"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoEndpoint = { + /** + * 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; +}; +declare type ActionsListSecretsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListSecretsForRepoResponseDataSecretsItem = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsListSecretsForRepoResponseData = { + total_count: number; + secrets: Array; +}; +declare type ActionsGetPublicKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActionsGetPublicKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/public-key"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type ActionsGetSecretEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsGetSecretRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetSecretResponseData = { + name: string; + created_at: string; + updated_at: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get your public key](https://developer.github.com/v3/actions/secrets/#get-your-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; +}; +declare type ActionsCreateOrUpdateSecretForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsDeleteSecretFromRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type ActionsDeleteSecretFromRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/actions/secrets/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsEndpoint = { + /** + * 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; +}; +declare type ActionsListRepoWorkflowsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListRepoWorkflowsResponseDataWorkflowsItem = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListRepoWorkflowsResponseData = { + total_count: number; + workflows: Array; +}; +declare type ActionsGetWorkflowEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; +}; +declare type ActionsGetWorkflowRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsGetWorkflowResponseData = { + id: number; + node_id: string; + name: string; + path: string; + state: string; + created_at: string; + updated_at: string; + url: string; + html_url: string; + badge_url: string; +}; +declare type ActionsListWorkflowRunsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * workflow_id parameter + */ + workflow_id: number; + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActionsListWorkflowRunsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + private: boolean; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepositoryOwner; + html_url: string; + description: null; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor = { + name: string; + email: string; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit = { + id: string; + tree_id: string; + message: string; + timestamp: string; + author: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommitCommitter; +}; +declare type ActionsListWorkflowRunsResponseDataWorkflowRunsItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + run_number: number; + event: string; + status: string; + conclusion: null; + url: string; + html_url: string; + pull_requests: Array; + created_at: string; + updated_at: string; + jobs_url: string; + logs_url: string; + check_suite_url: string; + artifacts_url: string; + cancel_url: string; + rerun_url: string; + workflow_url: string; + head_commit: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadCommit; + repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemRepository; + head_repository: ActionsListWorkflowRunsResponseDataWorkflowRunsItemHeadRepository; +}; +declare type ActionsListWorkflowRunsResponseData = { + total_count: number; + workflow_runs: Array; +}; +declare 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; +}; +declare type IssuesListAssigneesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListAssigneesResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListAssigneesResponseData = Array; +declare type IssuesCheckAssigneeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * assignee parameter + */ + assignee: string; +}; +declare type IssuesCheckAssigneeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/assignees/:assignee"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposEnableAutomatedSecurityFixesRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableAutomatedSecurityFixesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"london">; +declare type ReposDisableAutomatedSecurityFixesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/automated-security-fixes"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListBranchesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesResponseDataItemProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposListBranchesResponseDataItemProtection = { + enabled: boolean; + required_status_checks: ReposListBranchesResponseDataItemProtectionRequiredStatusChecks; +}; +declare type ReposListBranchesResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesResponseDataItem = { + name: string; + commit: ReposListBranchesResponseDataItemCommit; + protected: boolean; + protection: ReposListBranchesResponseDataItemProtection; + protection_url: string; +}; +declare type ReposListBranchesResponseData = Array; +declare type ReposGetBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchResponseDataProtectionRequiredStatusChecks = { + enforcement_level: string; + contexts: Array; +}; +declare type ReposGetBranchResponseDataProtection = { + enabled: boolean; + required_status_checks: ReposGetBranchResponseDataProtectionRequiredStatusChecks; +}; +declare type ReposGetBranchResponseDataLinks = { + html: string; + self: string; +}; +declare type ReposGetBranchResponseDataCommitCommitter = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitParentsItem = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitAuthor = { + gravatar_id: string; + avatar_url: string; + url: string; + id: number; + login: string; +}; +declare type ReposGetBranchResponseDataCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetBranchResponseDataCommitCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommitTree = { + sha: string; + url: string; +}; +declare type ReposGetBranchResponseDataCommitCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposGetBranchResponseDataCommitCommit = { + author: ReposGetBranchResponseDataCommitCommitAuthor; + url: string; + message: string; + tree: ReposGetBranchResponseDataCommitCommitTree; + committer: ReposGetBranchResponseDataCommitCommitCommitter; + verification: ReposGetBranchResponseDataCommitCommitVerification; +}; +declare type ReposGetBranchResponseDataCommit = { + sha: string; + node_id: string; + commit: ReposGetBranchResponseDataCommitCommit; + author: ReposGetBranchResponseDataCommitAuthor; + parents: Array; + url: string; + committer: ReposGetBranchResponseDataCommitCommitter; +}; +declare type ReposGetBranchResponseData = { + name: string; + commit: ReposGetBranchResponseDataCommit; + _links: ReposGetBranchResponseDataLinks; + protected: boolean; + protection: ReposGetBranchResponseDataProtection; + protection_url: string; +}; +declare type ReposGetBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetBranchProtectionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposGetBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposGetBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposGetBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposGetBranchProtectionResponseData = { + url: string; + required_status_checks: ReposGetBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposGetBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposGetBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposGetBranchProtectionResponseDataRestrictions; + required_linear_history: ReposGetBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposGetBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposGetBranchProtectionResponseDataAllowDeletions; +}; +declare 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 the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + */ + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; + /** + * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. + */ + required_linear_history?: boolean; + /** + * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." + */ + allow_force_pushes?: boolean | null; + /** + * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. + */ + allow_deletions?: boolean; +}; +declare type ReposUpdateBranchProtectionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowDeletions = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataAllowForcePushes = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredLinearHistory = { + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposUpdateBranchProtectionResponseDataRestrictionsAppsItemPermissions; + events: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRestrictions = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews = { + url: string; + dismissal_restrictions: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposUpdateBranchProtectionResponseDataEnforceAdmins = { + url: string; + enabled: boolean; +}; +declare type ReposUpdateBranchProtectionResponseDataRequiredStatusChecks = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposUpdateBranchProtectionResponseData = { + url: string; + required_status_checks: ReposUpdateBranchProtectionResponseDataRequiredStatusChecks; + enforce_admins: ReposUpdateBranchProtectionResponseDataEnforceAdmins; + required_pull_request_reviews: ReposUpdateBranchProtectionResponseDataRequiredPullRequestReviews; + restrictions: ReposUpdateBranchProtectionResponseDataRestrictions; + required_linear_history: ReposUpdateBranchProtectionResponseDataRequiredLinearHistory; + allow_force_pushes: ReposUpdateBranchProtectionResponseDataAllowForcePushes; + allow_deletions: ReposUpdateBranchProtectionResponseDataAllowDeletions; +}; +declare type ReposRemoveBranchProtectionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveBranchProtectionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchAdminEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposAddProtectedBranchAdminEnforcementRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAdminEnforcementResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchAdminEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposGetProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare 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; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictionsUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions = { + url: string; + users_url: string; + teams_url: string; + users: Array; + teams: Array; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseData = { + url: string; + dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDataDismissalRestrictions; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count: number; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposGetProtectedBranchRequiredSignaturesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposAddProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposAddProtectedBranchRequiredSignaturesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredSignaturesResponseData = { + url: string; + enabled: boolean; +}; +declare type ReposRemoveProtectedBranchRequiredSignaturesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +} & RequiredPreview<"zzzax">; +declare type ReposRemoveProtectedBranchRequiredSignaturesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare 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[]; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateProtectedBranchRequiredStatusChecksResponseData = { + url: string; + strict: boolean; + contexts: Array; + contexts_url: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * contexts parameter + */ + contexts: string[]; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsResponseData = Array; +declare type ReposGetProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetProtectedBranchRestrictionsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataAppsItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetProtectedBranchRestrictionsResponseDataAppsItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetProtectedBranchRestrictionsResponseDataAppsItemPermissions; + events: Array; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetProtectedBranchRestrictionsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetProtectedBranchRestrictionsResponseData = { + url: string; + users_url: string; + teams_url: string; + apps_url: string; + users: Array; + teams: Array; + apps: Array; +}; +declare type ReposRemoveProtectedBranchRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposRemoveProtectedBranchRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposGetAppsWithAccessToProtectedBranchResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposGetAppsWithAccessToProtectedBranchResponseDataItemPermissions; + events: Array; +}; +declare type ReposGetAppsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposReplaceProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposReplaceProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposAddProtectedBranchAppRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposAddProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposAddProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposAddProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchAppRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * apps parameter + */ + apps: string[]; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseDataItem = { + id: number; + slug: string; + node_id: string; + owner: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ReposRemoveProtectedBranchAppRestrictionsResponseDataItemPermissions; + events: Array; +}; +declare type ReposRemoveProtectedBranchAppRestrictionsResponseData = Array; +declare type ReposGetTeamsWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposGetTeamsWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposReplaceProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposAddProtectedBranchTeamRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposAddProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchTeamRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * teams parameter + */ + teams: string[]; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposRemoveProtectedBranchTeamRestrictionsResponseData = Array; +declare type ReposGetUsersWithAccessToProtectedBranchEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; +}; +declare type ReposGetUsersWithAccessToProtectedBranchRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetUsersWithAccessToProtectedBranchResponseData = Array; +declare type ReposReplaceProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposReplaceProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposAddProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposAddProtectedBranchUserRestrictionsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddProtectedBranchUserRestrictionsResponseData = Array; +declare type ReposRemoveProtectedBranchUserRestrictionsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * branch parameter + */ + branch: string; + /** + * users parameter + */ + users: string[]; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposRemoveProtectedBranchUserRestrictionsResponseData = Array; +declare 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. If the integrator does not provide this, then the homepage of the GitHub app is used. + */ + 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`, `skipped`, `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`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "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[]; +} & RequiredPreview<"antiope">; +declare type ChecksCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksCreateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksCreateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksCreateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksCreateResponseDataPullRequestsItemHead; + base: ChecksCreateResponseDataPullRequestsItemBase; +}; +declare type ChecksCreateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksCreateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count?: number; + annotations_url?: string; +}; +declare type ChecksCreateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: null | string; + started_at: string; + completed_at: null | string; + output: ChecksCreateResponseDataOutput; + name: string; + check_suite: ChecksCreateResponseDataCheckSuite; + app: ChecksCreateResponseDataApp; + pull_requests: Array; +}; +declare 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`, `skipped`, `timed_out`, or `action_required`. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. Only GitHub can change a check run conclusion to `stale`. + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "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[]; +} & RequiredPreview<"antiope">; +declare type ChecksUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksUpdateResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksUpdateResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksUpdateResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksUpdateResponseDataPullRequestsItemHead; + base: ChecksUpdateResponseDataPullRequestsItemBase; +}; +declare type ChecksUpdateResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksUpdateResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksUpdateResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksUpdateResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksUpdateResponseDataAppPermissions; + events: Array; +}; +declare type ChecksUpdateResponseDataCheckSuite = { + id: number; +}; +declare type ChecksUpdateResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksUpdateResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksUpdateResponseDataOutput; + name: string; + check_suite: ChecksUpdateResponseDataCheckSuite; + app: ChecksUpdateResponseDataApp; + pull_requests: Array; +}; +declare type ChecksGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_run_id parameter + */ + check_run_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetResponseDataPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemBaseRepo; +}; +declare type ChecksGetResponseDataPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksGetResponseDataPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksGetResponseDataPullRequestsItemHeadRepo; +}; +declare type ChecksGetResponseDataPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksGetResponseDataPullRequestsItemHead; + base: ChecksGetResponseDataPullRequestsItemBase; +}; +declare type ChecksGetResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetResponseDataCheckSuite = { + id: number; +}; +declare type ChecksGetResponseDataOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksGetResponseData = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksGetResponseDataOutput; + name: string; + check_suite: ChecksGetResponseDataCheckSuite; + app: ChecksGetResponseDataApp; + pull_requests: Array; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListAnnotationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-runs/:check_run_id/annotations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListAnnotationsResponseDataItem = { + path: string; + start_line: number; + end_line: number; + start_column: number; + end_column: number; + annotation_level: string; + title: string; + message: string; + raw_details: string; +}; +declare type ChecksListAnnotationsResponseData = Array; +declare type ChecksCreateSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The sha of the head commit. + */ + head_sha: string; +} & RequiredPreview<"antiope">; +declare type ChecksCreateSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksCreateSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksCreateSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksCreateSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksCreateSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksCreateSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksCreateSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksCreateSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksCreateSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksCreateSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksCreateSuiteResponseDataApp; + repository: ChecksCreateSuiteResponseDataRepository; +}; +declare 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[]; +} & RequiredPreview<"antiope">; +declare type ChecksSetSuitesPreferencesRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/check-suites/preferences"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksSetSuitesPreferencesResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksSetSuitesPreferencesResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferencesAutoTriggerChecksItem = { + app_id: number; + setting: boolean; +}; +declare type ChecksSetSuitesPreferencesResponseDataPreferences = { + auto_trigger_checks: Array; +}; +declare type ChecksSetSuitesPreferencesResponseData = { + preferences: ChecksSetSuitesPreferencesResponseDataPreferences; + repository: ChecksSetSuitesPreferencesResponseDataRepository; +}; +declare type ChecksGetSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksGetSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksGetSuiteResponseDataRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksGetSuiteResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksGetSuiteResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksGetSuiteResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksGetSuiteResponseDataAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksGetSuiteResponseDataAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksGetSuiteResponseDataApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksGetSuiteResponseDataAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksGetSuiteResponseDataAppPermissions; + events: Array; +}; +declare type ChecksGetSuiteResponseData = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksGetSuiteResponseDataApp; + repository: ChecksGetSuiteResponseDataRepository; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListForSuiteRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForSuiteResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForSuiteResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForSuiteResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForSuiteResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForSuiteResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForSuiteResponseDataCheckRunsItemCheckSuite; + app: ChecksListForSuiteResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForSuiteResponseData = { + total_count: number; + check_runs: Array; +}; +declare type ChecksRerequestSuiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * check_suite_id parameter + */ + check_suite_id: number; +} & RequiredPreview<"antiope">; +declare type ChecksRerequestSuiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Set to `closed` to list only closed code scanning alerts. + */ + state?: string; + /** + * Returns a list of code scanning alerts for a specific brach reference. The `ref` must be formatted as `heads/`. + */ + ref?: string; +}; +declare type CodeScanningListAlertsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningListAlertsForRepoResponseDataItem = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare type CodeScanningListAlertsForRepoResponseData = Array; +declare type CodeScanningGetAlertEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * alert_id parameter + */ + alert_id: number; +}; +declare type CodeScanningGetAlertRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/code-scanning/alerts/:alert_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodeScanningGetAlertResponseData = { + rule_id: string; + rule_severity: string; + rule_description: string; + tool: string; + created_at: string; + open: boolean; + closed_by: null; + closed_at: null; + url: string; + html_url: string; +}; +declare 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; +}; +declare type ReposListCollaboratorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCollaboratorsResponseDataItemPermissions = { + pull: boolean; + push: boolean; + admin: boolean; +}; +declare type ReposListCollaboratorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + permissions: ReposListCollaboratorsResponseDataItemPermissions; +}; +declare type ReposListCollaboratorsResponseData = Array; +declare type ReposCheckCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposCheckCollaboratorRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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. + * \* `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions. + * \* `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access. + */ + permission?: "pull" | "push" | "admin" | "maintain" | "triage"; +}; +declare type ReposAddCollaboratorRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddCollaboratorResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposAddCollaboratorResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposAddCollaboratorResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposAddCollaboratorResponseData = { + id: number; + repository: ReposAddCollaboratorResponseDataRepository; + invitee: ReposAddCollaboratorResponseDataInvitee; + inviter: ReposAddCollaboratorResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposRemoveCollaboratorEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposRemoveCollaboratorRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/collaborators/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * username parameter + */ + username: string; +}; +declare type ReposGetCollaboratorPermissionLevelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/collaborators/:username/permission"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCollaboratorPermissionLevelResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCollaboratorPermissionLevelResponseData = { + permission: string; + user: ReposGetCollaboratorPermissionLevelResponseDataUser; +}; +declare 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; +}; +declare type ReposListCommitCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitCommentsResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommitCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommitCommentsResponseData = Array; +declare type ReposGetCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposGetCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposGetCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposUpdateCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment + */ + body: string; +}; +declare type ReposUpdateCommitCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposUpdateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type ReposDeleteCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type ReposDeleteCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForCommitCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForCommitCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForCommitCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForCommitCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForCommitCommentResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForCommitCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForCommitCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForCommitCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForCommitCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposListCommitsResponseDataItemCommit = { + url: string; + author: ReposListCommitsResponseDataItemCommitAuthor; + committer: ReposListCommitsResponseDataItemCommitCommitter; + message: string; + tree: ReposListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: ReposListCommitsResponseDataItemCommitVerification; +}; +declare type ReposListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposListCommitsResponseDataItemCommit; + author: ReposListCommitsResponseDataItemAuthor; + committer: ReposListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type ReposListCommitsResponseData = Array; +declare type ReposListBranchesForHeadCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +} & RequiredPreview<"groot">; +declare type ReposListBranchesForHeadCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/branches-where-head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListBranchesForHeadCommitResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListBranchesForHeadCommitResponseDataItem = { + name: string; + commit: ReposListBranchesForHeadCommitResponseDataItemCommit; + protected: boolean; +}; +declare type ReposListBranchesForHeadCommitResponseData = Array; +declare 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; +}; +declare type ReposListCommentsForCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListCommentsForCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListCommentsForCommitResponseDataItem = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposListCommentsForCommitResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type ReposListCommentsForCommitResponseData = Array; +declare 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; +}; +declare type ReposCreateCommitCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/commits/:commit_sha/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateCommitCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateCommitCommentResponseData = { + html_url: string; + url: string; + id: number; + node_id: string; + body: string; + path: string; + position: number; + line: number; + commit_id: string; + user: ReposCreateCommitCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare 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; +} & RequiredPreview<"groot">; +declare type ReposListPullRequestsAssociatedWithCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:commit_sha/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf = { + href: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks = { + self: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksSelf; + html: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksHtml; + issue: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksIssue; + comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksComments; + review_comments: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComments; + review_comment: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksReviewComment; + commits: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksCommits; + statuses: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinksStatuses; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemBaseRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadUser; + repo: ReposListPullRequestsAssociatedWithCommitResponseDataItemHeadRepo; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: ReposListPullRequestsAssociatedWithCommitResponseDataItemUser; + body: string; + labels: Array; + milestone: ReposListPullRequestsAssociatedWithCommitResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: ReposListPullRequestsAssociatedWithCommitResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: ReposListPullRequestsAssociatedWithCommitResponseDataItemHead; + base: ReposListPullRequestsAssociatedWithCommitResponseDataItemBase; + _links: ReposListPullRequestsAssociatedWithCommitResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type ReposListPullRequestsAssociatedWithCommitResponseData = Array; +declare type ReposGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitResponseDataFilesItem = { + filename: string; + additions: number; + deletions: number; + changes: number; + status: string; + raw_url: string; + blob_url: string; + patch: string; +}; +declare type ReposGetCommitResponseDataStats = { + additions: number; + deletions: number; + total: number; +}; +declare type ReposGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCommitResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposGetCommitResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposGetCommitResponseDataCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposGetCommitResponseDataCommit = { + url: string; + author: ReposGetCommitResponseDataCommitAuthor; + committer: ReposGetCommitResponseDataCommitCommitter; + message: string; + tree: ReposGetCommitResponseDataCommitTree; + comment_count: number; + verification: ReposGetCommitResponseDataCommitVerification; +}; +declare type ReposGetCommitResponseData = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposGetCommitResponseDataCommit; + author: ReposGetCommitResponseDataAuthor; + committer: ReposGetCommitResponseDataCommitter; + parents: Array; + stats: ReposGetCommitResponseDataStats; + files: Array; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-runs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBaseRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo = { + id: number; + url: string; + name: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead = { + ref: string; + sha: string; + repo: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHeadRepo; +}; +declare type ChecksListForRefResponseDataCheckRunsItemPullRequestsItem = { + url: string; + id: number; + number: number; + head: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemHead; + base: ChecksListForRefResponseDataCheckRunsItemPullRequestsItemBase; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListForRefResponseDataCheckRunsItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListForRefResponseDataCheckRunsItemAppPermissions; + events: Array; +}; +declare type ChecksListForRefResponseDataCheckRunsItemCheckSuite = { + id: number; +}; +declare type ChecksListForRefResponseDataCheckRunsItemOutput = { + title: string; + summary: string; + text: string; + annotations_count: number; + annotations_url: string; +}; +declare type ChecksListForRefResponseDataCheckRunsItem = { + id: number; + head_sha: string; + node_id: string; + external_id: string; + url: string; + html_url: string; + details_url: string; + status: string; + conclusion: string; + started_at: string; + completed_at: string; + output: ChecksListForRefResponseDataCheckRunsItemOutput; + name: string; + check_suite: ChecksListForRefResponseDataCheckRunsItemCheckSuite; + app: ChecksListForRefResponseDataCheckRunsItemApp; + pull_requests: Array; +}; +declare type ChecksListForRefResponseData = { + total_count: number; + check_runs: Array; +}; +declare 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; +} & RequiredPreview<"antiope">; +declare type ChecksListSuitesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/check-suites"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItemApp = { + id: number; + slug: string; + node_id: string; + owner: ChecksListSuitesForRefResponseDataCheckSuitesItemAppOwner; + name: string; + description: string; + external_url: string; + html_url: string; + created_at: string; + updated_at: string; + permissions: ChecksListSuitesForRefResponseDataCheckSuitesItemAppPermissions; + events: Array; +}; +declare type ChecksListSuitesForRefResponseDataCheckSuitesItem = { + id: number; + node_id: string; + head_branch: string; + head_sha: string; + status: string; + conclusion: string; + url: string; + before: string; + after: string; + pull_requests: Array; + app: ChecksListSuitesForRefResponseDataCheckSuitesItemApp; + repository: ChecksListSuitesForRefResponseDataCheckSuitesItemRepository; +}; +declare type ChecksListSuitesForRefResponseData = { + total_count: number; + check_suites: Array; +}; +declare type ReposGetCombinedStatusForRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetCombinedStatusForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/status"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetCombinedStatusForRefResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposGetCombinedStatusForRefResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposGetCombinedStatusForRefResponseDataStatusesItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; +}; +declare type ReposGetCombinedStatusForRefResponseData = { + state: string; + statuses: Array; + sha: string; + total_count: number; + repository: ReposGetCombinedStatusForRefResponseDataRepository; + commit_url: string; + url: string; +}; +declare 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; +}; +declare type ReposListStatusesForRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/commits/:ref/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListStatusesForRefResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListStatusesForRefResponseDataItem = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposListStatusesForRefResponseDataItemCreator; +}; +declare type ReposListStatusesForRefResponseData = Array; +declare type CodesOfConductGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"scarlet-witch">; +declare type CodesOfConductGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/code_of_conduct"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type CodesOfConductGetForRepoResponseData = { + key: string; + name: string; + url: string; + body: string; +}; +declare type ReposRetrieveCommunityProfileMetricsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRetrieveCommunityProfileMetricsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/community/profile"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense = { + name: string; + key: string; + spdx_id: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing = { + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct = { + name: string; + key: string; + url: string; + html_url: string; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseDataFiles = { + code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseDataFilesCodeOfConduct; + contributing: ReposRetrieveCommunityProfileMetricsResponseDataFilesContributing; + issue_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesIssueTemplate; + pull_request_template: ReposRetrieveCommunityProfileMetricsResponseDataFilesPullRequestTemplate; + license: ReposRetrieveCommunityProfileMetricsResponseDataFilesLicense; + readme: ReposRetrieveCommunityProfileMetricsResponseDataFilesReadme; +}; +declare type ReposRetrieveCommunityProfileMetricsResponseData = { + health_percentage: number; + description: string; + documentation: boolean; + files: ReposRetrieveCommunityProfileMetricsResponseDataFiles; + updated_at: string; +}; +declare type ReposCompareCommitsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * base parameter + */ + base: string; + /** + * head parameter + */ + head: string; +}; +declare type ReposCompareCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/compare/:base...:head"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCompareCommitsResponseDataFilesItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataCommitsItemCommit = { + url: string; + author: ReposCompareCommitsResponseDataCommitsItemCommitAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataCommitsItemCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataCommitsItemCommitVerification; +}; +declare type ReposCompareCommitsResponseDataCommitsItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataCommitsItemCommit; + author: ReposCompareCommitsResponseDataCommitsItemAuthor; + committer: ReposCompareCommitsResponseDataCommitsItemCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataMergeBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataMergeBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataMergeBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataMergeBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataMergeBaseCommitCommit; + author: ReposCompareCommitsResponseDataMergeBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataMergeBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseDataBaseCommitParentsItem = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitTree = { + url: string; + sha: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type ReposCompareCommitsResponseDataBaseCommitCommit = { + url: string; + author: ReposCompareCommitsResponseDataBaseCommitCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitCommitter; + message: string; + tree: ReposCompareCommitsResponseDataBaseCommitCommitTree; + comment_count: number; + verification: ReposCompareCommitsResponseDataBaseCommitCommitVerification; +}; +declare type ReposCompareCommitsResponseDataBaseCommit = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: ReposCompareCommitsResponseDataBaseCommitCommit; + author: ReposCompareCommitsResponseDataBaseCommitAuthor; + committer: ReposCompareCommitsResponseDataBaseCommitCommitter; + parents: Array; +}; +declare type ReposCompareCommitsResponseData = { + url: string; + html_url: string; + permalink_url: string; + diff_url: string; + patch_url: string; + base_commit: ReposCompareCommitsResponseDataBaseCommit; + merge_base_commit: ReposCompareCommitsResponseDataMergeBaseCommit; + status: string; + ahead_by: number; + behind_by: number; + total_commits: number; + commits: Array; + files: Array; +}; +declare 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; +}; +declare type ReposGetContentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContentsResponseDataItemLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposGetContentsResponseDataItem = { + type: string; + size: number; + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataItemLinks; +}; +declare type ReposGetContentsResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetContentsResponseData = { + type: string; + encoding?: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string | null; + _links: ReposGetContentsResponseDataLinks; + target?: string; + submodule_git_url?: string; +} | Array; +declare 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; +}; +declare type ReposCreateOrUpdateFileRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposCreateOrUpdateFileResponseDataCommitAuthor; + committer: ReposCreateOrUpdateFileResponseDataCommitCommitter; + message: string; + tree: ReposCreateOrUpdateFileResponseDataCommitTree; + parents: Array; + verification: ReposCreateOrUpdateFileResponseDataCommitVerification; +}; +declare type ReposCreateOrUpdateFileResponseDataContentLinks = { + self: string; + git: string; + html: string; +}; +declare type ReposCreateOrUpdateFileResponseDataContent = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + _links: ReposCreateOrUpdateFileResponseDataContentLinks; +}; +declare type ReposCreateOrUpdateFileResponseData = { + content: ReposCreateOrUpdateFileResponseDataContent; + commit: ReposCreateOrUpdateFileResponseDataCommit; +}; +declare 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; +}; +declare type ReposDeleteFileRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/contents/:path"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeleteFileResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposDeleteFileResponseDataCommitParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitTree = { + url: string; + sha: string; +}; +declare type ReposDeleteFileResponseDataCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type ReposDeleteFileResponseDataCommit = { + sha: string; + node_id: string; + url: string; + html_url: string; + author: ReposDeleteFileResponseDataCommitAuthor; + committer: ReposDeleteFileResponseDataCommitCommitter; + message: string; + tree: ReposDeleteFileResponseDataCommitTree; + parents: Array; + verification: ReposDeleteFileResponseDataCommitVerification; +}; +declare type ReposDeleteFileResponseData = { + content: null; + commit: ReposDeleteFileResponseDataCommit; +}; +declare 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; +}; +declare type ReposListContributorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListContributorsResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + contributions: number; +}; +declare type ReposListContributorsResponseData = Array; +declare 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; +}; +declare type ReposListDeploymentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentsResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentsResponseDataItemPayload = { + deploy: string; +}; +declare type ReposListDeploymentsResponseDataItem = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposListDeploymentsResponseDataItemPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposListDeploymentsResponseDataItemCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposListDeploymentsResponseData = Array; +declare 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; +}; +declare type ReposCreateDeploymentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposCreateDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposCreateDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposCreateDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposGetDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposGetDeploymentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentResponseDataPayload = { + deploy: string; +}; +declare type ReposGetDeploymentResponseData = { + url: string; + id: number; + node_id: string; + sha: string; + ref: string; + task: string; + payload: ReposGetDeploymentResponseDataPayload; + original_environment: string; + environment: string; + description: string; + creator: ReposGetDeploymentResponseDataCreator; + created_at: string; + updated_at: string; + statuses_url: string; + repository_url: string; + transient_environment: boolean; + production_environment: boolean; +}; +declare type ReposDeleteDeploymentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; +}; +declare type ReposDeleteDeploymentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/deployments/:deployment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListDeploymentStatusesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeploymentStatusesResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListDeploymentStatusesResponseDataItem = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposListDeploymentStatusesResponseDataItemCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposListDeploymentStatusesResponseData = Array; +declare 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; +}; +declare type ReposCreateDeploymentStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposCreateDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposGetDeploymentStatusEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * deployment_id parameter + */ + deployment_id: number; + /** + * status_id parameter + */ + status_id: number; +}; +declare type ReposGetDeploymentStatusRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeploymentStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetDeploymentStatusResponseData = { + url: string; + id: number; + node_id: string; + state: string; + creator: ReposGetDeploymentStatusResponseDataCreator; + description: string; + environment: string; + target_url: string; + created_at: string; + updated_at: string; + deployment_url: string; + repository_url: string; + environment_url: string; + log_url: string; +}; +declare type ReposCreateDispatchEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * **Required:** A custom webhook event name. + */ + event_type?: string; + /** + * JSON payload with extra information about the webhook event that your action or worklow may use. + */ + client_payload?: ReposCreateDispatchEventParamsClientPayload; +}; +declare type ReposCreateDispatchEventRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/dispatches"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListDownloadsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDownloadsResponseDataItem = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposListDownloadsResponseData = Array; +declare type ReposGetDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposGetDownloadRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDownloadResponseData = { + url: string; + html_url: string; + id: number; + name: string; + description: string; + size: number; + download_count: number; + content_type: string; +}; +declare type ReposDeleteDownloadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * download_id parameter + */ + download_id: number; +}; +declare type ReposDeleteDownloadRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/downloads/:download_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ActivityListRepoEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListForksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListForksResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ReposListForksResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposListForksResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListForksResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListForksResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposListForksResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ReposListForksResponseDataItemLicense; +}; +declare type ReposListForksResponseData = Array; +declare type ReposCreateForkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Optional parameter to specify the organization name if forking into an organization. + */ + organization?: string; +}; +declare type ReposCreateForkRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/forks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForkResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForkResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForkResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForkResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForkResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare 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; +}; +declare type GitCreateBlobRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/blobs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateBlobResponseData = { + url: string; + sha: string; +}; +declare type GitGetBlobEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * file_sha parameter + */ + file_sha: string; +}; +declare type GitGetBlobRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/blobs/:file_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetBlobResponseData = { + content: string; + encoding: string; + url: string; + sha: string; + size: number; +}; +declare 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; +}; +declare type GitCreateCommitRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitCreateCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitCreateCommitResponseData = { + sha: string; + node_id: string; + url: string; + author: GitCreateCommitResponseDataAuthor; + committer: GitCreateCommitResponseDataCommitter; + message: string; + tree: GitCreateCommitResponseDataTree; + parents: Array; + verification: GitCreateCommitResponseDataVerification; +}; +declare type GitGetCommitEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * commit_sha parameter + */ + commit_sha: string; +}; +declare type GitGetCommitRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/commits/:commit_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetCommitResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetCommitResponseDataParentsItem = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataTree = { + url: string; + sha: string; +}; +declare type GitGetCommitResponseDataCommitter = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseDataAuthor = { + date: string; + name: string; + email: string; +}; +declare type GitGetCommitResponseData = { + sha: string; + url: string; + author: GitGetCommitResponseDataAuthor; + committer: GitGetCommitResponseDataCommitter; + message: string; + tree: GitGetCommitResponseDataTree; + parents: Array; + verification: GitGetCommitResponseDataVerification; +}; +declare 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; +}; +declare type GitListMatchingRefsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/matching-refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitListMatchingRefsResponseDataItemObject = { + type: string; + sha: string; + url: string; +}; +declare type GitListMatchingRefsResponseDataItem = { + ref: string; + node_id: string; + url: string; + object: GitListMatchingRefsResponseDataItemObject; +}; +declare type GitListMatchingRefsResponseData = Array; +declare type GitGetRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitGetRefRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/ref/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitGetRefResponseDataObject; +}; +declare 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; +}; +declare type GitCreateRefRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/refs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitCreateRefResponseDataObject; +}; +declare 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; +}; +declare type GitUpdateRefRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitUpdateRefResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitUpdateRefResponseData = { + ref: string; + node_id: string; + url: string; + object: GitUpdateRefResponseDataObject; +}; +declare type GitDeleteRefEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * ref parameter + */ + ref: string; +}; +declare type GitDeleteRefRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/git/refs/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type GitCreateTagRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitCreateTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitCreateTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitCreateTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitCreateTagResponseDataTagger; + object: GitCreateTagResponseDataObject; + verification: GitCreateTagResponseDataVerification; +}; +declare type GitGetTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag_sha parameter + */ + tag_sha: string; +}; +declare type GitGetTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/tags/:tag_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTagResponseDataVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type GitGetTagResponseDataObject = { + type: string; + sha: string; + url: string; +}; +declare type GitGetTagResponseDataTagger = { + name: string; + email: string; + date: string; +}; +declare type GitGetTagResponseData = { + node_id: string; + tag: string; + sha: string; + url: string; + message: string; + tagger: GitGetTagResponseDataTagger; + object: GitGetTagResponseDataObject; + verification: GitGetTagResponseDataVerification; +}; +declare 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; +}; +declare type GitCreateTreeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/git/trees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitCreateTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size: number; + sha: string; + url: string; +}; +declare type GitCreateTreeResponseData = { + sha: string; + url: string; + tree: Array; +}; +declare type GitGetTreeEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tree_sha parameter + */ + tree_sha: string; + /** + * recursive parameter + */ + recursive?: "1"; +}; +declare type GitGetTreeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/git/trees/:tree_sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GitGetTreeResponseDataTreeItem = { + path: string; + mode: string; + type: string; + size?: number; + sha: string; + url: string; +}; +declare type GitGetTreeResponseData = { + sha: string; + url: string; + tree: Array; + truncated: boolean; +}; +declare 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; +}; +declare type ReposListHooksRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListHooksResponseDataItemLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposListHooksResponseDataItemConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposListHooksResponseDataItem = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposListHooksResponseDataItemConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposListHooksResponseDataItemLastResponse; +}; +declare type ReposListHooksResponseData = Array; +declare 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; +}; +declare type ReposCreateHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposCreateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposCreateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposCreateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposCreateHookResponseDataLastResponse; +}; +declare type ReposGetHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposGetHookRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposGetHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposGetHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposGetHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposGetHookResponseDataLastResponse; +}; +declare 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; +}; +declare type ReposUpdateHookRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateHookResponseDataLastResponse = { + code: null; + status: string; + message: null; +}; +declare type ReposUpdateHookResponseDataConfig = { + content_type: string; + insecure_ssl: string; + url: string; +}; +declare type ReposUpdateHookResponseData = { + type: string; + id: number; + name: string; + active: boolean; + events: Array; + config: ReposUpdateHookResponseDataConfig; + updated_at: string; + created_at: string; + url: string; + test_url: string; + ping_url: string; + last_response: ReposUpdateHookResponseDataLastResponse; +}; +declare type ReposDeleteHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposDeleteHookRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/hooks/:hook_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposPingHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposPingHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/pings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTestPushHookEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * hook_id parameter + */ + hook_id: number; +}; +declare type ReposTestPushHookRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/hooks/:hook_id/tests"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type MigrationsStartImportRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + percent: number; + commit_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type MigrationsGetImportProgressEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetImportProgressRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetImportProgressResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare 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; +}; +declare type MigrationsUpdateImportRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUpdateImportResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + url: string; + html_url: string; + authors_url: string; + repository_url: string; + tfvc_project?: string; + status_text?: string; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + authors_count?: number; + percent?: number; + commit_count?: number; +}; +declare type MigrationsCancelImportEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsCancelImportRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/import"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type MigrationsGetCommitAuthorsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/authors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetCommitAuthorsResponseDataItem = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetCommitAuthorsResponseData = Array; +declare 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; +}; +declare type MigrationsMapCommitAuthorRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/authors/:author_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsMapCommitAuthorResponseData = { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + url: string; + import_url: string; +}; +declare type MigrationsGetLargeFilesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type MigrationsGetLargeFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/import/large_files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetLargeFilesResponseDataItem = { + ref_name: string; + path: string; + oid: string; + size: number; +}; +declare type MigrationsGetLargeFilesResponseData = Array; +declare 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"; +}; +declare type MigrationsSetLfsPreferenceRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/import/lfs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsSetLfsPreferenceResponseData = { + vcs: string; + use_lfs: string; + vcs_url: string; + status: string; + status_text: string; + has_large_files: boolean; + large_files_size: number; + large_files_count: number; + authors_count: number; + url: string; + html_url: string; + authors_url: string; + repository_url: string; +}; +declare type AppsGetRepoInstallationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetRepoInstallationRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetRepoInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetRepoInstallationResponseDataAccount = { + login: string; + id: number; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetRepoInstallationResponseData = { + id: number; + account: AppsGetRepoInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetRepoInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type InteractionsGetRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsGetRestrictionsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsGetRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare 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"; +} & RequiredPreview<"sombra">; +declare type InteractionsAddOrUpdateRestrictionsForRepoRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type InteractionsAddOrUpdateRestrictionsForRepoResponseData = { + limit: string; + origin: string; + expires_at: string; +}; +declare type InteractionsRemoveRestrictionsForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"sombra">; +declare type InteractionsRemoveRestrictionsForRepoRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/interaction-limits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListInvitationsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsResponseDataItem = { + id: number; + repository: ReposListInvitationsResponseDataItemRepository; + invitee: ReposListInvitationsResponseDataItemInvitee; + inviter: ReposListInvitationsResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsResponseData = Array; +declare type ReposDeleteInvitationEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeleteInvitationRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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`, `maintain`, `triage`, and `admin`. + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; +}; +declare type ReposUpdateInvitationRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateInvitationResponseDataInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateInvitationResponseDataRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposUpdateInvitationResponseDataRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposUpdateInvitationResponseData = { + id: number; + repository: ReposUpdateInvitationResponseDataRepository; + invitee: ReposUpdateInvitationResponseDataInvitee; + inviter: ReposUpdateInvitationResponseDataInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare 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; +}; +declare type IssuesListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForRepoResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForRepoResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForRepoResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForRepoResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForRepoResponseDataItemUser; + labels: Array; + assignee: IssuesListForRepoResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForRepoResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForRepoResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListForRepoResponseData = Array; +declare 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[]; +}; +declare type IssuesCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesCreateResponseDataUser; + labels: Array; + assignee: IssuesCreateResponseDataAssignee; + assignees: Array; + milestone: IssuesCreateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesCreateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesCreateResponseDataClosedBy; +}; +declare 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; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type IssuesListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsForRepoResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsForRepoResponseData = Array; +declare type IssuesGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesGetCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesUpdateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesUpdateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare type IssuesDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type IssuesDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueCommentResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListEventsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForRepoResponseDataItemIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListEventsForRepoResponseDataItemIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItemIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListEventsForRepoResponseDataItemIssueUser; + labels: Array; + assignee: IssuesListEventsForRepoResponseDataItemIssueAssignee; + assignees: Array; + milestone: IssuesListEventsForRepoResponseDataItemIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListEventsForRepoResponseDataItemIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesListEventsForRepoResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForRepoResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesListEventsForRepoResponseDataItemIssue; +}; +declare type IssuesListEventsForRepoResponseData = Array; +declare type IssuesGetEventEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * event_id parameter + */ + event_id: number; +}; +declare type IssuesGetEventRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/events/:event_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetEventResponseDataIssuePullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetEventResponseDataIssueMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetEventResponseDataIssueMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetEventResponseDataIssueAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssueLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetEventResponseDataIssueUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseDataIssue = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetEventResponseDataIssueUser; + labels: Array; + assignee: IssuesGetEventResponseDataIssueAssignee; + assignees: Array; + milestone: IssuesGetEventResponseDataIssueMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetEventResponseDataIssuePullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare type IssuesGetEventResponseDataActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetEventResponseData = { + id: number; + node_id: string; + url: string; + actor: IssuesGetEventResponseDataActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; + issue: IssuesGetEventResponseDataIssue; +}; +declare type IssuesGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesGetResponseDataUser; + labels: Array; + assignee: IssuesGetResponseDataAssignee; + assignees: Array; + milestone: IssuesGetResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesGetResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesGetResponseDataClosedBy; +}; +declare 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[]; +}; +declare type IssuesUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/issues/:issue_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateResponseDataClosedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesUpdateResponseDataUser; + labels: Array; + assignee: IssuesUpdateResponseDataAssignee; + assignees: Array; + milestone: IssuesUpdateResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesUpdateResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + closed_by: IssuesUpdateResponseDataClosedBy; +}; +declare 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[]; +}; +declare type IssuesAddAssigneesRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesAddAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesAddAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesAddAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesAddAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesAddAssigneesResponseDataUser; + labels: Array; + assignee: IssuesAddAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesAddAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesAddAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare 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[]; +}; +declare type IssuesRemoveAssigneesRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/assignees"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveAssigneesResponseDataPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesRemoveAssigneesResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesRemoveAssigneesResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesRemoveAssigneesResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveAssigneesResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesRemoveAssigneesResponseData = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesRemoveAssigneesResponseDataUser; + labels: Array; + assignee: IssuesRemoveAssigneesResponseDataAssignee; + assignees: Array; + milestone: IssuesRemoveAssigneesResponseDataMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesRemoveAssigneesResponseDataPullRequest; + closed_at: null; + created_at: string; + updated_at: string; +}; +declare 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; +}; +declare type IssuesListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListCommentsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesListCommentsResponseDataItemUser; + created_at: string; + updated_at: string; +}; +declare type IssuesListCommentsResponseData = Array; +declare type IssuesCreateCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * The contents of the comment. + */ + body: string; +}; +declare type IssuesCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateCommentResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + body: string; + user: IssuesCreateCommentResponseDataUser; + created_at: string; + updated_at: string; +}; +declare 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; +}; +declare type IssuesListEventsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsResponseData = Array; +declare 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; +}; +declare type IssuesListLabelsOnIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsOnIssueResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsOnIssueResponseData = Array; +declare 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[]; +}; +declare type IssuesAddLabelsRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesAddLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesAddLabelsResponseData = Array; +declare type IssuesReplaceAllLabelsEndpoint = { + /** + * 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[]; +}; +declare type IssuesReplaceAllLabelsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesReplaceAllLabelsResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesReplaceAllLabelsResponseData = Array; +declare type IssuesRemoveAllLabelsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesRemoveAllLabelsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * name parameter + */ + name: string; +}; +declare type IssuesRemoveLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesRemoveLabelResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesRemoveLabelResponseData = Array; +declare 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"; +}; +declare type IssuesLockRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUnlockEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; +}; +declare type IssuesUnlockRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForIssueRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForIssueResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForIssueResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForIssueResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForIssueResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForIssueRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForIssueResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForIssueResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForIssueResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForIssueEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * issue_number parameter + */ + issue_number: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForIssueRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"mockingbird">; +declare type IssuesListEventsForTimelineRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/issues/:issue_number/timeline"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListEventsForTimelineResponseDataItemActor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListEventsForTimelineResponseDataItem = { + id: number; + node_id: string; + url: string; + actor: IssuesListEventsForTimelineResponseDataItemActor; + event: string; + commit_id: string; + commit_url: string; + created_at: string; +}; +declare type IssuesListEventsForTimelineResponseData = Array; +declare 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; +}; +declare type ReposListDeployKeysRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListDeployKeysResponseDataItem = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposListDeployKeysResponseData = Array; +declare 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; +}; +declare type ReposAddDeployKeyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposAddDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposGetDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposGetDeployKeyRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetDeployKeyResponseData = { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; +}; +declare type ReposRemoveDeployKeyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * key_id parameter + */ + key_id: number; +}; +declare type ReposRemoveDeployKeyRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListLabelsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForRepoResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForRepoResponseData = Array; +declare 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; +}; +declare type IssuesCreateLabelRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesGetLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesGetLabelRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare 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; +}; +declare type IssuesUpdateLabelRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateLabelResponseData = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesDeleteLabelEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * name parameter + */ + name: string; +}; +declare type IssuesDeleteLabelRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/labels/:name"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposListLanguagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/languages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListLanguagesResponseData = { + C: number; + Python: number; +}; +declare type LicensesGetForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type LicensesGetForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/license"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type LicensesGetForRepoResponseDataLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type LicensesGetForRepoResponseDataLinks = { + self: string; + git: string; + html: string; +}; +declare type LicensesGetForRepoResponseData = { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string; + type: string; + content: string; + encoding: string; + _links: LicensesGetForRepoResponseDataLinks; + license: LicensesGetForRepoResponseDataLicense; +}; +declare 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; +}; +declare type ReposMergeRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/merges"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposMergeResponseDataParentsItem = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposMergeResponseDataCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type ReposMergeResponseDataCommitTree = { + sha: string; + url: string; +}; +declare type ReposMergeResponseDataCommitCommitter = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommitAuthor = { + name: string; + date: string; + email: string; +}; +declare type ReposMergeResponseDataCommit = { + author: ReposMergeResponseDataCommitAuthor; + committer: ReposMergeResponseDataCommitCommitter; + message: string; + tree: ReposMergeResponseDataCommitTree; + url: string; + comment_count: number; + verification: ReposMergeResponseDataCommitVerification; +}; +declare type ReposMergeResponseData = { + sha: string; + node_id: string; + commit: ReposMergeResponseDataCommit; + url: string; + html_url: string; + comments_url: string; + author: ReposMergeResponseDataAuthor; + committer: ReposMergeResponseDataCommitter; + parents: Array; +}; +declare 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; +}; +declare type IssuesListMilestonesForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListMilestonesForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListMilestonesForRepoResponseDataItem = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListMilestonesForRepoResponseDataItemCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListMilestonesForRepoResponseData = Array; +declare 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; +}; +declare type IssuesCreateMilestoneRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/milestones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesCreateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesCreateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesCreateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesGetMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesGetMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesGetMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesGetMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesGetMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare 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; +}; +declare type IssuesUpdateMilestoneRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesUpdateMilestoneResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesUpdateMilestoneResponseData = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesUpdateMilestoneResponseDataCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesDeleteMilestoneEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * milestone_number parameter + */ + milestone_number: number; +}; +declare type IssuesDeleteMilestoneRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/milestones/:milestone_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListLabelsForMilestoneRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/milestones/:milestone_number/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListLabelsForMilestoneResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListLabelsForMilestoneResponseData = Array; +declare type ActivityListRepoNotificationsForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject = { + title: string; + url: string; + latest_comment_url: string; + type: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseDataItem = { + id: string; + repository: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemRepository; + subject: ActivityListRepoNotificationsForAuthenticatedUserResponseDataItemSubject; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string; + url: string; +}; +declare type ActivityListRepoNotificationsForAuthenticatedUserResponseData = Array; +declare type ActivityMarkRepoNotificationsAsReadEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; +}; +declare type ActivityMarkRepoNotificationsAsReadRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/notifications"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPagesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposGetPagesResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposGetPagesResponseDataSource; +}; +declare type ReposEnablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * source parameter + */ + source?: ReposEnablePagesSiteParamsSource; +} & RequiredPreview<"switcheroo">; +declare type ReposEnablePagesSiteRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnablePagesSiteResponseDataSource = { + branch: string; + directory: string; +}; +declare type ReposEnablePagesSiteResponseData = { + url: string; + status: string; + cname: string; + custom_404: boolean; + html_url: string; + source: ReposEnablePagesSiteResponseDataSource; +}; +declare type ReposDisablePagesSiteEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"switcheroo">; +declare type ReposDisablePagesSiteRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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"'; +}; +declare type ReposUpdateInformationAboutPagesSiteRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pages"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposRequestPageBuildRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposRequestPageBuildResponseData = { + url: string; + status: string; +}; +declare 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; +}; +declare type ReposListPagesBuildsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPagesBuildsResponseDataItemPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPagesBuildsResponseDataItemError = { + message: null; +}; +declare type ReposListPagesBuildsResponseDataItem = { + url: string; + status: string; + error: ReposListPagesBuildsResponseDataItemError; + pusher: ReposListPagesBuildsResponseDataItemPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposListPagesBuildsResponseData = Array; +declare type ReposGetLatestPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetLatestPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetLatestPagesBuildResponseDataError; + pusher: ReposGetLatestPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare type ReposGetPagesBuildEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * build_id parameter + */ + build_id: number; +}; +declare type ReposGetPagesBuildRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pages/builds/:build_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPagesBuildResponseDataPusher = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetPagesBuildResponseDataError = { + message: null; +}; +declare type ReposGetPagesBuildResponseData = { + url: string; + status: string; + error: ReposGetPagesBuildResponseDataError; + pusher: ReposGetPagesBuildResponseDataPusher; + commit: string; + duration: number; + created_at: string; + updated_at: string; +}; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForRepoResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForRepoResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForRepoResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForRepoResponseData = Array; +declare type ProjectsCreateForRepoEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForRepoRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForRepoResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForRepoResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForRepoResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare 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; +}; +declare type PullsListRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListResponseDataItemLinksStatuses = { + href: string; +}; +declare type PullsListResponseDataItemLinksCommits = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComment = { + href: string; +}; +declare type PullsListResponseDataItemLinksReviewComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksComments = { + href: string; +}; +declare type PullsListResponseDataItemLinksIssue = { + href: string; +}; +declare type PullsListResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListResponseDataItemLinks = { + self: PullsListResponseDataItemLinksSelf; + html: PullsListResponseDataItemLinksHtml; + issue: PullsListResponseDataItemLinksIssue; + comments: PullsListResponseDataItemLinksComments; + review_comments: PullsListResponseDataItemLinksReviewComments; + review_comment: PullsListResponseDataItemLinksReviewComment; + commits: PullsListResponseDataItemLinksCommits; + statuses: PullsListResponseDataItemLinksStatuses; +}; +declare type PullsListResponseDataItemBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemBase = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemBaseUser; + repo: PullsListResponseDataItemBaseRepo; +}; +declare type PullsListResponseDataItemHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsListResponseDataItemHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsListResponseDataItemHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsListResponseDataItemHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsListResponseDataItemHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemHead = { + label: string; + ref: string; + sha: string; + user: PullsListResponseDataItemHeadUser; + repo: PullsListResponseDataItemHeadRepo; +}; +declare type PullsListResponseDataItemRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListResponseDataItemRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsListResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsListResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsListResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListResponseDataItem = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsListResponseDataItemUser; + body: string; + labels: Array; + milestone: PullsListResponseDataItemMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsListResponseDataItemAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsListResponseDataItemHead; + base: PullsListResponseDataItemBase; + _links: PullsListResponseDataItemLinks; + author_association: string; + draft: boolean; +}; +declare type PullsListResponseData = Array; +declare 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; +}; +declare type PullsCreateRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateResponseDataLinks = { + self: PullsCreateResponseDataLinksSelf; + html: PullsCreateResponseDataLinksHtml; + issue: PullsCreateResponseDataLinksIssue; + comments: PullsCreateResponseDataLinksComments; + review_comments: PullsCreateResponseDataLinksReviewComments; + review_comment: PullsCreateResponseDataLinksReviewComment; + commits: PullsCreateResponseDataLinksCommits; + statuses: PullsCreateResponseDataLinksStatuses; +}; +declare type PullsCreateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataBaseUser; + repo: PullsCreateResponseDataBaseRepo; +}; +declare type PullsCreateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateResponseDataHeadUser; + repo: PullsCreateResponseDataHeadRepo; +}; +declare type PullsCreateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateResponseDataHead; + base: PullsCreateResponseDataBase; + _links: PullsCreateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsCreateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare 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; +}; +declare type PullsListCommentsForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsForRepoResponseDataItemLinks = { + self: PullsListCommentsForRepoResponseDataItemLinksSelf; + html: PullsListCommentsForRepoResponseDataItemLinksHtml; + pull_request: PullsListCommentsForRepoResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsForRepoResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsForRepoResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsForRepoResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsForRepoResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsForRepoResponseData = Array; +declare type PullsGetCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsGetCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetCommentResponseDataLinks = { + self: PullsGetCommentResponseDataLinksSelf; + html: PullsGetCommentResponseDataLinksHtml; + pull_request: PullsGetCommentResponseDataLinksPullRequest; +}; +declare type PullsGetCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare 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; +}; +declare type PullsUpdateCommentRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateCommentResponseDataLinks = { + self: PullsUpdateCommentResponseDataLinksSelf; + html: PullsUpdateCommentResponseDataLinksHtml; + pull_request: PullsUpdateCommentResponseDataLinksPullRequest; +}; +declare type PullsUpdateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsUpdateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsUpdateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsDeleteCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; +}; +declare type PullsDeleteCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForPullRequestReviewCommentRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForPullRequestReviewCommentResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForPullRequestReviewCommentResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForPullRequestReviewCommentResponseData = Array; +declare 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForPullRequestReviewCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForPullRequestReviewCommentResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForPullRequestReviewCommentResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsDeleteForPullRequestCommentEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * comment_id parameter + */ + comment_id: number; + /** + * reaction_id parameter + */ + reaction_id: number; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsDeleteForPullRequestCommentRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsGetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataLinksStatuses = { + href: string; +}; +declare type PullsGetResponseDataLinksCommits = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsGetResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsGetResponseDataLinksComments = { + href: string; +}; +declare type PullsGetResponseDataLinksIssue = { + href: string; +}; +declare type PullsGetResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetResponseDataLinksSelf = { + href: string; +}; +declare type PullsGetResponseDataLinks = { + self: PullsGetResponseDataLinksSelf; + html: PullsGetResponseDataLinksHtml; + issue: PullsGetResponseDataLinksIssue; + comments: PullsGetResponseDataLinksComments; + review_comments: PullsGetResponseDataLinksReviewComments; + review_comment: PullsGetResponseDataLinksReviewComment; + commits: PullsGetResponseDataLinksCommits; + statuses: PullsGetResponseDataLinksStatuses; +}; +declare type PullsGetResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataBaseUser; + repo: PullsGetResponseDataBaseRepo; +}; +declare type PullsGetResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsGetResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsGetResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsGetResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsGetResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsGetResponseDataHeadUser; + repo: PullsGetResponseDataHeadRepo; +}; +declare type PullsGetResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsGetResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsGetResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsGetResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsGetResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsGetResponseDataUser; + body: string; + labels: Array; + milestone: PullsGetResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsGetResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsGetResponseDataHead; + base: PullsGetResponseDataBase; + _links: PullsGetResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsGetResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare 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; +}; +declare type PullsUpdateRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/pulls/:pull_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateResponseDataMergedBy = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataLinksStatuses = { + href: string; +}; +declare type PullsUpdateResponseDataLinksCommits = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsUpdateResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksComments = { + href: string; +}; +declare type PullsUpdateResponseDataLinksIssue = { + href: string; +}; +declare type PullsUpdateResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateResponseDataLinksSelf = { + href: string; +}; +declare type PullsUpdateResponseDataLinks = { + self: PullsUpdateResponseDataLinksSelf; + html: PullsUpdateResponseDataLinksHtml; + issue: PullsUpdateResponseDataLinksIssue; + comments: PullsUpdateResponseDataLinksComments; + review_comments: PullsUpdateResponseDataLinksReviewComments; + review_comment: PullsUpdateResponseDataLinksReviewComment; + commits: PullsUpdateResponseDataLinksCommits; + statuses: PullsUpdateResponseDataLinksStatuses; +}; +declare type PullsUpdateResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataBaseUser; + repo: PullsUpdateResponseDataBaseRepo; +}; +declare type PullsUpdateResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsUpdateResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsUpdateResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsUpdateResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsUpdateResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsUpdateResponseDataHeadUser; + repo: PullsUpdateResponseDataHeadRepo; +}; +declare type PullsUpdateResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsUpdateResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsUpdateResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsUpdateResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsUpdateResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsUpdateResponseDataUser; + body: string; + labels: Array; + milestone: PullsUpdateResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsUpdateResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsUpdateResponseDataHead; + base: PullsUpdateResponseDataBase; + _links: PullsUpdateResponseDataLinks; + author_association: string; + draft: boolean; + merged: boolean; + mergeable: boolean; + rebaseable: boolean; + mergeable_state: string; + merged_by: PullsUpdateResponseDataMergedBy; + comments: number; + review_comments: number; + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; +}; +declare 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; +}; +declare type PullsListCommentsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommentsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsListCommentsResponseDataItemLinks = { + self: PullsListCommentsResponseDataItemLinksSelf; + html: PullsListCommentsResponseDataItemLinksHtml; + pull_request: PullsListCommentsResponseDataItemLinksPullRequest; +}; +declare type PullsListCommentsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommentsResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsListCommentsResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsListCommentsResponseDataItemLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare type PullsListCommentsResponseData = Array; +declare 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"; +}; +declare type PullsCreateCommentRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateCommentResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateCommentResponseDataLinks = { + self: PullsCreateCommentResponseDataLinksSelf; + html: PullsCreateCommentResponseDataLinksHtml; + pull_request: PullsCreateCommentResponseDataLinksPullRequest; +}; +declare type PullsCreateCommentResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateCommentResponseData = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsCreateCommentResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateCommentResponseDataLinks; + start_line: number; + original_start_line: number; + start_side: string; + line: number; + original_line: number; + side: string; +}; +declare 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; +}; +declare type PullsCreateReviewCommentReplyRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewCommentReplyResponseDataLinks = { + self: PullsCreateReviewCommentReplyResponseDataLinksSelf; + html: PullsCreateReviewCommentReplyResponseDataLinksHtml; + pull_request: PullsCreateReviewCommentReplyResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewCommentReplyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewCommentReplyResponseData = { + url: string; + pull_request_review_id: number; + id: number; + node_id: string; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + user: PullsCreateReviewCommentReplyResponseDataUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsCreateReviewCommentReplyResponseDataLinks; +}; +declare 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; +}; +declare type PullsListCommitsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListCommitsResponseDataItemParentsItem = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListCommitsResponseDataItemCommitVerification = { + verified: boolean; + reason: string; + signature: null; + payload: null; +}; +declare type PullsListCommitsResponseDataItemCommitTree = { + url: string; + sha: string; +}; +declare type PullsListCommitsResponseDataItemCommitCommitter = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommitAuthor = { + name: string; + email: string; + date: string; +}; +declare type PullsListCommitsResponseDataItemCommit = { + url: string; + author: PullsListCommitsResponseDataItemCommitAuthor; + committer: PullsListCommitsResponseDataItemCommitCommitter; + message: string; + tree: PullsListCommitsResponseDataItemCommitTree; + comment_count: number; + verification: PullsListCommitsResponseDataItemCommitVerification; +}; +declare type PullsListCommitsResponseDataItem = { + url: string; + sha: string; + node_id: string; + html_url: string; + comments_url: string; + commit: PullsListCommitsResponseDataItemCommit; + author: PullsListCommitsResponseDataItemAuthor; + committer: PullsListCommitsResponseDataItemCommitter; + parents: Array; +}; +declare type PullsListCommitsResponseData = Array; +declare 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; +}; +declare type PullsListFilesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/files"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListFilesResponseDataItem = { + sha: string; + filename: string; + status: string; + additions: number; + deletions: number; + changes: number; + blob_url: string; + raw_url: string; + contents_url: string; + patch: string; +}; +declare type PullsListFilesResponseData = Array; +declare type PullsCheckIfMergedEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; +}; +declare type PullsCheckIfMergedRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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"; +}; +declare type PullsMergeRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/merge"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsMergeResponseData = { + sha: string; + merged: boolean; + message: string; +}; +declare 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; +}; +declare type PullsListReviewRequestsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewRequestsResponseDataTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsListReviewRequestsResponseDataUsersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewRequestsResponseData = { + users: Array; + teams: Array; +}; +declare 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[]; +}; +declare type PullsCreateReviewRequestRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewRequestResponseDataLinksStatuses = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksCommits = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComment = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksReviewComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksComments = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksIssue = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinksSelf = { + href: string; +}; +declare type PullsCreateReviewRequestResponseDataLinks = { + self: PullsCreateReviewRequestResponseDataLinksSelf; + html: PullsCreateReviewRequestResponseDataLinksHtml; + issue: PullsCreateReviewRequestResponseDataLinksIssue; + comments: PullsCreateReviewRequestResponseDataLinksComments; + review_comments: PullsCreateReviewRequestResponseDataLinksReviewComments; + review_comment: PullsCreateReviewRequestResponseDataLinksReviewComment; + commits: PullsCreateReviewRequestResponseDataLinksCommits; + statuses: PullsCreateReviewRequestResponseDataLinksStatuses; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBaseRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataBaseRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataBaseRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataBaseUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataBase = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataBaseUser; + repo: PullsCreateReviewRequestResponseDataBaseRepo; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepoOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHeadRepo = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: PullsCreateReviewRequestResponseDataHeadRepoOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: PullsCreateReviewRequestResponseDataHeadRepoPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type PullsCreateReviewRequestResponseDataHeadUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataHead = { + label: string; + ref: string; + sha: string; + user: PullsCreateReviewRequestResponseDataHeadUser; + repo: PullsCreateReviewRequestResponseDataHeadRepo; +}; +declare type PullsCreateReviewRequestResponseDataRequestedTeamsItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type PullsCreateReviewRequestResponseDataRequestedReviewersItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseDataMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: PullsCreateReviewRequestResponseDataMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type PullsCreateReviewRequestResponseDataLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type PullsCreateReviewRequestResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewRequestResponseData = { + url: string; + id: number; + node_id: string; + html_url: string; + diff_url: string; + patch_url: string; + issue_url: string; + commits_url: string; + review_comments_url: string; + review_comment_url: string; + comments_url: string; + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: PullsCreateReviewRequestResponseDataUser; + body: string; + labels: Array; + milestone: PullsCreateReviewRequestResponseDataMilestone; + active_lock_reason: string; + created_at: string; + updated_at: string; + closed_at: string; + merged_at: string; + merge_commit_sha: string; + assignee: PullsCreateReviewRequestResponseDataAssignee; + assignees: Array; + requested_reviewers: Array; + requested_teams: Array; + head: PullsCreateReviewRequestResponseDataHead; + base: PullsCreateReviewRequestResponseDataBase; + _links: PullsCreateReviewRequestResponseDataLinks; + author_association: string; + draft: boolean; +}; +declare 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[]; +}; +declare type PullsDeleteReviewRequestRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type PullsListReviewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsListReviewsResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsListReviewsResponseDataItemLinks = { + html: PullsListReviewsResponseDataItemLinksHtml; + pull_request: PullsListReviewsResponseDataItemLinksPullRequest; +}; +declare type PullsListReviewsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsListReviewsResponseDataItem = { + id: number; + node_id: string; + user: PullsListReviewsResponseDataItemUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsListReviewsResponseDataItemLinks; +}; +declare type PullsListReviewsResponseData = Array; +declare 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[]; +}; +declare type PullsCreateReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsCreateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsCreateReviewResponseDataLinks = { + html: PullsCreateReviewResponseDataLinksHtml; + pull_request: PullsCreateReviewResponseDataLinksPullRequest; +}; +declare type PullsCreateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsCreateReviewResponseData = { + id: number; + node_id: string; + user: PullsCreateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsCreateReviewResponseDataLinks; +}; +declare type PullsGetReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsGetReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsGetReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsGetReviewResponseDataLinks = { + html: PullsGetReviewResponseDataLinksHtml; + pull_request: PullsGetReviewResponseDataLinksPullRequest; +}; +declare type PullsGetReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetReviewResponseData = { + id: number; + node_id: string; + user: PullsGetReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsGetReviewResponseDataLinks; +}; +declare type PullsDeletePendingReviewEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * pull_number parameter + */ + pull_number: number; + /** + * review_id parameter + */ + review_id: number; +}; +declare type PullsDeletePendingReviewRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDeletePendingReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDeletePendingReviewResponseDataLinks = { + html: PullsDeletePendingReviewResponseDataLinksHtml; + pull_request: PullsDeletePendingReviewResponseDataLinksPullRequest; +}; +declare type PullsDeletePendingReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDeletePendingReviewResponseData = { + id: number; + node_id: string; + user: PullsDeletePendingReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDeletePendingReviewResponseDataLinks; +}; +declare 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; +}; +declare type PullsUpdateReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsUpdateReviewResponseDataLinks = { + html: PullsUpdateReviewResponseDataLinksHtml; + pull_request: PullsUpdateReviewResponseDataLinksPullRequest; +}; +declare type PullsUpdateReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsUpdateReviewResponseData = { + id: number; + node_id: string; + user: PullsUpdateReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsUpdateReviewResponseDataLinks; +}; +declare 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; +}; +declare type PullsGetCommentsForReviewRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksPullRequest = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksHtml = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinksSelf = { + href: string; +}; +declare type PullsGetCommentsForReviewResponseDataItemLinks = { + self: PullsGetCommentsForReviewResponseDataItemLinksSelf; + html: PullsGetCommentsForReviewResponseDataItemLinksHtml; + pull_request: PullsGetCommentsForReviewResponseDataItemLinksPullRequest; +}; +declare type PullsGetCommentsForReviewResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsGetCommentsForReviewResponseDataItem = { + url: string; + id: number; + node_id: string; + pull_request_review_id: number; + diff_hunk: string; + path: string; + position: number; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id: number; + user: PullsGetCommentsForReviewResponseDataItemUser; + body: string; + created_at: string; + updated_at: string; + html_url: string; + pull_request_url: string; + author_association: string; + _links: PullsGetCommentsForReviewResponseDataItemLinks; +}; +declare type PullsGetCommentsForReviewResponseData = Array; +declare 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; +}; +declare type PullsDismissReviewRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsDismissReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsDismissReviewResponseDataLinks = { + html: PullsDismissReviewResponseDataLinksHtml; + pull_request: PullsDismissReviewResponseDataLinksPullRequest; +}; +declare type PullsDismissReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsDismissReviewResponseData = { + id: number; + node_id: string; + user: PullsDismissReviewResponseDataUser; + body: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsDismissReviewResponseDataLinks; +}; +declare 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"; +}; +declare type PullsSubmitReviewRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsSubmitReviewResponseDataLinksPullRequest = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinksHtml = { + href: string; +}; +declare type PullsSubmitReviewResponseDataLinks = { + html: PullsSubmitReviewResponseDataLinksHtml; + pull_request: PullsSubmitReviewResponseDataLinksPullRequest; +}; +declare type PullsSubmitReviewResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type PullsSubmitReviewResponseData = { + id: number; + node_id: string; + user: PullsSubmitReviewResponseDataUser; + body: string; + submitted_at: string; + commit_id: string; + state: string; + html_url: string; + pull_request_url: string; + _links: PullsSubmitReviewResponseDataLinks; +}; +declare 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; +} & RequiredPreview<"lydian">; +declare type PullsUpdateBranchRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/pulls/:pull_number/update-branch"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type PullsUpdateBranchResponseData = { + message: string; + url: string; +}; +declare 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; +}; +declare type ReposGetReadmeRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/readme"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReadmeResponseDataLinks = { + git: string; + self: string; + html: string; +}; +declare type ReposGetReadmeResponseData = { + type: string; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + url: string; + git_url: string; + html_url: string; + download_url: string; + _links: ReposGetReadmeResponseDataLinks; +}; +declare 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; +}; +declare type ReposListReleasesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListReleasesResponseDataItemAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItemAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListReleasesResponseDataItemAssetsItemUploader; +}; +declare type ReposListReleasesResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListReleasesResponseDataItem = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposListReleasesResponseDataItemAuthor; + assets: Array; +}; +declare type ReposListReleasesResponseData = Array; +declare 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; +}; +declare type ReposCreateReleaseRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposCreateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposGetReleaseAssetRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseAssetResponseDataUploader; +}; +declare 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; +}; +declare type ReposUpdateReleaseAssetRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseAssetResponseDataUploader; +}; +declare type ReposDeleteReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * asset_id parameter + */ + asset_id: number; +}; +declare type ReposDeleteReleaseAssetRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/assets/:asset_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetLatestReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/latest"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetLatestReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetLatestReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetLatestReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetLatestReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseByTagEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * tag parameter + */ + tag: string; +}; +declare type ReposGetReleaseByTagRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/tags/:tag"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseByTagResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseByTagResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseByTagResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseByTagResponseDataAuthor; + assets: Array; +}; +declare type ReposGetReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposGetReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposGetReleaseResponseDataAssetsItemUploader; +}; +declare type ReposGetReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposGetReleaseResponseDataAuthor; + assets: Array; +}; +declare 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; +}; +declare type ReposUpdateReleaseRequestOptions = { + method: "PATCH"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUpdateReleaseResponseDataAssetsItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseDataAssetsItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUpdateReleaseResponseDataAssetsItemUploader; +}; +declare type ReposUpdateReleaseResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUpdateReleaseResponseData = { + url: string; + html_url: string; + assets_url: string; + upload_url: string; + tarball_url: string; + zipball_url: string; + id: number; + node_id: string; + tag_name: string; + target_commitish: string; + name: string; + body: string; + draft: boolean; + prerelease: boolean; + created_at: string; + published_at: string; + author: ReposUpdateReleaseResponseDataAuthor; + assets: Array; +}; +declare type ReposDeleteReleaseEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; +}; +declare type ReposDeleteReleaseRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/releases/:release_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListAssetsForReleaseRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/releases/:release_id/assets"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListAssetsForReleaseResponseDataItemUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListAssetsForReleaseResponseDataItem = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposListAssetsForReleaseResponseDataItemUploader; +}; +declare type ReposListAssetsForReleaseResponseData = Array; +declare type ReposUploadReleaseAssetEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * release_id parameter + */ + release_id: number; + /** + * name parameter + */ + name?: string; + /** + * label parameter + */ + label?: string; + /** + * The raw file data + */ + data: string; + /** + * The URL origin (protocol + host name + port) is included in `upload_url` returned in the response of the "Create a release" endpoint + */ + origin?: string; + /** + * For https://api.github.com, set `baseUrl` to `https://uploads.github.com`. For GitHub Enterprise Server, set it to `/api/uploads` + */ + baseUrl: string; +} & { + headers: { + "content-type": string; + }; +}; +declare type ReposUploadReleaseAssetRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/releases/:release_id/assets{?name,label}"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposUploadReleaseAssetResponseDataUploader = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposUploadReleaseAssetResponseData = { + url: string; + browser_download_url: string; + id: number; + node_id: string; + name: string; + label: string; + state: string; + content_type: string; + size: number; + download_count: number; + created_at: string; + updated_at: string; + uploader: ReposUploadReleaseAssetResponseDataUploader; +}; +declare 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; +}; +declare type ActivityListStargazersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stargazers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListStargazersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListStargazersForRepoResponseData = Array; +declare type ReposGetCodeFrequencyStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCodeFrequencyStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/code_frequency"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCodeFrequencyStatsResponseData = Array>; +declare type ReposGetCommitActivityStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetCommitActivityStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/commit_activity"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetCommitActivityStatsResponseDataItem = { + days: Array; + total: number; + week: number; +}; +declare type ReposGetCommitActivityStatsResponseData = Array; +declare type ReposGetContributorsStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetContributorsStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/contributors"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetContributorsStatsResponseDataItemWeeksItem = { + w: string; + a: number; + d: number; + c: number; +}; +declare type ReposGetContributorsStatsResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposGetContributorsStatsResponseDataItem = { + author: ReposGetContributorsStatsResponseDataItemAuthor; + total: number; + weeks: Array; +}; +declare type ReposGetContributorsStatsResponseData = Array; +declare type ReposGetParticipationStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetParticipationStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/participation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetParticipationStatsResponseData = { + all: Array; + owner: Array; +}; +declare type ReposGetPunchCardStatsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetPunchCardStatsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/stats/punch_card"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetPunchCardStatsResponseData = Array>; +declare 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; +}; +declare type ReposCreateStatusRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/statuses/:sha"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateStatusResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateStatusResponseData = { + url: string; + avatar_url: string; + id: number; + node_id: string; + state: string; + description: string; + target_url: string; + context: string; + created_at: string; + updated_at: string; + creator: ReposCreateStatusResponseDataCreator; +}; +declare 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; +}; +declare type ActivityListWatchersForRepoRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscribers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchersForRepoResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchersForRepoResponseData = Array; +declare type ActivityGetRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityGetRepoSubscriptionRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityGetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare 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; +}; +declare type ActivitySetRepoSubscriptionRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivitySetRepoSubscriptionResponseData = { + subscribed: boolean; + ignored: boolean; + reason: null; + created_at: string; + url: string; + repository_url: string; +}; +declare type ActivityDeleteRepoSubscriptionEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityDeleteRepoSubscriptionRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/subscription"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListTagsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/tags"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTagsResponseDataItemCommit = { + sha: string; + url: string; +}; +declare type ReposListTagsResponseDataItem = { + name: string; + commit: ReposListTagsResponseDataItemCommit; + zipball_url: string; + tarball_url: string; +}; +declare type ReposListTagsResponseData = Array; +declare 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; +}; +declare type ReposListTeamsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListTeamsResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; +}; +declare type ReposListTeamsResponseData = Array; +declare type ReposGetAllTopicsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"mercy">; +declare type ReposGetAllTopicsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetAllTopicsResponseData = { + names: Array; +}; +declare type ReposReplaceAllTopicsEndpoint = { + /** + * 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[]; +} & RequiredPreview<"mercy">; +declare type ReposReplaceAllTopicsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposReplaceAllTopicsResponseData = { + names: Array; +}; +declare type ReposGetClonesEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetClonesRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/clones"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetClonesResponseDataClonesItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetClonesResponseData = { + count: number; + uniques: number; + clones: Array; +}; +declare type ReposGetTopPathsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopPathsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/paths"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopPathsResponseDataItem = { + path: string; + title: string; + count: number; + uniques: number; +}; +declare type ReposGetTopPathsResponseData = Array; +declare type ReposGetTopReferrersEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ReposGetTopReferrersRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/popular/referrers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetTopReferrersResponseDataItem = { + referrer: string; + count: number; + uniques: number; +}; +declare type ReposGetTopReferrersResponseData = Array; +declare type ReposGetViewsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; +}; +declare type ReposGetViewsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/traffic/views"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetViewsResponseDataViewsItem = { + timestamp: string; + count: number; + uniques: number; +}; +declare type ReposGetViewsResponseData = { + count: number; + uniques: number; + views: Array; +}; +declare 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[]; +}; +declare type ReposTransferRequestOptions = { + method: "POST"; + url: "/repos/:owner/:repo/transfer"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposTransferResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposTransferResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposTransferResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposTransferResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposTransferResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCheckVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposCheckVulnerabilityAlertsRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposEnableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposEnableVulnerabilityAlertsRequestOptions = { + method: "PUT"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDisableVulnerabilityAlertsEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +} & RequiredPreview<"dorian">; +declare type ReposDisableVulnerabilityAlertsRequestOptions = { + method: "DELETE"; + url: "/repos/:owner/:repo/vulnerability-alerts"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposGetArchiveLinkEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; + /** + * archive_format parameter + */ + archive_format: string; + /** + * ref parameter + */ + ref: string; +}; +declare type ReposGetArchiveLinkRequestOptions = { + method: "GET"; + url: "/repos/:owner/:repo/:archive_format/:ref"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +} & RequiredPreview<"baptiste">; +declare type ReposCreateUsingTemplateRequestOptions = { + method: "POST"; + url: "/repos/:template_owner/:template_repo/generate"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataTemplateRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataTemplateRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataTemplateRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposCreateUsingTemplateResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateUsingTemplateResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateUsingTemplateResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateUsingTemplateResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateUsingTemplateResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: ReposCreateUsingTemplateResponseDataTemplateRepository; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListPublicEndpoint = { + /** + * The integer ID of the last repository that you've seen. + */ + since?: number; +}; +declare type ReposListPublicRequestOptions = { + method: "GET"; + url: "/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListPublicResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListPublicResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListPublicResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListPublicResponseData = Array; +declare 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; +}; +declare type ScimListProvisionedIdentitiesRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemEmailsItem = { + value: string; + primary: boolean; + type: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItemName = { + givenName: string; + familyName: string; +}; +declare type ScimListProvisionedIdentitiesResponseDataResourcesItem = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimListProvisionedIdentitiesResponseDataResourcesItemName; + emails: Array; + active: boolean; + meta: ScimListProvisionedIdentitiesResponseDataResourcesItemMeta; +}; +declare type ScimListProvisionedIdentitiesResponseData = { + schemas: Array; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: Array; +}; +declare type ScimProvisionAndInviteUsersEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type ScimProvisionAndInviteUsersRequestOptions = { + method: "POST"; + url: "/scim/v2/organizations/:org/Users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimProvisionAndInviteUsersResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimProvisionAndInviteUsersResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimProvisionAndInviteUsersResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimProvisionAndInviteUsersResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimProvisionAndInviteUsersResponseDataName; + emails: Array; + active: boolean; + meta: ScimProvisionAndInviteUsersResponseDataMeta; +}; +declare type ScimGetProvisioningDetailsForUserEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimGetProvisioningDetailsForUserRequestOptions = { + method: "GET"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimGetProvisioningDetailsForUserResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimGetProvisioningDetailsForUserResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimGetProvisioningDetailsForUserResponseDataName; + emails: Array; + active: boolean; + meta: ScimGetProvisioningDetailsForUserResponseDataMeta; +}; +declare type ScimReplaceProvisionedUserInformationEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimReplaceProvisionedUserInformationRequestOptions = { + method: "PUT"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataEmailsItem = { + value: string; + type: string; + primary: boolean; +}; +declare type ScimReplaceProvisionedUserInformationResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimReplaceProvisionedUserInformationResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimReplaceProvisionedUserInformationResponseDataName; + emails: Array; + active: boolean; + meta: ScimReplaceProvisionedUserInformationResponseDataMeta; +}; +declare type ScimUpdateUserAttributeEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimUpdateUserAttributeRequestOptions = { + method: "PATCH"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ScimUpdateUserAttributeResponseDataMeta = { + resourceType: string; + created: string; + lastModified: string; + location: string; +}; +declare type ScimUpdateUserAttributeResponseDataEmailsItem = { + value: string; + type: string; + primary?: boolean; +}; +declare type ScimUpdateUserAttributeResponseDataName = { + givenName: string; + familyName: string; +}; +declare type ScimUpdateUserAttributeResponseData = { + schemas: Array; + id: string; + externalId: string; + userName: string; + name: ScimUpdateUserAttributeResponseDataName; + emails: Array; + active: boolean; + meta: ScimUpdateUserAttributeResponseDataMeta; +}; +declare type ScimRemoveUserFromOrgEndpoint = { + /** + * org parameter + */ + org: string; + /** + * scim_user_id parameter + */ + scim_user_id: number; +}; +declare type ScimRemoveUserFromOrgRequestOptions = { + method: "DELETE"; + url: "/scim/v2/organizations/:org/Users/:scim_user_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type SearchCodeRequestOptions = { + method: "GET"; + url: "/search/code"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCodeResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCodeResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCodeResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; +}; +declare type SearchCodeResponseDataItemsItem = { + name: string; + path: string; + sha: string; + url: string; + git_url: string; + html_url: string; + repository: SearchCodeResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCodeResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +} & RequiredPreview<"cloak">; +declare type SearchCommitsRequestOptions = { + method: "GET"; + url: "/search/commits"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchCommitsResponseDataItemsItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchCommitsResponseDataItemsItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; + teams_url: string; + hooks_url: string; + issue_events_url: string; + events_url: string; + assignees_url: string; + branches_url: string; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + languages_url: string; + stargazers_url: string; + contributors_url: string; + subscribers_url: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + merges_url: string; + archive_url: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + deployments_url: string; +}; +declare type SearchCommitsResponseDataItemsItemParentsItem = { + url: string; + html_url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type SearchCommitsResponseDataItemsItemCommitTree = { + url: string; + sha: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitCommitter = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommitAuthor = { + date: string; + name: string; + email: string; +}; +declare type SearchCommitsResponseDataItemsItemCommit = { + url: string; + author: SearchCommitsResponseDataItemsItemCommitAuthor; + committer: SearchCommitsResponseDataItemsItemCommitCommitter; + message: string; + tree: SearchCommitsResponseDataItemsItemCommitTree; + comment_count: number; +}; +declare type SearchCommitsResponseDataItemsItem = { + url: string; + sha: string; + html_url: string; + comments_url: string; + commit: SearchCommitsResponseDataItemsItemCommit; + author: SearchCommitsResponseDataItemsItemAuthor; + committer: SearchCommitsResponseDataItemsItemCommitter; + parents: Array; + repository: SearchCommitsResponseDataItemsItemRepository; + score: number; +}; +declare type SearchCommitsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchIssuesAndPullRequestsRequestOptions = { + method: "GET"; + url: "/search/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest = { + html_url: null; + diff_url: null; + patch_url: null; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; +}; +declare type SearchIssuesAndPullRequestsResponseDataItemsItem = { + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + id: number; + node_id: string; + number: number; + title: string; + user: SearchIssuesAndPullRequestsResponseDataItemsItemUser; + labels: Array; + state: string; + assignee: null; + milestone: null; + comments: number; + created_at: string; + updated_at: string; + closed_at: null; + pull_request: SearchIssuesAndPullRequestsResponseDataItemsItemPullRequest; + body: string; + score: number; +}; +declare type SearchIssuesAndPullRequestsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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"; +}; +declare type SearchLabelsRequestOptions = { + method: "GET"; + url: "/search/labels"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchLabelsResponseDataItemsItem = { + id: number; + node_id: string; + url: string; + name: string; + color: string; + default: boolean; + description: string; + score: number; +}; +declare type SearchLabelsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchReposRequestOptions = { + method: "GET"; + url: "/search/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchReposResponseDataItemsItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + received_events_url: string; + type: string; +}; +declare type SearchReposResponseDataItemsItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: SearchReposResponseDataItemsItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + created_at: string; + updated_at: string; + pushed_at: string; + homepage: string; + size: number; + stargazers_count: number; + watchers_count: number; + language: string; + forks_count: number; + open_issues_count: number; + master_branch: string; + default_branch: string; + score: number; +}; +declare type SearchReposResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchTopicsRequestOptions = { + method: "GET"; + url: "/search/topics"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchTopicsResponseDataItemsItem = { + name: string; + display_name: string; + short_description: string; + description: string; + created_by: string; + released: string; + created_at: string; + updated_at: string; + featured: boolean; + curated: boolean; + score: number; +}; +declare type SearchTopicsResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare 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; +}; +declare type SearchUsersRequestOptions = { + method: "GET"; + url: "/search/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type SearchUsersResponseDataItemsItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + received_events_url: string; + type: string; + score: number; +}; +declare type SearchUsersResponseData = { + total_count: number; + incomplete_results: boolean; + items: Array; +}; +declare type TeamsGetLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsGetLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsGetLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsGetLegacyResponseDataOrganization; +}; +declare type TeamsUpdateLegacyEndpoint = { + /** + * 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. + */ + parent_team_id?: number; +}; +declare type TeamsUpdateLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsUpdateLegacyResponseData = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsUpdateLegacyResponseDataOrganization; +}; +declare type TeamsDeleteLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsDeleteLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsListDiscussionsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionsLegacyResponseDataItem = { + author: TeamsListDiscussionsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsListDiscussionsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionsLegacyResponseData = Array; +declare type TeamsCreateDiscussionLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsCreateDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionLegacyResponseData = { + author: TeamsCreateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsGetDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionLegacyResponseData = { + author: TeamsGetDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: null; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsUpdateDiscussionLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionLegacyResponseData = { + author: TeamsUpdateDiscussionLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; + created_at: string; + last_edited_at: string; + html_url: string; + node_id: string; + number: number; + pinned: boolean; + private: boolean; + team_url: string; + title: string; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; +}; +declare type TeamsDeleteDiscussionLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsListDiscussionCommentsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItemAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListDiscussionCommentsLegacyResponseDataItem = { + author: TeamsListDiscussionCommentsLegacyResponseDataItemAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsListDiscussionCommentsLegacyResponseDataItemReactions; +}; +declare type TeamsListDiscussionCommentsLegacyResponseData = Array; +declare type TeamsCreateDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * The discussion comment's body text. + */ + body: string; +}; +declare type TeamsCreateDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCreateDiscussionCommentLegacyResponseData = { + author: TeamsCreateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsCreateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsGetDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsGetDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsGetDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsGetDiscussionCommentLegacyResponseData = { + author: TeamsGetDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: null; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsGetDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsUpdateDiscussionCommentLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsUpdateDiscussionCommentLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataReactions = { + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseDataAuthor = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsUpdateDiscussionCommentLegacyResponseData = { + author: TeamsUpdateDiscussionCommentLegacyResponseDataAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + last_edited_at: string; + discussion_url: string; + html_url: string; + node_id: string; + number: number; + updated_at: string; + url: string; + reactions: TeamsUpdateDiscussionCommentLegacyResponseDataReactions; +}; +declare type TeamsDeleteDiscussionCommentLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * discussion_number parameter + */ + discussion_number: number; + /** + * comment_number parameter + */ + comment_number: number; +}; +declare type TeamsDeleteDiscussionCommentLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyEndpoint = { + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionCommentLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionCommentLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionCommentLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionCommentLegacyEndpoint = { + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionCommentLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionCommentLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionCommentLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyEndpoint = { + /** + * 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; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsListForTeamDiscussionLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseDataItem = { + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionLegacyResponseDataItemUser; + content: string; + created_at: string; +}; +declare type ReactionsListForTeamDiscussionLegacyResponseData = Array; +declare type ReactionsCreateForTeamDiscussionLegacyEndpoint = { + /** + * 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"; +} & RequiredPreview<"squirrel-girl">; +declare type ReactionsCreateForTeamDiscussionLegacyRequestOptions = { + method: "POST"; + url: "/teams/:team_id/discussions/:discussion_number/reactions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReactionsCreateForTeamDiscussionLegacyResponseData = { + id: number; + node_id: string; + user: ReactionsCreateForTeamDiscussionLegacyResponseDataUser; + content: string; + created_at: string; +}; +declare type TeamsListPendingInvitationsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListPendingInvitationsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListPendingInvitationsLegacyResponseDataItem = { + id: number; + login: string; + email: string; + role: string; + created_at: string; + inviter: TeamsListPendingInvitationsLegacyResponseDataItemInviter; + team_count: number; + invitation_team_url: string; +}; +declare type TeamsListPendingInvitationsLegacyResponseData = Array; +declare type TeamsListMembersLegacyEndpoint = { + /** + * 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; +}; +declare type TeamsListMembersLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListMembersLegacyResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListMembersLegacyResponseData = Array; +declare type TeamsGetMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMemberLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsAddMemberLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddMemberLegacyResponseDataErrorsItem = { + code: string; + field: string; + resource: string; +}; +declare type TeamsAddMemberLegacyResponseData = { + message: string; + errors: Array; +}; +declare type TeamsRemoveMemberLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMemberLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/members/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsGetMembershipLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsGetMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsAddOrUpdateMembershipLegacyEndpoint = { + /** + * 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"; +}; +declare type TeamsAddOrUpdateMembershipLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateMembershipLegacyResponseData = { + url: string; + role: string; + state: string; +}; +declare type TeamsRemoveMembershipLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * username parameter + */ + username: string; +}; +declare type TeamsRemoveMembershipLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/memberships/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"inertia">; +declare type TeamsListProjectsLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListProjectsLegacyResponseDataItemPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListProjectsLegacyResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsListProjectsLegacyResponseDataItemCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsListProjectsLegacyResponseDataItemPermissions; +}; +declare type TeamsListProjectsLegacyResponseData = Array; +declare type TeamsReviewProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +} & RequiredPreview<"inertia">; +declare type TeamsReviewProjectLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsReviewProjectLegacyResponseDataPermissions = { + read: boolean; + write: boolean; + admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsReviewProjectLegacyResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: TeamsReviewProjectLegacyResponseDataCreator; + created_at: string; + updated_at: string; + organization_permission: string; + private: boolean; + permissions: TeamsReviewProjectLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateProjectLegacyEndpoint = { + /** + * 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)." + */ + permission?: "read" | "write" | "admin"; +} & RequiredPreview<"inertia">; +declare type TeamsAddOrUpdateProjectLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsAddOrUpdateProjectLegacyResponseData = { + message: string; + documentation_url: string; +}; +declare type TeamsRemoveProjectLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * project_id parameter + */ + project_id: number; +}; +declare type TeamsRemoveProjectLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/projects/:project_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListReposLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListReposLegacyResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type TeamsListReposLegacyResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsListReposLegacyResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsListReposLegacyResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsListReposLegacyResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsListReposLegacyResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: TeamsListReposLegacyResponseDataItemLicense; +}; +declare type TeamsListReposLegacyResponseData = Array; +declare type TeamsCheckManagesRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsCheckManagesRepoLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataPermissions = { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourcePermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSourceOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataSource = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataSourceOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataSourcePermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParentOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataParent = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: TeamsCheckManagesRepoLegacyResponseDataParentOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: TeamsCheckManagesRepoLegacyResponseDataParentPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type TeamsCheckManagesRepoLegacyResponseDataOrganization = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type TeamsCheckManagesRepoLegacyResponseData = { + organization: TeamsCheckManagesRepoLegacyResponseDataOrganization; + parent: TeamsCheckManagesRepoLegacyResponseDataParent; + source: TeamsCheckManagesRepoLegacyResponseDataSource; + permissions: TeamsCheckManagesRepoLegacyResponseDataPermissions; +}; +declare type TeamsAddOrUpdateRepoLegacyEndpoint = { + /** + * 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. + */ + permission?: "pull" | "push" | "admin"; +}; +declare type TeamsAddOrUpdateRepoLegacyRequestOptions = { + method: "PUT"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsRemoveRepoLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type TeamsRemoveRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/teams/:team_id/repos/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; +}; +declare type TeamsListIdPGroupsForLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListIdPGroupsForLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsListIdPGroupsForLegacyResponseData = { + groups: Array; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyEndpoint = { + /** + * 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: TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups[]; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyRequestOptions = { + method: "PATCH"; + url: "/teams/:team_id/team-sync/group-mappings"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseDataGroupsItem = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyResponseData = { + groups: Array; +}; +declare type TeamsListChildLegacyEndpoint = { + /** + * team_id parameter + */ + team_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListChildLegacyRequestOptions = { + method: "GET"; + url: "/teams/:team_id/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListChildLegacyResponseDataItemParent = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; +}; +declare type TeamsListChildLegacyResponseDataItem = { + id: number; + node_id: string; + url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: TeamsListChildLegacyResponseDataItemParent; +}; +declare type TeamsListChildLegacyResponseData = Array; +declare type UsersGetAuthenticatedEndpoint = {}; +declare type UsersGetAuthenticatedRequestOptions = { + method: "GET"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersGetAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists?: number; + total_private_repos?: number; + owned_private_repos?: number; + disk_usage?: number; + collaborators?: number; + two_factor_authentication?: boolean; + plan?: UsersGetAuthenticatedResponseDataPlan; +}; +declare 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; +}; +declare type UsersUpdateAuthenticatedRequestOptions = { + method: "PATCH"; + url: "/user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUpdateAuthenticatedResponseDataPlan = { + name: string; + space: number; + private_repos: number; + collaborators: number; +}; +declare type UsersUpdateAuthenticatedResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + private_gists: number; + total_private_repos: number; + owned_private_repos: number; + disk_usage: number; + collaborators: number; + two_factor_authentication: boolean; + plan: UsersUpdateAuthenticatedResponseDataPlan; +}; +declare type UsersListBlockedEndpoint = {}; +declare type UsersListBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListBlockedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListBlockedResponseData = Array; +declare type UsersCheckBlockedEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckBlockedRequestOptions = { + method: "GET"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersBlockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersBlockRequestOptions = { + method: "PUT"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnblockEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnblockRequestOptions = { + method: "DELETE"; + url: "/user/blocks/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type UsersTogglePrimaryEmailVisibilityRequestOptions = { + method: "PATCH"; + url: "/user/email/visibility"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string; +}; +declare type UsersTogglePrimaryEmailVisibilityResponseData = Array; +declare type UsersListEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListEmailsRequestOptions = { + method: "GET"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListEmailsResponseData = Array; +declare 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[]; +}; +declare type UsersAddEmailsRequestOptions = { + method: "POST"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersAddEmailsResponseDataItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; +}; +declare type UsersAddEmailsResponseData = Array; +declare 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[]; +}; +declare type UsersDeleteEmailsRequestOptions = { + method: "DELETE"; + url: "/user/emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForAuthenticatedUserResponseData = Array; +declare type UsersListFollowedByAuthenticatedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowedByAuthenticatedRequestOptions = { + method: "GET"; + url: "/user/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowedByAuthenticatedResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowedByAuthenticatedResponseData = Array; +declare type UsersCheckFollowingEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersCheckFollowingRequestOptions = { + method: "GET"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersFollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersFollowRequestOptions = { + method: "PUT"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersUnfollowEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersUnfollowRequestOptions = { + method: "DELETE"; + url: "/user/following/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysRequestOptions = { + method: "GET"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysResponseData = Array; +declare 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; +}; +declare type UsersCreateGpgKeyRequestOptions = { + method: "POST"; + url: "/user/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreateGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersCreateGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersCreateGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersGetGpgKeyRequestOptions = { + method: "GET"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetGpgKeyResponseDataSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersGetGpgKeyResponseDataEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersGetGpgKeyResponseData = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersDeleteGpgKeyEndpoint = { + /** + * gpg_key_id parameter + */ + gpg_key_id: number; +}; +declare type UsersDeleteGpgKeyRequestOptions = { + method: "DELETE"; + url: "/user/gpg_keys/:gpg_key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions = { + metadata: string; + contents: string; + issues: string; + single_file: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url: string; + description?: string; + gravatar_id?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItem = { + id: number; + account: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemAccount; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsListInstallationsForAuthenticatedUserResponseDataInstallationsItemPermissions; + events: Array; + single_file_name: string; +}; +declare type AppsListInstallationsForAuthenticatedUserResponseData = { + total_count: number; + installations: Array; +}; +declare 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; +} & RequiredPreview<"machine-man">; +declare type AppsListInstallationReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/installations/:installation_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: AppsListInstallationReposForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type AppsListInstallationReposForAuthenticatedUserResponseData = { + total_count: number; + repositories: Array; +}; +declare type AppsAddRepoToInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsAddRepoToInstallationRequestOptions = { + method: "PUT"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsRemoveRepoFromInstallationEndpoint = { + /** + * installation_id parameter + */ + installation_id: number; + /** + * repository_id parameter + */ + repository_id: number; +} & RequiredPreview<"machine-man">; +declare type AppsRemoveRepoFromInstallationRequestOptions = { + method: "DELETE"; + url: "/user/installations/:installation_id/repositories/:repository_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type IssuesListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/issues"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: IssuesListForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: IssuesListForAuthenticatedUserResponseDataItemRepositoryPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemPullRequest = { + url: string; + html_url: string; + diff_url: string; + patch_url: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemMilestone = { + url: string; + html_url: string; + labels_url: string; + id: number; + node_id: string; + number: number; + state: string; + title: string; + description: string; + creator: IssuesListForAuthenticatedUserResponseDataItemMilestoneCreator; + open_issues: number; + closed_issues: number; + created_at: string; + updated_at: string; + closed_at: string; + due_on: string; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssigneesItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemAssignee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemLabelsItem = { + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type IssuesListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + repository_url: string; + labels_url: string; + comments_url: string; + events_url: string; + html_url: string; + number: number; + state: string; + title: string; + body: string; + user: IssuesListForAuthenticatedUserResponseDataItemUser; + labels: Array; + assignee: IssuesListForAuthenticatedUserResponseDataItemAssignee; + assignees: Array; + milestone: IssuesListForAuthenticatedUserResponseDataItemMilestone; + locked: boolean; + active_lock_reason: string; + comments: number; + pull_request: IssuesListForAuthenticatedUserResponseDataItemPullRequest; + closed_at: null; + created_at: string; + updated_at: string; + repository: IssuesListForAuthenticatedUserResponseDataItemRepository; +}; +declare type IssuesListForAuthenticatedUserResponseData = Array; +declare type UsersListPublicKeysEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysRequestOptions = { + method: "GET"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysResponseDataItem = { + key_id: string; + key: string; +}; +declare type UsersListPublicKeysResponseData = Array; +declare 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; +}; +declare type UsersCreatePublicKeyRequestOptions = { + method: "POST"; + url: "/user/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersCreatePublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersGetPublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersGetPublicKeyRequestOptions = { + method: "GET"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetPublicKeyResponseData = { + key_id: string; + key: string; +}; +declare type UsersDeletePublicKeyEndpoint = { + /** + * key_id parameter + */ + key_id: number; +}; +declare type UsersDeletePublicKeyRequestOptions = { + method: "DELETE"; + url: "/user/keys/:key_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserResponseData = Array; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedRequestOptions = { + method: "GET"; + url: "/user/marketplace_purchases/stubbed"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan = { + url: string; + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; + price_model: string; + has_free_trial: boolean; + unit_name: null; + state: string; + bullets: Array; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount = { + login: string; + id: number; + url: string; + email: null; + organization_billing_email: string; + type: string; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItem = { + billing_cycle: string; + next_billing_date: string; + unit_count: null; + on_free_trial: boolean; + free_trial_ends_on: string; + updated_at: string; + account: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemAccount; + plan: AppsListSubscriptionsForAuthenticatedUserStubbedResponseDataItemPlan; +}; +declare type AppsListSubscriptionsForAuthenticatedUserStubbedResponseData = Array; +declare 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; +}; +declare type OrgsListMembershipsRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListMembershipsResponseDataItemUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsListMembershipsResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListMembershipsResponseDataItem = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsListMembershipsResponseDataItemOrganization; + user: OrgsListMembershipsResponseDataItemUser; +}; +declare type OrgsListMembershipsResponseData = Array; +declare type OrgsGetMembershipForAuthenticatedUserEndpoint = { + /** + * org parameter + */ + org: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsGetMembershipForAuthenticatedUserResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsGetMembershipForAuthenticatedUserResponseDataOrganization; + user: OrgsGetMembershipForAuthenticatedUserResponseDataUser; +}; +declare type OrgsUpdateMembershipEndpoint = { + /** + * org parameter + */ + org: string; + /** + * The state that the membership should be in. Only `"active"` will be accepted. + */ + state: "active"; +}; +declare type OrgsUpdateMembershipRequestOptions = { + method: "PATCH"; + url: "/user/memberships/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsUpdateMembershipResponseDataUser = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type OrgsUpdateMembershipResponseDataOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsUpdateMembershipResponseData = { + url: string; + state: string; + role: string; + organization_url: string; + organization: OrgsUpdateMembershipResponseDataOrganization; + user: OrgsUpdateMembershipResponseDataUser; +}; +declare 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; +}; +declare type MigrationsStartForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsStartForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsStartForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsStartForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsStartForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListForAuthenticatedUserResponseDataItemRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListForAuthenticatedUserResponseDataItem = { + id: number; + owner: MigrationsListForAuthenticatedUserResponseDataItemOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsListForAuthenticatedUserResponseData = Array; +declare type MigrationsGetStatusForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetStatusForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsGetStatusForAuthenticatedUserResponseDataRepositoriesItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsGetStatusForAuthenticatedUserResponseData = { + id: number; + owner: MigrationsGetStatusForAuthenticatedUserResponseDataOwner; + guid: string; + state: string; + lock_repositories: boolean; + exclude_attachments: boolean; + repositories: Array; + url: string; + created_at: string; + updated_at: string; +}; +declare type MigrationsGetArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsGetArchiveForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsDeleteArchiveForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsDeleteArchiveForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/archive"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsUnlockRepoForAuthenticatedUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * repo_name parameter + */ + repo_name: string; +} & RequiredPreview<"wyandotte">; +declare type MigrationsUnlockRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/migrations/:migration_id/repos/:repo_name/lock"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForAuthenticatedUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForAuthenticatedUserResponseData = Array; +declare type ProjectsCreateForAuthenticatedUserEndpoint = { + /** + * The name of the project. + */ + name: string; + /** + * The description of the project. + */ + body?: string; +} & RequiredPreview<"inertia">; +declare type ProjectsCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsCreateForAuthenticatedUserResponseDataCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsCreateForAuthenticatedUserResponseData = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsCreateForAuthenticatedUserResponseDataCreator; + created_at: string; + updated_at: string; +}; +declare type UsersListPublicEmailsEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicEmailsRequestOptions = { + method: "GET"; + url: "/user/public_emails"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicEmailsResponseDataItem = { + email: string; + verified: boolean; + primary: boolean; + visibility: string; +}; +declare type UsersListPublicEmailsResponseData = Array; +declare type ReposListForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ReposListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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. + */ + private?: boolean; + /** + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. + */ + visibility?: "public" | "private" | "visibility" | "internal"; + /** + * 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; + /** + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + */ + delete_branch_on_merge?: boolean; +}; +declare type ReposCreateForAuthenticatedUserRequestOptions = { + method: "POST"; + url: "/user/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposCreateForAuthenticatedUserResponseDataPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseDataOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposCreateForAuthenticatedUserResponseData = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposCreateForAuthenticatedUserResponseDataOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ReposCreateForAuthenticatedUserResponseDataPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ReposListInvitationsForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ReposListInvitationsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/repository_invitations"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInviter = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItemRepository = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ReposListInvitationsForAuthenticatedUserResponseDataItemRepositoryOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseDataItem = { + id: number; + repository: ReposListInvitationsForAuthenticatedUserResponseDataItemRepository; + invitee: ReposListInvitationsForAuthenticatedUserResponseDataItemInvitee; + inviter: ReposListInvitationsForAuthenticatedUserResponseDataItemInviter; + permissions: string; + created_at: string; + url: string; + html_url: string; +}; +declare type ReposListInvitationsForAuthenticatedUserResponseData = Array; +declare type ReposAcceptInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposAcceptInvitationRequestOptions = { + method: "PATCH"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ReposDeclineInvitationEndpoint = { + /** + * invitation_id parameter + */ + invitation_id: number; +}; +declare type ReposDeclineInvitationRequestOptions = { + method: "DELETE"; + url: "/user/repository_invitations/:invitation_id"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ActivityListReposStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByAuthenticatedUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByAuthenticatedUserResponseData = Array; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckRepoIsStarredByAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStarRepoForAuthenticatedUserRequestOptions = { + method: "PUT"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityUnstarRepoForAuthenticatedUserEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityUnstarRepoForAuthenticatedUserRequestOptions = { + method: "DELETE"; + url: "/user/starred/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListWatchedReposForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListWatchedReposForAuthenticatedUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListWatchedReposForAuthenticatedUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListWatchedReposForAuthenticatedUserResponseDataItemLicense; +}; +declare type ActivityListWatchedReposForAuthenticatedUserResponseData = Array; +declare type ActivityCheckWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityCheckWatchingRepoLegacyRequestOptions = { + method: "GET"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityWatchRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityWatchRepoLegacyRequestOptions = { + method: "PUT"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityStopWatchingRepoLegacyEndpoint = { + /** + * owner parameter + */ + owner: string; + /** + * repo parameter + */ + repo: string; +}; +declare type ActivityStopWatchingRepoLegacyRequestOptions = { + method: "DELETE"; + url: "/user/subscriptions/:owner/:repo"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserEndpoint = { + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type TeamsListForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/user/teams"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type TeamsListForAuthenticatedUserResponseDataItemOrganization = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; + name: string; + company: string; + blog: string; + location: string; + email: string; + is_verified: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + html_url: string; + created_at: string; + type: string; +}; +declare type TeamsListForAuthenticatedUserResponseDataItem = { + id: number; + node_id: string; + url: string; + html_url: string; + name: string; + slug: string; + description: string; + privacy: string; + permission: string; + members_url: string; + repositories_url: string; + parent: null; + members_count: number; + repos_count: number; + created_at: string; + updated_at: string; + organization: TeamsListForAuthenticatedUserResponseDataItemOrganization; +}; +declare type TeamsListForAuthenticatedUserResponseData = Array; +declare type MigrationsListReposForUserEndpoint = { + /** + * migration_id parameter + */ + migration_id: number; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +} & RequiredPreview<"wyandotte">; +declare type MigrationsListReposForUserRequestOptions = { + method: "GET"; + url: "/user/:migration_id/repositories"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type MigrationsListReposForUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type MigrationsListReposForUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type MigrationsListReposForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type MigrationsListReposForUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: MigrationsListReposForUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: MigrationsListReposForUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: MigrationsListReposForUserResponseDataItemLicense; +}; +declare type MigrationsListReposForUserResponseData = Array; +declare type UsersListEndpoint = { + /** + * The integer ID of the last User that you've seen. + */ + since?: string; +}; +declare type UsersListRequestOptions = { + method: "GET"; + url: "/users"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListResponseData = Array; +declare type UsersGetByUsernameEndpoint = { + /** + * username parameter + */ + username: string; +}; +declare type UsersGetByUsernameRequestOptions = { + method: "GET"; + url: "/users/:username"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetByUsernameResponseDataPlan = { + name: string; + space: number; + collaborators: number; + private_repos: number; +}; +declare type UsersGetByUsernameResponseData = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string; + company: string; + blog: string; + location: string; + email: string; + hireable: boolean; + bio: string; + public_repos: number; + public_gists: number; + followers: number; + following: number; + created_at: string; + updated_at: string; + plan?: UsersGetByUsernameResponseDataPlan; +}; +declare type ActivityListEventsForAuthenticatedUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListOrgEventsForAuthenticatedUserEndpoint = { + /** + * 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; +}; +declare type ActivityListOrgEventsForAuthenticatedUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/orgs/:org"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowersForUserRequestOptions = { + method: "GET"; + url: "/users/:username/followers"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowersForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowersForUserResponseData = Array; +declare type UsersListFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListFollowingForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type UsersListFollowingForUserResponseData = Array; +declare type UsersCheckFollowingForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * target_user parameter + */ + target_user: string; +}; +declare type UsersCheckFollowingForUserRequestOptions = { + method: "GET"; + url: "/users/:username/following/:target_user"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserEndpoint = { + /** + * 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; +}; +declare type GistsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gists"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type GistsListForUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type GistsListForUserResponseDataItemFilesHelloWorldRb = { + filename: string; + type: string; + language: string; + raw_url: string; + size: number; +}; +declare type GistsListForUserResponseDataItemFiles = { + "hello_world.rb": GistsListForUserResponseDataItemFilesHelloWorldRb; +}; +declare type GistsListForUserResponseDataItem = { + url: string; + forks_url: string; + commits_url: string; + id: string; + node_id: string; + git_pull_url: string; + git_push_url: string; + html_url: string; + files: GistsListForUserResponseDataItemFiles; + public: boolean; + created_at: string; + updated_at: string; + description: string; + comments: number; + user: null; + comments_url: string; + owner: GistsListForUserResponseDataItemOwner; + truncated: boolean; +}; +declare type GistsListForUserResponseData = Array; +declare type UsersListGpgKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListGpgKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/gpg_keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListGpgKeysForUserResponseDataItemSubkeysItem = { + id: number; + primary_key_id: number; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseDataItemEmailsItem = { + email: string; + verified: boolean; +}; +declare type UsersListGpgKeysForUserResponseDataItem = { + id: number; + primary_key_id: null; + key_id: string; + public_key: string; + emails: Array; + subkeys: Array; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + created_at: string; + expires_at: null; +}; +declare type UsersListGpgKeysForUserResponseData = Array; +declare 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; +}; +declare type UsersGetContextForUserRequestOptions = { + method: "GET"; + url: "/users/:username/hovercard"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersGetContextForUserResponseDataContextsItem = { + message: string; + octicon: string; +}; +declare type UsersGetContextForUserResponseData = { + contexts: Array; +}; +declare type AppsGetUserInstallationEndpoint = { + /** + * username parameter + */ + username: string; +} & RequiredPreview<"machine-man">; +declare type AppsGetUserInstallationRequestOptions = { + method: "GET"; + url: "/users/:username/installation"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type AppsGetUserInstallationResponseDataPermissions = { + checks: string; + metadata: string; + contents: string; +}; +declare type AppsGetUserInstallationResponseDataAccount = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type AppsGetUserInstallationResponseData = { + id: number; + account: AppsGetUserInstallationResponseDataAccount; + repository_selection: string; + access_tokens_url: string; + repositories_url: string; + html_url: string; + app_id: number; + target_id: number; + target_type: string; + permissions: AppsGetUserInstallationResponseDataPermissions; + events: Array; + created_at: string; + updated_at: string; + single_file_name: null; +}; +declare type UsersListPublicKeysForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type UsersListPublicKeysForUserRequestOptions = { + method: "GET"; + url: "/users/:username/keys"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type UsersListPublicKeysForUserResponseDataItem = { + id: number; + key: string; +}; +declare type UsersListPublicKeysForUserResponseData = Array; +declare type OrgsListForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type OrgsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/orgs"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type OrgsListForUserResponseDataItem = { + login: string; + id: number; + node_id: string; + url: string; + repos_url: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string; +}; +declare type OrgsListForUserResponseData = Array; +declare 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; +} & RequiredPreview<"inertia">; +declare type ProjectsListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/projects"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ProjectsListForUserResponseDataItemCreator = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ProjectsListForUserResponseDataItem = { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string; + number: number; + state: string; + creator: ProjectsListForUserResponseDataItemCreator; + created_at: string; + updated_at: string; +}; +declare type ProjectsListForUserResponseData = Array; +declare type ActivityListReceivedEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReceivedPublicEventsForUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReceivedPublicEventsForUserRequestOptions = { + method: "GET"; + url: "/users/:username/received_events/public"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ReposListForUserRequestOptions = { + method: "GET"; + url: "/users/:username/repos"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare 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; +}; +declare type ActivityListReposStarredByUserRequestOptions = { + method: "GET"; + url: "/users/:username/starred"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposStarredByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposStarredByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposStarredByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposStarredByUserResponseDataItemPermissions; + allow_rebase_merge: boolean; + template_repository: null; + temp_clone_token: string; + allow_squash_merge: boolean; + allow_merge_commit: boolean; + subscribers_count: number; + network_count: number; +}; +declare type ActivityListReposStarredByUserResponseData = Array; +declare type ActivityListReposWatchedByUserEndpoint = { + /** + * username parameter + */ + username: string; + /** + * Results per page (max 100) + */ + per_page?: number; + /** + * Page number of the results to fetch. + */ + page?: number; +}; +declare type ActivityListReposWatchedByUserRequestOptions = { + method: "GET"; + url: "/users/:username/subscriptions"; + headers: RequestHeaders; + request: RequestRequestOptions; +}; +declare type ActivityListReposWatchedByUserResponseDataItemLicense = { + key: string; + name: string; + spdx_id: string; + url: string; + node_id: string; +}; +declare type ActivityListReposWatchedByUserResponseDataItemPermissions = { + admin: boolean; + push: boolean; + pull: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItemOwner = { + login: string; + id: number; + node_id: string; + avatar_url: string; + gravatar_id: string; + url: string; + html_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + subscriptions_url: string; + organizations_url: string; + repos_url: string; + events_url: string; + received_events_url: string; + type: string; + site_admin: boolean; +}; +declare type ActivityListReposWatchedByUserResponseDataItem = { + id: number; + node_id: string; + name: string; + full_name: string; + owner: ActivityListReposWatchedByUserResponseDataItemOwner; + private: boolean; + html_url: string; + description: string; + fork: boolean; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + contributors_url: string; + deployments_url: string; + downloads_url: string; + events_url: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + stargazers_url: string; + statuses_url: string; + subscribers_url: string; + subscription_url: string; + tags_url: string; + teams_url: string; + trees_url: string; + clone_url: string; + mirror_url: string; + hooks_url: string; + svn_url: string; + homepage: string; + language: null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + default_branch: string; + open_issues_count: number; + is_template: boolean; + topics: Array; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + archived: boolean; + disabled: boolean; + visibility: string; + pushed_at: string; + created_at: string; + updated_at: string; + permissions: ActivityListReposWatchedByUserResponseDataItemPermissions; + template_repository: null; + temp_clone_token: string; + subscribers_count: number; + network_count: number; + license: ActivityListReposWatchedByUserResponseDataItemLicense; +}; +declare type ActivityListReposWatchedByUserResponseData = Array; +declare type AppsCreateInstallationTokenParamsPermissions = {}; +declare type GistsCreateParamsFiles = { + content?: string; +}; +declare type GistsUpdateParamsFiles = { + content?: string; + filename?: string; +}; +declare type OrgsCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type OrgsUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsInOrgParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +declare type ReposUpdateBranchProtectionParamsRequiredStatusChecks = { + strict: boolean; + contexts: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviews = { + dismissal_restrictions?: ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; +}; +declare type ReposUpdateBranchProtectionParamsRequiredPullRequestReviewsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ReposUpdateBranchProtectionParamsRestrictions = { + users: string[]; + teams: string[]; + apps?: string[]; +}; +declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { + users?: string[]; + teams?: string[]; +}; +declare type ChecksCreateParamsOutput = { + title: string; + summary: string; + text?: string; + annotations?: ChecksCreateParamsOutputAnnotations[]; + images?: ChecksCreateParamsOutputImages[]; +}; +declare 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; +}; +declare type ChecksCreateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksCreateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksUpdateParamsOutput = { + title?: string; + summary: string; + text?: string; + annotations?: ChecksUpdateParamsOutputAnnotations[]; + images?: ChecksUpdateParamsOutputImages[]; +}; +declare 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; +}; +declare type ChecksUpdateParamsOutputImages = { + alt: string; + image_url: string; + caption?: string; +}; +declare type ChecksUpdateParamsActions = { + label: string; + description: string; + identifier: string; +}; +declare type ChecksSetSuitesPreferencesParamsAutoTriggerChecks = { + app_id: number; + setting: boolean; +}; +declare type ReposCreateOrUpdateFileParamsCommitter = { + name: string; + email: string; +}; +declare type ReposCreateOrUpdateFileParamsAuthor = { + name: string; + email: string; +}; +declare type ReposDeleteFileParamsCommitter = { + name?: string; + email?: string; +}; +declare type ReposDeleteFileParamsAuthor = { + name?: string; + email?: string; +}; +declare type ReposCreateDispatchEventParamsClientPayload = {}; +declare type GitCreateCommitParamsAuthor = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateCommitParamsCommitter = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTagParamsTagger = { + name?: string; + email?: string; + date?: string; +}; +declare type GitCreateTreeParamsTree = { + path?: string; + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + type?: "blob" | "tree" | "commit"; + sha?: string | null; + content?: string; +}; +declare type ReposCreateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposUpdateHookParamsConfig = { + url: string; + content_type?: string; + secret?: string; + insecure_ssl?: string; +}; +declare type ReposEnablePagesSiteParamsSource = { + branch?: "master" | "gh-pages"; + path?: string; +}; +declare type PullsCreateReviewParamsComments = { + path: string; + position: number; + body: string; +}; +declare type TeamsCreateOrUpdateIdPGroupConnectionsLegacyParamsGroups = { + group_id: string; + group_name: string; + group_description: string; +}; +export {}; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 0000000..5d2d5ae --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,20 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js new file mode 100644 index 0000000..3c0cafc --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js @@ -0,0 +1,4 @@ +const VERSION = "2.16.2"; + +export { VERSION }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js.map new file mode 100644 index 0000000..cd0e254 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request-error/node_modules/@octokit/types/package.json b/node_modules/@octokit/request-error/node_modules/@octokit/types/package.json new file mode 100644 index 0000000..9036e41 --- /dev/null +++ b/node_modules/@octokit/request-error/node_modules/@octokit/types/package.json @@ -0,0 +1,49 @@ +{ + "name": "@octokit/types", + "description": "Shared TypeScript definitions for Octokit projects", + "version": "2.16.2", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "repository": "https://github.com/octokit/types.ts", + "dependencies": { + "@types/node": ">= 8" + }, + "devDependencies": { + "@gimenete/type-writer": "^0.1.5", + "@octokit/graphql": "^4.2.2", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "handlebars": "^4.7.6", + "lodash.set": "^4.3.2", + "npm-run-all": "^4.1.5", + "pascal-case": "^3.1.1", + "prettier": "^2.0.0", + "semantic-release": "^17.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.17.0", + "typescript": "^3.6.4" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/request-error/package.json index 1f14670..309a91a 100644 --- a/node_modules/@octokit/request-error/package.json +++ b/node_modules/@octokit/request-error/package.json @@ -1,16 +1,12 @@ { "name": "@octokit/request-error", "description": "Error class for Octokit request errors", - "version": "1.0.4", + "version": "1.2.1", "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": [ @@ -28,31 +24,31 @@ "url": "https://github.com/octokit/request-error.js.git" }, "dependencies": { + "@octokit/types": "^2.0.0", "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", + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.8.1", + "@pika/plugin-build-web": "^0.8.1", + "@pika/plugin-bundle-web": "^0.8.1", + "@pika/plugin-ts-standard-pkg": "^0.8.1", + "@types/jest": "^25.1.0", + "@types/node": "^13.1.0", "@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", + "semantic-release": "^17.0.0", "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 + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} diff --git a/node_modules/@octokit/request/README.md b/node_modules/@octokit/request/README.md index 4cf0bd9..747a670 100644 --- a/node_modules/@octokit/request/README.md +++ b/node_modules/@octokit/request/README.md @@ -3,8 +3,7 @@ > 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/) +[![Build Status](https://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amaster) `@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 @@ -23,6 +22,7 @@ the passed options and sends the request using [fetch](https://developer.mozilla - [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) @@ -38,14 +38,14 @@ the passed options and sends the request using [fetch](https://developer.mozilla 🤩 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", { +request("POST /repos/{owner}/{repo}/issues/{number}/labels", { mediaType: { - previews: ["symmetra"] + previews: ["symmetra"], }, owner: "octokit", repo: "request.js", number: 1, - labels: ["🐛 bug"] + labels: ["🐛 bug"], }); ``` @@ -70,11 +70,11 @@ request("POST /repos/:owner/:repo/issues/:number/labels", { Browsers -Load @octokit/request directly from cdn.pika.dev +Load @octokit/request directly from cdn.skypack.dev ```html ``` @@ -99,12 +99,12 @@ const { request } = require("@octokit/request"); ```js // Following GitHub docs formatting: // https://developer.github.com/v3/repos/#list-organization-repositories -const result = await request("GET /orgs/:org/repos", { +const result = await request("GET /orgs/{org}/repos", { headers: { - authorization: "token 0000000000000000000000000000000000000001" + authorization: "token 0000000000000000000000000000000000000001", }, org: "octokit", - type: "private" + type: "private", }); console.log(`${result.data.length} repos found.`); @@ -117,7 +117,7 @@ For GraphQL request we recommend using [`@octokit/graphql`](https://github.com/o ```js const result = await request("POST /graphql", { headers: { - authorization: "token 0000000000000000000000000000000000000001" + authorization: "token 0000000000000000000000000000000000000001", }, query: `query ($login: String!) { organization(login: $login) { @@ -127,8 +127,8 @@ const result = await request("POST /graphql", { } }`, variables: { - login: "octokit" - } + login: "octokit", + }, }); ``` @@ -139,12 +139,12 @@ Alternatively, pass in a method and a url ```js const result = await request({ method: "GET", - url: "/orgs/:org/repos", + url: "/orgs/{org}/repos", headers: { - authorization: "token 0000000000000000000000000000000000000001" + authorization: "token 0000000000000000000000000000000000000001", }, org: "octokit", - type: "private" + type: "private", }); ``` @@ -155,10 +155,10 @@ The simplest way to authenticate a request is to set the `Authorization` header ```js const requestWithAuth = request.defaults({ headers: { - authorization: "token 0000000000000000000000000000000000000001" - } + authorization: "token 0000000000000000000000000000000000000001", + }, }); -const result = await request("GET /user"); +const result = await requestWithAuth("GET /user"); ``` For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). @@ -166,25 +166,28 @@ For more complex authentication strategies such as GitHub Apps or Basic, we reco ```js const { createAppAuth } = require("@octokit/auth-app"); const auth = createAppAuth({ - id: process.env.APP_ID, + appId: process.env.APP_ID, privateKey: process.env.PRIVATE_KEY, - installationId: 123 + installationId: 123, }); const requestWithAuth = request.defaults({ request: { - hook: auth.hook + hook: auth.hook, }, mediaType: { - previews: ["machine-man"] - } + 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" -}); +const { data: app } = await requestWithAuth( + "POST /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + title: "Hello from the engine room", + } +); ``` ## request() @@ -215,7 +218,7 @@ const { data: app } = await requestWithAuth("POST /repos/:owner/:repo/issues", { String - If route is set it has to be a string consisting of the request method and URL, e.g. GET /orgs/:org + **Required**. If route is set it has to be a string consisting of the request method and URL, e.g. GET /orgs/{org} @@ -226,7 +229,7 @@ const { data: app } = await requestWithAuth("POST /repos/:owner/:repo/issues", { String - Required. Any supported http verb, case insensitive. Defaults to https://api.github.com. + The base URL that route or url will be prefixed with, if they use relative paths. Defaults to https://api.github.com. @@ -271,7 +274,7 @@ const { data: app } = await requestWithAuth("POST /repos/:owner/:repo/issues", { String - Required. Any supported http verb, case insensitive. Defaults to Get. + Any supported http verb, case insensitive. Defaults to Get. @@ -282,8 +285,8 @@ const { data: app } = await requestWithAuth("POST /repos/:owner/:repo/issues", { 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. + **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. @@ -340,6 +343,16 @@ const { data: app } = await requestWithAuth("POST /repos/:owner/:repo/issues", { Use an AbortController instance to cancel a request. In node you can only cancel streamed requests. + + + options.request.log + + + object + + + Used for internal logging. Defaults to console. + @@ -356,7 +369,7 @@ const { data: app } = await requestWithAuth("POST /repos/:owner/:repo/issues", { 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` +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. @@ -403,8 +416,8 @@ All other options except `options.request.*` will be passed depending on the `me 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` +- `error.response` The http response object with `url`, `headers`, and `data` ## `request.defaults()` @@ -415,13 +428,13 @@ 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` + authorization: `token 0000000000000000000000000000000000000001`, }, org: "my-project", - per_page: 100 + per_page: 100, }); -myrequest(`GET /orgs/:org/repos`); +myrequest(`GET /orgs/{org}/repos`); ``` You can call `.defaults()` again on the returned method, the defaults will cascade. @@ -430,14 +443,14 @@ You can call `.defaults()` again on the returned method, the defaults will casca const myProjectRequest = request.defaults({ baseUrl: "https://github-enterprise.acme-inc.com/api/v3", headers: { - "user-agent": "myApp/1.2.3" + "user-agent": "myApp/1.2.3", }, - org: "my-project" + org: "my-project", }); const myProjectRequestWithAuth = myProjectRequest.defaults({ headers: { - authorization: `token 0000000000000000000000000000000000000001` - } + authorization: `token 0000000000000000000000000000000000000001`, + }, }); ``` @@ -450,9 +463,9 @@ by the global default. See https://github.com/octokit/endpoint.js. Example ```js -const options = request.endpoint("GET /orgs/:org/repos", { +const options = request.endpoint("GET /orgs/{org}/repos", { org: "my-project", - type: "private" + type: "private", }); // { @@ -486,8 +499,8 @@ 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" - } + "content-type": "text/plain", + }, }); // Request is sent as @@ -526,9 +539,9 @@ request( headers: { "content-type": "text/plain", "content-length": 14, - authorization: `token 0000000000000000000000000000000000000001` + authorization: `token 0000000000000000000000000000000000000001`, }, - data: "Hello, world!" + data: "Hello, world!", } ); ``` diff --git a/node_modules/@octokit/request/dist-node/index.js b/node_modules/@octokit/request/dist-node/index.js index d1bdaa6..685e2f5 100644 --- a/node_modules/@octokit/request/dist-node/index.js +++ b/node_modules/@octokit/request/dist-node/index.js @@ -6,18 +6,20 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau var endpoint = require('@octokit/endpoint'); var universalUserAgent = require('universal-user-agent'); -var isPlainObject = _interopDefault(require('is-plain-object')); +var isPlainObject = require('is-plain-object'); var nodeFetch = _interopDefault(require('node-fetch')); var requestError = require('@octokit/request-error'); -const VERSION = "0.0.0-development"; +const VERSION = "5.6.3"; function getBufferResponse(response) { return response.arrayBuffer(); } function fetchWrapper(requestOptions) { - if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + + if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { requestOptions.body = JSON.stringify(requestOptions.body); } @@ -30,7 +32,9 @@ function fetchWrapper(requestOptions) { body: requestOptions.body, headers: requestOptions.headers, redirect: requestOptions.redirect - }, requestOptions.request)).then(response => { + }, // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)).then(async response => { url = response.url; status = response.status; @@ -38,9 +42,15 @@ function fetchWrapper(requestOptions) { headers[keyAndValue[0]] = keyAndValue[1]; } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + if (status === 204 || status === 205) { return; - } // GitHub API returns 200 for HEAD requsets + } // GitHub API returns 200 for HEAD requests if (requestOptions.method === "HEAD") { @@ -49,45 +59,43 @@ function fetchWrapper(requestOptions) { } throw new requestError.RequestError(response.statusText, status, { - headers, + response: { + url, + status, + headers, + data: undefined + }, request: requestOptions }); } if (status === 304) { throw new requestError.RequestError("Not modified", status, { - headers, + response: { + url, + status, + headers, + data: await getResponseData(response) + }, request: requestOptions }); } if (status >= 400) { - return response.text().then(message => { - const error = new requestError.RequestError(message, status, { + const data = await getResponseData(response); + const error = new requestError.RequestError(toErrorMessage(data), status, { + response: { + url, + status, headers, - request: requestOptions - }); - - try { - Object.assign(error, JSON.parse(error.message)); - } catch (e) {// ignore, see octokit/rest.js#684 - } - - throw error; + data + }, + request: requestOptions }); + 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); + return getResponseData(response); }).then(data => { return { status, @@ -96,17 +104,42 @@ function fetchWrapper(requestOptions) { data }; }).catch(error => { - if (error instanceof requestError.RequestError) { - throw error; - } - + if (error instanceof requestError.RequestError) throw error; throw new requestError.RequestError(error.message, 500, { - headers, request: requestOptions }); }); } +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + + if (/application\/json/.test(contentType)) { + return response.json(); + } + + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + + return getBufferResponse(response); +} + +function toErrorMessage(data) { + if (typeof data === "string") return data; // istanbul ignore else - just in case + + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + + return data.message; + } // istanbul ignore next - just in case + + + return `Unknown error: ${JSON.stringify(data)}`; +} + function withDefaults(oldEndpoint, newDefaults) { const endpoint = oldEndpoint.defaults(newDefaults); diff --git a/node_modules/@octokit/request/dist-node/index.js.map b/node_modules/@octokit/request/dist-node/index.js.map index 1bdc65b..9a51ed1 100644 --- a/node_modules/@octokit/request/dist-node/index.js.map +++ b/node_modules/@octokit/request/dist-node/index.js.map @@ -1 +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 = \"0.0.0-development\";\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 Object.assign(error, JSON.parse(error.message));\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","parse","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;UACAa,MAAM,CAACC,MAAP,CAAcS,KAAd,EAAqBlB,IAAI,CAACmB,KAAL,CAAWD,KAAK,CAACD,OAAjB,CAArB;SADJ,CAGA,OAAOG,CAAP,EAAU;;;cAGJF,KAAN;OAbG,CAAP;;;UAgBEG,WAAW,GAAG7B,QAAQ,CAACU,OAAT,CAAiBoB,GAAjB,CAAqB,cAArB,CAApB;;QACI,oBAAoBC,IAApB,CAAyBF,WAAzB,CAAJ,EAA2C;aAChC7B,QAAQ,CAACgC,IAAT,EAAP;;;QAEA,CAACH,WAAD,IAAgB,yBAAyBE,IAAzB,CAA8BF,WAA9B,CAApB,EAAgE;aACrD7B,QAAQ,CAACwB,IAAT,EAAP;;;WAEGS,iBAAS,CAACjC,QAAD,CAAhB;GAvDG,EAyDFoB,IAzDE,CAyDGc,IAAI,IAAI;WACP;MACHvB,MADG;MAEHC,GAFG;MAGHF,OAHG;MAIHwB;KAJJ;GA1DG,EAiEFC,KAjEE,CAiEIT,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;GArEG,CAAP;;;ACZW,SAASiC,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,CAAC9B,OAAjB,IAA4B,CAAC8B,eAAe,CAAC9B,OAAhB,CAAwBgC,IAAzD,EAA+D;aACpD5C,YAAY,CAACqC,QAAQ,CAACZ,KAAT,CAAeiB,eAAf,CAAD,CAAnB;;;UAEE9B,OAAO,GAAG,CAAC4B,KAAD,EAAQC,UAAR,KAAuB;aAC5BzC,YAAY,CAACqC,QAAQ,CAACZ,KAAT,CAAeY,QAAQ,CAACM,KAAT,CAAeH,KAAf,EAAsBC,UAAtB,CAAf,CAAD,CAAnB;KADJ;;IAGA3B,MAAM,CAACC,MAAP,CAAcH,OAAd,EAAuB;MACnByB,QADmB;MAEnBC,QAAQ,EAAEJ,YAAY,CAACW,IAAb,CAAkB,IAAlB,EAAwBR,QAAxB;KAFd;WAIOK,eAAe,CAAC9B,OAAhB,CAAwBgC,IAAxB,CAA6BhC,OAA7B,EAAsC8B,eAAtC,CAAP;GAZJ;;SAcO5B,MAAM,CAACC,MAAP,CAAcwB,MAAd,EAAsB;IACzBF,QADyB;IAEzBC,QAAQ,EAAEJ,YAAY,CAACW,IAAb,CAAkB,IAAlB,EAAwBR,QAAxB;GAFP,CAAP;;;MCbSzB,OAAO,GAAGsB,YAAY,CAACG,iBAAD,EAAW;EAC1C7B,OAAO,EAAE;kBACU,sBAAqBZ,OAAQ,IAAGkD,+BAAY,EAAG;;CAFnC,CAA5B;;;;"} \ No newline at end of file +{"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.6.3\";\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 const log = requestOptions.request && requestOptions.request.log\n ? requestOptions.request.log\n : console;\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 }, \n // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request))\n .then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined,\n },\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response),\n },\n request: requestOptions,\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data,\n },\n request: requestOptions,\n });\n throw error;\n }\n return getResponseData(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 throw new RequestError(error.message, 500, {\n request: requestOptions,\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n // istanbul ignore else - just in case\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n return data.message;\n }\n // istanbul ignore next - just in case\n return `Unknown error: ${JSON.stringify(data)}`;\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","log","request","console","isPlainObject","body","Array","isArray","JSON","stringify","headers","status","url","fetch","nodeFetch","Object","assign","method","redirect","then","keyAndValue","matches","link","match","deprecationLink","pop","warn","sunset","RequestError","statusText","data","undefined","getResponseData","error","toErrorMessage","catch","message","contentType","get","test","json","text","getBuffer","errors","map","join","withDefaults","oldEndpoint","newDefaults","endpoint","defaults","newApi","route","parameters","endpointOptions","merge","hook","parse","bind","getUserAgent"],"mappings":";;;;;;;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAQ,SAASC,iBAAT,CAA2BC,QAA3B,EAAqC;AAChD,SAAOA,QAAQ,CAACC,WAAT,EAAP;AACH;;ACEc,SAASC,YAAT,CAAsBC,cAAtB,EAAsC;AACjD,QAAMC,GAAG,GAAGD,cAAc,CAACE,OAAf,IAA0BF,cAAc,CAACE,OAAf,CAAuBD,GAAjD,GACND,cAAc,CAACE,OAAf,CAAuBD,GADjB,GAENE,OAFN;;AAGA,MAAIC,2BAAa,CAACJ,cAAc,CAACK,IAAhB,CAAb,IACAC,KAAK,CAACC,OAAN,CAAcP,cAAc,CAACK,IAA7B,CADJ,EACwC;AACpCL,IAAAA,cAAc,CAACK,IAAf,GAAsBG,IAAI,CAACC,SAAL,CAAeT,cAAc,CAACK,IAA9B,CAAtB;AACH;;AACD,MAAIK,OAAO,GAAG,EAAd;AACA,MAAIC,MAAJ;AACA,MAAIC,GAAJ;AACA,QAAMC,KAAK,GAAIb,cAAc,CAACE,OAAf,IAA0BF,cAAc,CAACE,OAAf,CAAuBW,KAAlD,IAA4DC,SAA1E;AACA,SAAOD,KAAK,CAACb,cAAc,CAACY,GAAhB,EAAqBG,MAAM,CAACC,MAAP,CAAc;AAC3CC,IAAAA,MAAM,EAAEjB,cAAc,CAACiB,MADoB;AAE3CZ,IAAAA,IAAI,EAAEL,cAAc,CAACK,IAFsB;AAG3CK,IAAAA,OAAO,EAAEV,cAAc,CAACU,OAHmB;AAI3CQ,IAAAA,QAAQ,EAAElB,cAAc,CAACkB;AAJkB,GAAd;AAOjC;AACAlB,EAAAA,cAAc,CAACE,OARkB,CAArB,CAAL,CASFiB,IATE,CASG,MAAOtB,QAAP,IAAoB;AAC1Be,IAAAA,GAAG,GAAGf,QAAQ,CAACe,GAAf;AACAD,IAAAA,MAAM,GAAGd,QAAQ,CAACc,MAAlB;;AACA,SAAK,MAAMS,WAAX,IAA0BvB,QAAQ,CAACa,OAAnC,EAA4C;AACxCA,MAAAA,OAAO,CAACU,WAAW,CAAC,CAAD,CAAZ,CAAP,GAA0BA,WAAW,CAAC,CAAD,CAArC;AACH;;AACD,QAAI,iBAAiBV,OAArB,EAA8B;AAC1B,YAAMW,OAAO,GAAGX,OAAO,CAACY,IAAR,IAAgBZ,OAAO,CAACY,IAAR,CAAaC,KAAb,CAAmB,8BAAnB,CAAhC;AACA,YAAMC,eAAe,GAAGH,OAAO,IAAIA,OAAO,CAACI,GAAR,EAAnC;AACAxB,MAAAA,GAAG,CAACyB,IAAJ,CAAU,uBAAsB1B,cAAc,CAACiB,MAAO,IAAGjB,cAAc,CAACY,GAAI,qDAAoDF,OAAO,CAACiB,MAAO,GAAEH,eAAe,GAAI,SAAQA,eAAgB,EAA5B,GAAgC,EAAG,EAAnM;AACH;;AACD,QAAIb,MAAM,KAAK,GAAX,IAAkBA,MAAM,KAAK,GAAjC,EAAsC;AAClC;AACH,KAbyB;;;AAe1B,QAAIX,cAAc,CAACiB,MAAf,KAA0B,MAA9B,EAAsC;AAClC,UAAIN,MAAM,GAAG,GAAb,EAAkB;AACd;AACH;;AACD,YAAM,IAAIiB,yBAAJ,CAAiB/B,QAAQ,CAACgC,UAA1B,EAAsClB,MAAtC,EAA8C;AAChDd,QAAAA,QAAQ,EAAE;AACNe,UAAAA,GADM;AAEND,UAAAA,MAFM;AAGND,UAAAA,OAHM;AAINoB,UAAAA,IAAI,EAAEC;AAJA,SADsC;AAOhD7B,QAAAA,OAAO,EAAEF;AAPuC,OAA9C,CAAN;AASH;;AACD,QAAIW,MAAM,KAAK,GAAf,EAAoB;AAChB,YAAM,IAAIiB,yBAAJ,CAAiB,cAAjB,EAAiCjB,MAAjC,EAAyC;AAC3Cd,QAAAA,QAAQ,EAAE;AACNe,UAAAA,GADM;AAEND,UAAAA,MAFM;AAGND,UAAAA,OAHM;AAINoB,UAAAA,IAAI,EAAE,MAAME,eAAe,CAACnC,QAAD;AAJrB,SADiC;AAO3CK,QAAAA,OAAO,EAAEF;AAPkC,OAAzC,CAAN;AASH;;AACD,QAAIW,MAAM,IAAI,GAAd,EAAmB;AACf,YAAMmB,IAAI,GAAG,MAAME,eAAe,CAACnC,QAAD,CAAlC;AACA,YAAMoC,KAAK,GAAG,IAAIL,yBAAJ,CAAiBM,cAAc,CAACJ,IAAD,CAA/B,EAAuCnB,MAAvC,EAA+C;AACzDd,QAAAA,QAAQ,EAAE;AACNe,UAAAA,GADM;AAEND,UAAAA,MAFM;AAGND,UAAAA,OAHM;AAINoB,UAAAA;AAJM,SAD+C;AAOzD5B,QAAAA,OAAO,EAAEF;AAPgD,OAA/C,CAAd;AASA,YAAMiC,KAAN;AACH;;AACD,WAAOD,eAAe,CAACnC,QAAD,CAAtB;AACH,GA/DM,EAgEFsB,IAhEE,CAgEIW,IAAD,IAAU;AAChB,WAAO;AACHnB,MAAAA,MADG;AAEHC,MAAAA,GAFG;AAGHF,MAAAA,OAHG;AAIHoB,MAAAA;AAJG,KAAP;AAMH,GAvEM,EAwEFK,KAxEE,CAwEKF,KAAD,IAAW;AAClB,QAAIA,KAAK,YAAYL,yBAArB,EACI,MAAMK,KAAN;AACJ,UAAM,IAAIL,yBAAJ,CAAiBK,KAAK,CAACG,OAAvB,EAAgC,GAAhC,EAAqC;AACvClC,MAAAA,OAAO,EAAEF;AAD8B,KAArC,CAAN;AAGH,GA9EM,CAAP;AA+EH;;AACD,eAAegC,eAAf,CAA+BnC,QAA/B,EAAyC;AACrC,QAAMwC,WAAW,GAAGxC,QAAQ,CAACa,OAAT,CAAiB4B,GAAjB,CAAqB,cAArB,CAApB;;AACA,MAAI,oBAAoBC,IAApB,CAAyBF,WAAzB,CAAJ,EAA2C;AACvC,WAAOxC,QAAQ,CAAC2C,IAAT,EAAP;AACH;;AACD,MAAI,CAACH,WAAD,IAAgB,yBAAyBE,IAAzB,CAA8BF,WAA9B,CAApB,EAAgE;AAC5D,WAAOxC,QAAQ,CAAC4C,IAAT,EAAP;AACH;;AACD,SAAOC,iBAAS,CAAC7C,QAAD,CAAhB;AACH;;AACD,SAASqC,cAAT,CAAwBJ,IAAxB,EAA8B;AAC1B,MAAI,OAAOA,IAAP,KAAgB,QAApB,EACI,OAAOA,IAAP,CAFsB;;AAI1B,MAAI,aAAaA,IAAjB,EAAuB;AACnB,QAAIxB,KAAK,CAACC,OAAN,CAAcuB,IAAI,CAACa,MAAnB,CAAJ,EAAgC;AAC5B,aAAQ,GAAEb,IAAI,CAACM,OAAQ,KAAIN,IAAI,CAACa,MAAL,CAAYC,GAAZ,CAAgBpC,IAAI,CAACC,SAArB,EAAgCoC,IAAhC,CAAqC,IAArC,CAA2C,EAAtE;AACH;;AACD,WAAOf,IAAI,CAACM,OAAZ;AACH,GATyB;;;AAW1B,SAAQ,kBAAiB5B,IAAI,CAACC,SAAL,CAAeqB,IAAf,CAAqB,EAA9C;AACH;;ACrHc,SAASgB,YAAT,CAAsBC,WAAtB,EAAmCC,WAAnC,EAAgD;AAC3D,QAAMC,QAAQ,GAAGF,WAAW,CAACG,QAAZ,CAAqBF,WAArB,CAAjB;;AACA,QAAMG,MAAM,GAAG,UAAUC,KAAV,EAAiBC,UAAjB,EAA6B;AACxC,UAAMC,eAAe,GAAGL,QAAQ,CAACM,KAAT,CAAeH,KAAf,EAAsBC,UAAtB,CAAxB;;AACA,QAAI,CAACC,eAAe,CAACpD,OAAjB,IAA4B,CAACoD,eAAe,CAACpD,OAAhB,CAAwBsD,IAAzD,EAA+D;AAC3D,aAAOzD,YAAY,CAACkD,QAAQ,CAACQ,KAAT,CAAeH,eAAf,CAAD,CAAnB;AACH;;AACD,UAAMpD,OAAO,GAAG,CAACkD,KAAD,EAAQC,UAAR,KAAuB;AACnC,aAAOtD,YAAY,CAACkD,QAAQ,CAACQ,KAAT,CAAeR,QAAQ,CAACM,KAAT,CAAeH,KAAf,EAAsBC,UAAtB,CAAf,CAAD,CAAnB;AACH,KAFD;;AAGAtC,IAAAA,MAAM,CAACC,MAAP,CAAcd,OAAd,EAAuB;AACnB+C,MAAAA,QADmB;AAEnBC,MAAAA,QAAQ,EAAEJ,YAAY,CAACY,IAAb,CAAkB,IAAlB,EAAwBT,QAAxB;AAFS,KAAvB;AAIA,WAAOK,eAAe,CAACpD,OAAhB,CAAwBsD,IAAxB,CAA6BtD,OAA7B,EAAsCoD,eAAtC,CAAP;AACH,GAbD;;AAcA,SAAOvC,MAAM,CAACC,MAAP,CAAcmC,MAAd,EAAsB;AACzBF,IAAAA,QADyB;AAEzBC,IAAAA,QAAQ,EAAEJ,YAAY,CAACY,IAAb,CAAkB,IAAlB,EAAwBT,QAAxB;AAFe,GAAtB,CAAP;AAIH;;MCjBY/C,OAAO,GAAG4C,YAAY,CAACG,iBAAD,EAAW;AAC1CvC,EAAAA,OAAO,EAAE;AACL,kBAAe,sBAAqBf,OAAQ,IAAGgE,+BAAY,EAAG;AADzD;AADiC,CAAX,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 index 6592532..79653c4 100644 --- a/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ b/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -1,8 +1,11 @@ -import isPlainObject from "is-plain-object"; +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) { + const log = requestOptions.request && requestOptions.request.log + ? requestOptions.request.log + : console; if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { requestOptions.body = JSON.stringify(requestOptions.body); @@ -15,74 +18,102 @@ export default function fetchWrapper(requestOptions) { method: requestOptions.method, body: requestOptions.body, headers: requestOptions.headers, - redirect: requestOptions.redirect - }, requestOptions.request)) - .then(response => { + redirect: requestOptions.redirect, + }, + // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)) + .then(async (response) => { url = response.url; status = response.status; for (const keyAndValue of response.headers) { headers[keyAndValue[0]] = keyAndValue[1]; } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } if (status === 204 || status === 205) { return; } - // GitHub API returns 200 for HEAD requsets + // GitHub API returns 200 for HEAD requests if (requestOptions.method === "HEAD") { if (status < 400) { return; } throw new RequestError(response.statusText, status, { - headers, - request: requestOptions + response: { + url, + status, + headers, + data: undefined, + }, + request: requestOptions, }); } if (status === 304) { throw new RequestError("Not modified", status, { - headers, - request: requestOptions + response: { + url, + status, + headers, + data: await getResponseData(response), + }, + request: requestOptions, }); } if (status >= 400) { - return response - .text() - .then(message => { - const error = new RequestError(message, status, { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, headers, - request: requestOptions - }); - try { - Object.assign(error, JSON.parse(error.message)); - } - catch (e) { - // ignore, see octokit/rest.js#684 - } - throw error; + data, + }, + request: requestOptions, }); + 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); + return getResponseData(response); }) - .then(data => { + .then((data) => { return { status, url, headers, - data + data, }; }) - .catch(error => { - if (error instanceof RequestError) { + .catch((error) => { + if (error instanceof RequestError) throw error; - } throw new RequestError(error.message, 500, { - headers, - request: requestOptions + request: requestOptions, }); }); } +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json(); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBuffer(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + // istanbul ignore else - just in case + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + // istanbul ignore next - just in case + return `Unknown error: ${JSON.stringify(data)}`; +} diff --git a/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/request/dist-src/index.js index 6a36142..2460e99 100644 --- a/node_modules/@octokit/request/dist-src/index.js +++ b/node_modules/@octokit/request/dist-src/index.js @@ -4,6 +4,6 @@ import { VERSION } from "./version"; import withDefaults from "./with-defaults"; export const request = withDefaults(endpoint, { headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` - } + "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 index 86383b1..a068c68 100644 --- a/node_modules/@octokit/request/dist-src/version.js +++ b/node_modules/@octokit/request/dist-src/version.js @@ -1 +1 @@ -export const VERSION = "0.0.0-development"; +export const VERSION = "5.6.3"; diff --git a/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/request/dist-src/with-defaults.js index 8e44f46..e206429 100644 --- a/node_modules/@octokit/request/dist-src/with-defaults.js +++ b/node_modules/@octokit/request/dist-src/with-defaults.js @@ -11,12 +11,12 @@ export default function withDefaults(oldEndpoint, newDefaults) { }; Object.assign(request, { endpoint, - defaults: withDefaults.bind(null, endpoint) + defaults: withDefaults.bind(null, endpoint), }); return endpointOptions.request.hook(request, endpointOptions); }; return Object.assign(newApi, { endpoint, - defaults: withDefaults.bind(null, 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 index 0308f69..4901c79 100644 --- a/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +++ b/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts @@ -1,6 +1,6 @@ -import { endpoint } from "./types"; -export default function fetchWrapper(requestOptions: ReturnType & { - redirect?: string; +import { EndpointInterface } from "@octokit/types"; +export default function fetchWrapper(requestOptions: ReturnType & { + redirect?: "error" | "follow" | "manual"; }): Promise<{ status: number; url: string; diff --git a/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@octokit/request/dist-types/index.d.ts index e2cff5d..1030809 100644 --- a/node_modules/@octokit/request/dist-types/index.d.ts +++ b/node_modules/@octokit/request/dist-types/index.d.ts @@ -1 +1 @@ -export declare const request: import("./types").request; +export declare const request: import("@octokit/types").RequestInterface; diff --git a/node_modules/@octokit/request/dist-types/types.d.ts b/node_modules/@octokit/request/dist-types/types.d.ts deleted file mode 100644 index f20f2b5..0000000 --- a/node_modules/@octokit/request/dist-types/types.d.ts +++ /dev/null @@ -1,152 +0,0 @@ -/// -import { Agent } from "http"; -import { endpoint } from "@octokit/endpoint"; -export interface request { - /** - * 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: Endpoint): 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?: Parameters): Promise>; - /** - * Returns a new `endpoint` with updated route and parameters - */ - defaults: (newDefaults: Parameters) => request; - /** - * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} - */ - endpoint: typeof endpoint; -} -export declare type endpoint = typeof endpoint; -/** - * Request method + URL. Example: `'GET /orgs/:org'` - */ -export declare type Route = string; -/** - * 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"; -/** - * Endpoint parameters - */ -export declare type Parameters = { - /** - * 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?: string; - /** - * 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?: OctokitRequestOptions; - /** - * 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; -}; -export declare type Endpoint = Parameters & { - method: Method; - url: Url; -}; -export declare type Defaults = Parameters & { - method: Method; - baseUrl: string; - headers: RequestHeaders & { - accept: string; - "user-agent": string; - }; - mediaType: { - format: string; - previews: string[]; - }; -}; -export declare type OctokitResponse = { - headers: ResponseHeaders; - /** - * http response code - */ - status: number; - /** - * URL of response after all redirects - */ - url: string; - /** - * This is the data you would see in https://developer.Octokit.com/v3/ - */ - data: T; -}; -export declare type AnyResponse = OctokitResponse; -export declare 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 declare type ResponseHeaders = { - [header: string]: string; -}; -export declare type Fetch = any; -export declare type Signal = any; -export declare type OctokitRequestOptions = { - /** - * 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/request/dist-types/version.d.ts b/node_modules/@octokit/request/dist-types/version.d.ts index 15711f0..5629807 100644 --- a/node_modules/@octokit/request/dist-types/version.d.ts +++ b/node_modules/@octokit/request/dist-types/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "0.0.0-development"; +export declare const VERSION = "5.6.3"; diff --git a/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@octokit/request/dist-types/with-defaults.d.ts index bca6cd0..0080469 100644 --- a/node_modules/@octokit/request/dist-types/with-defaults.d.ts +++ b/node_modules/@octokit/request/dist-types/with-defaults.d.ts @@ -1,2 +1,2 @@ -import { request, endpoint, Parameters } from "./types"; -export default function withDefaults(oldEndpoint: endpoint, newDefaults: Parameters): request; +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 index 1c3732c..44359f8 100644 --- a/node_modules/@octokit/request/dist-web/index.js +++ b/node_modules/@octokit/request/dist-web/index.js @@ -1,16 +1,19 @@ import { endpoint } from '@octokit/endpoint'; import { getUserAgent } from 'universal-user-agent'; -import isPlainObject from 'is-plain-object'; +import { isPlainObject } from 'is-plain-object'; import nodeFetch from 'node-fetch'; import { RequestError } from '@octokit/request-error'; -const VERSION = "0.0.0-development"; +const VERSION = "5.6.3"; function getBufferResponse(response) { return response.arrayBuffer(); } function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log + ? requestOptions.request.log + : console; if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { requestOptions.body = JSON.stringify(requestOptions.body); @@ -23,77 +26,105 @@ function fetchWrapper(requestOptions) { method: requestOptions.method, body: requestOptions.body, headers: requestOptions.headers, - redirect: requestOptions.redirect - }, requestOptions.request)) - .then(response => { + redirect: requestOptions.redirect, + }, + // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)) + .then(async (response) => { url = response.url; status = response.status; for (const keyAndValue of response.headers) { headers[keyAndValue[0]] = keyAndValue[1]; } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } if (status === 204 || status === 205) { return; } - // GitHub API returns 200 for HEAD requsets + // GitHub API returns 200 for HEAD requests if (requestOptions.method === "HEAD") { if (status < 400) { return; } throw new RequestError(response.statusText, status, { - headers, - request: requestOptions + response: { + url, + status, + headers, + data: undefined, + }, + request: requestOptions, }); } if (status === 304) { throw new RequestError("Not modified", status, { - headers, - request: requestOptions + response: { + url, + status, + headers, + data: await getResponseData(response), + }, + request: requestOptions, }); } if (status >= 400) { - return response - .text() - .then(message => { - const error = new RequestError(message, status, { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, headers, - request: requestOptions - }); - try { - Object.assign(error, JSON.parse(error.message)); - } - catch (e) { - // ignore, see octokit/rest.js#684 - } - throw error; + data, + }, + request: requestOptions, }); + 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); + return getResponseData(response); }) - .then(data => { + .then((data) => { return { status, url, headers, - data + data, }; }) - .catch(error => { - if (error instanceof RequestError) { + .catch((error) => { + if (error instanceof RequestError) throw error; - } throw new RequestError(error.message, 500, { - headers, - request: requestOptions + request: requestOptions, }); }); } +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json(); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + // istanbul ignore else - just in case + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + // istanbul ignore next - just in case + return `Unknown error: ${JSON.stringify(data)}`; +} function withDefaults(oldEndpoint, newDefaults) { const endpoint = oldEndpoint.defaults(newDefaults); @@ -107,20 +138,20 @@ function withDefaults(oldEndpoint, newDefaults) { }; Object.assign(request, { endpoint, - defaults: withDefaults.bind(null, endpoint) + defaults: withDefaults.bind(null, endpoint), }); return endpointOptions.request.hook(request, endpointOptions); }; return Object.assign(newApi, { endpoint, - defaults: withDefaults.bind(null, endpoint) + defaults: withDefaults.bind(null, endpoint), }); } const request = withDefaults(endpoint, { headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` - } + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}`, + }, }); export { request }; diff --git a/node_modules/@octokit/request/dist-web/index.js.map b/node_modules/@octokit/request/dist-web/index.js.map index 35561ce..b3cda51 100644 --- a/node_modules/@octokit/request/dist-web/index.js.map +++ b/node_modules/@octokit/request/dist-web/index.js.map @@ -1 +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 = \"0.0.0-development\";\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 Object.assign(error, JSON.parse(error.message));\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,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;iBACnD;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;;ACtFc,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 +{"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.6.3\";\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 const log = requestOptions.request && requestOptions.request.log\n ? requestOptions.request.log\n : console;\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 }, \n // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request))\n .then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined,\n },\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response),\n },\n request: requestOptions,\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data,\n },\n request: requestOptions,\n });\n throw error;\n }\n return getResponseData(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 throw new RequestError(error.message, 500, {\n request: requestOptions,\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n // istanbul ignore else - just in case\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n return data.message;\n }\n // istanbul ignore next - just in case\n return `Unknown error: ${JSON.stringify(data)}`;\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;;ACA3B,SAAS,iBAAiB,CAAC,QAAQ,EAAE;AACpD,IAAI,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;;ACEc,SAAS,YAAY,CAAC,cAAc,EAAE;AACrD,IAAI,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG;AACpE,UAAU,cAAc,CAAC,OAAO,CAAC,GAAG;AACpC,UAAU,OAAO,CAAC;AAClB,IAAI,IAAI,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC;AAC1C,QAAQ,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC5C,QAAQ,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAClE,KAAK;AACL,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC;AACrB,IAAI,IAAI,MAAM,CAAC;AACf,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;AACxF,IAAI,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;AACnD,QAAQ,MAAM,EAAE,cAAc,CAAC,MAAM;AACrC,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI;AACjC,QAAQ,OAAO,EAAE,cAAc,CAAC,OAAO;AACvC,QAAQ,QAAQ,EAAE,cAAc,CAAC,QAAQ;AACzC,KAAK;AACL;AACA;AACA,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AAC5B,SAAS,IAAI,CAAC,OAAO,QAAQ,KAAK;AAClC,QAAQ,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;AAC3B,QAAQ,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACjC,QAAQ,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,OAAO,EAAE;AACpD,YAAY,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,aAAa,IAAI,OAAO,EAAE;AACtC,YAAY,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAC/F,YAAY,MAAM,eAAe,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAC7D,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,kDAAkD,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAClN,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;AAC9C,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,EAAE;AAC9C,YAAY,IAAI,MAAM,GAAG,GAAG,EAAE;AAC9B,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE;AAChE,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB,GAAG;AACvB,oBAAoB,MAAM;AAC1B,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,EAAE,SAAS;AACnC,iBAAiB;AACjB,gBAAgB,OAAO,EAAE,cAAc;AACvC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,GAAG,EAAE;AAC5B,YAAY,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE;AAC3D,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB,GAAG;AACvB,oBAAoB,MAAM;AAC1B,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,EAAE,MAAM,eAAe,CAAC,QAAQ,CAAC;AACzD,iBAAiB;AACjB,gBAAgB,OAAO,EAAE,cAAc;AACvC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE;AAC3B,YAAY,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;AACzD,YAAY,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE;AACzE,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB,GAAG;AACvB,oBAAoB,MAAM;AAC1B,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI;AACxB,iBAAiB;AACjB,gBAAgB,OAAO,EAAE,cAAc;AACvC,aAAa,CAAC,CAAC;AACf,YAAY,MAAM,KAAK,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;AACzC,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK;AACxB,QAAQ,OAAO;AACf,YAAY,MAAM;AAClB,YAAY,GAAG;AACf,YAAY,OAAO;AACnB,YAAY,IAAI;AAChB,SAAS,CAAC;AACV,KAAK,CAAC;AACN,SAAS,KAAK,CAAC,CAAC,KAAK,KAAK;AAC1B,QAAQ,IAAI,KAAK,YAAY,YAAY;AACzC,YAAY,MAAM,KAAK,CAAC;AACxB,QAAQ,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE;AACnD,YAAY,OAAO,EAAE,cAAc;AACnC,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;AACD,eAAe,eAAe,CAAC,QAAQ,EAAE;AACzC,IAAI,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7D,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AAC/C,QAAQ,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,KAAK;AACL,IAAI,IAAI,CAAC,WAAW,IAAI,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACpE,QAAQ,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,KAAK;AACL,IAAI,OAAOA,iBAAS,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AACD,SAAS,cAAc,CAAC,IAAI,EAAE;AAC9B,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;AAChC,QAAQ,OAAO,IAAI,CAAC;AACpB;AACA,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE;AAC3B,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACxC,YAAY,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpF,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC;AAC5B,KAAK;AACL;AACA,IAAI,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;;ACrHc,SAAS,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE;AAC/D,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACvD,IAAI,MAAM,MAAM,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE;AAChD,QAAQ,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAClE,QAAQ,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE;AACvE,YAAY,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AACjE,SAAS;AACT,QAAQ,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK;AAC/C,YAAY,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACnF,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;AAC/B,YAAY,QAAQ;AACpB,YAAY,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACtE,KAAK,CAAC;AACN,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACnD,KAAK,CAAC,CAAC;AACP,CAAC;;ACjBW,MAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE;AAC9C,IAAI,OAAO,EAAE;AACb,QAAQ,YAAY,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,KAAK;AACL,CAAC,CAAC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/request/node_modules/@octokit/request-error/LICENSE new file mode 100644 index 0000000..ef2c18e --- /dev/null +++ b/node_modules/@octokit/request/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/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/request/node_modules/@octokit/request-error/README.md new file mode 100644 index 0000000..1bf5384 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/@octokit/request-error/README.md @@ -0,0 +1,67 @@ +# http-error.js + +> Error class for Octokit request errors + +[![@latest](https://img.shields.io/npm/v/@octokit/request-error.svg)](https://www.npmjs.com/package/@octokit/request-error) +[![Build Status](https://github.com/octokit/request-error.js/workflows/Test/badge.svg)](https://github.com/octokit/request-error.js/actions?query=workflow%3ATest) + +## Usage + + + + + + +
+Browsers + +Load @octokit/request-error directly from cdn.skypack.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.request.method; // POST +error.request.url; // https://api.github.com/foo +error.request.body; // { bar: 'baz' } +error.request.headers; // { authorization: 'token [REDACTED]' } +error.response; // { url, status, headers, data } +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js new file mode 100644 index 0000000..619f462 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js @@ -0,0 +1,74 @@ +'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 logOnceCode = once(deprecation => console.warn(deprecation)); +const logOnceHeaders = 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; + let headers; + + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } // 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; // deprecations + + Object.defineProperty(this, "code", { + get() { + logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + } + + }); + } + +} + +exports.RequestError = RequestError; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js.map b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js.map new file mode 100644 index 0000000..9134ddb --- /dev/null +++ b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n // deprecations\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n },\n });\n }\n}\n"],"names":["logOnceCode","once","deprecation","console","warn","logOnceHeaders","RequestError","Error","constructor","message","statusCode","options","captureStackTrace","name","status","headers","response","requestCopy","Object","assign","request","authorization","replace","url","defineProperty","get","Deprecation"],"mappings":";;;;;;;;;AAEA,MAAMA,WAAW,GAAGC,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAAxB;AACA,MAAMG,cAAc,GAAGJ,IAAI,CAAEC,WAAD,IAAiBC,OAAO,CAACC,IAAR,CAAaF,WAAb,CAAlB,CAA3B;AACA;AACA;AACA;;AACO,MAAMI,YAAN,SAA2BC,KAA3B,CAAiC;AACpCC,EAAAA,WAAW,CAACC,OAAD,EAAUC,UAAV,EAAsBC,OAAtB,EAA+B;AACtC,UAAMF,OAAN,EADsC;;AAGtC;;AACA,QAAIF,KAAK,CAACK,iBAAV,EAA6B;AACzBL,MAAAA,KAAK,CAACK,iBAAN,CAAwB,IAAxB,EAA8B,KAAKJ,WAAnC;AACH;;AACD,SAAKK,IAAL,GAAY,WAAZ;AACA,SAAKC,MAAL,GAAcJ,UAAd;AACA,QAAIK,OAAJ;;AACA,QAAI,aAAaJ,OAAb,IAAwB,OAAOA,OAAO,CAACI,OAAf,KAA2B,WAAvD,EAAoE;AAChEA,MAAAA,OAAO,GAAGJ,OAAO,CAACI,OAAlB;AACH;;AACD,QAAI,cAAcJ,OAAlB,EAA2B;AACvB,WAAKK,QAAL,GAAgBL,OAAO,CAACK,QAAxB;AACAD,MAAAA,OAAO,GAAGJ,OAAO,CAACK,QAAR,CAAiBD,OAA3B;AACH,KAhBqC;;;AAkBtC,UAAME,WAAW,GAAGC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBR,OAAO,CAACS,OAA1B,CAApB;;AACA,QAAIT,OAAO,CAACS,OAAR,CAAgBL,OAAhB,CAAwBM,aAA5B,EAA2C;AACvCJ,MAAAA,WAAW,CAACF,OAAZ,GAAsBG,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBR,OAAO,CAACS,OAAR,CAAgBL,OAAlC,EAA2C;AAC7DM,QAAAA,aAAa,EAAEV,OAAO,CAACS,OAAR,CAAgBL,OAAhB,CAAwBM,aAAxB,CAAsCC,OAAtC,CAA8C,MAA9C,EAAsD,aAAtD;AAD8C,OAA3C,CAAtB;AAGH;;AACDL,IAAAA,WAAW,CAACM,GAAZ,GAAkBN,WAAW,CAACM,GAAZ;AAEd;AAFc,KAGbD,OAHa,CAGL,sBAHK,EAGmB,0BAHnB;AAKd;AALc,KAMbA,OANa,CAML,qBANK,EAMkB,yBANlB,CAAlB;AAOA,SAAKF,OAAL,GAAeH,WAAf,CA/BsC;;AAiCtCC,IAAAA,MAAM,CAACM,cAAP,CAAsB,IAAtB,EAA4B,MAA5B,EAAoC;AAChCC,MAAAA,GAAG,GAAG;AACFzB,QAAAA,WAAW,CAAC,IAAI0B,uBAAJ,CAAgB,0EAAhB,CAAD,CAAX;AACA,eAAOhB,UAAP;AACH;;AAJ+B,KAApC;AAMAQ,IAAAA,MAAM,CAACM,cAAP,CAAsB,IAAtB,EAA4B,SAA5B,EAAuC;AACnCC,MAAAA,GAAG,GAAG;AACFpB,QAAAA,cAAc,CAAC,IAAIqB,uBAAJ,CAAgB,uFAAhB,CAAD,CAAd;AACA,eAAOX,OAAO,IAAI,EAAlB;AACH;;AAJkC,KAAvC;AAMH;;AA9CmC;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/index.js new file mode 100644 index 0000000..5eb1927 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/index.js @@ -0,0 +1,55 @@ +import { Deprecation } from "deprecation"; +import once from "once"; +const logOnceCode = once((deprecation) => console.warn(deprecation)); +const logOnceHeaders = 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; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + // 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; + // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + }, + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + }, + }); + } +} diff --git a/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/types.js b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/types.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-src/types.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/index.d.ts b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/index.d.ts new file mode 100644 index 0000000..d6e089c --- /dev/null +++ b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/index.d.ts @@ -0,0 +1,33 @@ +import { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; +import { RequestErrorOptions } from "./types"; +/** + * Error with extra properties to help with debugging + */ +export declare class RequestError extends Error { + name: "HttpError"; + /** + * http status code + */ + status: number; + /** + * http status code + * + * @deprecated `error.code` is deprecated in favor of `error.status` + */ + code: number; + /** + * Request options that lead to the error. + */ + request: RequestOptions; + /** + * error response headers + * + * @deprecated `error.headers` is deprecated in favor of `error.response.headers` + */ + headers: ResponseHeaders; + /** + * Response object if a response was received + */ + response?: OctokitResponse; + constructor(message: string, statusCode: number, options: RequestErrorOptions); +} diff --git a/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/types.d.ts new file mode 100644 index 0000000..7785231 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -0,0 +1,9 @@ +import { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; +export declare type RequestErrorOptions = { + /** @deprecated set `response` instead */ + headers?: ResponseHeaders; + request: RequestOptions; +} | { + response: OctokitResponse; + request: RequestOptions; +}; diff --git a/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js new file mode 100644 index 0000000..0fb64be --- /dev/null +++ b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js @@ -0,0 +1,59 @@ +import { Deprecation } from 'deprecation'; +import once from 'once'; + +const logOnceCode = once((deprecation) => console.warn(deprecation)); +const logOnceHeaders = 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; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + // 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; + // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + }, + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + }, + }); + } +} + +export { RequestError }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js.map b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js.map new file mode 100644 index 0000000..78f677f --- /dev/null +++ b/node_modules/@octokit/request/node_modules/@octokit/request-error/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n // deprecations\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n },\n });\n }\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACrE,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACxE;AACA;AACA;AACO,MAAM,YAAY,SAAS,KAAK,CAAC;AACxC,IAAI,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;AAC9C,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,QAAQ,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;AAChC,QAAQ,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;AACjC,QAAQ,IAAI,OAAO,CAAC;AACpB,QAAQ,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE;AAC5E,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtC,SAAS;AACT,QAAQ,IAAI,UAAU,IAAI,OAAO,EAAE;AACnC,YAAY,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC7C,YAAY,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/C,SAAS;AACT;AACA,QAAQ,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/D,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;AACnD,YAAY,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;AAC7E,gBAAgB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;AACnG,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG;AACzC;AACA;AACA,aAAa,OAAO,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;AACxE;AACA;AACA,aAAa,OAAO,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;AACnC;AACA,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;AAC5C,YAAY,GAAG,GAAG;AAClB,gBAAgB,WAAW,CAAC,IAAI,WAAW,CAAC,0EAA0E,CAAC,CAAC,CAAC;AACzH,gBAAgB,OAAO,UAAU,CAAC;AAClC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;AAC/C,YAAY,GAAG,GAAG;AAClB,gBAAgB,cAAc,CAAC,IAAI,WAAW,CAAC,uFAAuF,CAAC,CAAC,CAAC;AACzI,gBAAgB,OAAO,OAAO,IAAI,EAAE,CAAC;AACrC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/request/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/request/node_modules/@octokit/request-error/package.json new file mode 100644 index 0000000..2f5b239 --- /dev/null +++ b/node_modules/@octokit/request/node_modules/@octokit/request-error/package.json @@ -0,0 +1,47 @@ +{ + "name": "@octokit/request-error", + "description": "Error class for Octokit request errors", + "version": "2.1.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "pika": true, + "sideEffects": false, + "keywords": [ + "octokit", + "github", + "api", + "error" + ], + "repository": "github:octokit/request-error.js", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "devDependencies": { + "@pika/pack": "^0.5.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-bundle-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/jest": "^26.0.0", + "@types/node": "^14.0.4", + "@types/once": "^1.4.0", + "jest": "^27.0.0", + "pika-plugin-unpkg-field": "^1.1.0", + "prettier": "2.3.1", + "semantic-release": "^17.0.0", + "ts-jest": "^27.0.0-next.12", + "typescript": "^4.0.0" + }, + "publishConfig": { + "access": "public" + }, + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "main": "dist-node/index.js", + "module": "dist-web/index.js" +} 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 index d00d14c..170ae0c 100644 --- a/node_modules/@octokit/request/node_modules/universal-user-agent/README.md +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/README.md @@ -3,7 +3,7 @@ > 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) +[![Build Status](https://github.com/gr2m/universal-user-agent/workflows/Test/badge.svg)](https://github.com/gr2m/universal-user-agent/actions?query=workflow%3ATest+branch%3Amaster) [![Greenkeeper](https://badges.greenkeeper.io/gr2m/universal-user-agent.svg)](https://greenkeeper.io/) ```js 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 index 80a0710..8865c7c 100644 --- 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 @@ -2,20 +2,16 @@ 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 "; - } + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } - throw error; + if (typeof process === "object" && process.version !== undefined) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; } + + return ""; } exports.getUserAgent = getUserAgent; 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 index aff09ec..0a2cead 100644 --- 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 @@ -1 +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 +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n if (typeof process === \"object\" && process.version !== undefined) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n return \"\";\n}\n"],"names":["getUserAgent","navigator","userAgent","process","version","undefined","substr","platform","arch"],"mappings":";;;;AAAO,SAASA,YAAT,GAAwB;AAC3B,MAAI,OAAOC,SAAP,KAAqB,QAArB,IAAiC,eAAeA,SAApD,EAA+D;AAC3D,WAAOA,SAAS,CAACC,SAAjB;AACH;;AACD,MAAI,OAAOC,OAAP,KAAmB,QAAnB,IAA+BA,OAAO,CAACC,OAAR,KAAoBC,SAAvD,EAAkE;AAC9D,WAAQ,WAAUF,OAAO,CAACC,OAAR,CAAgBE,MAAhB,CAAuB,CAAvB,CAA0B,KAAIH,OAAO,CAACI,QAAS,KAAIJ,OAAO,CAACK,IAAK,GAAlF;AACH;;AACD,SAAO,4BAAP;AACH;;;;"} \ 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 deleted file mode 100644 index 6f52232..0000000 --- a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/browser.js +++ /dev/null @@ -1,3 +0,0 @@ -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 index c6253f5..3006e37 100644 --- 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 @@ -1 +1,9 @@ -export { getUserAgent } from "./node"; +export function getUserAgent() { + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + if (typeof process === "object" && process.version !== undefined) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + return ""; +} 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 deleted file mode 100644 index 8b70a03..0000000 --- a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-src/node.js +++ /dev/null @@ -1,12 +0,0 @@ -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 deleted file mode 100644 index a7bb1c4..0000000 --- a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/browser.d.ts +++ /dev/null @@ -1 +0,0 @@ -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 index c6253f5..a7bb1c4 100644 --- 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 @@ -1 +1 @@ -export { getUserAgent } from "./node"; +export declare function getUserAgent(): string; 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 deleted file mode 100644 index a7bb1c4..0000000 --- a/node_modules/@octokit/request/node_modules/universal-user-agent/dist-types/node.d.ts +++ /dev/null @@ -1 +0,0 @@ -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 index 11ec79b..fc742b9 100644 --- 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 @@ -1,5 +1,11 @@ function getUserAgent() { - return navigator.userAgent; + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + if (typeof process === "object" && process.version !== undefined) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + return ""; } export { getUserAgent }; 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 index 549407e..2cdf193 100644 --- 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 @@ -1 +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 +{"version":3,"file":"index.js","sources":["../dist-src/index.js"],"sourcesContent":["export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n if (typeof process === \"object\" && process.version !== undefined) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n return \"\";\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAG;AAC/B,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,WAAW,IAAI,SAAS,EAAE;AACnE,QAAQ,OAAO,SAAS,CAAC,SAAS,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;AACtE,QAAQ,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7F,KAAK;AACL,IAAI,OAAO,4BAA4B,CAAC;AACxC;;;;"} \ 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 index 4a43790..c386163 100644 --- a/node_modules/@octokit/request/node_modules/universal-user-agent/package.json +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/package.json @@ -1,7 +1,7 @@ { "name": "universal-user-agent", "description": "Get a user agent string in both browser and node", - "version": "4.0.0", + "version": "6.0.1", "license": "ISC", "files": [ "dist-*/", @@ -11,27 +11,21 @@ "sideEffects": false, "keywords": [], "repository": "https://github.com/gr2m/universal-user-agent.git", - "dependencies": { - "os-name": "^3.1.0" - }, + "dependencies": {}, "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", + "@pika/plugin-build-node": "^0.9.1", + "@pika/plugin-ts-standard-pkg": "^0.9.1", + "@types/jest": "^25.1.0", "jest": "^24.9.0", - "prettier": "^1.18.2", - "semantic-release": "^15.9.15", - "ts-jest": "^24.0.2", + "prettier": "^2.0.0", + "semantic-release": "^17.0.5", + "ts-jest": "^26.0.0", "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 index ea69a58..e38c955 100644 --- a/node_modules/@octokit/request/package.json +++ b/node_modules/@octokit/request/package.json @@ -1,7 +1,7 @@ { "name": "@octokit/request", - "description": "Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node", - "version": "5.1.0", + "description": "Send parameterized requests to GitHub's APIs with sensible defaults in browsers and Node", + "version": "5.6.3", "license": "MIT", "files": [ "dist-*/", @@ -15,43 +15,36 @@ "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" - }, + "repository": "github:octokit/request.js", "dependencies": { - "@octokit/endpoint": "^5.1.0", - "@octokit/request-error": "^1.0.1", - "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" + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" }, "devDependencies": { - "@octokit/auth-app": "^2.1.2", + "@octokit/auth-app": "^3.0.0", "@pika/pack": "^0.5.0", - "@pika/plugin-build-node": "^0.6.0", - "@pika/plugin-build-web": "^0.6.0", - "@pika/plugin-ts-standard-pkg": "^0.6.0", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", "@types/fetch-mock": "^7.2.4", - "@types/jest": "^24.0.12", - "@types/lolex": "^3.1.1", - "@types/node": "^12.0.3", + "@types/jest": "^27.0.0", + "@types/lolex": "^5.1.0", + "@types/node": "^14.0.0", "@types/node-fetch": "^2.3.3", "@types/once": "^1.4.0", - "fetch-mock": "^7.2.0", - "jest": "^24.7.1", - "lolex": "^4.2.0", - "prettier": "^1.17.0", - "semantic-release": "^15.10.5", + "fetch-mock": "^9.3.1", + "jest": "^27.0.0", + "lolex": "^6.0.0", + "prettier": "2.4.1", + "semantic-release": "^18.0.0", "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^24.0.2", - "typescript": "^3.4.5" + "string-to-arraybuffer": "^1.0.2", + "ts-jest": "^27.0.0", + "typescript": "^4.0.2" }, "publishConfig": { "access": "public" @@ -60,8 +53,4 @@ "types": "dist-types/index.d.ts", "main": "dist-node/index.js", "module": "dist-web/index.js" - -,"_resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.1.0.tgz" -,"_integrity": "sha512-I15T9PwjFs4tbWyhtFU2Kq7WDPidYMvRB7spmxoQRZfxSmiqullG+Nz+KbSmpkfnlvHwTr1e31R5WReFRKMXjg==" -,"_from": "@octokit/request@5.1.0" -} \ No newline at end of file +} diff --git a/node_modules/@octokit/rest/README.md b/node_modules/@octokit/rest/README.md index 378def2..2dd4397 100644 --- a/node_modules/@octokit/rest/README.md +++ b/node_modules/@octokit/rest/README.md @@ -3,11 +3,11 @@ > 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://travis-ci.org/octokit/rest.js.svg?branch=master)](https://travis-ci.org/octokit/rest.js) -[![Coverage Status](https://coveralls.io/repos/github/octokit/rest.js/badge.svg)](https://coveralls.io/github/octokit/rest.js) +![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 ``` @@ -15,16 +15,18 @@ npm install @octokit/rest ## Usage ```js -const Octokit = require('@octokit/rest') -const octokit = new Octokit() +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 -}) +octokit.repos + .listForOrg({ + org: "octokit", + type: "public" + }) + .then(({ data }) => { + // handle data + }); ``` See https://octokit.github.io/rest.js/ for full documentation. diff --git a/node_modules/@octokit/rest/index.d.ts b/node_modules/@octokit/rest/index.d.ts index f353a53..d578583 100644 --- a/node_modules/@octokit/rest/index.d.ts +++ b/node_modules/@octokit/rest/index.d.ts @@ -1,3 +1,9 @@ +/** + * 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. */ @@ -44,11 +50,13 @@ declare namespace Octokit { export interface EmptyParams {} export interface Options { + authStrategy?: any; auth?: | string | { username: string; password: string; on2fa: () => Promise } | { clientId: string; clientSecret: string } - | { (): string | Promise }; + | { (): string | Promise } + | any; userAgent?: string; previews?: string[]; baseUrl?: string; @@ -62,9 +70,18 @@ declare namespace Octokit { agent?: http.Agent; timeout?: number; }; - timeout?: number; // Deprecated - headers?: { [header: string]: any }; // Deprecated - agent?: http.Agent; // Deprecated + /** + * @deprecated Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request + */ + timeout?: number; + /** + * @deprecated Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request + */ + headers?: { [header: string]: any }; + /** + * @deprecated Use {request: {agent}} instead. See https://github.com/octokit/request.js#request + */ + agent?: http.Agent; [option: string]: any; } @@ -89,11 +106,65 @@ declare namespace Octokit { export interface RequestOptions { method?: RequestMethod; url?: string; - headers?: { [header: string]: any }; + headers?: RequestHeaders; body?: any; - request?: { [option: string]: 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; @@ -172,7 +243,7 @@ declare namespace Octokit { export type Plugin = (octokit: Octokit, options: Octokit.Options) => void; - // See https://github.com/octokit/request.js#octokitrequest + // See https://github.com/octokit/request.js#request export type HookOptions = { baseUrl: string; headers: { [header: string]: string }; @@ -207,685 +278,745 @@ declare namespace Octokit { ( Route: string, EndpointOptions?: Octokit.EndpointOptions, - callback?: (response: Octokit.AnyResponse) => any + callback?: (response: Octokit.AnyResponse, done: () => void) => any ): Promise; ( EndpointOptions: Octokit.EndpointOptions, - callback?: (response: Octokit.AnyResponse) => any + callback?: (response: Octokit.AnyResponse, done: () => void) => any ): Promise; iterator: ( EndpointOptions: Octokit.EndpointOptions ) => AsyncIterableIterator; } - type UsersDeletePublicKeyResponse = {}; - type UsersCreatePublicKeyResponse = { - id: number; - key: string; - url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; + // response types + type UsersUpdateAuthenticatedResponsePlan = { + collaborators: number; + name: string; + private_repos: number; + space: number; }; - type UsersGetPublicKeyResponse = { - id: number; - key: string; - url: string; - title: string; - verified: boolean; + type UsersUpdateAuthenticatedResponse = { + avatar_url: string; + bio: string; + blog: string; + collaborators: number; + company: string; created_at: string; - read_only: boolean; - }; - type UsersListPublicKeysResponseItem = { + 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; - key: string; + 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; - title: string; + }; + type UsersTogglePrimaryEmailVisibilityResponseItem = { + email: string; + primary: boolean; verified: boolean; - created_at: string; - read_only: boolean; + visibility: string; }; type UsersListPublicKeysForUserResponseItem = { id: number; key: string }; - type UsersDeleteGpgKeyResponse = {}; - type UsersCreateGpgKeyResponseSubkeysItem = { - id: number; - primary_key_id: number; - key_id: string; - public_key: string; - emails: Array; - subkeys: Array; - can_sign: boolean; - can_encrypt_comms: boolean; - can_encrypt_storage: boolean; - can_certify: boolean; - created_at: string; - expires_at: null; - }; - type UsersCreateGpgKeyResponseEmailsItem = { + type UsersListPublicKeysResponseItem = { key: string; key_id: string }; + type UsersListPublicEmailsResponseItem = { email: string; + primary: boolean; verified: boolean; + visibility: string; }; - type UsersCreateGpgKeyResponse = { - id: number; - primary_key_id: null; - key_id: string; - public_key: string; - emails: Array; - subkeys: Array; - can_sign: boolean; + type UsersListGpgKeysForUserResponseItemSubkeysItem = { + can_certify: boolean; can_encrypt_comms: boolean; can_encrypt_storage: boolean; - can_certify: boolean; + can_sign: boolean; created_at: string; + emails: Array; expires_at: null; - }; - type UsersGetGpgKeyResponseSubkeysItem = { id: number; - primary_key_id: number; key_id: string; + primary_key_id: number; public_key: string; - emails: Array; subkeys: Array; - can_sign: boolean; + }; + type UsersListGpgKeysForUserResponseItemEmailsItem = { + email: string; + verified: boolean; + }; + type UsersListGpgKeysForUserResponseItem = { + can_certify: boolean; can_encrypt_comms: boolean; can_encrypt_storage: boolean; - can_certify: boolean; + can_sign: boolean; created_at: string; + emails: Array; expires_at: null; - }; - type UsersGetGpgKeyResponseEmailsItem = { email: string; verified: boolean }; - type UsersGetGpgKeyResponse = { id: number; - primary_key_id: null; key_id: string; + primary_key_id: null; public_key: string; - emails: Array; - subkeys: Array; - can_sign: boolean; + subkeys: Array; + }; + type UsersListGpgKeysResponseItemSubkeysItem = { + can_certify: boolean; can_encrypt_comms: boolean; can_encrypt_storage: boolean; - can_certify: boolean; + can_sign: boolean; created_at: string; + emails: Array; expires_at: null; - }; - type UsersListGpgKeysResponseItemSubkeysItem = { id: number; - primary_key_id: number; key_id: string; + primary_key_id: number; public_key: string; - emails: Array; subkeys: Array; - can_sign: boolean; - can_encrypt_comms: boolean; - can_encrypt_storage: boolean; - can_certify: boolean; - created_at: string; - expires_at: null; }; type UsersListGpgKeysResponseItemEmailsItem = { email: string; verified: boolean; }; type UsersListGpgKeysResponseItem = { - id: number; - primary_key_id: null; - key_id: string; - public_key: string; - emails: Array; - subkeys: Array; - can_sign: boolean; - can_encrypt_comms: boolean; - can_encrypt_storage: boolean; can_certify: boolean; - created_at: string; - expires_at: null; - }; - type UsersListGpgKeysForUserResponseItemSubkeysItem = { - id: number; - primary_key_id: number; - key_id: string; - public_key: string; - emails: Array; - subkeys: Array; - can_sign: boolean; can_encrypt_comms: boolean; can_encrypt_storage: boolean; - can_certify: boolean; + can_sign: boolean; created_at: string; + emails: Array; expires_at: null; - }; - type UsersListGpgKeysForUserResponseItemEmailsItem = { - email: string; - verified: boolean; - }; - type UsersListGpgKeysForUserResponseItem = { id: number; - primary_key_id: null; key_id: string; + primary_key_id: null; public_key: string; - emails: Array; - subkeys: Array; - can_sign: boolean; - can_encrypt_comms: boolean; - can_encrypt_storage: boolean; - can_certify: boolean; - created_at: string; - expires_at: null; + subkeys: Array; }; - type UsersUnfollowResponse = {}; - type UsersFollowResponse = {}; - type UsersListFollowingForAuthenticatedUserResponseItem = { - login: string; - id: number; - node_id: string; + type UsersListFollowingForUserResponseItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type UsersListFollowingForUserResponseItem = { - login: string; - id: number; - node_id: string; + type UsersListFollowingForAuthenticatedUserResponseItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type UsersListFollowersForAuthenticatedUserResponseItem = { - login: string; - id: number; - node_id: string; + type UsersListFollowersForUserResponseItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type UsersListFollowersForUserResponseItem = { - login: string; - id: number; - node_id: string; + type UsersListFollowersForAuthenticatedUserResponseItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type UsersTogglePrimaryEmailVisibilityResponseItem = { - email: string; - primary: boolean; - verified: boolean; - visibility: string; - }; - type UsersDeleteEmailsResponse = {}; - type UsersAddEmailsResponseItem = { - email: string; - primary: boolean; - verified: boolean; - visibility: string | null; - }; - type UsersListPublicEmailsResponseItem = { - email: string; - verified: boolean; - primary: boolean; - visibility: string; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; type UsersListEmailsResponseItem = { email: string; - verified: boolean; primary: boolean; + verified: boolean; visibility: string; }; - type UsersUnblockResponse = {}; - type UsersBlockResponse = {}; - type UsersCheckBlockedResponse = {}; type UsersListBlockedResponseItem = { - login: string; - id: number; - node_id: string; avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; type UsersListResponseItem = { - login: string; - id: number; - node_id: string; avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type UsersUpdateAuthenticatedResponsePlan = { - name: string; - space: number; - private_repos: number; - collaborators: number; - }; - type UsersUpdateAuthenticatedResponse = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - name: string; - company: string; - blog: string; - location: string; - email: string; - hireable: boolean; - bio: string; - public_repos: number; - public_gists: number; - followers: number; - following: number; + url: string; + }; + type UsersGetPublicKeyResponse = { key: string; key_id: string }; + type UsersGetGpgKeyResponseSubkeysItem = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; created_at: string; - updated_at: string; - private_gists: number; - total_private_repos: number; - owned_private_repos: number; - disk_usage: number; + 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; - two_factor_authentication: boolean; - plan: UsersUpdateAuthenticatedResponsePlan; + name: string; + private_repos: number; + space: number; }; type UsersGetByUsernameResponse = { - login: string; - id: number; - node_id: string; avatar_url: string; - gravatar_id: string; - url: string; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + hireable: boolean; + html_url: string; + id: number; + location: string; + login: string; + name: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; + public_gists: number; + public_repos: number; received_events_url: string; - type: 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; - company: string; + private_repos: number; + space: number; + }; + type UsersGetAuthenticatedResponse = { + avatar_url: string; + bio: string; blog: string; - location: string; + collaborators?: number; + company: string; + created_at: string; + disk_usage?: number; email: string; - hireable: boolean; - bio: string; - public_repos: number; - public_gists: number; + events_url: string; followers: number; - following: number; - created_at: string; - updated_at: string; - }; - type TeamsListPendingInvitationsResponseItemInviter = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; followers_url: string; + following: number; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + hireable: boolean; + html_url: string; + id: number; + location: string; + login: string; + name: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; + owned_private_repos?: number; + plan?: UsersGetAuthenticatedResponsePlan; + private_gists?: number; + public_gists: number; + public_repos: number; received_events_url: string; - type: 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 TeamsListPendingInvitationsResponseItem = { + type UsersCreatePublicKeyResponse = { key: string; key_id: string }; + 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; - login: string; + key_id: string; + primary_key_id: number; + public_key: string; + subkeys: Array; + }; + type UsersCreateGpgKeyResponseEmailsItem = { email: string; - role: string; + verified: boolean; + }; + type UsersCreateGpgKeyResponse = { + can_certify: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_sign: boolean; created_at: string; - inviter: TeamsListPendingInvitationsResponseItemInviter; - team_count: number; - invitation_team_url: string; + emails: Array; + expires_at: null; + id: number; + key_id: string; + primary_key_id: null; + public_key: string; + subkeys: Array; }; - type TeamsRemoveMembershipResponse = {}; - type TeamsRemoveMemberResponse = {}; - type TeamsAddMemberResponse = {}; - type TeamsListMembersResponseItem = { + type UsersAddEmailsResponseItem = { + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; + }; + type TeamsUpdateLegacyResponseOrganization = { + 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 TeamsUpdateLegacyResponse = { + created_at: string; + description: string; + html_url: string; id: number; + members_count: number; + members_url: string; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + organization: TeamsUpdateLegacyResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; url: string; + }; + type TeamsUpdateInOrgResponseOrganization = { + 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; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_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; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type TeamsDeleteDiscussionResponse = {}; - type TeamsUpdateDiscussionResponseReactions = { + type TeamsUpdateInOrgResponse = { + created_at: string; + description: string; + html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; + node_id: string; + organization: TeamsUpdateInOrgResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; url: string; - total_count: number; + }; + type TeamsUpdateDiscussionLegacyResponseReactions = { "+1": number; "-1": number; - laugh: number; confused: number; heart: number; hooray: number; + laugh: number; + total_count: number; + url: string; }; - type TeamsUpdateDiscussionResponseAuthor = { - login: string; - id: number; - node_id: string; + type TeamsUpdateDiscussionLegacyResponseAuthor = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type TeamsUpdateDiscussionResponse = { - author: TeamsUpdateDiscussionResponseAuthor; + type TeamsUpdateDiscussionLegacyResponse = { + author: TeamsUpdateDiscussionLegacyResponseAuthor; body: string; body_html: string; body_version: string; comments_count: number; comments_url: string; created_at: string; - last_edited_at: string; html_url: string; + last_edited_at: string; node_id: string; number: number; pinned: boolean; private: boolean; + reactions: TeamsUpdateDiscussionLegacyResponseReactions; team_url: string; title: string; updated_at: string; url: string; - reactions: TeamsUpdateDiscussionResponseReactions; }; - type TeamsCreateDiscussionResponseReactions = { - url: string; - total_count: number; + type TeamsUpdateDiscussionInOrgResponseReactions = { "+1": number; "-1": number; - laugh: number; confused: number; heart: number; hooray: number; + laugh: number; + total_count: number; + url: string; }; - type TeamsCreateDiscussionResponseAuthor = { - login: string; - id: number; - node_id: string; + type TeamsUpdateDiscussionInOrgResponseAuthor = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type TeamsCreateDiscussionResponse = { - author: TeamsCreateDiscussionResponseAuthor; + type TeamsUpdateDiscussionInOrgResponse = { + author: TeamsUpdateDiscussionInOrgResponseAuthor; body: string; body_html: string; body_version: string; comments_count: number; comments_url: string; created_at: string; - last_edited_at: null; html_url: string; + last_edited_at: string; node_id: string; number: number; pinned: boolean; private: boolean; + reactions: TeamsUpdateDiscussionInOrgResponseReactions; team_url: string; title: string; updated_at: string; url: string; - reactions: TeamsCreateDiscussionResponseReactions; }; - type TeamsGetDiscussionResponseReactions = { - url: string; - total_count: number; + type TeamsUpdateDiscussionCommentLegacyResponseReactions = { "+1": number; "-1": number; - laugh: number; confused: number; heart: number; hooray: number; + laugh: number; + total_count: number; + url: string; }; - type TeamsGetDiscussionResponseAuthor = { - login: string; - id: number; - node_id: string; + type TeamsUpdateDiscussionCommentLegacyResponseAuthor = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type TeamsGetDiscussionResponse = { - author: TeamsGetDiscussionResponseAuthor; + type TeamsUpdateDiscussionCommentLegacyResponse = { + author: TeamsUpdateDiscussionCommentLegacyResponseAuthor; body: string; body_html: string; body_version: string; - comments_count: number; - comments_url: string; created_at: string; - last_edited_at: null; + discussion_url: string; html_url: string; + last_edited_at: string; node_id: string; number: number; - pinned: boolean; - private: boolean; - team_url: string; - title: string; + reactions: TeamsUpdateDiscussionCommentLegacyResponseReactions; updated_at: string; url: string; - reactions: TeamsGetDiscussionResponseReactions; }; - type TeamsListDiscussionsResponseItemReactions = { - url: string; - total_count: number; + type TeamsUpdateDiscussionCommentInOrgResponseReactions = { "+1": number; "-1": number; - laugh: number; confused: number; heart: number; hooray: number; + laugh: number; + total_count: number; + url: string; }; - type TeamsListDiscussionsResponseItemAuthor = { - login: string; - id: number; - node_id: string; + type TeamsUpdateDiscussionCommentInOrgResponseAuthor = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type TeamsListDiscussionsResponseItem = { - author: TeamsListDiscussionsResponseItemAuthor; + type TeamsUpdateDiscussionCommentInOrgResponse = { + author: TeamsUpdateDiscussionCommentInOrgResponseAuthor; body: string; body_html: string; body_version: string; - comments_count: number; - comments_url: string; created_at: string; - last_edited_at: null; + discussion_url: string; html_url: string; + last_edited_at: string; node_id: string; number: number; - pinned: boolean; - private: boolean; - team_url: string; - title: string; + reactions: TeamsUpdateDiscussionCommentInOrgResponseReactions; updated_at: string; url: string; - reactions: TeamsListDiscussionsResponseItemReactions; }; - type TeamsDeleteDiscussionCommentResponse = {}; type TeamsUpdateDiscussionCommentResponseReactions = { - url: string; - total_count: number; "+1": number; "-1": number; - laugh: number; confused: number; heart: number; hooray: number; + laugh: number; + total_count: number; + url: string; }; type TeamsUpdateDiscussionCommentResponseAuthor = { - login: string; - id: number; - node_id: string; avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; type TeamsUpdateDiscussionCommentResponse = { author: TeamsUpdateDiscussionCommentResponseAuthor; @@ -893,2845 +1024,3181 @@ declare namespace Octokit { body_html: string; body_version: string; created_at: string; - last_edited_at: string; discussion_url: string; html_url: string; + last_edited_at: string; node_id: string; number: number; + reactions: TeamsUpdateDiscussionCommentResponseReactions; updated_at: string; url: string; - reactions: TeamsUpdateDiscussionCommentResponseReactions; }; - type TeamsCreateDiscussionCommentResponseReactions = { - url: string; - total_count: number; + type TeamsUpdateDiscussionResponseReactions = { "+1": number; "-1": number; - laugh: number; confused: number; heart: number; hooray: number; + laugh: number; + total_count: number; + url: string; }; - type TeamsCreateDiscussionCommentResponseAuthor = { - login: string; - id: number; - node_id: string; + type TeamsUpdateDiscussionResponseAuthor = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type TeamsCreateDiscussionCommentResponse = { - author: TeamsCreateDiscussionCommentResponseAuthor; + type TeamsUpdateDiscussionResponse = { + author: TeamsUpdateDiscussionResponseAuthor; body: string; body_html: string; body_version: string; + comments_count: number; + comments_url: string; created_at: string; - last_edited_at: null; - discussion_url: 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; - reactions: TeamsCreateDiscussionCommentResponseReactions; - }; - type TeamsGetDiscussionCommentResponseReactions = { - url: string; - total_count: number; - "+1": number; - "-1": number; - laugh: number; - confused: number; - heart: number; - hooray: number; }; - type TeamsGetDiscussionCommentResponseAuthor = { - login: string; - id: number; - node_id: string; + type TeamsUpdateResponseOrganization = { avatar_url: string; - gravatar_id: string; - 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; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_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; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type TeamsGetDiscussionCommentResponse = { - author: TeamsGetDiscussionCommentResponseAuthor; - body: string; - body_html: string; - body_version: string; + type TeamsUpdateResponse = { created_at: string; - last_edited_at: null; - discussion_url: string; + description: string; html_url: string; + id: number; + members_count: number; + members_url: string; + name: string; node_id: string; - number: number; + organization: TeamsUpdateResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; updated_at: string; url: string; - reactions: TeamsGetDiscussionCommentResponseReactions; }; - type TeamsListDiscussionCommentsResponseItemReactions = { - url: string; - total_count: number; - "+1": number; - "-1": number; - laugh: number; - confused: number; - heart: number; - hooray: number; + type TeamsReviewProjectLegacyResponsePermissions = { + admin: boolean; + read: boolean; + write: boolean; }; - type TeamsListDiscussionCommentsResponseItemAuthor = { - login: string; - id: number; - node_id: string; + type TeamsReviewProjectLegacyResponseCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type TeamsListDiscussionCommentsResponseItem = { - author: TeamsListDiscussionCommentsResponseItemAuthor; + type TeamsReviewProjectLegacyResponse = { body: string; - body_html: string; - body_version: string; + columns_url: string; created_at: string; - last_edited_at: null; - discussion_url: string; + creator: TeamsReviewProjectLegacyResponseCreator; html_url: string; + id: number; + name: string; node_id: string; number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectLegacyResponsePermissions; + private: boolean; + state: string; updated_at: string; url: string; - reactions: TeamsListDiscussionCommentsResponseItemReactions; }; - type TeamsRemoveProjectResponse = {}; - type TeamsAddOrUpdateProjectResponse = {}; - type TeamsReviewProjectResponsePermissions = { + type TeamsReviewProjectInOrgResponsePermissions = { + admin: boolean; read: boolean; write: boolean; - admin: boolean; }; - type TeamsReviewProjectResponseCreator = { - login: string; - id: number; - node_id: string; + type TeamsReviewProjectInOrgResponseCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type TeamsReviewProjectResponse = { - owner_url: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; + }; + type TeamsReviewProjectInOrgResponse = { + body: string; columns_url: string; + created_at: string; + creator: TeamsReviewProjectInOrgResponseCreator; + html_url: string; id: number; - node_id: string; name: string; - body: string; + node_id: string; number: number; - state: string; - creator: TeamsReviewProjectResponseCreator; - created_at: string; - updated_at: string; organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectInOrgResponsePermissions; private: boolean; - permissions: TeamsReviewProjectResponsePermissions; + state: string; + updated_at: string; + url: string; }; - type TeamsListProjectsResponseItemPermissions = { + type TeamsReviewProjectResponsePermissions = { + admin: boolean; read: boolean; write: boolean; - admin: boolean; }; - type TeamsListProjectsResponseItemCreator = { - login: string; - id: number; - node_id: string; + type TeamsReviewProjectResponseCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type TeamsListProjectsResponseItem = { - owner_url: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; + }; + type TeamsReviewProjectResponse = { + body: string; columns_url: string; + created_at: string; + creator: TeamsReviewProjectResponseCreator; + html_url: string; id: number; - node_id: string; name: string; - body: string; + node_id: string; number: number; - state: string; - creator: TeamsListProjectsResponseItemCreator; - created_at: string; - updated_at: string; organization_permission: string; + owner_url: string; + permissions: TeamsReviewProjectResponsePermissions; private: boolean; - permissions: TeamsListProjectsResponseItemPermissions; - }; - type TeamsListForAuthenticatedUserResponseItemOrganization = { - login: string; - id: number; - node_id: string; - url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; - name: string; - company: string; - blog: string; - location: string; - email: string; - is_verified: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - html_url: string; - created_at: string; - type: string; - }; - type TeamsListForAuthenticatedUserResponseItem = { - id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - members_count: number; - repos_count: number; - created_at: string; + state: string; updated_at: string; - organization: TeamsListForAuthenticatedUserResponseItemOrganization; - }; - type TeamsRemoveRepoResponse = {}; - type TeamsAddOrUpdateRepoResponse = {}; - type TeamsListReposResponseItemLicense = { - key: string; - name: string; - spdx_id: string; url: string; - node_id: string; }; - type TeamsListReposResponseItemPermissions = { + type TeamsListReposLegacyResponseItemPermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type TeamsListReposResponseItemOwner = { - login: string; - id: number; - node_id: string; + type TeamsListReposLegacyResponseItemOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type TeamsListReposResponseItem = { - id: number; - node_id: string; + type TeamsListReposLegacyResponseItemLicense = { + key: string; name: string; - full_name: string; - owner: TeamsListReposResponseItemOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + node_id: string; + spdx_id: string; url: string; + }; + type TeamsListReposLegacyResponseItem = { 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: TeamsListReposLegacyResponseItemLicense; 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: TeamsListReposLegacyResponseItemOwner; + permissions: TeamsListReposLegacyResponseItemPermissions; + 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: TeamsListReposResponseItemPermissions; - template_repository: null; - subscribers_count: number; - network_count: number; - license: TeamsListReposResponseItemLicense; - }; - type TeamsDeleteResponse = {}; - type TeamsUpdateResponseOrganization = { - login: string; - id: number; - node_id: string; url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; - name: string; - company: string; - blog: string; - location: string; - email: string; - is_verified: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - html_url: string; - created_at: string; - type: string; + visibility: string; + watchers_count: number; }; - type TeamsUpdateResponse = { - id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - members_count: number; - repos_count: number; - created_at: string; - updated_at: string; - organization: TeamsUpdateResponseOrganization; + type TeamsListReposInOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; }; - type TeamsCreateResponseOrganization = { - login: string; - id: number; - node_id: string; - url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; + type TeamsListReposInOrgResponseItemOwner = { avatar_url: string; - description: string; - name: string; - company: string; - blog: string; - location: string; - email: string; - is_verified: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - html_url: string; - created_at: string; - type: string; - }; - type TeamsCreateResponse = { - id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - members_count: number; - repos_count: number; - created_at: string; - updated_at: string; - organization: TeamsCreateResponseOrganization; - }; - type TeamsGetByNameResponseOrganization = { - login: string; - id: number; - node_id: string; - url: string; - repos_url: string; events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; - name: string; - company: string; - blog: string; - location: string; - email: string; - is_verified: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; html_url: string; - created_at: string; - type: string; - }; - type TeamsGetByNameResponse = { id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - members_count: number; - repos_count: number; - created_at: string; - updated_at: string; - organization: TeamsGetByNameResponseOrganization; - }; - type TeamsGetResponseOrganization = { login: string; - id: number; node_id: string; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; - name: string; - company: string; - blog: string; - location: string; - email: string; - is_verified: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - html_url: string; - created_at: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; type: string; - }; - type TeamsGetResponse = { - id: number; - node_id: string; url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - members_count: number; - repos_count: number; - created_at: string; - updated_at: string; - organization: TeamsGetResponseOrganization; }; - type TeamsListResponseItem = { - id: number; - node_id: string; - url: string; + type TeamsListReposInOrgResponseItemLicense = { + key: string; name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - }; - type ReposGetClonesResponseClonesItem = { - timestamp: string; - count: number; - uniques: number; - }; - type ReposGetClonesResponse = { - count: number; - uniques: number; - clones: Array; - }; - type ReposGetViewsResponseViewsItem = { - timestamp: string; - count: number; - uniques: number; - }; - type ReposGetViewsResponse = { - count: number; - uniques: number; - views: Array; - }; - type ReposGetTopPathsResponseItem = { - path: string; - title: string; - count: number; - uniques: number; - }; - type ReposGetTopReferrersResponseItem = { - referrer: string; - count: number; - uniques: number; - }; - type ReposGetCombinedStatusForRefResponseRepositoryOwner = { - login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; + spdx_id: string; url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; }; - type ReposGetCombinedStatusForRefResponseRepository = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ReposGetCombinedStatusForRefResponseRepositoryOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; - url: string; + type TeamsListReposInOrgResponseItem = { 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; - issue_comment_url: string; - issue_events_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: TeamsListReposInOrgResponseItemLicense; 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: TeamsListReposInOrgResponseItemOwner; + permissions: TeamsListReposInOrgResponseItemPermissions; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; trees_url: string; - }; - type ReposGetCombinedStatusForRefResponseStatusesItem = { - url: string; - avatar_url: string; - id: number; - node_id: string; - state: string; - description: string; - target_url: string; - context: string; - created_at: string; updated_at: string; - }; - type ReposGetCombinedStatusForRefResponse = { - state: string; - statuses: Array; - sha: string; - total_count: number; - repository: ReposGetCombinedStatusForRefResponseRepository; - commit_url: string; url: string; + visibility: string; + watchers_count: number; }; - type ReposListStatusesForRefResponseItemCreator = { - login: string; - id: number; - node_id: string; + type TeamsListReposResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type TeamsListReposResponseItemOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListStatusesForRefResponseItem = { + type TeamsListReposResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; url: string; - avatar_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; - state: string; - description: string; - target_url: string; - context: string; - created_at: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; updated_at: string; - creator: ReposListStatusesForRefResponseItemCreator; + url: string; + visibility: string; + watchers_count: number; }; - type ReposCreateStatusResponseCreator = { - login: string; - id: number; - node_id: string; + type TeamsListProjectsLegacyResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; + }; + type TeamsListProjectsLegacyResponseItemCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposCreateStatusResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - avatar_url: string; + }; + type TeamsListProjectsLegacyResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsLegacyResponseItemCreator; + html_url: string; id: number; + name: string; node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsLegacyResponseItemPermissions; + private: boolean; state: string; - description: string; - target_url: string; - context: string; - created_at: string; updated_at: string; - creator: ReposCreateStatusResponseCreator; - }; - type ReposGetParticipationStatsResponse = { - all: Array; - owner: Array; - }; - type ReposGetCommitActivityStatsResponseItem = { - days: Array; - total: number; - week: number; + url: string; }; - type ReposGetContributorsStatsResponseItemWeeksItem = { - w: string; - a: number; - d: number; - c: number; + type TeamsListProjectsInOrgResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; }; - type ReposGetContributorsStatsResponseItemAuthor = { - login: string; - id: number; - node_id: string; + type TeamsListProjectsInOrgResponseItemCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposGetContributorsStatsResponseItem = { - author: ReposGetContributorsStatsResponseItemAuthor; - total: number; - weeks: Array; - }; - type ReposDeleteReleaseAssetResponse = {}; - type ReposUpdateReleaseAssetResponseUploader = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type ReposUpdateReleaseAssetResponse = { url: string; - browser_download_url: string; + }; + type TeamsListProjectsInOrgResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsInOrgResponseItemCreator; + html_url: string; id: number; - node_id: string; name: string; - label: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsInOrgResponseItemPermissions; + private: boolean; state: string; - content_type: string; - size: number; - download_count: number; - created_at: string; updated_at: string; - uploader: ReposUpdateReleaseAssetResponseUploader; + url: string; }; - type ReposGetReleaseAssetResponseUploader = { - login: string; - id: number; - node_id: string; + type TeamsListProjectsResponseItemPermissions = { + admin: boolean; + read: boolean; + write: boolean; + }; + type TeamsListProjectsResponseItemCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposGetReleaseAssetResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - browser_download_url: string; + }; + type TeamsListProjectsResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: TeamsListProjectsResponseItemCreator; + html_url: string; id: number; - node_id: string; name: string; - label: string; + node_id: string; + number: number; + organization_permission: string; + owner_url: string; + permissions: TeamsListProjectsResponseItemPermissions; + private: boolean; state: string; - content_type: string; - size: number; - download_count: number; - created_at: string; updated_at: string; - uploader: ReposGetReleaseAssetResponseUploader; + url: string; }; - type ReposListAssetsForReleaseResponseItemUploader = { - login: string; - id: number; - node_id: string; + type TeamsListPendingInvitationsLegacyResponseItemInviter = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposListAssetsForReleaseResponseItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - browser_download_url: string; - id: number; - node_id: string; - name: string; - label: string; - state: string; - content_type: string; - size: number; - download_count: number; - created_at: string; - updated_at: string; - uploader: ReposListAssetsForReleaseResponseItemUploader; }; - type ReposDeleteReleaseResponse = {}; - type ReposUpdateReleaseResponseAssetsItemUploader = { - login: string; + type TeamsListPendingInvitationsLegacyResponseItem = { + created_at: string; + email: string; id: number; - node_id: string; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsLegacyResponseItemInviter; + login: string; + role: string; + team_count: number; + }; + type TeamsListPendingInvitationsInOrgResponseItemInviter = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposUpdateReleaseResponseAssetsItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - browser_download_url: string; - id: number; - node_id: string; - name: string; - label: string; - state: string; - content_type: string; - size: number; - download_count: number; - created_at: string; - updated_at: string; - uploader: ReposUpdateReleaseResponseAssetsItemUploader; }; - type ReposUpdateReleaseResponseAuthor = { - login: string; + type TeamsListPendingInvitationsInOrgResponseItem = { + created_at: string; + email: string; id: number; - node_id: string; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsInOrgResponseItemInviter; + login: string; + role: string; + team_count: number; + }; + type TeamsListPendingInvitationsResponseItemInviter = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposUpdateReleaseResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - assets_url: string; - upload_url: string; - tarball_url: string; - zipball_url: string; - id: number; - node_id: string; - tag_name: string; - target_commitish: string; - name: string; - body: string; - draft: boolean; - prerelease: boolean; - created_at: string; - published_at: string; - author: ReposUpdateReleaseResponseAuthor; - assets: Array; }; - type ReposCreateReleaseResponseAuthor = { - login: string; + type TeamsListPendingInvitationsResponseItem = { + created_at: string; + email: string; id: number; - node_id: string; + invitation_team_url: string; + inviter: TeamsListPendingInvitationsResponseItemInviter; + login: string; + role: string; + team_count: number; + }; + type TeamsListMembersLegacyResponseItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposCreateReleaseResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; + }; + type TeamsListMembersInOrgResponseItem = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; html_url: string; - assets_url: string; - upload_url: string; - tarball_url: string; - zipball_url: string; id: number; + login: string; node_id: string; - tag_name: string; - target_commitish: string; - name: string; - body: string; - draft: boolean; - prerelease: boolean; - created_at: string; - published_at: string; - author: ReposCreateReleaseResponseAuthor; - assets: Array; - }; - type ReposGetReleaseByTagResponseAssetsItemUploader = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposGetReleaseByTagResponseAssetsItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - browser_download_url: string; - id: number; - node_id: string; - name: string; - label: string; - state: string; - content_type: string; - size: number; - download_count: number; - created_at: string; - updated_at: string; - uploader: ReposGetReleaseByTagResponseAssetsItemUploader; }; - type ReposGetReleaseByTagResponseAuthor = { - login: string; - id: number; - node_id: string; + type TeamsListMembersResponseItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposGetReleaseByTagResponse = { + 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; - assets_url: string; - upload_url: string; - tarball_url: string; - zipball_url: string; id: number; - node_id: string; - tag_name: string; - target_commitish: string; - name: string; - body: string; - draft: boolean; - prerelease: boolean; - created_at: string; - published_at: string; - author: ReposGetReleaseByTagResponseAuthor; - assets: Array; - }; - type ReposGetLatestReleaseResponseAssetsItemUploader = { + is_verified: boolean; + issues_url: string; + location: string; login: string; - id: number; + members_url: string; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; + public_gists: number; + public_members_url: string; + public_repos: number; repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type ReposGetLatestReleaseResponseAssetsItem = { url: string; - browser_download_url: string; + }; + type TeamsListForAuthenticatedUserResponseItem = { + created_at: string; + description: string; + html_url: string; id: number; - node_id: string; + members_count: number; + members_url: string; name: string; - label: string; - state: string; - content_type: string; - size: number; - download_count: number; - created_at: string; + node_id: string; + organization: TeamsListForAuthenticatedUserResponseItemOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; updated_at: string; - uploader: ReposGetLatestReleaseResponseAssetsItemUploader; + url: string; }; - type ReposGetLatestReleaseResponseAuthor = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + type TeamsListDiscussionsLegacyResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; url: string; - html_url: string; + }; + type TeamsListDiscussionsLegacyResponseItemAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposGetLatestReleaseResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - assets_url: string; - upload_url: string; - tarball_url: string; - zipball_url: string; - id: number; - node_id: string; - tag_name: string; - target_commitish: string; - name: string; + }; + type TeamsListDiscussionsLegacyResponseItem = { + author: TeamsListDiscussionsLegacyResponseItemAuthor; body: string; - draft: boolean; - prerelease: boolean; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; created_at: string; - published_at: string; - author: ReposGetLatestReleaseResponseAuthor; - assets: Array; - }; - type ReposGetReleaseResponseAssetsItemUploader = { - login: string; - id: number; + html_url: string; + last_edited_at: null; node_id: string; - avatar_url: string; - gravatar_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsListDiscussionsLegacyResponseItemReactions; + team_url: string; + title: string; + updated_at: string; url: string; - html_url: string; + }; + type TeamsListDiscussionsInOrgResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsListDiscussionsInOrgResponseItemAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposGetReleaseResponseAssetsItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - browser_download_url: string; - id: number; - node_id: string; - name: string; - label: string; - state: string; - content_type: string; - size: number; - download_count: number; + }; + type TeamsListDiscussionsInOrgResponseItem = { + author: TeamsListDiscussionsInOrgResponseItemAuthor; + 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: TeamsListDiscussionsInOrgResponseItemReactions; + team_url: string; + title: string; updated_at: string; - uploader: ReposGetReleaseResponseAssetsItemUploader; + url: string; }; - type ReposGetReleaseResponseAuthor = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + type TeamsListDiscussionsResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; url: string; - html_url: string; + }; + type TeamsListDiscussionsResponseItemAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposGetReleaseResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - assets_url: string; - upload_url: string; - tarball_url: string; - zipball_url: string; - id: number; - node_id: string; - tag_name: string; - target_commitish: string; - name: string; + }; + type TeamsListDiscussionsResponseItem = { + author: TeamsListDiscussionsResponseItemAuthor; body: string; - draft: boolean; - prerelease: boolean; + body_html: string; + body_version: string; + comments_count: number; + comments_url: string; created_at: string; - published_at: string; - author: ReposGetReleaseResponseAuthor; - assets: Array; - }; - type ReposListReleasesResponseItemAssetsItemUploader = { - login: string; - id: number; + html_url: string; + last_edited_at: null; node_id: string; - avatar_url: string; - gravatar_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsListDiscussionsResponseItemReactions; + team_url: string; + title: string; + updated_at: string; url: string; - html_url: string; + }; + type TeamsListDiscussionCommentsLegacyResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsListDiscussionCommentsLegacyResponseItemAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposListReleasesResponseItemAssetsItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - browser_download_url: string; - id: number; - node_id: string; - name: string; - label: string; - state: string; - content_type: string; - size: number; - download_count: number; + }; + type TeamsListDiscussionCommentsLegacyResponseItem = { + author: TeamsListDiscussionCommentsLegacyResponseItemAuthor; + 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: TeamsListDiscussionCommentsLegacyResponseItemReactions; updated_at: string; - uploader: ReposListReleasesResponseItemAssetsItemUploader; + url: string; }; - type ReposListReleasesResponseItemAuthor = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + type TeamsListDiscussionCommentsInOrgResponseItemReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; url: string; - html_url: string; + }; + type TeamsListDiscussionCommentsInOrgResponseItemAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposListReleasesResponseItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - assets_url: string; - upload_url: string; - tarball_url: string; - zipball_url: string; - id: number; - node_id: string; - tag_name: string; - target_commitish: string; - name: string; + }; + type TeamsListDiscussionCommentsInOrgResponseItem = { + author: TeamsListDiscussionCommentsInOrgResponseItemAuthor; body: string; - draft: boolean; - prerelease: boolean; + body_html: string; + body_version: string; created_at: string; - published_at: string; - author: ReposListReleasesResponseItemAuthor; - assets: Array; - }; - type ReposGetPagesBuildResponsePusher = { - login: string; - id: number; + discussion_url: string; + html_url: string; + last_edited_at: null; node_id: string; - avatar_url: string; - gravatar_id: string; + number: number; + reactions: TeamsListDiscussionCommentsInOrgResponseItemReactions; + updated_at: string; url: string; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposGetPagesBuildResponseError = { message: null }; - type ReposGetPagesBuildResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - status: string; - error: ReposGetPagesBuildResponseError; - pusher: ReposGetPagesBuildResponsePusher; - commit: string; - duration: number; + }; + 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 ReposGetLatestPagesBuildResponsePusher = { - login: string; + type TeamsListChildLegacyResponseItemParent = { + description: string; + html_url: string; id: number; + members_url: string; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ReposGetLatestPagesBuildResponseError = { message: null }; - type ReposGetLatestPagesBuildResponse = { + permission: string; + privacy: string; + repositories_url: string; + slug: string; url: string; - status: string; - error: ReposGetLatestPagesBuildResponseError; - pusher: ReposGetLatestPagesBuildResponsePusher; - commit: string; - duration: number; - created_at: string; - updated_at: string; }; - type ReposListPagesBuildsResponseItemPusher = { - login: string; + type TeamsListChildLegacyResponseItem = { + description: string; id: number; + members_url: string; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + parent: TeamsListChildLegacyResponseItemParent; + permission: string; + privacy: string; + repositories_url: string; + slug: string; url: string; + }; + type TeamsListChildInOrgResponseItemParent = { + description: string; html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; + id: number; + members_url: string; + name: string; + node_id: string; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; }; - type ReposListPagesBuildsResponseItemError = { message: null }; - type ReposListPagesBuildsResponseItem = { + type TeamsListChildInOrgResponseItem = { + description: string; + id: number; + members_url: string; + name: string; + node_id: string; + parent: TeamsListChildInOrgResponseItemParent; + permission: string; + privacy: string; + repositories_url: string; + slug: string; url: string; - status: string; - error: ReposListPagesBuildsResponseItemError; - pusher: ReposListPagesBuildsResponseItemPusher; - commit: string; - duration: number; - created_at: string; - updated_at: string; }; - type ReposRequestPageBuildResponse = { url: string; status: string }; - type ReposUpdateInformationAboutPagesSiteResponse = {}; - type ReposDisablePagesSiteResponse = {}; - type ReposEnablePagesSiteResponseSource = { - branch: string; - directory: string; + type TeamsListChildResponseItemParent = { + description: string; + html_url: string; + id: number; + members_url: string; + name: string; + node_id: string; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; }; - type ReposEnablePagesSiteResponse = { + 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; - status: string; - cname: string; - custom_404: boolean; + }; + type TeamsListResponseItem = { + description: string; html_url: string; - source: ReposEnablePagesSiteResponseSource; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; }; - type ReposGetPagesResponseSource = { branch: string; directory: string }; - type ReposGetPagesResponse = { + type TeamsGetMembershipLegacyResponse = { + role: string; + state: string; url: string; - status: string; - cname: string; - custom_404: boolean; - html_url: string; - source: ReposGetPagesResponseSource; }; - type ReposRemoveDeployKeyResponse = {}; - type ReposAddDeployKeyResponse = { - id: number; - key: string; + type TeamsGetMembershipInOrgResponse = { + role: string; + state: string; url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; }; - type ReposGetDeployKeyResponse = { - id: number; - key: string; + type TeamsGetMembershipResponse = { + role: string; + state: string; url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; }; - type ReposListDeployKeysResponseItem = { + type TeamsGetLegacyResponseOrganization = { + 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; - key: string; + 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; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; }; - type ReposDeclineInvitationResponse = {}; - type ReposAcceptInvitationResponse = {}; - type ReposListInvitationsForAuthenticatedUserResponseItemInviter = { - login: string; + type TeamsGetLegacyResponse = { + created_at: string; + description: string; + html_url: string; id: number; + members_count: number; + members_url: string; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + organization: TeamsGetLegacyResponseOrganization; + parent: null; + permission: string; + privacy: string; + repos_count: number; + repositories_url: string; + slug: string; + updated_at: string; url: string; - html_url: string; + }; + type TeamsGetDiscussionLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsGetDiscussionLegacyResponseAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListInvitationsForAuthenticatedUserResponseItemInvitee = { - login: string; - id: number; + type TeamsGetDiscussionLegacyResponse = { + author: TeamsGetDiscussionLegacyResponseAuthor; + 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; - avatar_url: string; - gravatar_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsGetDiscussionLegacyResponseReactions; + team_url: string; + title: string; + updated_at: string; url: string; - html_url: string; + }; + type TeamsGetDiscussionInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsGetDiscussionInOrgResponseAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListInvitationsForAuthenticatedUserResponseItemRepositoryOwner = { - login: string; - id: number; + type TeamsGetDiscussionInOrgResponse = { + author: TeamsGetDiscussionInOrgResponseAuthor; + 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; - avatar_url: string; - gravatar_id: string; + number: number; + pinned: boolean; + private: boolean; + reactions: TeamsGetDiscussionInOrgResponseReactions; + team_url: string; + title: string; + updated_at: string; url: string; - html_url: string; + }; + type TeamsGetDiscussionCommentLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsGetDiscussionCommentLegacyResponseAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListInvitationsForAuthenticatedUserResponseItemRepository = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ReposListInvitationsForAuthenticatedUserResponseItemRepositoryOwner; - private: boolean; + type TeamsGetDiscussionCommentLegacyResponse = { + author: TeamsGetDiscussionCommentLegacyResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; html_url: string; - description: string; - fork: boolean; + last_edited_at: null; + node_id: string; + number: number; + reactions: TeamsGetDiscussionCommentLegacyResponseReactions; + updated_at: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; }; - type ReposListInvitationsForAuthenticatedUserResponseItem = { - id: number; - repository: ReposListInvitationsForAuthenticatedUserResponseItemRepository; - invitee: ReposListInvitationsForAuthenticatedUserResponseItemInvitee; - inviter: ReposListInvitationsForAuthenticatedUserResponseItemInviter; - permissions: string; - created_at: string; + type TeamsGetDiscussionCommentInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; url: string; - html_url: string; }; - type ReposUpdateInvitationResponseInviter = { - login: string; - id: number; - node_id: string; + type TeamsGetDiscussionCommentInOrgResponseAuthor = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposUpdateInvitationResponseInvitee = { - login: string; - id: number; + type TeamsGetDiscussionCommentInOrgResponse = { + author: TeamsGetDiscussionCommentInOrgResponseAuthor; + body: string; + body_html: string; + body_version: string; + created_at: string; + discussion_url: string; + html_url: string; + last_edited_at: null; node_id: string; - avatar_url: string; - gravatar_id: string; + number: number; + reactions: TeamsGetDiscussionCommentInOrgResponseReactions; + updated_at: string; url: string; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposUpdateInvitationResponseRepositoryOwner = { - login: string; - id: number; + 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; - avatar_url: string; - gravatar_id: string; + number: number; + reactions: TeamsGetDiscussionCommentResponseReactions; + updated_at: string; url: string; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposUpdateInvitationResponseRepository = { - id: number; + 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; - name: string; - full_name: string; - owner: ReposUpdateInvitationResponseRepositoryOwner; + number: number; + pinned: boolean; private: boolean; - html_url: string; - description: string; - fork: boolean; + reactions: TeamsGetDiscussionResponseReactions; + team_url: string; + title: string; + updated_at: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; + }; + type TeamsGetByNameResponseOrganization = { + avatar_url: string; + blog: string; + company: string; + created_at: string; + description: string; + email: string; events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; + 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; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; + 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 ReposUpdateInvitationResponse = { - id: number; - repository: ReposUpdateInvitationResponseRepository; - invitee: ReposUpdateInvitationResponseInvitee; - inviter: ReposUpdateInvitationResponseInviter; - permissions: string; + type TeamsGetByNameResponse = { created_at: string; - url: 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 ReposDeleteInvitationResponse = {}; - type ReposListInvitationsResponseItemInviter = { + 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 TeamsCreateDiscussionLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionLegacyResponseAuthor = { avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; + }; + type TeamsCreateDiscussionLegacyResponse = { + author: TeamsCreateDiscussionLegacyResponseAuthor; + 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: TeamsCreateDiscussionLegacyResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsCreateDiscussionInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionInOrgResponseAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListInvitationsResponseItemInvitee = { - login: string; - id: number; + type TeamsCreateDiscussionInOrgResponse = { + author: TeamsCreateDiscussionInOrgResponseAuthor; + 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: TeamsCreateDiscussionInOrgResponseReactions; + team_url: string; + title: string; + updated_at: string; + url: string; + }; + type TeamsCreateDiscussionCommentLegacyResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionCommentLegacyResponseAuthor = { avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; + }; + type TeamsCreateDiscussionCommentLegacyResponse = { + author: TeamsCreateDiscussionCommentLegacyResponseAuthor; + 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: TeamsCreateDiscussionCommentLegacyResponseReactions; + updated_at: string; + url: string; + }; + type TeamsCreateDiscussionCommentInOrgResponseReactions = { + "+1": number; + "-1": number; + confused: number; + heart: number; + hooray: number; + laugh: number; + total_count: number; + url: string; + }; + type TeamsCreateDiscussionCommentInOrgResponseAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListInvitationsResponseItemRepositoryOwner = { - login: string; - id: number; + type TeamsCreateDiscussionCommentInOrgResponse = { + author: TeamsCreateDiscussionCommentInOrgResponseAuthor; + 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: TeamsCreateDiscussionCommentInOrgResponseReactions; + 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListInvitationsResponseItemRepository = { - id: number; + 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; - name: string; - full_name: string; - owner: ReposListInvitationsResponseItemRepositoryOwner; + 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; - fork: boolean; + 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 TeamsCheckManagesRepoLegacyResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type TeamsCheckManagesRepoLegacyResponseOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; + }; + type TeamsCheckManagesRepoLegacyResponse = { + 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: TeamsCheckManagesRepoLegacyResponseOwner; + permissions: TeamsCheckManagesRepoLegacyResponsePermissions; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; trees_url: string; - }; - type ReposListInvitationsResponseItem = { - id: number; - repository: ReposListInvitationsResponseItemRepository; - invitee: ReposListInvitationsResponseItemInvitee; - inviter: ReposListInvitationsResponseItemInviter; - permissions: string; - created_at: string; + updated_at: string; url: string; - html_url: string; - }; - type ReposDeleteHookResponse = {}; - type ReposPingHookResponse = {}; - type ReposTestPushHookResponse = {}; - type ReposUpdateHookResponseLastResponse = { - code: null; - status: string; - message: null; - }; - type ReposUpdateHookResponseConfig = { - content_type: string; - insecure_ssl: string; - url: string; - }; - type ReposUpdateHookResponse = { - type: string; - id: number; - name: string; - active: boolean; - events: Array; - config: ReposUpdateHookResponseConfig; - updated_at: string; - created_at: string; - url: string; - test_url: string; - ping_url: string; - last_response: ReposUpdateHookResponseLastResponse; - }; - type ReposCreateHookResponseLastResponse = { - code: null; - status: string; - message: null; - }; - type ReposCreateHookResponseConfig = { - content_type: string; - insecure_ssl: string; - url: string; - }; - type ReposCreateHookResponse = { - type: string; - id: number; - name: string; - active: boolean; - events: Array; - config: ReposCreateHookResponseConfig; - updated_at: string; - created_at: string; - url: string; - test_url: string; - ping_url: string; - last_response: ReposCreateHookResponseLastResponse; - }; - type ReposGetHookResponseLastResponse = { - code: null; - status: string; - message: null; - }; - type ReposGetHookResponseConfig = { - content_type: string; - insecure_ssl: string; - url: string; - }; - type ReposGetHookResponse = { - type: string; - id: number; - name: string; - active: boolean; - events: Array; - config: ReposGetHookResponseConfig; - updated_at: string; - created_at: string; - url: string; - test_url: string; - ping_url: string; - last_response: ReposGetHookResponseLastResponse; - }; - type ReposListHooksResponseItemLastResponse = { - code: null; - status: string; - message: null; - }; - type ReposListHooksResponseItemConfig = { - content_type: string; - insecure_ssl: string; - url: string; - }; - type ReposListHooksResponseItem = { - type: string; - id: number; - name: string; - active: boolean; - events: Array; - config: ReposListHooksResponseItemConfig; - updated_at: string; - created_at: string; - url: string; - test_url: string; - ping_url: string; - last_response: ReposListHooksResponseItemLastResponse; + visibility: string; + watchers_count: number; }; - type ReposCreateForkResponsePermissions = { + type TeamsCheckManagesRepoInOrgResponsePermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type ReposCreateForkResponseOwner = { - login: string; - id: number; - node_id: string; + type TeamsCheckManagesRepoInOrgResponseOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposCreateForkResponse = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ReposCreateForkResponseOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; + }; + type TeamsCheckManagesRepoInOrgResponse = { + 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: TeamsCheckManagesRepoInOrgResponseOwner; + permissions: TeamsCheckManagesRepoInOrgResponsePermissions; + 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: ReposCreateForkResponsePermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type ReposListForksResponseItemLicense = { - key: string; - name: string; - spdx_id: string; url: string; - node_id: string; + visibility: string; + watchers_count: number; }; - type ReposListForksResponseItemPermissions = { + type TeamsCheckManagesRepoResponsePermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type ReposListForksResponseItemOwner = { - login: string; - id: number; - node_id: string; + type TeamsCheckManagesRepoResponseOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposListForksResponseItem = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ReposListForksResponseItemOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: ReposListForksResponseItemPermissions; - template_repository: null; - subscribers_count: number; - network_count: number; - license: ReposListForksResponseItemLicense; + url: string; + visibility: string; + watchers_count: number; }; - type ReposDeleteDownloadResponse = {}; - type ReposGetDownloadResponse = { + type TeamsAddOrUpdateProjectLegacyResponse = { + documentation_url: string; + message: string; + }; + type TeamsAddOrUpdateProjectInOrgResponse = { + documentation_url: string; + message: string; + }; + type TeamsAddOrUpdateProjectResponse = { + documentation_url: string; + message: string; + }; + type TeamsAddOrUpdateMembershipLegacyResponse = { + role: string; + state: string; + url: string; + }; + type TeamsAddOrUpdateMembershipInOrgResponse = { + role: string; + state: string; + url: string; + }; + type TeamsAddOrUpdateMembershipResponse = { + role: string; + state: string; url: string; + }; + type TeamsAddMemberLegacyResponseErrorsItem = { + code: string; + field: string; + resource: string; + }; + type TeamsAddMemberLegacyResponse = { + errors: Array; + message: string; + }; + type TeamsAddMemberResponseErrorsItem = { + code: string; + field: string; + resource: string; + }; + type TeamsAddMemberResponse = { + errors: Array; + message: string; + }; + type SearchUsersLegacyResponseUsersItem = { + created: string; + created_at: string; + followers: number; + followers_count: number; + fullname: string; + gravatar_id: string; + id: string; + language: string; + location: string; + login: string; + name: string; + public_repo_count: number; + repos: number; + score: number; + type: string; + username: string; + }; + type SearchUsersLegacyResponse = { + users: Array; + }; + 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 SearchReposLegacyResponseRepositoriesItem = { + created: string; + created_at: string; description: string; + followers: number; + fork: boolean; + forks: number; + has_downloads: boolean; + has_issues: boolean; + has_wiki: boolean; + homepage: string; + language: string; + name: string; + open_issues: number; + owner: string; + private: boolean; + pushed: string; + pushed_at: string; + score: number; size: number; - download_count: number; - content_type: string; + type: string; + url: string; + username: string; + watchers: number; }; - type ReposListDownloadsResponseItem = { + type SearchReposLegacyResponse = { + repositories: Array; + }; + 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; - description: string; + node_id: string; + open_issues_count: number; + owner: SearchReposResponseItemsItemOwner; + private: boolean; + pushed_at: string; + score: number; size: number; - download_count: number; - content_type: string; + stargazers_count: number; + updated_at: string; + url: string; + watchers_count: number; }; - type ReposCreateDeploymentStatusResponseCreator = { - login: string; + 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; - avatar_url: string; - gravatar_id: string; + score: number; url: string; + }; + type SearchLabelsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchIssuesLegacyResponseIssuesItem = { + body: string; + comments: number; + created_at: string; + gravatar_id: string; html_url: string; + labels: Array; + number: number; + position: number; + state: string; + title: string; + updated_at: string; + user: string; + votes: number; + }; + type SearchIssuesLegacyResponse = { + issues: Array; + }; + type SearchIssuesAndPullRequestsResponseItemsItemUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; + repos_url: string; + starred_url: string; + subscriptions_url: string; type: string; - site_admin: boolean; + url: string; }; - type ReposCreateDeploymentStatusResponse = { + 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; - creator: ReposCreateDeploymentStatusResponseCreator; - description: string; - environment: string; - target_url: string; - created_at: string; + title: string; updated_at: string; - deployment_url: string; - repository_url: string; - environment_url: string; - log_url: string; + url: string; + user: SearchIssuesAndPullRequestsResponseItemsItemUser; }; - type ReposGetDeploymentStatusResponseCreator = { - login: string; - id: number; - node_id: string; + type SearchIssuesAndPullRequestsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchIssuesResponseItemsItemUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; + repos_url: string; + starred_url: string; + subscriptions_url: string; type: string; - site_admin: boolean; - }; - type ReposGetDeploymentStatusResponse = { url: string; - id: number; - node_id: string; - state: string; - creator: ReposGetDeploymentStatusResponseCreator; - description: string; - environment: string; - target_url: string; - created_at: string; - updated_at: string; - deployment_url: string; - repository_url: string; - environment_url: string; - log_url: string; }; - type ReposListDeploymentStatusesResponseItemCreator = { - login: string; + type SearchIssuesResponseItemsItemPullRequest = { + diff_url: null; + html_url: null; + patch_url: null; + }; + type SearchIssuesResponseItemsItemLabelsItem = { + color: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; }; - type ReposListDeploymentStatusesResponseItem = { - 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; - creator: ReposListDeploymentStatusesResponseItemCreator; - description: string; - environment: string; - target_url: string; - created_at: string; + title: string; updated_at: string; - deployment_url: string; - repository_url: string; - environment_url: string; - log_url: string; + url: string; + user: SearchIssuesResponseItemsItemUser; }; - type ReposGetDeploymentResponseCreator = { - login: string; + type SearchIssuesResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; + }; + type SearchEmailLegacyResponseUser = { + blog: string; + company: string; + created: string; + created_at: string; + email: string; + followers_count: number; + following_count: number; + gravatar_id: string; id: number; - node_id: string; + location: string; + login: string; + name: string; + public_gist_count: number; + public_repo_count: number; + type: string; + }; + type SearchEmailLegacyResponse = { user: SearchEmailLegacyResponseUser }; + type SearchCommitsResponseItemsItemRepositoryOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposGetDeploymentResponsePayload = { deploy: string }; - type ReposGetDeploymentResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - id: number; - node_id: string; - sha: string; - ref: string; - task: string; - payload: ReposGetDeploymentResponsePayload; - original_environment: string; - environment: string; - description: string; - creator: ReposGetDeploymentResponseCreator; - created_at: string; - updated_at: string; - statuses_url: string; - repository_url: string; - transient_environment: boolean; - production_environment: boolean; }; - type ReposListDeploymentsResponseItemCreator = { - login: 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; - avatar_url: string; - gravatar_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposListDeploymentsResponseItemPayload = { deploy: string }; - type ReposListDeploymentsResponseItem = { - url: string; - id: number; - node_id: string; - sha: string; - ref: string; - task: string; - payload: ReposListDeploymentsResponseItemPayload; - original_environment: string; - environment: string; - description: string; - creator: ReposListDeploymentsResponseItemCreator; - created_at: string; - updated_at: string; - statuses_url: string; - repository_url: string; - transient_environment: boolean; - production_environment: boolean; - }; - type ReposGetArchiveLinkResponse = {}; - type ReposDeleteFileResponseCommitVerification = { - verified: boolean; - reason: string; - signature: null; - payload: null; - }; - type ReposDeleteFileResponseCommitParentsItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - sha: string; }; - type ReposDeleteFileResponseCommitTree = { url: string; sha: string }; - type ReposDeleteFileResponseCommitCommitter = { + type SearchCommitsResponseItemsItemCommitTree = { sha: string; url: string }; + type SearchCommitsResponseItemsItemCommitCommitter = { date: string; - name: string; email: string; + name: string; }; - type ReposDeleteFileResponseCommitAuthor = { + type SearchCommitsResponseItemsItemCommitAuthor = { date: string; - name: string; email: string; + name: string; }; - type ReposDeleteFileResponseCommit = { - sha: string; - node_id: string; - url: string; - html_url: string; - author: ReposDeleteFileResponseCommitAuthor; - committer: ReposDeleteFileResponseCommitCommitter; + type SearchCommitsResponseItemsItemCommit = { + author: SearchCommitsResponseItemsItemCommitAuthor; + comment_count: number; + committer: SearchCommitsResponseItemsItemCommitCommitter; message: string; - tree: ReposDeleteFileResponseCommitTree; - parents: Array; - verification: ReposDeleteFileResponseCommitVerification; - }; - type ReposDeleteFileResponse = { - content: null; - commit: ReposDeleteFileResponseCommit; - }; - type ReposUpdateFileResponseCommitVerification = { - verified: boolean; - reason: string; - signature: null; - payload: null; - }; - type ReposUpdateFileResponseCommitParentsItem = { + tree: SearchCommitsResponseItemsItemCommitTree; url: string; - html_url: string; - sha: string; - }; - type ReposUpdateFileResponseCommitTree = { url: string; sha: string }; - type ReposUpdateFileResponseCommitCommitter = { - date: string; - name: string; - email: string; - }; - type ReposUpdateFileResponseCommitAuthor = { - date: string; - name: string; - email: string; }; - type ReposUpdateFileResponseCommit = { - sha: 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; - html_url: string; - author: ReposUpdateFileResponseCommitAuthor; - committer: ReposUpdateFileResponseCommitCommitter; - message: string; - tree: ReposUpdateFileResponseCommitTree; - parents: Array; - verification: ReposUpdateFileResponseCommitVerification; - }; - type ReposUpdateFileResponseContentLinks = { - self: string; - git: string; - html: string; }; - type ReposUpdateFileResponseContent = { - name: string; - path: string; + type SearchCommitsResponseItemsItem = { + author: SearchCommitsResponseItemsItemAuthor; + comments_url: string; + commit: SearchCommitsResponseItemsItemCommit; + committer: SearchCommitsResponseItemsItemCommitter; + html_url: string; + parents: Array; + repository: SearchCommitsResponseItemsItemRepository; + score: number; sha: string; - size: number; url: string; - html_url: string; - git_url: string; - download_url: string; - type: string; - _links: ReposUpdateFileResponseContentLinks; - }; - type ReposUpdateFileResponse = { - content: ReposUpdateFileResponseContent; - commit: ReposUpdateFileResponseCommit; }; - type ReposCreateFileResponseCommitVerification = { - verified: boolean; - reason: string; - signature: null; - payload: null; + type SearchCommitsResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; }; - type ReposCreateFileResponseCommitParentsItem = { - url: string; + type SearchCodeResponseItemsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; html_url: string; - sha: string; - }; - type ReposCreateFileResponseCommitTree = { url: string; sha: string }; - type ReposCreateFileResponseCommitCommitter = { - date: string; - name: string; - email: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposCreateFileResponseCommitAuthor = { - date: 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; - email: string; - }; - type ReposCreateFileResponseCommit = { - sha: 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; - html_url: string; - author: ReposCreateFileResponseCommitAuthor; - committer: ReposCreateFileResponseCommitCommitter; - message: string; - tree: ReposCreateFileResponseCommitTree; - parents: Array; - verification: ReposCreateFileResponseCommitVerification; - }; - type ReposCreateFileResponseContentLinks = { - self: string; - git: string; - html: string; }; - type ReposCreateFileResponseContent = { + type SearchCodeResponseItemsItem = { + git_url: string; + html_url: string; name: string; path: string; + repository: SearchCodeResponseItemsItemRepository; + score: number; sha: string; - size: number; url: string; - html_url: string; - git_url: string; - download_url: string; - type: string; - _links: ReposCreateFileResponseContentLinks; - }; - type ReposCreateFileResponse = { - content: ReposCreateFileResponseContent; - commit: ReposCreateFileResponseCommit; }; - type ReposCreateOrUpdateFileResponseCommitVerification = { - verified: boolean; - reason: string; - signature: null; - payload: null; + type SearchCodeResponse = { + incomplete_results: boolean; + items: Array; + total_count: number; }; - type ReposCreateOrUpdateFileResponseCommitParentsItem = { - url: string; + type ReposUploadReleaseAssetResponseValueUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; html_url: string; - sha: string; - }; - type ReposCreateOrUpdateFileResponseCommitTree = { url: string; sha: string }; - type ReposCreateOrUpdateFileResponseCommitCommitter = { - date: string; - name: string; - email: string; - }; - type ReposCreateOrUpdateFileResponseCommitAuthor = { - date: string; - name: string; - email: string; - }; - type ReposCreateOrUpdateFileResponseCommit = { - sha: string; + id: number; + login: string; node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - author: ReposCreateOrUpdateFileResponseCommitAuthor; - committer: ReposCreateOrUpdateFileResponseCommitCommitter; - message: string; - tree: ReposCreateOrUpdateFileResponseCommitTree; - parents: Array; - verification: ReposCreateOrUpdateFileResponseCommitVerification; - }; - type ReposCreateOrUpdateFileResponseContentLinks = { - self: string; - git: string; - html: string; }; - type ReposCreateOrUpdateFileResponseContent = { + type ReposUploadReleaseAssetResponseValue = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; name: string; - path: string; - sha: string; + node_id: string; size: number; + state: string; + updated_at: string; + uploader: ReposUploadReleaseAssetResponseValueUploader; url: string; - html_url: string; - git_url: string; - download_url: string; - type: string; - _links: ReposCreateOrUpdateFileResponseContentLinks; }; - type ReposCreateOrUpdateFileResponse = { - content: ReposCreateOrUpdateFileResponseContent; - commit: ReposCreateOrUpdateFileResponseCommit; - }; - type ReposGetReadmeResponseLinks = { - git: string; - self: string; - html: string; + type ReposUploadReleaseAssetResponse = { + value: ReposUploadReleaseAssetResponseValue; }; - type ReposGetReadmeResponse = { - type: string; - encoding: string; - size: number; - name: string; - path: string; - content: string; - sha: string; - url: string; - git_url: string; + type ReposUpdateReleaseAssetResponseUploader = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; html_url: string; - download_url: string; - _links: ReposGetReadmeResponseLinks; - }; - type ReposRetrieveCommunityProfileMetricsResponseFilesReadme = { + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; }; - type ReposRetrieveCommunityProfileMetricsResponseFilesLicense = { + type ReposUpdateReleaseAssetResponse = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; + id: number; + label: string; name: string; - key: string; - spdx_id: string; + node_id: string; + size: number; + state: string; + updated_at: string; + uploader: ReposUpdateReleaseAssetResponseUploader; url: string; - html_url: string; }; - type ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate = { - url: string; - html_url: string; - }; - type ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate = { - url: string; - html_url: string; - }; - type ReposRetrieveCommunityProfileMetricsResponseFilesContributing = { - url: string; - html_url: string; - }; - type ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct = { - name: string; - key: string; - 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; - }; - type ReposRetrieveCommunityProfileMetricsResponseFiles = { - code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct; - contributing: ReposRetrieveCommunityProfileMetricsResponseFilesContributing; - issue_template: ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate; - pull_request_template: ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate; - license: ReposRetrieveCommunityProfileMetricsResponseFilesLicense; - readme: ReposRetrieveCommunityProfileMetricsResponseFilesReadme; - }; - type ReposRetrieveCommunityProfileMetricsResponse = { - health_percentage: number; - description: string; - documentation: boolean; - files: ReposRetrieveCommunityProfileMetricsResponseFiles; - updated_at: string; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses = { - href: string; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits = { - href: string; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment = { - href: string; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments = { - href: string; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments = { - href: string; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue = { - href: string; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml = { - href: string; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf = { - href: string; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemLinks = { - self: ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf; - html: ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml; - issue: ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue; - comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments; - review_comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments; - review_comment: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment; - commits: ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits; - statuses: ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoOwner = { - login: string; id: number; + login: string; node_id: string; - avatar_url: string; - gravatar_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; + }; + type ReposUpdateReleaseResponseAssetsItemUploader = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo = { + type ReposUpdateReleaseResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; id: number; - node_id: string; + label: string; name: string; - full_name: string; - owner: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; + node_id: string; size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + state: string; updated_at: string; - permissions: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + uploader: ReposUpdateReleaseResponseAssetsItemUploader; + url: string; }; - type ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser = { - login: 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; - avatar_url: string; - gravatar_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; url: string; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListPullRequestsAssociatedWithCommitResponseItemBase = { - label: string; - ref: string; - sha: string; - user: ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser; - repo: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoOwner = { - login: string; + type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; id: number; + members_url: string; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; url: string; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; + }; + type ReposUpdateInvitationResponseRepository = { archive_url: string; assignees_url: string; blobs_url: string; @@ -3743,13 +4210,18 @@ declare namespace Octokit { 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; @@ -3758,7 +4230,11 @@ declare namespace Octokit { 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; @@ -3769,2167 +4245,1711 @@ declare namespace Octokit { tags_url: string; teams_url: string; trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; }; - type ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser = { - login: string; - id: number; - node_id: string; + type ReposUpdateInvitationResponseInviter = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemHead = { - label: string; - ref: string; - sha: string; - user: ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser; - repo: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemRequestedTeamsItem = { + gravatar_id: string; + html_url: string; id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemRequestedReviewersItem = { login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemAssigneesItem = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type ReposListPullRequestsAssociatedWithCommitResponseItemAssignee = { - login: string; - id: number; - node_id: string; + type ReposUpdateInvitationResponseInvitee = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemMilestoneCreator = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItemMilestone = { url: string; + }; + type ReposUpdateInvitationResponse = { + created_at: string; html_url: string; - labels_url: string; id: number; - node_id: string; - number: number; - state: string; - title: string; - description: string; - creator: ReposListPullRequestsAssociatedWithCommitResponseItemMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; - updated_at: string; - closed_at: string; - due_on: string; + invitee: ReposUpdateInvitationResponseInvitee; + inviter: ReposUpdateInvitationResponseInviter; + permissions: string; + repository: ReposUpdateInvitationResponseRepository; + url: string; }; - type ReposListPullRequestsAssociatedWithCommitResponseItemLabelsItem = { - id: number; - node_id: string; + type ReposUpdateHookResponseLastResponse = { + code: null; + message: null; + status: string; + }; + type ReposUpdateHookResponseConfig = { + content_type: string; + insecure_ssl: string; url: string; - name: string; - description: string; - color: string; - default: boolean; }; - type ReposListPullRequestsAssociatedWithCommitResponseItemUser = { - login: string; + type ReposUpdateHookResponse = { + active: boolean; + config: ReposUpdateHookResponseConfig; + created_at: string; + events: Array; id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; + last_response: ReposUpdateHookResponseLastResponse; + name: string; + ping_url: string; + test_url: string; type: string; - site_admin: boolean; - }; - type ReposListPullRequestsAssociatedWithCommitResponseItem = { - url: string; - id: number; - node_id: string; - html_url: string; - diff_url: string; - patch_url: string; - issue_url: string; - commits_url: string; - review_comments_url: string; - review_comment_url: string; - comments_url: string; - statuses_url: string; - number: number; - state: string; - locked: boolean; - title: string; - user: ReposListPullRequestsAssociatedWithCommitResponseItemUser; - body: string; - labels: Array< - ReposListPullRequestsAssociatedWithCommitResponseItemLabelsItem - >; - milestone: ReposListPullRequestsAssociatedWithCommitResponseItemMilestone; - active_lock_reason: string; - created_at: string; updated_at: string; - closed_at: string; - merged_at: string; - merge_commit_sha: string; - assignee: ReposListPullRequestsAssociatedWithCommitResponseItemAssignee; - assignees: Array< - ReposListPullRequestsAssociatedWithCommitResponseItemAssigneesItem - >; - requested_reviewers: Array< - ReposListPullRequestsAssociatedWithCommitResponseItemRequestedReviewersItem - >; - requested_teams: Array< - ReposListPullRequestsAssociatedWithCommitResponseItemRequestedTeamsItem - >; - head: ReposListPullRequestsAssociatedWithCommitResponseItemHead; - base: ReposListPullRequestsAssociatedWithCommitResponseItemBase; - _links: ReposListPullRequestsAssociatedWithCommitResponseItemLinks; - author_association: string; - draft: boolean; - }; - type ReposListBranchesForHeadCommitResponseItemCommit = { - sha: string; url: string; }; - type ReposListBranchesForHeadCommitResponseItem = { - name: string; - commit: ReposListBranchesForHeadCommitResponseItemCommit; - protected: string; - }; - type ReposGetCommitRefShaResponse = {}; - type ReposGetCommitResponseFilesItem = { - filename: string; - additions: number; - deletions: number; - changes: number; - status: string; - raw_url: string; - blob_url: string; - patch: string; - }; - type ReposGetCommitResponseStats = { - additions: number; - deletions: number; - total: number; + type ReposUpdateFileResponseContentLinks = { + git: string; + html: string; + self: string; }; - type ReposGetCommitResponseParentsItem = { url: string; sha: string }; - type ReposGetCommitResponseCommitter = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; + type ReposUpdateFileResponseContent = { + _links: ReposUpdateFileResponseContentLinks; + download_url: string; + git_url: string; html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; + name: string; + path: string; + sha: string; + size: number; type: string; - site_admin: boolean; - }; - type ReposGetCommitResponseAuthor = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; }; - type ReposGetCommitResponseCommitVerification = { - verified: boolean; + type ReposUpdateFileResponseCommitVerification = { + payload: null; reason: string; signature: null; - payload: null; + verified: boolean; }; - type ReposGetCommitResponseCommitTree = { url: string; sha: string }; - type ReposGetCommitResponseCommitCommitter = { - name: string; - email: string; - date: string; + type ReposUpdateFileResponseCommitTree = { sha: string; url: string }; + type ReposUpdateFileResponseCommitParentsItem = { + html_url: string; + sha: string; + url: string; }; - type ReposGetCommitResponseCommitAuthor = { - name: string; + type ReposUpdateFileResponseCommitCommitter = { + date: string; email: string; + name: string; + }; + type ReposUpdateFileResponseCommitAuthor = { date: string; + email: string; + name: string; }; - type ReposGetCommitResponseCommit = { - url: string; - author: ReposGetCommitResponseCommitAuthor; - committer: ReposGetCommitResponseCommitCommitter; + type ReposUpdateFileResponseCommit = { + author: ReposUpdateFileResponseCommitAuthor; + committer: ReposUpdateFileResponseCommitCommitter; + html_url: string; message: string; - tree: ReposGetCommitResponseCommitTree; - comment_count: number; - verification: ReposGetCommitResponseCommitVerification; - }; - type ReposGetCommitResponse = { - url: string; - sha: string; node_id: string; - html_url: string; - comments_url: string; - commit: ReposGetCommitResponseCommit; - author: ReposGetCommitResponseAuthor; - committer: ReposGetCommitResponseCommitter; - parents: Array; - stats: ReposGetCommitResponseStats; - files: Array; + parents: Array; + sha: string; + tree: ReposUpdateFileResponseCommitTree; + url: string; + verification: ReposUpdateFileResponseCommitVerification; }; - type ReposListCommitsResponseItemParentsItem = { url: string; sha: string }; - type ReposListCommitsResponseItemCommitter = { - login: string; - id: number; - node_id: string; + type ReposUpdateFileResponse = { + commit: ReposUpdateFileResponseCommit; + content: ReposUpdateFileResponseContent; + }; + type ReposUpdateCommitCommentResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ReposListCommitsResponseItemAuthor = { - login: string; - id: number; - node_id: string; - avatar_url: string; gravatar_id: string; - url: string; html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposListCommitsResponseItemCommitVerification = { - verified: boolean; - reason: string; - signature: null; - payload: null; - }; - type ReposListCommitsResponseItemCommitTree = { url: string; sha: string }; - type ReposListCommitsResponseItemCommitCommitter = { - name: string; - email: string; - date: string; - }; - type ReposListCommitsResponseItemCommitAuthor = { - name: string; - email: string; - date: string; - }; - type ReposListCommitsResponseItemCommit = { - url: string; - author: ReposListCommitsResponseItemCommitAuthor; - committer: ReposListCommitsResponseItemCommitCommitter; - message: string; - tree: ReposListCommitsResponseItemCommitTree; - comment_count: number; - verification: ReposListCommitsResponseItemCommitVerification; - }; - type ReposListCommitsResponseItem = { - url: string; - sha: string; - node_id: string; - html_url: string; - comments_url: string; - commit: ReposListCommitsResponseItemCommit; - author: ReposListCommitsResponseItemAuthor; - committer: ReposListCommitsResponseItemCommitter; - parents: Array; - }; - type ReposDeleteCommitCommentResponse = {}; - type ReposUpdateCommitCommentResponseUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; type ReposUpdateCommitCommentResponse = { - html_url: string; - url: string; - id: number; - node_id: string; body: string; - path: string; - position: number; - line: number; commit_id: string; - user: ReposUpdateCommitCommentResponseUser; created_at: string; - updated_at: string; - }; - type ReposGetCommitCommentResponseUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ReposGetCommitCommentResponse = { html_url: string; - url: string; id: number; + line: number; node_id: string; - body: string; path: string; position: number; - line: number; - commit_id: string; - user: ReposGetCommitCommentResponseUser; - created_at: string; updated_at: string; + url: string; + user: ReposUpdateCommitCommentResponseUser; }; - type ReposCreateCommitCommentResponseUser = { - login: string; - id: number; - node_id: string; + type ReposUpdateBranchProtectionResponseRestrictionsUsersItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ReposCreateCommitCommentResponse = { + gravatar_id: string; html_url: string; - url: string; id: number; - node_id: string; - body: string; - path: string; - position: number; - line: number; - commit_id: string; - user: ReposCreateCommitCommentResponseUser; - created_at: string; - updated_at: string; - }; - type ReposListCommentsForCommitResponseItemUser = { login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListCommentsForCommitResponseItem = { + type ReposUpdateBranchProtectionResponseRestrictionsTeamsItem = { + description: string; html_url: string; - url: string; id: number; + members_url: string; + name: string; node_id: string; - body: string; - path: string; - position: number; - line: number; - commit_id: string; - user: ReposListCommentsForCommitResponseItemUser; - created_at: string; - updated_at: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; }; - type ReposListCommitCommentsResponseItemUser = { - login: 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; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; + public_members_url: string; repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; + url: string; }; - type ReposListCommitCommentsResponseItem = { + type ReposUpdateBranchProtectionResponseRestrictionsAppsItem = { + created_at: string; + description: string; + events: Array; + external_url: string; html_url: string; - url: string; id: number; + name: string; node_id: string; - body: string; - path: string; - position: number; - line: number; - commit_id: string; - user: ReposListCommitCommentsResponseItemUser; - created_at: string; + owner: ReposUpdateBranchProtectionResponseRestrictionsAppsItemOwner; + permissions: ReposUpdateBranchProtectionResponseRestrictionsAppsItemPermissions; + slug: string; updated_at: string; }; - type ReposRemoveCollaboratorResponse = {}; - type ReposListCollaboratorsResponseItemPermissions = { - pull: boolean; - push: boolean; - admin: boolean; + type ReposUpdateBranchProtectionResponseRestrictions = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; }; - type ReposListCollaboratorsResponseItem = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + type ReposUpdateBranchProtectionResponseRequiredStatusChecks = { + contexts: Array; + contexts_url: string; + strict: boolean; url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - permissions: ReposListCollaboratorsResponseItemPermissions; }; - type ReposRemoveProtectedBranchUserRestrictionsResponseItem = { - login: string; - id: number; - node_id: string; + type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposAddProtectedBranchUserRestrictionsResponseItem = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type ReposReplaceProtectedBranchUserRestrictionsResponseItem = { - login: string; + type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; id: number; + members_url: string; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ReposRemoveProtectedBranchTeamRestrictionsResponseItem = { - id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; parent: null; - }; - type ReposAddProtectedBranchTeamRestrictionsResponseItem = { - id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; permission: string; - members_url: string; - repositories_url: string; - parent: null; - }; - type ReposReplaceProtectedBranchTeamRestrictionsResponseItem = { - id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; privacy: string; - permission: string; - members_url: string; repositories_url: string; - parent: null; - }; - type ReposAddProtectedBranchAdminEnforcementResponse = { - url: string; - enabled: boolean; - }; - type ReposAddProtectedBranchRequiredSignaturesResponse = { - url: string; - enabled: boolean; - }; - type ReposGetProtectedBranchRequiredSignaturesResponse = { - url: string; - enabled: boolean; - }; - type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem = { - id: number; - node_id: string; - url: string; - name: string; slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - }; - type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; }; - type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = { - url: string; - users_url: string; - teams_url: string; - users: Array< - ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem - >; + type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = { teams: Array< - ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem + ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem >; - }; - type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponse = { - url: string; - dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions; - dismiss_stale_reviews: boolean; - require_code_owner_reviews: boolean; - required_approving_review_count: number; - }; - type ReposUpdateProtectedBranchRequiredStatusChecksResponse = { - url: string; - strict: boolean; - contexts: Array; - contexts_url: string; - }; - type ReposGetProtectedBranchRequiredStatusChecksResponse = { - url: string; - strict: boolean; - contexts: Array; - contexts_url: string; - }; - type ReposRemoveBranchProtectionResponse = {}; - type ReposUpdateBranchProtectionResponseRestrictionsTeamsItem = { - id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - }; - type ReposUpdateBranchProtectionResponseRestrictionsUsersItem = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ReposUpdateBranchProtectionResponseRestrictions = { - url: string; - users_url: string; teams_url: string; - users: Array; - teams: Array; - }; - type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { - id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - }; - type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = { url: string; - users_url: string; - teams_url: string; users: Array< ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem >; - teams: Array< - ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem - >; + users_url: string; }; type ReposUpdateBranchProtectionResponseRequiredPullRequestReviews = { - url: string; - dismissal_restrictions: ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions; dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions; require_code_owner_reviews: boolean; required_approving_review_count: number; - }; - type ReposUpdateBranchProtectionResponseEnforceAdmins = { url: string; + }; + type ReposUpdateBranchProtectionResponseRequiredLinearHistory = { enabled: boolean; }; - type ReposUpdateBranchProtectionResponseRequiredStatusChecks = { + type ReposUpdateBranchProtectionResponseEnforceAdmins = { + enabled: boolean; url: string; - strict: boolean; - contexts: Array; - contexts_url: string; }; + type ReposUpdateBranchProtectionResponseAllowForcePushes = { + enabled: boolean; + }; + type ReposUpdateBranchProtectionResponseAllowDeletions = { enabled: boolean }; type ReposUpdateBranchProtectionResponse = { - url: string; - required_status_checks: ReposUpdateBranchProtectionResponseRequiredStatusChecks; + allow_deletions: ReposUpdateBranchProtectionResponseAllowDeletions; + allow_force_pushes: ReposUpdateBranchProtectionResponseAllowForcePushes; enforce_admins: ReposUpdateBranchProtectionResponseEnforceAdmins; + required_linear_history: ReposUpdateBranchProtectionResponseRequiredLinearHistory; required_pull_request_reviews: ReposUpdateBranchProtectionResponseRequiredPullRequestReviews; + required_status_checks: ReposUpdateBranchProtectionResponseRequiredStatusChecks; restrictions: ReposUpdateBranchProtectionResponseRestrictions; - }; - type ReposGetBranchProtectionResponseRestrictionsTeamsItem = { - id: number; - node_id: string; url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; }; - type ReposGetBranchProtectionResponseRestrictionsUsersItem = { - login: string; - id: number; - node_id: string; + type ReposUpdateResponseSourcePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposUpdateResponseSourceOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ReposGetBranchProtectionResponseRestrictions = { - url: string; - users_url: string; - teams_url: string; - users: Array; - teams: Array; - }; - type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = { + gravatar_id: string; + html_url: string; id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - }; - type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem = { login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = { - url: string; - users_url: string; - teams_url: string; - users: Array< - ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem - >; - teams: Array< - ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem - >; - }; - type ReposGetBranchProtectionResponseRequiredPullRequestReviews = { - url: string; - dismissal_restrictions: ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions; - dismiss_stale_reviews: boolean; - require_code_owner_reviews: boolean; - required_approving_review_count: number; - }; - type ReposGetBranchProtectionResponseEnforceAdmins = { - url: string; - enabled: boolean; - }; - type ReposGetBranchProtectionResponseRequiredStatusChecks = { - url: string; - strict: boolean; - contexts: Array; - contexts_url: string; - }; - type ReposGetBranchProtectionResponse = { - url: string; - required_status_checks: ReposGetBranchProtectionResponseRequiredStatusChecks; - enforce_admins: ReposGetBranchProtectionResponseEnforceAdmins; - required_pull_request_reviews: ReposGetBranchProtectionResponseRequiredPullRequestReviews; - restrictions: ReposGetBranchProtectionResponseRestrictions; - }; - type ReposGetBranchResponseProtectionRequiredStatusChecks = { - enforcement_level: string; - contexts: Array; - }; - type ReposGetBranchResponseProtection = { - enabled: boolean; - required_status_checks: ReposGetBranchResponseProtectionRequiredStatusChecks; - }; - type ReposGetBranchResponseLinks = { html: string; self: string }; - type ReposGetBranchResponseCommitCommitter = { - gravatar_id: string; - avatar_url: string; - url: string; - id: number; - login: string; - }; - type ReposGetBranchResponseCommitParentsItem = { sha: string; url: string }; - type ReposGetBranchResponseCommitAuthor = { - gravatar_id: string; - avatar_url: string; - url: string; - id: number; - login: string; - }; - type ReposGetBranchResponseCommitCommitVerification = { - verified: boolean; - reason: string; - signature: null; - payload: null; - }; - type ReposGetBranchResponseCommitCommitCommitter = { - name: string; - date: string; - email: string; - }; - type ReposGetBranchResponseCommitCommitTree = { sha: string; url: string }; - type ReposGetBranchResponseCommitCommitAuthor = { - name: string; - date: string; - email: string; - }; - type ReposGetBranchResponseCommitCommit = { - author: ReposGetBranchResponseCommitCommitAuthor; - url: string; - message: string; - tree: ReposGetBranchResponseCommitCommitTree; - committer: ReposGetBranchResponseCommitCommitCommitter; - verification: ReposGetBranchResponseCommitCommitVerification; - }; - type ReposGetBranchResponseCommit = { - sha: string; - node_id: string; - commit: ReposGetBranchResponseCommitCommit; - author: ReposGetBranchResponseCommitAuthor; - parents: Array; - url: string; - committer: ReposGetBranchResponseCommitCommitter; - }; - type ReposGetBranchResponse = { - name: string; - commit: ReposGetBranchResponseCommit; - _links: ReposGetBranchResponseLinks; - protected: boolean; - protection: ReposGetBranchResponseProtection; - protection_url: string; - }; - type ReposListBranchesResponseItemProtectionRequiredStatusChecks = { - enforcement_level: string; - contexts: Array; - }; - type ReposListBranchesResponseItemProtection = { - enabled: boolean; - required_status_checks: ReposListBranchesResponseItemProtectionRequiredStatusChecks; - }; - type ReposListBranchesResponseItemCommit = { sha: string; url: string }; - type ReposListBranchesResponseItem = { - name: string; - commit: ReposListBranchesResponseItemCommit; - protected: boolean; - protection: ReposListBranchesResponseItemProtection; - protection_url: string; - }; - type ReposTransferResponsePermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type ReposTransferResponseOwner = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type ReposTransferResponse = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ReposTransferResponseOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: ReposTransferResponsePermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + visibility: string; + watchers_count: number; }; - type ReposDeleteResponse = { message?: string; documentation_url?: string }; - type ReposListTagsResponseItemCommit = { sha: string; url: string }; - type ReposListTagsResponseItem = { - name: string; - commit: ReposListTagsResponseItemCommit; - zipball_url: string; - tarball_url: string; - }; - type ReposListTeamsResponseItem = { - id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - }; - type ReposListLanguagesResponse = { C: number; Python: number }; - type ReposDisableAutomatedSecurityFixesResponse = {}; - type ReposEnableAutomatedSecurityFixesResponse = {}; - type ReposDisableVulnerabilityAlertsResponse = {}; - type ReposEnableVulnerabilityAlertsResponse = {}; - type ReposReplaceTopicsResponse = { names: Array }; - type ReposListTopicsResponse = { names: Array }; - type ReposUpdateResponseSourcePermissions = { + type ReposUpdateResponsePermissions = { admin: boolean; + pull: boolean; push: boolean; + }; + type ReposUpdateResponseParentPermissions = { + admin: boolean; pull: boolean; + push: boolean; }; - type ReposUpdateResponseSourceOwner = { - login: string; - id: number; - node_id: string; + type ReposUpdateResponseParentOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposUpdateResponseSource = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ReposUpdateResponseSourceOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: ReposUpdateResponseSourcePermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type ReposUpdateResponseParentPermissions = { - admin: boolean; - push: boolean; - pull: boolean; + url: string; + visibility: string; + watchers_count: number; }; - type ReposUpdateResponseParentOwner = { - login: string; - id: number; - node_id: string; + type ReposUpdateResponseOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposUpdateResponseParent = { + 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; - name: string; - full_name: string; - owner: ReposUpdateResponseParentOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: ReposUpdateResponseParentPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type ReposUpdateResponseOrganization = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; + visibility: string; + watchers_count: number; }; - type ReposUpdateResponsePermissions = { + type ReposTransferResponsePermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type ReposUpdateResponseOwner = { - login: string; - id: number; - node_id: string; + type ReposTransferResponseOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReposUpdateResponse = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ReposUpdateResponseOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: ReposUpdateResponsePermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - organization: ReposUpdateResponseOrganization; - parent: ReposUpdateResponseParent; - source: ReposUpdateResponseSource; + url: string; + visibility: string; + watchers_count: number; }; - type ReposGetResponseSourcePermissions = { - admin: boolean; - push: boolean; - pull: boolean; + type ReposRetrieveCommunityProfileMetricsResponseFilesReadme = { + html_url: string; + url: string; }; - type ReposGetResponseSourceOwner = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposGetResponseSource = { + type ReposReplaceProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; id: number; - node_id: string; + members_url: string; name: string; - full_name: string; - owner: ReposGetResponseSourceOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; + }; + type ReposReplaceProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposReplaceProtectedBranchAppRestrictionsResponseItemOwner = { + avatar_url: string; + description: string; events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: ReposGetResponseSourcePermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type ReposGetResponseParentPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type ReposGetResponseParentOwner = { - login: string; id: number; + issues_url: string; + login: string; + members_url: string; node_id: string; - avatar_url: string; - gravatar_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposGetResponseParent = { + type ReposRemoveProtectedBranchTeamRestrictionsResponseItem = { + description: string; + html_url: string; id: number; - node_id: string; + members_url: string; name: string; - full_name: string; - owner: ReposGetResponseParentOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; + }; + type ReposRemoveProtectedBranchAppRestrictionsResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; + }; + type ReposRemoveProtectedBranchAppRestrictionsResponseItemOwner = { + avatar_url: string; + description: string; events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: 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; - permissions: ReposGetResponseParentPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; }; - type ReposGetResponseOrganization = { - login: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposGetResponseLicense = { - key: string; + type ReposListTopicsResponse = { names: Array }; + type ReposListTeamsWithAccessToProtectedBranchResponseItem = { + description: string; + html_url: string; + id: number; + members_url: string; name: string; - spdx_id: 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 ReposGetResponsePermissions = { - admin: boolean; - push: boolean; - pull: boolean; + type ReposListTagsResponseItemCommit = { sha: string; url: string }; + type ReposListTagsResponseItem = { + commit: ReposListTagsResponseItemCommit; + name: string; + tarball_url: string; + zipball_url: string; }; - type ReposGetResponseOwner = { - login: 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; - gravatar_id: 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; - html_url: string; + }; + type ReposListReleasesResponseItemAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; 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; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposGetResponse = { + type ReposListReleasesResponseItemAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; id: number; - node_id: string; + label: string; name: string; - full_name: string; - owner: ReposGetResponseOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; + node_id: string; size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + state: string; updated_at: string; - permissions: ReposGetResponsePermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - license: ReposGetResponseLicense; - organization: ReposGetResponseOrganization; - parent: ReposGetResponseParent; - source: ReposGetResponseSource; - }; - type ReposCreateUsingTemplateResponseTemplateRepositoryPermissions = { - admin: boolean; - push: boolean; - pull: boolean; + uploader: ReposListReleasesResponseItemAssetsItemUploader; + url: string; }; - type ReposCreateUsingTemplateResponseTemplateRepositoryOwner = { - login: 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; - avatar_url: string; - gravatar_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; url: string; - html_url: string; + zipball_url: string; + }; + type ReposListPullRequestsAssociatedWithCommitResponseItemUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposCreateUsingTemplateResponseTemplateRepository = { + type ReposListPullRequestsAssociatedWithCommitResponseItemRequestedTeamsItem = { + description: string; + html_url: string; id: number; - node_id: string; + members_url: string; name: string; - full_name: string; - owner: ReposCreateUsingTemplateResponseTemplateRepositoryOwner; - private: boolean; + 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; - fork: boolean; + 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: ReposCreateUsingTemplateResponseTemplateRepositoryPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + visibility: string; + watchers_count: number; }; - type ReposCreateUsingTemplateResponsePermissions = { - admin: boolean; - push: boolean; - pull: boolean; + type ReposListPullRequestsAssociatedWithCommitResponseItemHead = { + label: string; + ref: string; + repo: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser; }; - type ReposCreateUsingTemplateResponseOwner = { - login: string; - id: number; - node_id: string; + type ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposCreateUsingTemplateResponse = { + 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; - name: string; - full_name: string; - owner: ReposCreateUsingTemplateResponseOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: ReposCreateUsingTemplateResponsePermissions; - allow_rebase_merge: boolean; - template_repository: ReposCreateUsingTemplateResponseTemplateRepository; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + visibility: string; + watchers_count: number; }; - type ReposCreateInOrgResponsePermissions = { - admin: boolean; - push: boolean; - pull: boolean; + type ReposListPullRequestsAssociatedWithCommitResponseItemBase = { + label: string; + ref: string; + repo: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo; + sha: string; + user: ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser; }; - type ReposCreateInOrgResponseOwner = { - login: string; - id: number; - node_id: string; + type ReposListPullRequestsAssociatedWithCommitResponseItemAssigneesItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; 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; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposCreateInOrgResponse = { + 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; - name: string; - full_name: string; - owner: ReposCreateInOrgResponseOwner; - private: boolean; + 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; - description: string; - fork: boolean; + id: number; + login: string; + node_id: string; + 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; @@ -5941,13 +5961,18 @@ declare namespace Octokit { 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; @@ -5956,7 +5981,11 @@ declare namespace Octokit { 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; @@ -5967,74 +5996,95 @@ declare namespace Octokit { tags_url: string; teams_url: string; trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: ReposCreateInOrgResponsePermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type ReposCreateForAuthenticatedUserResponsePermissions = { - admin: boolean; - push: boolean; - pull: boolean; + url: string; }; - type ReposCreateForAuthenticatedUserResponseOwner = { - login: string; - id: number; - node_id: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposCreateForAuthenticatedUserResponse = { + 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; - name: string; - full_name: string; - owner: ReposCreateForAuthenticatedUserResponseOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + 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; @@ -6046,13 +6096,18 @@ declare namespace Octokit { 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; @@ -6061,7 +6116,11 @@ declare namespace Octokit { 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; @@ -6072,69 +6131,79 @@ declare namespace Octokit { tags_url: string; teams_url: string; trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: ReposCreateForAuthenticatedUserResponsePermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; }; - type ReposListPublicResponseItemOwner = { - login: string; - id: number; - node_id: string; + type ReposListInvitationsForAuthenticatedUserResponseItemInviter = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; 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; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListPublicResponseItem = { + type ReposListInvitationsForAuthenticatedUserResponseItem = { + created_at: string; + html_url: string; id: number; - node_id: string; - name: string; - full_name: string; - owner: ReposListPublicResponseItemOwner; - private: boolean; + 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; - description: string; - fork: boolean; + id: number; + login: string; + node_id: string; + 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; @@ -6146,13 +6215,18 @@ declare namespace Octokit { 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; @@ -6161,7 +6235,11 @@ declare namespace Octokit { 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; @@ -6172,3212 +6250,3582 @@ declare namespace Octokit { tags_url: string; teams_url: string; trees_url: string; - }; - type ReposListForOrgResponseItemLicense = { - key: string; - name: string; - spdx_id: string; url: string; - node_id: string; - }; - type ReposListForOrgResponseItemPermissions = { - admin: boolean; - push: boolean; - pull: boolean; }; - type ReposListForOrgResponseItemOwner = { - login: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReposListForOrgResponseItem = { - id: number; - node_id: string; + type ReposListForksResponseItemLicense = { + key: string; name: string; - full_name: string; - owner: ReposListForOrgResponseItemOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: ReposListForOrgResponseItemPermissions; - template_repository: null; - subscribers_count: number; - network_count: number; - license: ReposListForOrgResponseItemLicense; + url: string; + visibility: string; + watchers_count: number; }; - type ReactionsDeleteResponse = {}; - type ReactionsCreateForTeamDiscussionCommentResponseUser = { - login: string; - id: number; - node_id: string; + type ReposListForOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposListForOrgResponseItemOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ReactionsCreateForTeamDiscussionCommentResponse = { + gravatar_id: string; + html_url: string; id: number; - node_id: string; - user: ReactionsCreateForTeamDiscussionCommentResponseUser; - content: string; - created_at: string; - }; - type ReactionsListForTeamDiscussionCommentResponseItemUser = { login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ReactionsListForTeamDiscussionCommentResponseItem = { - id: number; - node_id: string; - user: ReactionsListForTeamDiscussionCommentResponseItemUser; - content: string; - created_at: string; - }; - type ReactionsCreateForTeamDiscussionResponseUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type ReactionsCreateForTeamDiscussionResponse = { - id: number; - node_id: string; - user: ReactionsCreateForTeamDiscussionResponseUser; - content: string; - created_at: string; + url: string; }; - type ReactionsListForTeamDiscussionResponseItemUser = { - login: string; - id: number; + type ReposListForOrgResponseItemLicense = { + key: string; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + spdx_id: string; url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; }; - type ReactionsListForTeamDiscussionResponseItem = { - id: number; - node_id: string; - user: ReactionsListForTeamDiscussionResponseItemUser; - content: 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; - }; - type ReactionsCreateForPullRequestReviewCommentResponseUser = { - login: 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; - avatar_url: string; - gravatar_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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; + visibility: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReactionsCreateForPullRequestReviewCommentResponse = { - id: number; - node_id: string; - user: ReactionsCreateForPullRequestReviewCommentResponseUser; - content: string; + type ReposListDeploymentsResponseItem = { created_at: string; - }; - type ReactionsListForPullRequestReviewCommentResponseItemUser = { - login: string; + creator: ReposListDeploymentsResponseItemCreator; + description: string; + environment: string; id: number; node_id: string; - avatar_url: string; - gravatar_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; - html_url: string; + }; + type ReposListDeploymentStatusesResponseItemCreator = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReactionsListForPullRequestReviewCommentResponseItem = { + 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; - user: ReactionsListForPullRequestReviewCommentResponseItemUser; - content: string; - created_at: string; + repository_url: string; + state: string; + target_url: string; + updated_at: string; + url: string; }; - type ReactionsCreateForIssueCommentResponseUser = { - login: string; + type ReposListDeployKeysResponseItem = { + created_at: string; id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + key: string; + read_only: boolean; + title: string; url: string; - html_url: string; + verified: boolean; + }; + type ReposListContributorsResponseItem = { + avatar_url: string; + contributions: number; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReactionsCreateForIssueCommentResponse = { - id: number; - node_id: string; - user: ReactionsCreateForIssueCommentResponseUser; - content: string; - created_at: string; - }; - type ReactionsListForIssueCommentResponseItemUser = { - login: string; - id: number; - node_id: string; + type ReposListCommitsResponseItemParentsItem = { sha: string; url: string }; + type ReposListCommitsResponseItemCommitter = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReactionsListForIssueCommentResponseItem = { - id: number; - node_id: string; - user: ReactionsListForIssueCommentResponseItemUser; - content: string; - created_at: string; + type ReposListCommitsResponseItemCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; }; - type ReactionsCreateForIssueResponseUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + 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; - html_url: string; + verification: ReposListCommitsResponseItemCommitVerification; + }; + type ReposListCommitsResponseItemAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReactionsCreateForIssueResponse = { - id: number; + type ReposListCommitsResponseItem = { + author: ReposListCommitsResponseItemAuthor; + comments_url: string; + commit: ReposListCommitsResponseItemCommit; + committer: ReposListCommitsResponseItemCommitter; + html_url: string; node_id: string; - user: ReactionsCreateForIssueResponseUser; - content: string; - created_at: string; + parents: Array; + sha: string; + url: string; }; - type ReactionsListForIssueResponseItemUser = { - login: string; - id: number; - node_id: string; + type ReposListCommitCommentsResponseItemUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReactionsListForIssueResponseItem = { - id: number; - node_id: string; - user: ReactionsListForIssueResponseItemUser; - content: string; + type ReposListCommitCommentsResponseItem = { + body: string; + commit_id: string; created_at: string; - }; - type ReactionsCreateForCommitCommentResponseUser = { - login: string; + html_url: string; id: number; + line: number; node_id: string; - avatar_url: string; - gravatar_id: string; + path: string; + position: number; + updated_at: string; url: string; - html_url: string; + user: ReposListCommitCommentsResponseItemUser; + }; + type ReposListCommentsForCommitResponseItemUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReactionsCreateForCommitCommentResponse = { - id: number; - node_id: string; - user: ReactionsCreateForCommitCommentResponseUser; - content: string; + type ReposListCommentsForCommitResponseItem = { + body: string; + commit_id: string; created_at: string; - }; - type ReactionsListForCommitCommentResponseItemUser = { - login: string; + html_url: string; id: number; + line: number; node_id: string; - avatar_url: string; - gravatar_id: string; + path: string; + position: number; + updated_at: string; url: string; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; + permissions: ReposListCollaboratorsResponseItemPermissions; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ReactionsListForCommitCommentResponseItem = { - id: number; - node_id: string; - user: ReactionsListForCommitCommentResponseItemUser; - content: string; - created_at: string; - }; - type RateLimitGetResponseRate = { - limit: number; - remaining: number; - reset: number; - }; - type RateLimitGetResponseResourcesIntegrationManifest = { - limit: number; - remaining: number; - reset: number; - }; - type RateLimitGetResponseResourcesGraphql = { - limit: number; - remaining: number; - reset: number; - }; - type RateLimitGetResponseResourcesSearch = { - limit: number; - remaining: number; - reset: number; + type ReposListBranchesForHeadCommitResponseItemCommit = { + sha: string; + url: string; }; - type RateLimitGetResponseResourcesCore = { - limit: number; - remaining: number; - reset: number; + type ReposListBranchesForHeadCommitResponseItem = { + commit: ReposListBranchesForHeadCommitResponseItemCommit; + name: string; + protected: string; }; - type RateLimitGetResponseResources = { - core: RateLimitGetResponseResourcesCore; - search: RateLimitGetResponseResourcesSearch; - graphql: RateLimitGetResponseResourcesGraphql; - integration_manifest: RateLimitGetResponseResourcesIntegrationManifest; + type ReposListBranchesResponseItemProtectionRequiredStatusChecks = { + contexts: Array; + enforcement_level: string; }; - type RateLimitGetResponse = { - resources: RateLimitGetResponseResources; - rate: RateLimitGetResponseRate; + type ReposListBranchesResponseItemProtection = { + enabled: boolean; + required_status_checks: ReposListBranchesResponseItemProtectionRequiredStatusChecks; }; - type PullsDismissReviewResponseLinksPullRequest = { href: string }; - type PullsDismissReviewResponseLinksHtml = { href: string }; - type PullsDismissReviewResponseLinks = { - html: PullsDismissReviewResponseLinksHtml; - pull_request: PullsDismissReviewResponseLinksPullRequest; + type ReposListBranchesResponseItemCommit = { sha: string; url: string }; + type ReposListBranchesResponseItem = { + commit: ReposListBranchesResponseItemCommit; + name: string; + protected: boolean; + protection: ReposListBranchesResponseItemProtection; + protection_url: string; }; - type PullsDismissReviewResponseUser = { - login: string; - id: number; - node_id: string; + type ReposListAssetsForReleaseResponseItemUploader = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsDismissReviewResponse = { + type ReposListAssetsForReleaseResponseItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; id: number; + label: string; + name: string; node_id: string; - user: PullsDismissReviewResponseUser; - body: string; - commit_id: string; + size: number; state: string; - html_url: string; - pull_request_url: string; - _links: PullsDismissReviewResponseLinks; + updated_at: string; + uploader: ReposListAssetsForReleaseResponseItemUploader; + url: string; }; - type PullsSubmitReviewResponseLinksPullRequest = { href: string }; - type PullsSubmitReviewResponseLinksHtml = { href: string }; - type PullsSubmitReviewResponseLinks = { - html: PullsSubmitReviewResponseLinksHtml; - pull_request: PullsSubmitReviewResponseLinksPullRequest; + type ReposListAppsWithAccessToProtectedBranchResponseItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; }; - type PullsSubmitReviewResponseUser = { - login: 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; - avatar_url: string; - gravatar_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsSubmitReviewResponse = { - id: number; - node_id: string; - user: PullsSubmitReviewResponseUser; - body: string; - commit_id: string; - state: string; - html_url: string; - pull_request_url: string; - _links: PullsSubmitReviewResponseLinks; + type ReposGetTopReferrersResponseItem = { + count: number; + referrer: string; + uniques: number; }; - type PullsUpdateReviewResponseLinksPullRequest = { href: string }; - type PullsUpdateReviewResponseLinksHtml = { href: string }; - type PullsUpdateReviewResponseLinks = { - html: PullsUpdateReviewResponseLinksHtml; - pull_request: PullsUpdateReviewResponseLinksPullRequest; + type ReposGetTopPathsResponseItem = { + count: number; + path: string; + title: string; + uniques: number; }; - type PullsUpdateReviewResponseUser = { - login: string; + type ReposGetTeamsWithAccessToProtectedBranchResponseItem = { + description: string; + html_url: string; id: number; + members_url: string; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; url: string; - html_url: string; + }; + type ReposGetReleaseByTagResponseAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; 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; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsUpdateReviewResponse = { + type ReposGetReleaseByTagResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; id: number; + label: string; + name: string; node_id: string; - user: PullsUpdateReviewResponseUser; - body: string; - commit_id: string; + size: number; state: string; - html_url: string; - pull_request_url: string; - _links: PullsUpdateReviewResponseLinks; - }; - type PullsCreateReviewResponseLinksPullRequest = { href: string }; - type PullsCreateReviewResponseLinksHtml = { href: string }; - type PullsCreateReviewResponseLinks = { - html: PullsCreateReviewResponseLinksHtml; - pull_request: PullsCreateReviewResponseLinksPullRequest; + updated_at: string; + uploader: ReposGetReleaseByTagResponseAssetsItemUploader; + url: string; }; - type PullsCreateReviewResponseUser = { - login: 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; - avatar_url: string; - gravatar_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; url: string; - html_url: string; + zipball_url: string; + }; + type ReposGetReleaseAssetResponseUploader = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsCreateReviewResponse = { + type ReposGetReleaseAssetResponse = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; id: number; + label: string; + name: string; node_id: string; - user: PullsCreateReviewResponseUser; - body: string; - commit_id: string; + size: number; state: string; - html_url: string; - pull_request_url: string; - _links: PullsCreateReviewResponseLinks; - }; - type PullsGetCommentsForReviewResponseItemLinksPullRequest = { href: string }; - type PullsGetCommentsForReviewResponseItemLinksHtml = { href: string }; - type PullsGetCommentsForReviewResponseItemLinksSelf = { href: string }; - type PullsGetCommentsForReviewResponseItemLinks = { - self: PullsGetCommentsForReviewResponseItemLinksSelf; - html: PullsGetCommentsForReviewResponseItemLinksHtml; - pull_request: PullsGetCommentsForReviewResponseItemLinksPullRequest; + updated_at: string; + uploader: ReposGetReleaseAssetResponseUploader; + url: string; }; - type PullsGetCommentsForReviewResponseItemUser = { - login: string; - id: number; - node_id: string; + type ReposGetReleaseResponseAuthor = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsGetCommentsForReviewResponseItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - id: number; - node_id: string; - pull_request_review_id: number; - diff_hunk: string; - path: string; - position: number; - original_position: number; - commit_id: string; - original_commit_id: string; - in_reply_to_id: number; - user: PullsGetCommentsForReviewResponseItemUser; - body: string; - created_at: string; - updated_at: string; - html_url: string; - pull_request_url: string; - _links: PullsGetCommentsForReviewResponseItemLinks; - }; - type PullsDeletePendingReviewResponseLinksPullRequest = { href: string }; - type PullsDeletePendingReviewResponseLinksHtml = { href: string }; - type PullsDeletePendingReviewResponseLinks = { - html: PullsDeletePendingReviewResponseLinksHtml; - pull_request: PullsDeletePendingReviewResponseLinksPullRequest; }; - type PullsDeletePendingReviewResponseUser = { - login: string; - id: number; - node_id: string; + type ReposGetReleaseResponseAssetsItemUploader = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsDeletePendingReviewResponse = { + type ReposGetReleaseResponseAssetsItem = { + browser_download_url: string; + content_type: string; + created_at: string; + download_count: number; id: number; + label: string; + name: string; node_id: string; - user: PullsDeletePendingReviewResponseUser; - body: string; - commit_id: string; + size: number; state: string; - html_url: string; - pull_request_url: string; - _links: PullsDeletePendingReviewResponseLinks; - }; - type PullsGetReviewResponseLinksPullRequest = { href: string }; - type PullsGetReviewResponseLinksHtml = { href: string }; - type PullsGetReviewResponseLinks = { - html: PullsGetReviewResponseLinksHtml; - pull_request: PullsGetReviewResponseLinksPullRequest; + updated_at: string; + uploader: ReposGetReleaseResponseAssetsItemUploader; + url: string; }; - type PullsGetReviewResponseUser = { - login: 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; - avatar_url: string; - gravatar_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsGetReviewResponse = { + type ReposGetProtectedBranchRestrictionsResponseTeamsItem = { + description: string; + html_url: string; id: number; + members_url: string; + name: string; node_id: string; - user: PullsGetReviewResponseUser; - body: string; - commit_id: string; - state: string; - html_url: string; - pull_request_url: string; - _links: PullsGetReviewResponseLinks; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; }; - type PullsListReviewsResponseItemLinksPullRequest = { href: string }; - type PullsListReviewsResponseItemLinksHtml = { href: string }; - type PullsListReviewsResponseItemLinks = { - html: PullsListReviewsResponseItemLinksHtml; - pull_request: PullsListReviewsResponseItemLinksPullRequest; + type ReposGetProtectedBranchRestrictionsResponseAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; }; - type PullsListReviewsResponseItemUser = { - login: 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; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; + public_members_url: string; repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; + url: string; }; - type PullsListReviewsResponseItem = { + type ReposGetProtectedBranchRestrictionsResponseAppsItem = { + created_at: string; + description: string; + events: Array; + external_url: string; + html_url: string; id: number; + name: string; node_id: string; - user: PullsListReviewsResponseItemUser; - body: string; - commit_id: string; - state: string; - html_url: string; - pull_request_url: string; - _links: PullsListReviewsResponseItemLinks; + owner: ReposGetProtectedBranchRestrictionsResponseAppsItemOwner; + permissions: ReposGetProtectedBranchRestrictionsResponseAppsItemPermissions; + slug: string; + updated_at: string; }; - type PullsDeleteReviewRequestResponse = {}; - type PullsCreateReviewRequestResponseLinksStatuses = { href: string }; - type PullsCreateReviewRequestResponseLinksCommits = { href: string }; - type PullsCreateReviewRequestResponseLinksReviewComment = { href: string }; - type PullsCreateReviewRequestResponseLinksReviewComments = { href: string }; - type PullsCreateReviewRequestResponseLinksComments = { href: string }; - type PullsCreateReviewRequestResponseLinksIssue = { href: string }; - type PullsCreateReviewRequestResponseLinksHtml = { href: string }; - type PullsCreateReviewRequestResponseLinksSelf = { href: string }; - type PullsCreateReviewRequestResponseLinks = { - self: PullsCreateReviewRequestResponseLinksSelf; - html: PullsCreateReviewRequestResponseLinksHtml; - issue: PullsCreateReviewRequestResponseLinksIssue; - comments: PullsCreateReviewRequestResponseLinksComments; - review_comments: PullsCreateReviewRequestResponseLinksReviewComments; - review_comment: PullsCreateReviewRequestResponseLinksReviewComment; - commits: PullsCreateReviewRequestResponseLinksCommits; - statuses: PullsCreateReviewRequestResponseLinksStatuses; + type ReposGetProtectedBranchRestrictionsResponse = { + apps: Array; + apps_url: string; + teams: Array; + teams_url: string; + url: string; + users: Array; + users_url: string; }; - type PullsCreateReviewRequestResponseBaseRepoPermissions = { - admin: boolean; - push: boolean; - pull: boolean; + type ReposGetProtectedBranchRequiredStatusChecksResponse = { + contexts: Array; + contexts_url: string; + strict: boolean; + url: string; }; - type PullsCreateReviewRequestResponseBaseRepoOwner = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + type ReposGetProtectedBranchRequiredSignaturesResponse = { + enabled: boolean; url: string; - html_url: string; + }; + type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsCreateReviewRequestResponseBaseRepo = { + type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem = { + description: string; + html_url: string; id: number; - node_id: string; + members_url: string; name: string; - full_name: string; - owner: PullsCreateReviewRequestResponseBaseRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; + }; + type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = { + teams: Array< + ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem + >; teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: PullsCreateReviewRequestResponseBaseRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + users: Array< + ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem + >; + users_url: string; }; - type PullsCreateReviewRequestResponseBaseUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + type ReposGetProtectedBranchPullRequestReviewEnforcementResponse = { + dismiss_stale_reviews: boolean; + dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions; + require_code_owner_reviews: boolean; + required_approving_review_count: number; url: string; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsCreateReviewRequestResponseBase = { - label: string; - ref: string; - sha: string; - user: PullsCreateReviewRequestResponseBaseUser; - repo: PullsCreateReviewRequestResponseBaseRepo; + 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 PullsCreateReviewRequestResponseHeadRepoPermissions = { - admin: boolean; - push: boolean; - pull: boolean; + type ReposGetPagesResponseSource = { branch: string; directory: string }; + type ReposGetPagesResponse = { + cname: string; + custom_404: boolean; + html_url: string; + source: ReposGetPagesResponseSource; + status: string; + url: string; }; - type PullsCreateReviewRequestResponseHeadRepoOwner = { - login: string; - id: number; - node_id: string; + type ReposGetLatestReleaseResponseAuthor = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateReviewRequestResponseHeadRepo = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: PullsCreateReviewRequestResponseHeadRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: PullsCreateReviewRequestResponseHeadRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; }; - type PullsCreateReviewRequestResponseHeadUser = { - login: string; - id: number; - node_id: string; + type ReposGetLatestReleaseResponseAssetsItemUploader = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsCreateReviewRequestResponseHead = { - label: string; - ref: string; - sha: string; - user: PullsCreateReviewRequestResponseHeadUser; - repo: PullsCreateReviewRequestResponseHeadRepo; - }; - type PullsCreateReviewRequestResponseRequestedTeamsItem = { + 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; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; }; - type PullsCreateReviewRequestResponseRequestedReviewersItem = { - login: 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; - avatar_url: string; - gravatar_id: string; + prerelease: boolean; + published_at: string; + tag_name: string; + tarball_url: string; + target_commitish: string; + upload_url: string; url: string; - html_url: string; + zipball_url: string; + }; + type ReposGetLatestPagesBuildResponsePusher = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateReviewRequestResponseAssigneesItem = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type PullsCreateReviewRequestResponseAssignee = { - login: 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; - node_id: string; - avatar_url: string; - gravatar_id: string; + 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateReviewRequestResponseMilestoneCreator = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type PullsCreateReviewRequestResponseMilestone = { url: string; - html_url: string; - labels_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; - number: number; + repository_url: string; state: string; - title: string; - description: string; - creator: PullsCreateReviewRequestResponseMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; + target_url: string; updated_at: string; - closed_at: string; - due_on: string; - }; - type PullsCreateReviewRequestResponseLabelsItem = { - id: number; - node_id: string; url: string; - name: string; - description: string; - color: string; - default: boolean; }; - type PullsCreateReviewRequestResponseUser = { - login: string; - id: number; - node_id: string; + type ReposGetDeploymentResponsePayload = { deploy: string }; + type ReposGetDeploymentResponseCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateReviewRequestResponse = { + 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; - html_url: string; - diff_url: string; - patch_url: string; - issue_url: string; - commits_url: string; - review_comments_url: string; - review_comment_url: string; - comments_url: string; - statuses_url: string; - number: number; - state: string; - locked: boolean; - title: string; - user: PullsCreateReviewRequestResponseUser; - body: string; - labels: Array; - milestone: PullsCreateReviewRequestResponseMilestone; - active_lock_reason: string; - created_at: 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; - closed_at: string; - merged_at: string; - merge_commit_sha: string; - assignee: PullsCreateReviewRequestResponseAssignee; - assignees: Array; - requested_reviewers: Array< - PullsCreateReviewRequestResponseRequestedReviewersItem - >; - requested_teams: Array; - head: PullsCreateReviewRequestResponseHead; - base: PullsCreateReviewRequestResponseBase; - _links: PullsCreateReviewRequestResponseLinks; - author_association: string; - draft: boolean; + url: string; }; - type PullsListReviewRequestsResponseTeamsItem = { + type ReposGetDeployKeyResponse = { + created_at: string; id: number; - node_id: string; + key: string; + read_only: boolean; + title: string; url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; + verified: boolean; }; - type PullsListReviewRequestsResponseUsersItem = { - login: string; - id: number; - node_id: string; + type ReposGetContributorsStatsResponseItemWeeksItem = { + a: number; + c: number; + d: number; + w: string; + }; + type ReposGetContributorsStatsResponseItemAuthor = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsListReviewRequestsResponse = { - users: Array; - teams: Array; + type ReposGetContributorsStatsResponseItem = { + author: ReposGetContributorsStatsResponseItemAuthor; + total: number; + weeks: Array; }; - type PullsDeleteCommentResponse = {}; - type PullsUpdateCommentResponseLinksPullRequest = { href: string }; - type PullsUpdateCommentResponseLinksHtml = { href: string }; - type PullsUpdateCommentResponseLinksSelf = { href: string }; - type PullsUpdateCommentResponseLinks = { - self: PullsUpdateCommentResponseLinksSelf; - html: PullsUpdateCommentResponseLinksHtml; - pull_request: PullsUpdateCommentResponseLinksPullRequest; + type ReposGetContentsResponseItemLinks = { + git: string; + html: string; + self: string; }; - type PullsUpdateCommentResponseUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsUpdateCommentResponse = { + 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; - pull_request_review_id: number; - diff_hunk: string; path: string; position: number; - original_position: number; - commit_id: string; - original_commit_id: string; - in_reply_to_id: number; - user: PullsUpdateCommentResponseUser; - body: string; - created_at: string; updated_at: string; - html_url: string; - pull_request_url: string; - _links: PullsUpdateCommentResponseLinks; + url: string; + user: ReposGetCommitCommentResponseUser; }; - type PullsCreateCommentReplyResponseLinksPullRequest = { href: string }; - type PullsCreateCommentReplyResponseLinksHtml = { href: string }; - type PullsCreateCommentReplyResponseLinksSelf = { href: string }; - type PullsCreateCommentReplyResponseLinks = { - self: PullsCreateCommentReplyResponseLinksSelf; - html: PullsCreateCommentReplyResponseLinksHtml; - pull_request: PullsCreateCommentReplyResponseLinksPullRequest; + type ReposGetCommitActivityStatsResponseItem = { + days: Array; + total: number; + week: number; }; - type PullsCreateCommentReplyResponseUser = { - login: string; - id: number; - node_id: string; + 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; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateCommentReplyResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - id: number; - node_id: string; - pull_request_review_id: number; - diff_hunk: string; - path: string; - position: number; - original_position: number; - commit_id: string; - original_commit_id: string; - in_reply_to_id: number; - user: PullsCreateCommentReplyResponseUser; - body: string; - created_at: string; - updated_at: string; - html_url: string; - pull_request_url: string; - _links: PullsCreateCommentReplyResponseLinks; }; - type PullsCreateCommentResponseLinksPullRequest = { href: string }; - type PullsCreateCommentResponseLinksHtml = { href: string }; - type PullsCreateCommentResponseLinksSelf = { href: string }; - type PullsCreateCommentResponseLinks = { - self: PullsCreateCommentResponseLinksSelf; - html: PullsCreateCommentResponseLinksHtml; - pull_request: PullsCreateCommentResponseLinksPullRequest; + type ReposGetCommitResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; }; - type PullsCreateCommentResponseUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + 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; - html_url: string; + verification: ReposGetCommitResponseCommitVerification; + }; + type ReposGetCommitResponseAuthor = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsCreateCommentResponse = { + 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; - pull_request_review_id: number; - diff_hunk: string; - path: string; - position: number; - original_position: number; - commit_id: string; - original_commit_id: string; - in_reply_to_id: number; - user: PullsCreateCommentResponseUser; - body: string; - created_at: string; + state: string; + target_url: string; updated_at: string; - html_url: string; - pull_request_url: string; - _links: PullsCreateCommentResponseLinks; - }; - type PullsGetCommentResponseLinksPullRequest = { href: string }; - type PullsGetCommentResponseLinksHtml = { href: string }; - type PullsGetCommentResponseLinksSelf = { href: string }; - type PullsGetCommentResponseLinks = { - self: PullsGetCommentResponseLinksSelf; - html: PullsGetCommentResponseLinksHtml; - pull_request: PullsGetCommentResponseLinksPullRequest; + url: string; }; - type PullsGetCommentResponseUser = { - login: string; - id: number; - node_id: string; + type ReposGetCombinedStatusForRefResponseRepositoryOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsGetCommentResponse = { + 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; - pull_request_review_id: number; - diff_hunk: string; - path: string; - position: number; - original_position: number; - commit_id: string; - original_commit_id: string; - in_reply_to_id: number; - user: PullsGetCommentResponseUser; - body: string; - created_at: string; - updated_at: string; - html_url: string; - pull_request_url: string; - _links: PullsGetCommentResponseLinks; + 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 PullsListCommentsForRepoResponseItemLinksPullRequest = { href: string }; - type PullsListCommentsForRepoResponseItemLinksHtml = { href: string }; - type PullsListCommentsForRepoResponseItemLinksSelf = { href: string }; - type PullsListCommentsForRepoResponseItemLinks = { - self: PullsListCommentsForRepoResponseItemLinksSelf; - html: PullsListCommentsForRepoResponseItemLinksHtml; - pull_request: PullsListCommentsForRepoResponseItemLinksPullRequest; + type ReposGetCombinedStatusForRefResponse = { + commit_url: string; + repository: ReposGetCombinedStatusForRefResponseRepository; + sha: string; + state: string; + statuses: Array; + total_count: number; + url: string; }; - type PullsListCommentsForRepoResponseItemUser = { - login: string; - id: number; - node_id: string; + type ReposGetCollaboratorPermissionLevelResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsListCommentsForRepoResponseItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - id: number; - node_id: string; - pull_request_review_id: number; - diff_hunk: string; - path: string; - position: number; - original_position: number; - commit_id: string; - original_commit_id: string; - in_reply_to_id: number; - user: PullsListCommentsForRepoResponseItemUser; - body: string; - created_at: string; - updated_at: string; - html_url: string; - pull_request_url: string; - _links: PullsListCommentsForRepoResponseItemLinks; }; - type PullsListCommentsResponseItemLinksPullRequest = { href: string }; - type PullsListCommentsResponseItemLinksHtml = { href: string }; - type PullsListCommentsResponseItemLinksSelf = { href: string }; - type PullsListCommentsResponseItemLinks = { - self: PullsListCommentsResponseItemLinksSelf; - html: PullsListCommentsResponseItemLinksHtml; - pull_request: PullsListCommentsResponseItemLinksPullRequest; + type ReposGetCollaboratorPermissionLevelResponse = { + permission: string; + user: ReposGetCollaboratorPermissionLevelResponseUser; }; - type PullsListCommentsResponseItemUser = { - login: string; - id: number; - node_id: string; + type ReposGetClonesResponseClonesItem = { + count: number; + timestamp: string; + uniques: number; + }; + type ReposGetClonesResponse = { + clones: Array; + count: number; + uniques: number; + }; + type ReposGetBranchProtectionResponseRestrictionsUsersItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsListCommentsResponseItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - id: number; - node_id: string; - pull_request_review_id: number; - diff_hunk: string; - path: string; - position: number; - original_position: number; - commit_id: string; - original_commit_id: string; - in_reply_to_id: number; - user: PullsListCommentsResponseItemUser; - body: string; - created_at: string; - updated_at: string; + }; + type ReposGetBranchProtectionResponseRestrictionsTeamsItem = { + description: string; html_url: string; - pull_request_url: string; - _links: PullsListCommentsResponseItemLinks; + id: number; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; }; - type PullsListFilesResponseItem = { - sha: string; - filename: string; - status: string; - additions: number; - deletions: number; - changes: number; - blob_url: string; - raw_url: string; - contents_url: string; - patch: string; + type ReposGetBranchProtectionResponseRestrictionsAppsItemPermissions = { + contents: string; + issues: string; + metadata: string; + single_file: string; }; - type PullsListCommitsResponseItemParentsItem = { url: string; sha: string }; - type PullsListCommitsResponseItemCommitter = { - login: 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; - avatar_url: string; - gravatar_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsListCommitsResponseItemAuthor = { - login: 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 ReposGetBranchProtectionResponseRequiredLinearHistory = { + enabled: boolean; + }; + type ReposGetBranchProtectionResponseEnforceAdmins = { + enabled: boolean; + url: string; + }; + type ReposGetBranchProtectionResponseAllowForcePushes = { enabled: boolean }; + type ReposGetBranchProtectionResponseAllowDeletions = { enabled: boolean }; + type ReposGetBranchProtectionResponse = { + allow_deletions: ReposGetBranchProtectionResponseAllowDeletions; + allow_force_pushes: ReposGetBranchProtectionResponseAllowForcePushes; + enforce_admins: ReposGetBranchProtectionResponseEnforceAdmins; + required_linear_history: ReposGetBranchProtectionResponseRequiredLinearHistory; + 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; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; }; - type PullsListCommitsResponseItemCommitVerification = { - verified: boolean; + type ReposGetBranchResponseCommitCommitVerification = { + payload: null; reason: string; signature: null; - payload: null; + verified: boolean; }; - type PullsListCommitsResponseItemCommitTree = { url: string; sha: string }; - type PullsListCommitsResponseItemCommitCommitter = { - name: string; - email: string; + type ReposGetBranchResponseCommitCommitTree = { sha: string; url: string }; + type ReposGetBranchResponseCommitCommitCommitter = { date: string; - }; - type PullsListCommitsResponseItemCommitAuthor = { - name: string; email: string; + name: string; + }; + type ReposGetBranchResponseCommitCommitAuthor = { date: string; + email: string; + name: string; }; - type PullsListCommitsResponseItemCommit = { - url: string; - author: PullsListCommitsResponseItemCommitAuthor; - committer: PullsListCommitsResponseItemCommitCommitter; + type ReposGetBranchResponseCommitCommit = { + author: ReposGetBranchResponseCommitCommitAuthor; + committer: ReposGetBranchResponseCommitCommitCommitter; message: string; - tree: PullsListCommitsResponseItemCommitTree; - comment_count: number; - verification: PullsListCommitsResponseItemCommitVerification; + tree: ReposGetBranchResponseCommitCommitTree; + url: string; + verification: ReposGetBranchResponseCommitCommitVerification; }; - type PullsListCommitsResponseItem = { + type ReposGetBranchResponseCommitAuthor = { + avatar_url: string; + gravatar_id: string; + id: number; + login: string; url: string; - sha: string; + }; + type ReposGetBranchResponseCommit = { + author: ReposGetBranchResponseCommitAuthor; + commit: ReposGetBranchResponseCommitCommit; + committer: ReposGetBranchResponseCommitCommitter; node_id: string; - html_url: string; - comments_url: string; - commit: PullsListCommitsResponseItemCommit; - author: PullsListCommitsResponseItemAuthor; - committer: PullsListCommitsResponseItemCommitter; - parents: Array; + parents: Array; + sha: string; + url: string; }; - type PullsUpdateResponseMergedBy = { - login: 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; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; + public_members_url: string; repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; + url: string; }; - type PullsUpdateResponseLinksStatuses = { href: string }; - type PullsUpdateResponseLinksCommits = { href: string }; - type PullsUpdateResponseLinksReviewComment = { href: string }; - type PullsUpdateResponseLinksReviewComments = { href: string }; - type PullsUpdateResponseLinksComments = { href: string }; - type PullsUpdateResponseLinksIssue = { href: string }; - type PullsUpdateResponseLinksHtml = { href: string }; - type PullsUpdateResponseLinksSelf = { href: string }; - type PullsUpdateResponseLinks = { - self: PullsUpdateResponseLinksSelf; - html: PullsUpdateResponseLinksHtml; - issue: PullsUpdateResponseLinksIssue; - comments: PullsUpdateResponseLinksComments; - review_comments: PullsUpdateResponseLinksReviewComments; - review_comment: PullsUpdateResponseLinksReviewComment; - commits: PullsUpdateResponseLinksCommits; - statuses: PullsUpdateResponseLinksStatuses; + 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 PullsUpdateResponseBaseRepoPermissions = { + type ReposGetResponseSourcePermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type PullsUpdateResponseBaseRepoOwner = { - login: string; - id: number; - node_id: string; + type ReposGetResponseSourceOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsUpdateResponseBaseRepo = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: PullsUpdateResponseBaseRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: PullsUpdateResponseBaseRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type PullsUpdateResponseBaseUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type PullsUpdateResponseBase = { - label: string; - ref: string; - sha: string; - user: PullsUpdateResponseBaseUser; - repo: PullsUpdateResponseBaseRepo; + visibility: string; + watchers_count: number; }; - type PullsUpdateResponseHeadRepoPermissions = { + type ReposGetResponsePermissions = { admin: boolean; + pull: boolean; push: boolean; + }; + type ReposGetResponseParentPermissions = { + admin: boolean; pull: boolean; + push: boolean; }; - type PullsUpdateResponseHeadRepoOwner = { - login: string; - id: number; - node_id: string; + type ReposGetResponseParentOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsUpdateResponseHeadRepo = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: PullsUpdateResponseHeadRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; + updated_at: string; + url: string; + visibility: string; watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: PullsUpdateResponseHeadRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; }; - type PullsUpdateResponseHeadUser = { - login: string; - id: number; - node_id: string; + type ReposGetResponseOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type PullsUpdateResponseHead = { - label: string; - ref: string; - sha: string; - user: PullsUpdateResponseHeadUser; - repo: PullsUpdateResponseHeadRepo; - }; - type PullsUpdateResponseRequestedTeamsItem = { - id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - }; - type PullsUpdateResponseRequestedReviewersItem = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type PullsUpdateResponseAssigneesItem = { - login: string; - id: number; - node_id: string; - avatar_url: string; gravatar_id: string; - url: string; html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type PullsUpdateResponseAssignee = { - login: string; id: number; + login: string; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsUpdateResponseMilestoneCreator = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type PullsUpdateResponseMilestone = { - url: string; - html_url: string; - labels_url: string; - id: number; - node_id: string; - number: number; - state: string; - title: string; - description: string; - creator: PullsUpdateResponseMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; - updated_at: string; - closed_at: string; - due_on: string; - }; - type PullsUpdateResponseLabelsItem = { - id: number; - node_id: string; url: string; - name: string; - description: string; - color: string; - default: boolean; }; - type PullsUpdateResponseUser = { - login: string; - id: number; - node_id: string; + type ReposGetResponseOrganization = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type PullsUpdateResponse = { - url: string; - id: number; - node_id: string; + gravatar_id: string; html_url: string; - diff_url: string; - patch_url: string; - issue_url: string; - commits_url: string; - review_comments_url: string; - review_comment_url: string; - comments_url: string; - statuses_url: string; - number: number; - state: string; - locked: boolean; - title: string; - user: PullsUpdateResponseUser; - body: string; - labels: Array; - milestone: PullsUpdateResponseMilestone; - active_lock_reason: string; - created_at: string; - updated_at: string; - closed_at: string; - merged_at: string; - merge_commit_sha: string; - assignee: PullsUpdateResponseAssignee; - assignees: Array; - requested_reviewers: Array; - requested_teams: Array; - head: PullsUpdateResponseHead; - base: PullsUpdateResponseBase; - _links: PullsUpdateResponseLinks; - author_association: string; - draft: boolean; - merged: boolean; - mergeable: boolean; - rebaseable: boolean; - mergeable_state: string; - merged_by: PullsUpdateResponseMergedBy; - comments: number; - review_comments: number; - maintainer_can_modify: boolean; - commits: number; - additions: number; - deletions: number; - changed_files: number; - }; - type PullsUpdateBranchResponse = { message: string; url: string }; - type PullsCreateFromIssueResponseMergedBy = { - login: string; id: number; + login: string; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateFromIssueResponseLinksStatuses = { href: string }; - type PullsCreateFromIssueResponseLinksCommits = { href: string }; - type PullsCreateFromIssueResponseLinksReviewComment = { href: string }; - type PullsCreateFromIssueResponseLinksReviewComments = { href: string }; - type PullsCreateFromIssueResponseLinksComments = { href: string }; - type PullsCreateFromIssueResponseLinksIssue = { href: string }; - type PullsCreateFromIssueResponseLinksHtml = { href: string }; - type PullsCreateFromIssueResponseLinksSelf = { href: string }; - type PullsCreateFromIssueResponseLinks = { - self: PullsCreateFromIssueResponseLinksSelf; - html: PullsCreateFromIssueResponseLinksHtml; - issue: PullsCreateFromIssueResponseLinksIssue; - comments: PullsCreateFromIssueResponseLinksComments; - review_comments: PullsCreateFromIssueResponseLinksReviewComments; - review_comment: PullsCreateFromIssueResponseLinksReviewComment; - commits: PullsCreateFromIssueResponseLinksCommits; - statuses: PullsCreateFromIssueResponseLinksStatuses; - }; - type PullsCreateFromIssueResponseBaseRepoPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type PullsCreateFromIssueResponseBaseRepoOwner = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type PullsCreateFromIssueResponseBaseRepo = { - id: number; - node_id: string; + type ReposGetResponseLicense = { + key: string; name: string; - full_name: string; - owner: PullsCreateFromIssueResponseBaseRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: PullsCreateFromIssueResponseBaseRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + visibility: string; + watchers_count: number; }; - type PullsCreateFromIssueResponseBaseUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + 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; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; + sha: string; + url: string; }; - type PullsCreateFromIssueResponseBase = { - label: string; - ref: 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; - user: PullsCreateFromIssueResponseBaseUser; - repo: PullsCreateFromIssueResponseBaseRepo; + tree: ReposDeleteFileResponseCommitTree; + url: string; + verification: ReposDeleteFileResponseCommitVerification; }; - type PullsCreateFromIssueResponseHeadRepoPermissions = { + type ReposDeleteFileResponse = { + commit: ReposDeleteFileResponseCommit; + content: null; + }; + type ReposDeleteResponse = { documentation_url: string; message: string }; + type ReposCreateUsingTemplateResponseTemplateRepositoryPermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type PullsCreateFromIssueResponseHeadRepoOwner = { - login: string; - id: number; - node_id: string; + type ReposCreateUsingTemplateResponseTemplateRepositoryOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateFromIssueResponseHeadRepo = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: PullsCreateFromIssueResponseHeadRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: PullsCreateFromIssueResponseHeadRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + visibility: string; + watchers_count: number; }; - type PullsCreateFromIssueResponseHeadUser = { - login: string; - id: number; - node_id: string; + type ReposCreateUsingTemplateResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateUsingTemplateResponseOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type PullsCreateFromIssueResponseHead = { - label: string; - ref: string; - sha: string; - user: PullsCreateFromIssueResponseHeadUser; - repo: PullsCreateFromIssueResponseHeadRepo; - }; - type PullsCreateFromIssueResponseRequestedTeamsItem = { + gravatar_id: string; + html_url: string; id: number; - node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; - }; - type PullsCreateFromIssueResponseRequestedReviewersItem = { login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateFromIssueResponseAssigneesItem = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type PullsCreateFromIssueResponseAssignee = { - login: 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; - avatar_url: string; - gravatar_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; + temp_clone_token: string; + template_repository: ReposCreateUsingTemplateResponseTemplateRepository; + topics: Array; + trees_url: string; + updated_at: string; url: string; - html_url: string; + visibility: string; + watchers_count: number; + }; + type ReposCreateStatusResponseCreator = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateFromIssueResponseMilestoneCreator = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type PullsCreateFromIssueResponseMilestone = { url: string; - html_url: string; - labels_url: string; + }; + type ReposCreateStatusResponse = { + avatar_url: string; + context: string; + created_at: string; + creator: ReposCreateStatusResponseCreator; + description: string; id: number; node_id: string; - number: number; state: string; - title: string; - description: string; - creator: PullsCreateFromIssueResponseMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; + target_url: string; updated_at: string; - closed_at: string; - due_on: string; - }; - type PullsCreateFromIssueResponseLabelsItem = { - id: number; - node_id: string; url: string; - name: string; - description: string; - color: string; - default: boolean; }; - type PullsCreateFromIssueResponseUser = { - login: string; - id: number; - node_id: string; + type ReposCreateReleaseResponseAuthor = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateFromIssueResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - id: number; - node_id: string; - html_url: string; - diff_url: string; - patch_url: string; - issue_url: string; - commits_url: string; - review_comments_url: string; - review_comment_url: string; - comments_url: string; - statuses_url: string; - number: number; - state: string; - locked: boolean; - title: string; - user: PullsCreateFromIssueResponseUser; + }; + type ReposCreateReleaseResponse = { + assets: Array; + assets_url: string; + author: ReposCreateReleaseResponseAuthor; body: string; - labels: Array; - milestone: PullsCreateFromIssueResponseMilestone; - active_lock_reason: string; created_at: string; - updated_at: string; - closed_at: string; - merged_at: string; - merge_commit_sha: string; - assignee: PullsCreateFromIssueResponseAssignee; - assignees: Array; - requested_reviewers: Array< - PullsCreateFromIssueResponseRequestedReviewersItem - >; - requested_teams: Array; - head: PullsCreateFromIssueResponseHead; - base: PullsCreateFromIssueResponseBase; - _links: PullsCreateFromIssueResponseLinks; - author_association: string; draft: boolean; - merged: boolean; - mergeable: boolean; - rebaseable: boolean; - mergeable_state: string; - merged_by: PullsCreateFromIssueResponseMergedBy; - comments: number; - review_comments: number; - maintainer_can_modify: boolean; - commits: number; - additions: number; - deletions: number; - changed_files: number; - }; - type PullsCreateResponseMergedBy = { - login: string; + html_url: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_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; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; + name: string; + path: string; + sha: string; + size: number; type: string; - site_admin: boolean; + url: string; }; - type PullsCreateResponseLinksStatuses = { href: string }; - type PullsCreateResponseLinksCommits = { href: string }; - type PullsCreateResponseLinksReviewComment = { href: string }; - type PullsCreateResponseLinksReviewComments = { href: string }; - type PullsCreateResponseLinksComments = { href: string }; - type PullsCreateResponseLinksIssue = { href: string }; - type PullsCreateResponseLinksHtml = { href: string }; - type PullsCreateResponseLinksSelf = { href: string }; - type PullsCreateResponseLinks = { - self: PullsCreateResponseLinksSelf; - html: PullsCreateResponseLinksHtml; - issue: PullsCreateResponseLinksIssue; - comments: PullsCreateResponseLinksComments; - review_comments: PullsCreateResponseLinksReviewComments; - review_comment: PullsCreateResponseLinksReviewComment; - commits: PullsCreateResponseLinksCommits; - statuses: PullsCreateResponseLinksStatuses; + type ReposCreateOrUpdateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; }; - type PullsCreateResponseBaseRepoPermissions = { + 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; - push: boolean; pull: boolean; + push: boolean; }; - type PullsCreateResponseBaseRepoOwner = { - login: string; - id: number; - node_id: string; + type ReposCreateInOrgResponseOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateResponseBaseRepo = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: PullsCreateResponseBaseRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; + updated_at: string; + url: string; + visibility: string; watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; + }; + 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; - permissions: PullsCreateResponseBaseRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; }; - type PullsCreateResponseBaseUser = { - login: string; - id: number; - node_id: string; + type ReposCreateForkResponsePermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type ReposCreateForkResponseOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsCreateResponseBase = { - label: string; - ref: string; - sha: string; - user: PullsCreateResponseBaseUser; - repo: PullsCreateResponseBaseRepo; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: string; + watchers_count: number; }; - type PullsCreateResponseHeadRepoPermissions = { + type ReposCreateForAuthenticatedUserResponsePermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type PullsCreateResponseHeadRepoOwner = { - login: string; - id: number; - node_id: string; + type ReposCreateForAuthenticatedUserResponseOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateResponseHeadRepo = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: PullsCreateResponseHeadRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: PullsCreateResponseHeadRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type PullsCreateResponseHeadUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; url: string; + visibility: 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; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; + name: string; + path: string; + sha: string; + size: number; type: string; - site_admin: boolean; + url: string; }; - type PullsCreateResponseHead = { - label: string; - ref: string; - sha: string; - user: PullsCreateResponseHeadUser; - repo: PullsCreateResponseHeadRepo; + type ReposCreateFileResponseCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; }; - type PullsCreateResponseRequestedTeamsItem = { - id: number; - node_id: string; + type ReposCreateFileResponseCommitTree = { sha: string; url: string }; + type ReposCreateFileResponseCommitParentsItem = { + html_url: string; + sha: string; url: string; + }; + type ReposCreateFileResponseCommitCommitter = { + date: string; + email: string; name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; }; - type PullsCreateResponseRequestedReviewersItem = { - login: string; - id: number; + type ReposCreateFileResponseCommitAuthor = { + date: string; + email: string; + name: string; + }; + type ReposCreateFileResponseCommit = { + author: ReposCreateFileResponseCommitAuthor; + committer: ReposCreateFileResponseCommitCommitter; + html_url: string; + message: string; node_id: string; - avatar_url: string; - gravatar_id: string; + parents: Array; + sha: string; + tree: ReposCreateFileResponseCommitTree; url: string; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateResponseAssigneesItem = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type PullsCreateResponseAssignee = { - login: 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; - avatar_url: string; - gravatar_id: string; + repository_url: string; + state: string; + target_url: string; + updated_at: string; url: string; - html_url: string; + }; + type ReposCreateDeploymentResponsePayload = { deploy: string }; + type ReposCreateDeploymentResponseCreator = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsCreateResponseMilestoneCreator = { - login: string; + type ReposCreateDeploymentResponse = { + created_at: string; + creator: ReposCreateDeploymentResponseCreator; + description: string; + environment: string; id: number; node_id: string; - avatar_url: string; - gravatar_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; - html_url: string; + }; + type ReposCreateCommitCommentResponseUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateResponseMilestone = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; + }; + type ReposCreateCommitCommentResponse = { + body: string; + commit_id: string; + created_at: string; html_url: string; - labels_url: string; id: number; + line: number; node_id: string; - number: number; - state: string; - title: string; - description: string; - creator: PullsCreateResponseMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; + path: string; + position: number; updated_at: string; - closed_at: string; - due_on: string; + url: string; + user: ReposCreateCommitCommentResponseUser; }; - type PullsCreateResponseLabelsItem = { - id: number; - node_id: string; + type ReposCompareCommitsResponseMergeBaseCommitParentsItem = { + sha: string; url: string; - name: string; - description: string; - color: string; - default: boolean; }; - type PullsCreateResponseUser = { - login: string; - id: number; - node_id: string; + type ReposCompareCommitsResponseMergeBaseCommitCommitter = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsCreateResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - id: number; - node_id: string; - html_url: string; - diff_url: string; - patch_url: string; - issue_url: string; - commits_url: string; - review_comments_url: string; - review_comment_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; - statuses_url: string; - number: number; - state: string; - locked: boolean; - title: string; - user: PullsCreateResponseUser; - body: string; - labels: Array; - milestone: PullsCreateResponseMilestone; - active_lock_reason: string; - created_at: string; - updated_at: string; - closed_at: string; - merged_at: string; - merge_commit_sha: string; - assignee: PullsCreateResponseAssignee; - assignees: Array; - requested_reviewers: Array; - requested_teams: Array; - head: PullsCreateResponseHead; - base: PullsCreateResponseBase; - _links: PullsCreateResponseLinks; - author_association: string; - draft: boolean; - merged: boolean; - mergeable: boolean; - rebaseable: boolean; - mergeable_state: string; - merged_by: PullsCreateResponseMergedBy; - comments: number; - review_comments: number; - maintainer_can_modify: boolean; - commits: number; + 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; - changed_files: number; + filename: string; + patch: string; + raw_url: string; + sha: string; + status: string; }; - type PullsGetResponseMergedBy = { - login: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsGetResponseLinksStatuses = { href: string }; - type PullsGetResponseLinksCommits = { href: string }; - type PullsGetResponseLinksReviewComment = { href: string }; - type PullsGetResponseLinksReviewComments = { href: string }; - type PullsGetResponseLinksComments = { href: string }; - type PullsGetResponseLinksIssue = { href: string }; - type PullsGetResponseLinksHtml = { href: string }; - type PullsGetResponseLinksSelf = { href: string }; - type PullsGetResponseLinks = { - self: PullsGetResponseLinksSelf; - html: PullsGetResponseLinksHtml; - issue: PullsGetResponseLinksIssue; - comments: PullsGetResponseLinksComments; - review_comments: PullsGetResponseLinksReviewComments; - review_comment: PullsGetResponseLinksReviewComment; - commits: PullsGetResponseLinksCommits; - statuses: PullsGetResponseLinksStatuses; + type ReposCompareCommitsResponseBaseCommitCommitVerification = { + payload: null; + reason: string; + signature: null; + verified: boolean; }; - type PullsGetResponseBaseRepoPermissions = { - admin: boolean; - push: boolean; - pull: boolean; + type ReposCompareCommitsResponseBaseCommitCommitTree = { + sha: string; + url: string; }; - type PullsGetResponseBaseRepoOwner = { - login: string; - id: number; - node_id: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsGetResponseBaseRepo = { + 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; - full_name: string; - owner: PullsGetResponseBaseRepoOwner; - private: boolean; + 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; - description: string; - fork: boolean; + id: number; + login: string; + node_id: string; + 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; @@ -9389,13 +9837,18 @@ declare namespace Octokit { 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; @@ -9404,7 +9857,11 @@ declare namespace Octokit { 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; @@ -9415,20304 +9872,29584 @@ declare namespace Octokit { tags_url: string; teams_url: string; trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: PullsGetResponseBaseRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; }; - type PullsGetResponseBaseUser = { - login: 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 ReactionsListForTeamDiscussionLegacyResponseItemUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsGetResponseBase = { - label: string; - ref: string; - sha: string; - user: PullsGetResponseBaseUser; - repo: PullsGetResponseBaseRepo; - }; - type PullsGetResponseHeadRepoPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type PullsGetResponseHeadRepoOwner = { - login: string; + type ReactionsListForTeamDiscussionLegacyResponseItem = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsListForTeamDiscussionLegacyResponseItemUser; + }; + type ReactionsListForTeamDiscussionInOrgResponseItemUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; + received_events_url: string; repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ReactionsListForTeamDiscussionInOrgResponseItem = { + content: string; + created_at: string; + id: number; + node_id: string; + user: ReactionsListForTeamDiscussionInOrgResponseItemUser; + }; + type ReactionsListForTeamDiscussionCommentLegacyResponseItemUser = { + avatar_url: string; events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsGetResponseHeadRepo = { + type ReactionsListForTeamDiscussionCommentLegacyResponseItem = { + content: string; + created_at: string; id: number; node_id: string; - name: string; - full_name: string; - owner: PullsGetResponseHeadRepoOwner; - private: boolean; + user: ReactionsListForTeamDiscussionCommentLegacyResponseItemUser; + }; + type ReactionsListForTeamDiscussionCommentInOrgResponseItemUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; html_url: string; - description: string; - fork: boolean; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: PullsGetResponseHeadRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; }; - type PullsGetResponseHeadUser = { - login: string; + type ReactionsListForTeamDiscussionCommentInOrgResponseItem = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsListForTeamDiscussionCommentInOrgResponseItemUser; + }; + type ReactionsListForTeamDiscussionCommentResponseItemUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsGetResponseHead = { - label: string; - ref: string; - sha: string; - user: PullsGetResponseHeadUser; - repo: PullsGetResponseHeadRepo; - }; - type PullsGetResponseRequestedTeamsItem = { - id: number; - node_id: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; }; - type PullsGetResponseRequestedReviewersItem = { - login: string; + type ReactionsListForTeamDiscussionCommentResponseItem = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsListForTeamDiscussionCommentResponseItemUser; + }; + type ReactionsListForTeamDiscussionResponseItemUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsGetResponseAssigneesItem = { - login: string; + type ReactionsListForTeamDiscussionResponseItem = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsListForTeamDiscussionResponseItemUser; + }; + type ReactionsListForPullRequestReviewCommentResponseItemUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsGetResponseAssignee = { - login: string; + type ReactionsListForPullRequestReviewCommentResponseItem = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsListForPullRequestReviewCommentResponseItemUser; + }; + type ReactionsListForIssueCommentResponseItemUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsGetResponseMilestoneCreator = { - login: string; + type ReactionsListForIssueCommentResponseItem = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsListForIssueCommentResponseItemUser; + }; + type ReactionsListForIssueResponseItemUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsGetResponseMilestone = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - labels_url: string; + }; + type ReactionsListForIssueResponseItem = { + content: string; + created_at: string; id: number; node_id: string; - number: number; - state: string; - title: string; - description: string; - creator: PullsGetResponseMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; - updated_at: string; - closed_at: string; - due_on: string; + user: ReactionsListForIssueResponseItemUser; }; - type PullsGetResponseLabelsItem = { + 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; - name: string; - description: string; - color: string; - default: boolean; }; - type PullsGetResponseUser = { - login: string; + type ReactionsListForCommitCommentResponseItem = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsListForCommitCommentResponseItemUser; + }; + type ReactionsCreateForTeamDiscussionLegacyResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsGetResponse = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - id: number; - node_id: string; - html_url: string; - diff_url: string; - patch_url: string; - issue_url: string; - commits_url: string; - review_comments_url: string; - review_comment_url: string; - comments_url: string; - statuses_url: string; - number: number; - state: string; - locked: boolean; - title: string; - user: PullsGetResponseUser; - body: string; - labels: Array; - milestone: PullsGetResponseMilestone; - active_lock_reason: string; - created_at: string; - updated_at: string; - closed_at: string; - merged_at: string; - merge_commit_sha: string; - assignee: PullsGetResponseAssignee; - assignees: Array; - requested_reviewers: Array; - requested_teams: Array; - head: PullsGetResponseHead; - base: PullsGetResponseBase; - _links: PullsGetResponseLinks; - author_association: string; - draft: boolean; - merged: boolean; - mergeable: boolean; - rebaseable: boolean; - mergeable_state: string; - merged_by: PullsGetResponseMergedBy; - comments: number; - review_comments: number; - maintainer_can_modify: boolean; - commits: number; - additions: number; - deletions: number; - changed_files: number; - }; - type PullsListResponseItemLinksStatuses = { href: string }; - type PullsListResponseItemLinksCommits = { href: string }; - type PullsListResponseItemLinksReviewComment = { href: string }; - type PullsListResponseItemLinksReviewComments = { href: string }; - type PullsListResponseItemLinksComments = { href: string }; - type PullsListResponseItemLinksIssue = { href: string }; - type PullsListResponseItemLinksHtml = { href: string }; - type PullsListResponseItemLinksSelf = { href: string }; - type PullsListResponseItemLinks = { - self: PullsListResponseItemLinksSelf; - html: PullsListResponseItemLinksHtml; - issue: PullsListResponseItemLinksIssue; - comments: PullsListResponseItemLinksComments; - review_comments: PullsListResponseItemLinksReviewComments; - review_comment: PullsListResponseItemLinksReviewComment; - commits: PullsListResponseItemLinksCommits; - statuses: PullsListResponseItemLinksStatuses; }; - type PullsListResponseItemBaseRepoPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type PullsListResponseItemBaseRepoOwner = { - login: string; + type ReactionsCreateForTeamDiscussionLegacyResponse = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsCreateForTeamDiscussionLegacyResponseUser; + }; + type ReactionsCreateForTeamDiscussionInOrgResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsListResponseItemBaseRepo = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: PullsListResponseItemBaseRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: PullsListResponseItemBaseRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; }; - type PullsListResponseItemBaseUser = { - login: string; + type ReactionsCreateForTeamDiscussionInOrgResponse = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsCreateForTeamDiscussionInOrgResponseUser; + }; + type ReactionsCreateForTeamDiscussionCommentLegacyResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsListResponseItemBase = { - label: string; - ref: string; - sha: string; - user: PullsListResponseItemBaseUser; - repo: PullsListResponseItemBaseRepo; - }; - type PullsListResponseItemHeadRepoPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type PullsListResponseItemHeadRepoOwner = { - login: string; + type ReactionsCreateForTeamDiscussionCommentLegacyResponse = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsCreateForTeamDiscussionCommentLegacyResponseUser; + }; + type ReactionsCreateForTeamDiscussionCommentInOrgResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsListResponseItemHeadRepo = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: PullsListResponseItemHeadRepoOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: PullsListResponseItemHeadRepoPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; }; - type PullsListResponseItemHeadUser = { - login: string; + type ReactionsCreateForTeamDiscussionCommentInOrgResponse = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsCreateForTeamDiscussionCommentInOrgResponseUser; + }; + type ReactionsCreateForTeamDiscussionCommentResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsListResponseItemHead = { - label: string; - ref: string; - sha: string; - user: PullsListResponseItemHeadUser; - repo: PullsListResponseItemHeadRepo; - }; - type PullsListResponseItemRequestedTeamsItem = { - id: number; - node_id: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; }; - type PullsListResponseItemRequestedReviewersItem = { - login: string; + type ReactionsCreateForTeamDiscussionCommentResponse = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsCreateForTeamDiscussionCommentResponseUser; + }; + type ReactionsCreateForTeamDiscussionResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsListResponseItemAssigneesItem = { - login: string; + type ReactionsCreateForTeamDiscussionResponse = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsCreateForTeamDiscussionResponseUser; + }; + type ReactionsCreateForPullRequestReviewCommentResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsListResponseItemAssignee = { - login: string; + type ReactionsCreateForPullRequestReviewCommentResponse = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsCreateForPullRequestReviewCommentResponseUser; + }; + type ReactionsCreateForIssueCommentResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type PullsListResponseItemMilestoneCreator = { - login: string; + type ReactionsCreateForIssueCommentResponse = { + content: string; + created_at: string; id: number; node_id: string; + user: ReactionsCreateForIssueCommentResponseUser; + }; + type ReactionsCreateForIssueResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsListResponseItemMilestone = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - labels_url: string; - id: number; - node_id: string; - number: number; - state: string; - title: string; - description: string; - creator: PullsListResponseItemMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; - updated_at: string; - closed_at: string; - due_on: string; }; - type PullsListResponseItemLabelsItem = { + type ReactionsCreateForIssueResponse = { + content: string; + created_at: string; id: number; node_id: string; - url: string; - name: string; - description: string; - color: string; - default: boolean; + user: ReactionsCreateForIssueResponseUser; }; - type PullsListResponseItemUser = { - login: string; - id: number; - node_id: string; + type ReactionsCreateForCommitCommentResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type PullsListResponseItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - id: number; - node_id: string; - html_url: string; - diff_url: string; - patch_url: string; - issue_url: string; - commits_url: string; - review_comments_url: string; - review_comment_url: string; - comments_url: string; - statuses_url: string; - number: number; - state: string; - locked: boolean; - title: string; - user: PullsListResponseItemUser; - body: string; - labels: Array; - milestone: PullsListResponseItemMilestone; - active_lock_reason: string; - created_at: string; - updated_at: string; - closed_at: string; - merged_at: string; - merge_commit_sha: string; - assignee: PullsListResponseItemAssignee; - assignees: Array; - requested_reviewers: Array; - requested_teams: Array; - head: PullsListResponseItemHead; - base: PullsListResponseItemBase; - _links: PullsListResponseItemLinks; - author_association: string; - draft: boolean; }; - type ProjectsMoveColumnResponse = {}; - type ProjectsDeleteColumnResponse = {}; - type ProjectsListColumnsResponseItem = { - url: string; - project_url: string; - cards_url: string; - id: number; - node_id: string; - name: string; + type ReactionsCreateForCommitCommentResponse = { + content: string; created_at: string; - updated_at: string; - }; - type ProjectsRemoveCollaboratorResponse = {}; - type ProjectsAddCollaboratorResponse = {}; - type ProjectsReviewUserPermissionLevelResponseUser = { - login: 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; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ProjectsReviewUserPermissionLevelResponse = { - permission: string; - user: ProjectsReviewUserPermissionLevelResponseUser; + type PullsUpdateReviewResponseLinksPullRequest = { href: string }; + type PullsUpdateReviewResponseLinksHtml = { href: string }; + type PullsUpdateReviewResponseLinks = { + html: PullsUpdateReviewResponseLinksHtml; + pull_request: PullsUpdateReviewResponseLinksPullRequest; }; - type ProjectsListCollaboratorsResponseItem = { - login: string; + 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; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ProjectsMoveCardResponse = {}; - type ProjectsDeleteCardResponse = {}; - type ProjectsCreateCardResponseCreator = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type ProjectsCreateCardResponse = { 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; - note: string; - creator: ProjectsCreateCardResponseCreator; - created_at: 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; - archived: boolean; - column_url: string; - content_url: string; - project_url: string; + url: string; + user: PullsUpdateCommentResponseUser; }; - type ProjectsListCardsResponseItemCreator = { - login: string; - id: number; - node_id: string; + type PullsUpdateBranchResponse = { message: string; url: string }; + type PullsUpdateResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ProjectsListCardsResponseItem = { - url: string; - id: number; - node_id: string; - note: string; - creator: ProjectsListCardsResponseItemCreator; - created_at: string; - updated_at: string; - archived: boolean; - column_url: string; - content_url: string; - project_url: string; - }; - type ProjectsUpdateResponseCreator = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type ProjectsUpdateResponse = { - owner_url: string; url: string; + }; + type PullsUpdateResponseRequestedTeamsItem = { + description: string; html_url: string; - columns_url: string; id: number; - node_id: string; + members_url: string; name: string; - body: string; - number: number; - state: string; - creator: ProjectsUpdateResponseCreator; - created_at: string; - updated_at: string; - }; - type ProjectsCreateForAuthenticatedUserResponseCreator = { - login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; url: string; - html_url: string; + }; + type PullsUpdateResponseRequestedReviewersItem = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ProjectsCreateForAuthenticatedUserResponse = { - owner_url: string; - url: string; + gravatar_id: string; html_url: string; - columns_url: string; id: number; - node_id: string; - name: string; - body: string; - number: number; - state: string; - creator: ProjectsCreateForAuthenticatedUserResponseCreator; - created_at: string; - updated_at: string; - }; - type ProjectsCreateForOrgResponseCreator = { login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ProjectsCreateForOrgResponse = { - owner_url: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - columns_url: string; - id: number; - node_id: string; - name: string; - body: string; - number: number; - state: string; - creator: ProjectsCreateForOrgResponseCreator; - created_at: string; - updated_at: string; }; - type ProjectsCreateForRepoResponseCreator = { - login: string; - id: number; - node_id: string; + type PullsUpdateResponseMilestoneCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ProjectsCreateForRepoResponse = { - owner_url: string; - url: string; + gravatar_id: string; html_url: string; - columns_url: string; id: number; - node_id: string; - name: string; - body: string; - number: number; - state: string; - creator: ProjectsCreateForRepoResponseCreator; - created_at: string; - updated_at: string; - }; - type ProjectsGetResponseCreator = { login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ProjectsGetResponse = { - owner_url: string; + 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; - columns_url: string; id: number; + labels_url: string; node_id: string; - name: string; - body: string; number: number; + open_issues: number; state: string; - creator: ProjectsGetResponseCreator; - created_at: string; + title: string; updated_at: string; + url: string; }; - type ProjectsListForUserResponseItemCreator = { - login: string; - id: number; - node_id: string; + type PullsUpdateResponseMergedBy = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ProjectsListForUserResponseItem = { - owner_url: string; - url: string; + gravatar_id: string; html_url: string; - columns_url: string; id: number; - node_id: string; - name: string; - body: string; - number: number; - state: string; - creator: ProjectsListForUserResponseItemCreator; - created_at: string; - updated_at: string; - }; - type ProjectsListForOrgResponseItemCreator = { login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ProjectsListForOrgResponseItem = { - owner_url: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - columns_url: string; - id: number; - node_id: string; - name: string; - body: string; - number: number; - state: string; - creator: ProjectsListForOrgResponseItemCreator; - created_at: string; - updated_at: string; }; - type ProjectsListForRepoResponseItemCreator = { - login: string; + type PullsUpdateResponseLabelsItem = { + color: string; + default: boolean; + description: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; + }; + type PullsUpdateResponseHeadUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type ProjectsListForRepoResponseItem = { - owner_url: string; - url: string; + gravatar_id: string; html_url: string; - columns_url: string; id: number; - node_id: string; - name: string; - body: string; - number: number; - state: string; - creator: ProjectsListForRepoResponseItemCreator; - created_at: string; - updated_at: string; - }; - type OrgsConvertMemberToOutsideCollaboratorResponse = {}; - type OrgsRemoveOutsideCollaboratorResponse = {}; - type OrgsListOutsideCollaboratorsResponseItem = { login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type OrgsUpdateMembershipResponseUser = { - login: string; - id: number; - node_id: string; + type PullsUpdateResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsUpdateResponseHeadRepoOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type OrgsUpdateMembershipResponseOrganization = { - login: string; - id: number; - node_id: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - repos_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; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; - }; - type OrgsUpdateMembershipResponse = { + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; - state: string; - role: string; - organization_url: string; - organization: OrgsUpdateMembershipResponseOrganization; - user: OrgsUpdateMembershipResponseUser; + visibility: string; + watchers_count: number; }; - type OrgsGetMembershipForAuthenticatedUserResponseUser = { - login: string; - id: number; - node_id: string; + type PullsUpdateResponseHead = { + label: string; + ref: string; + repo: PullsUpdateResponseHeadRepo; + sha: string; + user: PullsUpdateResponseHeadUser; + }; + type PullsUpdateResponseBaseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type OrgsGetMembershipForAuthenticatedUserResponseOrganization = { - login: string; - id: number; - node_id: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; }; - type OrgsGetMembershipForAuthenticatedUserResponse = { - url: string; - state: string; - role: string; - organization_url: string; - organization: OrgsGetMembershipForAuthenticatedUserResponseOrganization; - user: OrgsGetMembershipForAuthenticatedUserResponseUser; + type PullsUpdateResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; }; - type OrgsListMembershipsResponseItemUser = { - login: string; - id: number; - node_id: string; + type PullsUpdateResponseBaseRepoOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type OrgsListMembershipsResponseItemOrganization = { - login: string; - id: number; - node_id: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; - }; - type OrgsListMembershipsResponseItem = { - url: string; - state: string; - role: string; - organization_url: string; - organization: OrgsListMembershipsResponseItemOrganization; - user: OrgsListMembershipsResponseItemUser; }; - type OrgsCreateInvitationResponseInviter = { - login: 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; - avatar_url: string; - gravatar_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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; - html_url: string; + visibility: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type OrgsCreateInvitationResponse = { + 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; - email: string; - role: string; - created_at: string; - inviter: OrgsCreateInvitationResponseInviter; - team_count: number; - invitation_team_url: string; + node_id: string; + 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 = { - login: 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; - avatar_url: string; - gravatar_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; - html_url: string; + user: PullsUpdateResponseUser; + }; + type PullsSubmitReviewResponseUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type OrgsListPendingInvitationsResponseItem = { - id: number; - login: string; - email: string; - role: string; - created_at: string; - inviter: OrgsListPendingInvitationsResponseItemInviter; - team_count: number; - invitation_team_url: string; + type PullsSubmitReviewResponseLinksPullRequest = { href: string }; + type PullsSubmitReviewResponseLinksHtml = { href: string }; + type PullsSubmitReviewResponseLinks = { + html: PullsSubmitReviewResponseLinksHtml; + pull_request: PullsSubmitReviewResponseLinksPullRequest; }; - type OrgsListInvitationTeamsResponseItem = { + type PullsSubmitReviewResponse = { + _links: PullsSubmitReviewResponseLinks; + body: string; + commit_id: string; + html_url: string; id: number; node_id: string; - url: string; - name: string; - slug: string; - description: string; - privacy: string; - permission: string; - members_url: string; - repositories_url: string; - parent: null; + pull_request_url: string; + state: string; + submitted_at: string; + user: PullsSubmitReviewResponseUser; }; - type OrgsRemoveMembershipResponse = {}; - type OrgsConcealMembershipResponse = {}; - type OrgsPublicizeMembershipResponse = {}; - type OrgsListPublicMembersResponseItem = { - login: string; - id: number; - node_id: string; + type PullsMergeResponse = { merged: boolean; message: string; sha: string }; + type PullsListReviewsResponseItemUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type OrgsRemoveMemberResponse = {}; - type OrgsListMembersResponseItem = { - login: 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; + submitted_at: string; + user: PullsListReviewsResponseItemUser; + }; + type PullsListReviewRequestsResponseUsersItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type OrgsDeleteHookResponse = {}; - type OrgsPingHookResponse = {}; - type OrgsUpdateHookResponseConfig = { url: string; content_type: string }; - type OrgsUpdateHookResponse = { + type PullsListReviewRequestsResponseTeamsItem = { + description: string; + html_url: string; id: number; - url: string; - ping_url: string; + members_url: string; name: string; - events: Array; - active: boolean; - config: OrgsUpdateHookResponseConfig; - updated_at: string; - created_at: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; + url: string; }; - type OrgsCreateHookResponseConfig = { url: string; content_type: string }; - type OrgsCreateHookResponse = { + 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; - ping_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; - events: Array; - active: boolean; - config: OrgsCreateHookResponseConfig; - updated_at: string; - created_at: string; }; - type OrgsGetHookResponseConfig = { url: string; content_type: string }; - type OrgsGetHookResponse = { - id: number; - url: string; - ping_url: string; + type PullsListCommitsResponseItemCommitAuthor = { + date: string; + email: string; name: string; - events: Array; - active: boolean; - config: OrgsGetHookResponseConfig; - updated_at: string; - created_at: string; }; - type OrgsListHooksResponseItemConfig = { url: string; content_type: string }; - type OrgsListHooksResponseItem = { - id: number; + type PullsListCommitsResponseItemCommit = { + author: PullsListCommitsResponseItemCommitAuthor; + comment_count: number; + committer: PullsListCommitsResponseItemCommitCommitter; + message: string; + tree: PullsListCommitsResponseItemCommitTree; url: string; - ping_url: string; - name: string; - events: Array; - active: boolean; - config: OrgsListHooksResponseItemConfig; - updated_at: string; - created_at: string; + verification: PullsListCommitsResponseItemCommitVerification; }; - type OrgsUnblockUserResponse = {}; - type OrgsBlockUserResponse = {}; - type OrgsCheckBlockedUserResponse = {}; - type OrgsListBlockedUsersResponseItem = { - login: string; - id: number; - node_id: string; + 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type OrgsUpdateResponsePlan = { - name: string; - space: number; - private_repos: number; + type PullsListCommentsForRepoResponseItemLinksSelf = { href: string }; + type PullsListCommentsForRepoResponseItemLinksPullRequest = { href: string }; + type PullsListCommentsForRepoResponseItemLinksHtml = { href: string }; + type PullsListCommentsForRepoResponseItemLinks = { + html: PullsListCommentsForRepoResponseItemLinksHtml; + pull_request: PullsListCommentsForRepoResponseItemLinksPullRequest; + self: PullsListCommentsForRepoResponseItemLinksSelf; }; - type OrgsUpdateResponse = { - login: string; + 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; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; + user: PullsListCommentsForRepoResponseItemUser; + }; + type PullsListCommentsResponseItemUser = { avatar_url: string; - description: string; - name: string; - company: string; - blog: string; - location: string; - email: string; - is_verified: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; html_url: string; - created_at: string; - type: string; - total_private_repos: number; - owned_private_repos: number; - private_gists: number; - disk_usage: number; - collaborators: number; - billing_email: string; - plan: OrgsUpdateResponsePlan; - default_repository_settings: string; - members_can_create_repositories: boolean; - two_factor_requirement_enabled: boolean; - members_allowed_repository_creation_type: string; - }; - type OrgsGetResponsePlan = { - name: string; - space: number; - private_repos: number; - }; - type OrgsGetResponse = { - login: string; id: number; + login: string; node_id: string; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; - name: string; - company: string; - blog: string; - location: string; - email: string; - is_verified: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - html_url: string; - created_at: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; type: string; - total_private_repos: number; - owned_private_repos: number; - private_gists: number; - disk_usage: number; - collaborators: number; - billing_email: string; - plan: OrgsGetResponsePlan; - default_repository_settings: string; - members_can_create_repositories: boolean; - two_factor_requirement_enabled: boolean; - members_allowed_repository_creation_type: string; - }; - type OrgsListForUserResponseItem = { - login: string; - id: number; - node_id: string; url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; }; - type OrgsListResponseItem = { - login: string; - id: number; - node_id: string; - url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + type PullsListCommentsResponseItemLinksSelf = { href: string }; + type PullsListCommentsResponseItemLinksPullRequest = { href: string }; + type PullsListCommentsResponseItemLinksHtml = { href: string }; + type PullsListCommentsResponseItemLinks = { + html: PullsListCommentsResponseItemLinksHtml; + pull_request: PullsListCommentsResponseItemLinksPullRequest; + self: PullsListCommentsResponseItemLinksSelf; }; - type OrgsListForAuthenticatedUserResponseItem = { - login: string; + 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; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + user: PullsListCommentsResponseItemUser; }; - type OauthAuthorizationsRevokeGrantForApplicationResponse = {}; - type OauthAuthorizationsRevokeAuthorizationForApplicationResponse = {}; - type OauthAuthorizationsResetAuthorizationResponseUser = { - login: string; - id: number; - node_id: string; + type PullsListResponseItemUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type OauthAuthorizationsResetAuthorizationResponseApp = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - name: string; - client_id: string; }; - type OauthAuthorizationsResetAuthorizationResponse = { + 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; - scopes: Array; - token: string; - token_last_eight: string; - hashed_token: string; - app: OauthAuthorizationsResetAuthorizationResponseApp; - note: string; - note_url: string; - updated_at: string; - created_at: string; - fingerprint: string; - user: OauthAuthorizationsResetAuthorizationResponseUser; }; - type OauthAuthorizationsCheckAuthorizationResponseUser = { - login: string; - id: number; - node_id: string; + type PullsListResponseItemRequestedReviewersItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type OauthAuthorizationsCheckAuthorizationResponseApp = { - url: string; - name: string; - client_id: string; - }; - type OauthAuthorizationsCheckAuthorizationResponse = { - id: number; - url: string; - scopes: Array; - token: string; - token_last_eight: string; - hashed_token: string; - app: OauthAuthorizationsCheckAuthorizationResponseApp; - note: string; - note_url: string; - updated_at: string; - created_at: string; - fingerprint: string; - user: OauthAuthorizationsCheckAuthorizationResponseUser; - }; - type OauthAuthorizationsDeleteAuthorizationResponse = {}; - type OauthAuthorizationsUpdateAuthorizationResponseApp = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - name: string; - client_id: string; }; - type OauthAuthorizationsUpdateAuthorizationResponse = { + 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; - scopes: Array; - token: string; - token_last_eight: string; - hashed_token: string; - app: OauthAuthorizationsUpdateAuthorizationResponseApp; - note: string; - note_url: string; - updated_at: string; - created_at: string; - fingerprint: string; - }; - type OauthAuthorizationsCreateAuthorizationResponseApp = { - url: string; - name: string; - client_id: string; }; - type OauthAuthorizationsCreateAuthorizationResponse = { - id: number; - url: string; - scopes: Array; - token: string; - token_last_eight: string; - hashed_token: string; - app: OauthAuthorizationsCreateAuthorizationResponseApp; - note: string; - note_url: string; - updated_at: string; + type PullsListResponseItemMilestone = { + closed_at: string; + closed_issues: number; created_at: string; - fingerprint: string; - }; - type OauthAuthorizationsGetAuthorizationResponseApp = { - url: string; - name: string; - client_id: string; - }; - type OauthAuthorizationsGetAuthorizationResponse = { + creator: PullsListResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; id: number; - url: string; - scopes: Array; - token: string; - token_last_eight: string; - hashed_token: string; - app: OauthAuthorizationsGetAuthorizationResponseApp; - note: string; - note_url: string; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; updated_at: string; - created_at: string; - fingerprint: string; - }; - type OauthAuthorizationsListAuthorizationsResponseItemApp = { url: string; - name: string; - client_id: string; }; - type OauthAuthorizationsListAuthorizationsResponseItem = { + type PullsListResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; id: number; - url: string; - scopes: Array; - token: string; - token_last_eight: string; - hashed_token: string; - app: OauthAuthorizationsListAuthorizationsResponseItemApp; - note: string; - note_url: string; - updated_at: string; - created_at: string; - fingerprint: string; - }; - type OauthAuthorizationsDeleteGrantResponse = {}; - type OauthAuthorizationsGetGrantResponseApp = { - url: string; name: string; - client_id: string; - }; - type OauthAuthorizationsGetGrantResponse = { - id: number; - url: string; - app: OauthAuthorizationsGetGrantResponseApp; - created_at: string; - updated_at: string; - scopes: Array; - }; - type OauthAuthorizationsListGrantsResponseItemApp = { + node_id: string; url: string; - name: string; - client_id: string; }; - type OauthAuthorizationsListGrantsResponseItem = { + 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; - app: OauthAuthorizationsListGrantsResponseItemApp; - created_at: string; - updated_at: string; - scopes: Array; }; - type MigrationsUnlockRepoForAuthenticatedUserResponse = {}; - type MigrationsDeleteArchiveForAuthenticatedUserResponse = {}; - type MigrationsGetArchiveForAuthenticatedUserResponse = {}; - type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemPermissions = { + type PullsListResponseItemHeadRepoPermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemOwner = { - login: string; - id: number; - node_id: string; + type PullsListResponseItemHeadRepoOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItem = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + visibility: string; + watchers_count: number; }; - type MigrationsGetStatusForAuthenticatedUserResponseOwner = { - login: string; - id: number; - node_id: string; + type PullsListResponseItemHead = { + label: string; + ref: string; + repo: PullsListResponseItemHeadRepo; + sha: string; + user: PullsListResponseItemHeadUser; + }; + type PullsListResponseItemBaseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type MigrationsGetStatusForAuthenticatedUserResponse = { - id: number; - owner: MigrationsGetStatusForAuthenticatedUserResponseOwner; - guid: string; - state: string; - lock_repositories: boolean; - exclude_attachments: boolean; - repositories: Array< - MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItem - >; - url: string; - created_at: string; - updated_at: string; - }; - type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions = { + type PullsListResponseItemBaseRepoPermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemOwner = { - login: string; - id: number; - node_id: string; + type PullsListResponseItemBaseRepoOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type MigrationsListForAuthenticatedUserResponseItemRepositoriesItem = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: MigrationsListForAuthenticatedUserResponseItemRepositoriesItemOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + visibility: string; + watchers_count: number; }; - type MigrationsListForAuthenticatedUserResponseItemOwner = { - login: string; - id: number; - node_id: string; + type PullsListResponseItemBase = { + label: string; + ref: string; + repo: PullsListResponseItemBaseRepo; + sha: string; + user: PullsListResponseItemBaseUser; + }; + type PullsListResponseItemAssigneesItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type MigrationsListForAuthenticatedUserResponseItem = { - id: number; - owner: MigrationsListForAuthenticatedUserResponseItemOwner; - guid: string; - state: string; - lock_repositories: boolean; - exclude_attachments: boolean; - repositories: Array< - MigrationsListForAuthenticatedUserResponseItemRepositoriesItem - >; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - created_at: string; - updated_at: string; - }; - type MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions = { - admin: boolean; - push: boolean; - pull: boolean; }; - type MigrationsStartForAuthenticatedUserResponseRepositoriesItemOwner = { - login: string; - id: number; - node_id: string; + type PullsListResponseItemAssignee = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type MigrationsStartForAuthenticatedUserResponseRepositoriesItem = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: MigrationsStartForAuthenticatedUserResponseRepositoriesItemOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_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; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; created_at: string; - updated_at: string; - permissions: MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type MigrationsStartForAuthenticatedUserResponseOwner = { - login: 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; - avatar_url: string; - gravatar_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; - html_url: string; + user: PullsListResponseItemUser; + }; + type PullsGetReviewResponseUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type MigrationsStartForAuthenticatedUserResponse = { - id: number; - owner: MigrationsStartForAuthenticatedUserResponseOwner; - guid: string; - state: string; - lock_repositories: boolean; - exclude_attachments: boolean; - repositories: Array< - MigrationsStartForAuthenticatedUserResponseRepositoriesItem - >; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - created_at: string; - updated_at: string; }; - type MigrationsCancelImportResponse = {}; - type MigrationsGetLargeFilesResponseItem = { - ref_name: string; - path: string; - oid: string; - size: number; + type PullsGetReviewResponseLinksPullRequest = { href: string }; + type PullsGetReviewResponseLinksHtml = { href: string }; + type PullsGetReviewResponseLinks = { + html: PullsGetReviewResponseLinksHtml; + pull_request: PullsGetReviewResponseLinksPullRequest; }; - type MigrationsSetLfsPreferenceResponse = { - vcs: string; - use_lfs: string; - vcs_url: string; - status: string; - status_text: string; - has_large_files: boolean; - large_files_size: number; - large_files_count: number; - authors_count: number; - url: string; + type PullsGetReviewResponse = { + _links: PullsGetReviewResponseLinks; + body: string; + commit_id: string; html_url: string; - authors_url: string; - repository_url: string; - }; - type MigrationsMapCommitAuthorResponse = { id: number; - remote_id: string; - remote_name: string; - email: string; - name: string; - url: string; - import_url: string; + node_id: string; + pull_request_url: string; + state: string; + submitted_at: string; + user: PullsGetReviewResponseUser; }; - type MigrationsGetCommitAuthorsResponseItem = { + 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; - remote_id: string; - remote_name: string; - email: string; - name: string; - url: string; - import_url: string; - }; - type MigrationsUpdateImportResponse = { - vcs: string; - use_lfs: string; - vcs_url: string; - status: string; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - authors_url: string; - repository_url: string; }; - type MigrationsGetImportProgressResponse = { - vcs: string; - use_lfs: string; - vcs_url: string; - status: string; - status_text: string; - has_large_files: boolean; - large_files_size: number; - large_files_count: number; - authors_count: number; - url: string; - html_url: string; - authors_url: string; - repository_url: string; + type PullsGetCommentsForReviewResponseItemLinksSelf = { href: string }; + type PullsGetCommentsForReviewResponseItemLinksPullRequest = { href: string }; + type PullsGetCommentsForReviewResponseItemLinksHtml = { href: string }; + type PullsGetCommentsForReviewResponseItemLinks = { + html: PullsGetCommentsForReviewResponseItemLinksHtml; + pull_request: PullsGetCommentsForReviewResponseItemLinksPullRequest; + self: PullsGetCommentsForReviewResponseItemLinksSelf; }; - type MigrationsStartImportResponse = { - vcs: string; - use_lfs: string; - vcs_url: string; - status: string; - status_text: string; - has_large_files: boolean; - large_files_size: number; - large_files_count: number; - authors_count: number; - percent: number; - commit_count: number; - url: string; + type PullsGetCommentsForReviewResponseItem = { + _links: PullsGetCommentsForReviewResponseItemLinks; + author_association: string; + body: string; + commit_id: string; + created_at: string; + diff_hunk: string; html_url: string; - authors_url: string; - repository_url: string; - }; - type MigrationsUnlockRepoForOrgResponse = {}; - type MigrationsDeleteArchiveForOrgResponse = {}; - type MigrationsGetArchiveForOrgResponse = {}; - type MigrationsGetStatusForOrgResponseRepositoriesItemPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type MigrationsGetStatusForOrgResponseRepositoriesItemOwner = { - login: string; id: number; + in_reply_to_id: number; node_id: string; - avatar_url: string; - gravatar_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; - html_url: string; + user: PullsGetCommentsForReviewResponseItemUser; + }; + type PullsGetCommentResponseUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type MigrationsGetStatusForOrgResponseRepositoriesItem = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: MigrationsGetStatusForOrgResponseRepositoriesItemOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: 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; - permissions: MigrationsGetStatusForOrgResponseRepositoriesItemPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + user: PullsGetCommentResponseUser; }; - type MigrationsGetStatusForOrgResponseOwner = { - login: string; + 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; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type MigrationsGetStatusForOrgResponse = { + type PullsGetResponseRequestedTeamsItem = { + description: string; + html_url: string; id: number; - owner: MigrationsGetStatusForOrgResponseOwner; - guid: string; - state: string; - lock_repositories: boolean; - exclude_attachments: boolean; - repositories: Array; + members_url: string; + name: string; + node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; url: string; - created_at: string; - updated_at: string; - }; - type MigrationsListForOrgResponseItemRepositoriesItemPermissions = { - admin: boolean; - push: boolean; - pull: boolean; }; - type MigrationsListForOrgResponseItemRepositoriesItemOwner = { - login: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; 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; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type MigrationsListForOrgResponseItemRepositoriesItem = { + 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; - name: string; - full_name: string; - owner: MigrationsListForOrgResponseItemRepositoriesItemOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: MigrationsListForOrgResponseItemRepositoriesItemPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + visibility: string; + watchers_count: number; }; - type MigrationsListForOrgResponseItemOwner = { - login: string; + 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; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; - }; - type MigrationsListForOrgResponseItem = { - id: number; - owner: MigrationsListForOrgResponseItemOwner; - guid: string; - state: string; - lock_repositories: boolean; - exclude_attachments: boolean; - repositories: Array; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - created_at: string; - updated_at: string; }; - type MigrationsStartForOrgResponseRepositoriesItemPermissions = { + type PullsGetResponseBaseRepoPermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type MigrationsStartForOrgResponseRepositoriesItemOwner = { - login: string; - id: number; - node_id: string; + type PullsGetResponseBaseRepoOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type MigrationsStartForOrgResponseRepositoriesItem = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: MigrationsStartForOrgResponseRepositoriesItemOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: MigrationsStartForOrgResponseRepositoriesItemPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type MigrationsStartForOrgResponseOwner = { - login: string; - id: number; - node_id: string; url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; - }; - type MigrationsStartForOrgResponse = { - id: number; - owner: MigrationsStartForOrgResponseOwner; - guid: string; - state: string; - lock_repositories: boolean; - exclude_attachments: boolean; - repositories: Array; - url: string; - created_at: string; - updated_at: string; - }; - type MetaGetResponse = { - verifiable_password_authentication: boolean; - hooks: Array; - git: Array; - pages: Array; - importer: Array; - }; - type MarkdownRenderRawResponse = {}; - type MarkdownRenderResponse = {}; - type LicensesGetForRepoResponseLicense = { - key: string; - name: string; - spdx_id: string; - url: string; - node_id: string; - }; - type LicensesGetForRepoResponseLinks = { - self: string; - git: string; - html: string; + visibility: string; + watchers_count: number; }; - type LicensesGetForRepoResponse = { - name: string; - path: string; + type PullsGetResponseBase = { + label: string; + ref: string; + repo: PullsGetResponseBaseRepo; sha: string; - size: number; - url: string; - html_url: string; - git_url: string; - download_url: string; - type: string; - content: string; - encoding: string; - _links: LicensesGetForRepoResponseLinks; - license: LicensesGetForRepoResponseLicense; - }; - type LicensesGetResponse = { - key: string; - name: string; - spdx_id: string; - url: string; - node_id: string; - html_url: string; - description: string; - implementation: string; - permissions: Array; - conditions: Array; - limitations: Array; - body: string; - featured: boolean; - }; - type LicensesListResponseItem = { - key: string; - name: string; - spdx_id: string; - url: string; - node_id?: string; - }; - type LicensesListCommonlyUsedResponseItem = { - key: string; - name: string; - spdx_id: string; - url: string; - node_id?: string; + user: PullsGetResponseBaseUser; }; - type IssuesListEventsForTimelineResponseItemActor = { - login: string; - id: number; - node_id: string; + type PullsGetResponseAssigneesItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesListEventsForTimelineResponseItem = { - id: number; - node_id: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - actor: IssuesListEventsForTimelineResponseItemActor; - event: string; - commit_id: string; - commit_url: string; - created_at: string; }; - type IssuesDeleteMilestoneResponse = {}; - type IssuesUpdateMilestoneResponseCreator = { - login: string; - id: number; - node_id: string; + type PullsGetResponseAssignee = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesUpdateMilestoneResponse = { + 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; - labels_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; - description: string; - creator: IssuesUpdateMilestoneResponseCreator; - open_issues: number; - closed_issues: number; - created_at: string; updated_at: string; - closed_at: string; - due_on: string; + url: string; + user: PullsGetResponseUser; }; - type IssuesCreateMilestoneResponseCreator = { - login: string; - id: number; - node_id: string; + type PullsDismissReviewResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesCreateMilestoneResponse = { + 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; - labels_url: string; id: number; node_id: string; - number: number; + pull_request_url: string; state: string; - title: string; - description: string; - creator: IssuesCreateMilestoneResponseCreator; - open_issues: number; - closed_issues: number; - created_at: string; - updated_at: string; - closed_at: string; - due_on: string; + user: PullsDismissReviewResponseUser; }; - type IssuesGetMilestoneResponseCreator = { - login: string; - id: number; - node_id: string; + type PullsDeletePendingReviewResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesGetMilestoneResponse = { + 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; - labels_url: string; id: number; node_id: string; - number: number; + pull_request_url: string; state: string; - title: string; - description: string; - creator: IssuesGetMilestoneResponseCreator; - open_issues: number; - closed_issues: number; - created_at: string; - updated_at: string; - closed_at: string; - due_on: string; + user: PullsDeletePendingReviewResponseUser; }; - type IssuesListMilestonesForRepoResponseItemCreator = { - login: string; - id: number; - node_id: string; + type PullsCreateReviewRequestResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesListMilestonesForRepoResponseItem = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - labels_url: string; - id: number; - node_id: string; - number: number; - state: string; - title: string; - description: string; - creator: IssuesListMilestonesForRepoResponseItemCreator; - open_issues: number; - closed_issues: number; - created_at: string; - updated_at: string; - closed_at: string; - due_on: string; }; - type IssuesListLabelsForMilestoneResponseItem = { - id: number; - node_id: string; - url: string; - name: string; + type PullsCreateReviewRequestResponseRequestedTeamsItem = { description: string; - color: string; - default: boolean; - }; - type IssuesRemoveLabelsResponse = {}; - type IssuesReplaceLabelsResponseItem = { + html_url: string; id: number; - node_id: string; - url: string; + members_url: string; name: string; - description: string; - color: string; - default: boolean; - }; - type IssuesRemoveLabelResponseItem = { - id: number; node_id: string; + parent: null; + permission: string; + privacy: string; + repositories_url: string; + slug: string; url: string; - name: string; - description: string; - color: string; - default: boolean; }; - type IssuesAddLabelsResponseItem = { + 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; - name: string; - description: string; - color: string; - default: boolean; }; - type IssuesListLabelsOnIssueResponseItem = { + 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; - name: string; - description: string; - color: string; - default: boolean; }; - type IssuesDeleteLabelResponse = {}; - type IssuesUpdateLabelResponse = { - id: number; - node_id: string; - url: string; - name: string; + type PullsCreateReviewRequestResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: PullsCreateReviewRequestResponseMilestoneCreator; description: string; - color: string; - default: boolean; - }; - type IssuesCreateLabelResponse = { + 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; - name: string; - description: string; + }; + type PullsCreateReviewRequestResponseLabelsItem = { color: string; default: boolean; - }; - type IssuesGetLabelResponse = { + description: string; id: number; + name: string; node_id: string; url: string; - name: string; - description: string; - color: string; - default: boolean; }; - type IssuesListLabelsForRepoResponseItem = { + 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; - name: string; - description: string; - color: string; - default: boolean; }; - type IssuesGetEventResponseIssuePullRequest = { - url: string; - html_url: string; - diff_url: string; - patch_url: string; + type PullsCreateReviewRequestResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; }; - type IssuesGetEventResponseIssueMilestoneCreator = { - login: string; - id: number; - node_id: string; + type PullsCreateReviewRequestResponseHeadRepoOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesGetEventResponseIssueMilestone = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - labels_url: string; - id: number; - node_id: string; - number: number; - state: string; - title: string; - description: string; - creator: IssuesGetEventResponseIssueMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; - updated_at: string; - closed_at: string; - due_on: string; }; - type IssuesGetEventResponseIssueAssigneesItem = { - login: 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; - avatar_url: string; - gravatar_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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; - html_url: string; + visibility: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesGetEventResponseIssueAssignee = { - login: string; - id: number; - node_id: string; + type PullsCreateReviewRequestResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateReviewRequestResponseBaseRepoOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesGetEventResponseIssueLabelsItem = { + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; - name: string; - description: string; - color: string; - default: boolean; + visibility: string; + watchers_count: number; }; - type IssuesGetEventResponseIssueUser = { - login: string; - id: number; - node_id: string; + type PullsCreateReviewRequestResponseBase = { + label: string; + ref: string; + repo: PullsCreateReviewRequestResponseBaseRepo; + sha: string; + user: PullsCreateReviewRequestResponseBaseUser; + }; + type PullsCreateReviewRequestResponseAssigneesItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesGetEventResponseIssue = { + 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; - repository_url: string; - labels_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; - events_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; - body: string; - user: IssuesGetEventResponseIssueUser; - labels: Array; - assignee: IssuesGetEventResponseIssueAssignee; - assignees: Array; - milestone: IssuesGetEventResponseIssueMilestone; - locked: boolean; - active_lock_reason: string; - comments: number; - pull_request: IssuesGetEventResponseIssuePullRequest; - closed_at: null; - created_at: string; updated_at: string; + url: string; + user: PullsCreateReviewRequestResponseUser; }; - type IssuesGetEventResponseActor = { - login: string; - id: number; - node_id: string; + type PullsCreateReviewCommentReplyResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesGetEventResponse = { - id: number; - node_id: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - actor: IssuesGetEventResponseActor; - event: 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; - commit_url: string; created_at: string; - issue: IssuesGetEventResponseIssue; - }; - type IssuesListEventsForRepoResponseItemIssuePullRequest = { - url: string; + diff_hunk: string; html_url: string; - diff_url: string; - patch_url: string; - }; - type IssuesListEventsForRepoResponseItemIssueMilestoneCreator = { - login: string; id: number; node_id: string; - avatar_url: string; - gravatar_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; - html_url: string; + user: PullsCreateReviewCommentReplyResponseUser; + }; + type PullsCreateReviewResponseUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesListEventsForRepoResponseItemIssueMilestone = { + 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; - labels_url: string; id: number; node_id: string; - number: number; + pull_request_url: string; state: string; - title: string; - description: string; - creator: IssuesListEventsForRepoResponseItemIssueMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; - updated_at: string; - closed_at: string; - due_on: string; + user: PullsCreateReviewResponseUser; }; - type IssuesListEventsForRepoResponseItemIssueAssigneesItem = { - login: string; - id: number; - node_id: string; + type PullsCreateFromIssueResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesListEventsForRepoResponseItemIssueAssignee = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type IssuesListEventsForRepoResponseItemIssueLabelsItem = { + 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; - name: string; - description: string; - color: string; - default: boolean; }; - type IssuesListEventsForRepoResponseItemIssueUser = { - login: string; - id: number; - node_id: string; + type PullsCreateFromIssueResponseRequestedReviewersItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesListEventsForRepoResponseItemIssue = { - id: number; - node_id: string; - url: string; - repository_url: string; - labels_url: string; - comments_url: string; - events_url: string; - html_url: string; - number: number; - state: string; - title: string; - body: string; - user: IssuesListEventsForRepoResponseItemIssueUser; - labels: Array; - assignee: IssuesListEventsForRepoResponseItemIssueAssignee; - assignees: Array; - milestone: IssuesListEventsForRepoResponseItemIssueMilestone; - locked: boolean; - active_lock_reason: string; - comments: number; - pull_request: IssuesListEventsForRepoResponseItemIssuePullRequest; - closed_at: null; - created_at: string; - updated_at: string; - }; - type IssuesListEventsForRepoResponseItemActor = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type IssuesListEventsForRepoResponseItem = { - id: number; - node_id: string; url: string; - actor: IssuesListEventsForRepoResponseItemActor; - event: string; - commit_id: string; - commit_url: string; - created_at: string; - issue: IssuesListEventsForRepoResponseItemIssue; }; - type IssuesListEventsResponseItemActor = { - login: string; - id: number; - node_id: string; + type PullsCreateFromIssueResponseMilestoneCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type IssuesListEventsResponseItem = { + gravatar_id: string; + html_url: string; id: number; - node_id: string; - url: string; - actor: IssuesListEventsResponseItemActor; - event: string; - commit_id: string; - commit_url: string; - created_at: string; - }; - type IssuesDeleteCommentResponse = {}; - type IssuesUpdateCommentResponseUser = { login: string; - id: number; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesUpdateCommentResponse = { + 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; - url: string; - html_url: string; - body: string; - user: IssuesUpdateCommentResponseUser; - created_at: string; + number: number; + open_issues: number; + state: string; + title: string; updated_at: string; + url: string; }; - type IssuesCreateCommentResponseUser = { - login: string; - id: number; - node_id: string; + type PullsCreateFromIssueResponseMergedBy = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesCreateCommentResponse = { + type PullsCreateFromIssueResponseLabelsItem = { + color: string; + default: boolean; + description: string; id: number; + name: string; node_id: string; url: string; - html_url: string; - body: string; - user: IssuesCreateCommentResponseUser; - created_at: string; - updated_at: string; }; - type IssuesGetCommentResponseUser = { - login: string; - id: number; - node_id: string; + type PullsCreateFromIssueResponseHeadUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesGetCommentResponse = { - id: number; - node_id: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - body: string; - user: IssuesGetCommentResponseUser; - created_at: string; - updated_at: string; }; - type IssuesListCommentsForRepoResponseItemUser = { - login: string; - id: number; - node_id: string; + type PullsCreateFromIssueResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateFromIssueResponseHeadRepoOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListCommentsForRepoResponseItem = { + 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; - url: string; - html_url: string; - body: string; - user: IssuesListCommentsForRepoResponseItemUser; - created_at: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; updated_at: string; + url: string; + visibility: string; + watchers_count: number; }; - type IssuesListCommentsResponseItemUser = { - login: string; - id: number; - node_id: string; + type PullsCreateFromIssueResponseHead = { + label: string; + ref: string; + repo: PullsCreateFromIssueResponseHeadRepo; + sha: string; + user: PullsCreateFromIssueResponseHeadUser; + }; + type PullsCreateFromIssueResponseBaseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesListCommentsResponseItem = { - id: number; - node_id: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - body: string; - user: IssuesListCommentsResponseItemUser; - created_at: string; - updated_at: string; }; - type IssuesRemoveAssigneesResponsePullRequest = { - url: string; - html_url: string; - diff_url: string; - patch_url: string; + type PullsCreateFromIssueResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; }; - type IssuesRemoveAssigneesResponseMilestoneCreator = { - login: string; - id: number; - node_id: string; + type PullsCreateFromIssueResponseBaseRepoOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesRemoveAssigneesResponseMilestone = { + 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; - labels_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; - number: number; - state: string; - title: string; - description: string; - creator: IssuesRemoveAssigneesResponseMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; updated_at: string; - closed_at: string; - due_on: string; + url: string; + visibility: string; + watchers_count: number; }; - type IssuesRemoveAssigneesResponseAssigneesItem = { - login: string; - id: number; - node_id: string; + type PullsCreateFromIssueResponseBase = { + label: string; + ref: string; + repo: PullsCreateFromIssueResponseBaseRepo; + sha: string; + user: PullsCreateFromIssueResponseBaseUser; + }; + type PullsCreateFromIssueResponseAssigneesItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesRemoveAssigneesResponseAssignee = { - login: string; - id: number; - node_id: string; + type PullsCreateFromIssueResponseAssignee = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesRemoveAssigneesResponseLabelsItem = { - id: number; - node_id: string; - url: string; - name: string; - description: string; - color: string; - default: boolean; - }; - type IssuesRemoveAssigneesResponseUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type IssuesRemoveAssigneesResponse = { - id: number; - node_id: string; url: string; - repository_url: string; - labels_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; - events_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; - body: string; - user: IssuesRemoveAssigneesResponseUser; - labels: Array; - assignee: IssuesRemoveAssigneesResponseAssignee; - assignees: Array; - milestone: IssuesRemoveAssigneesResponseMilestone; - locked: boolean; - active_lock_reason: string; - comments: number; - pull_request: IssuesRemoveAssigneesResponsePullRequest; - closed_at: null; - created_at: string; updated_at: string; - }; - type IssuesAddAssigneesResponsePullRequest = { url: string; - html_url: string; - diff_url: string; - patch_url: string; + user: PullsCreateFromIssueResponseUser; }; - type IssuesAddAssigneesResponseMilestoneCreator = { - login: string; - id: number; - node_id: string; + type PullsCreateCommentReplyResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesAddAssigneesResponseMilestone = { + 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; - labels_url: string; id: number; + in_reply_to_id: number; + line: number; node_id: string; - number: number; - state: string; - title: string; - description: string; - creator: IssuesAddAssigneesResponseMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: 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; - closed_at: string; - due_on: string; + url: string; + user: PullsCreateCommentReplyResponseUser; }; - type IssuesAddAssigneesResponseAssigneesItem = { - login: string; - id: number; - node_id: string; + type PullsCreateCommentResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesAddAssigneesResponseAssignee = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type IssuesAddAssigneesResponseLabelsItem = { + 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; - name: string; - description: string; - color: string; - default: boolean; + user: PullsCreateCommentResponseUser; }; - type IssuesAddAssigneesResponseUser = { - login: string; - id: number; - node_id: string; + type PullsCreateResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesAddAssigneesResponse = { + 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; - repository_url: string; - labels_url: string; - comments_url: string; - events_url: string; - html_url: string; - number: number; - state: string; - title: string; - body: string; - user: IssuesAddAssigneesResponseUser; - labels: Array; - assignee: IssuesAddAssigneesResponseAssignee; - assignees: Array; - milestone: IssuesAddAssigneesResponseMilestone; - locked: boolean; - active_lock_reason: string; - comments: number; - pull_request: IssuesAddAssigneesResponsePullRequest; - closed_at: null; - created_at: string; - updated_at: string; }; - type IssuesCheckAssigneeResponse = {}; - type IssuesListAssigneesResponseItem = { - login: string; - id: number; - node_id: string; + type PullsCreateResponseRequestedReviewersItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesUnlockResponse = {}; - type IssuesLockResponse = {}; - type IssuesUpdateResponseClosedBy = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type IssuesUpdateResponsePullRequest = { url: string; - html_url: string; - diff_url: string; - patch_url: string; }; - type IssuesUpdateResponseMilestoneCreator = { - login: string; - id: number; - node_id: string; + type PullsCreateResponseMilestoneCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesUpdateResponseMilestone = { + 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; - labels_url: string; id: number; + labels_url: string; node_id: string; number: number; + open_issues: number; state: string; title: string; - description: string; - creator: IssuesUpdateResponseMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; updated_at: string; - closed_at: string; - due_on: string; + url: string; }; - type IssuesUpdateResponseAssigneesItem = { - login: string; - id: number; - node_id: string; + type PullsCreateResponseMergedBy = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesUpdateResponseAssignee = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type IssuesUpdateResponseLabelsItem = { - id: number; - node_id: string; url: string; - name: string; - description: string; + }; + type PullsCreateResponseLabelsItem = { color: string; default: boolean; - }; - type IssuesUpdateResponseUser = { - login: string; + description: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; + }; + type PullsCreateResponseHeadUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesUpdateResponse = { - id: number; - node_id: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - repository_url: string; - labels_url: string; - comments_url: string; - events_url: string; - html_url: string; - number: number; - state: string; - title: string; - body: string; - user: IssuesUpdateResponseUser; - labels: Array; - assignee: IssuesUpdateResponseAssignee; - assignees: Array; - milestone: IssuesUpdateResponseMilestone; - locked: boolean; - active_lock_reason: string; - comments: number; - pull_request: IssuesUpdateResponsePullRequest; - closed_at: null; - created_at: string; - updated_at: string; - closed_by: IssuesUpdateResponseClosedBy; }; - type IssuesCreateResponseClosedBy = { - login: string; - id: number; - node_id: string; + type PullsCreateResponseHeadRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateResponseHeadRepoOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesCreateResponsePullRequest = { - url: string; - html_url: string; - diff_url: string; - patch_url: string; - }; - type IssuesCreateResponseMilestoneCreator = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type IssuesCreateResponseMilestone = { 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; - labels_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; - number: number; - state: string; - title: string; - description: string; - creator: IssuesCreateResponseMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; updated_at: string; - closed_at: string; - due_on: string; + url: string; + visibility: string; + watchers_count: number; }; - type IssuesCreateResponseAssigneesItem = { - login: string; - id: number; - node_id: string; + type PullsCreateResponseHead = { + label: string; + ref: string; + repo: PullsCreateResponseHeadRepo; + sha: string; + user: PullsCreateResponseHeadUser; + }; + type PullsCreateResponseBaseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesCreateResponseAssignee = { - login: string; - id: number; - node_id: string; + type PullsCreateResponseBaseRepoPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type PullsCreateResponseBaseRepoOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesCreateResponseLabelsItem = { + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; - name: string; - description: string; - color: string; - default: boolean; + visibility: string; + watchers_count: number; }; - type IssuesCreateResponseUser = { - login: string; - id: number; - node_id: string; + type PullsCreateResponseBase = { + label: string; + ref: string; + repo: PullsCreateResponseBaseRepo; + sha: string; + user: PullsCreateResponseBaseUser; + }; + type PullsCreateResponseAssigneesItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesCreateResponse = { + 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; - repository_url: string; - labels_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; - events_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; - body: string; - user: IssuesCreateResponseUser; - labels: Array; - assignee: IssuesCreateResponseAssignee; - assignees: Array; - milestone: IssuesCreateResponseMilestone; - locked: boolean; - active_lock_reason: string; - comments: number; - pull_request: IssuesCreateResponsePullRequest; - closed_at: null; - created_at: string; updated_at: string; - closed_by: IssuesCreateResponseClosedBy; + url: string; + user: PullsCreateResponseUser; }; - type IssuesGetResponseClosedBy = { - login: string; + type ProjectsUpdateColumnResponse = { + cards_url: string; + created_at: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + project_url: string; + updated_at: string; url: string; - html_url: string; + }; + type ProjectsUpdateCardResponseCreator = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesGetResponsePullRequest = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - diff_url: string; - patch_url: string; }; - type IssuesGetResponseMilestoneCreator = { - login: string; + type ProjectsUpdateCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsUpdateCardResponseCreator; id: number; node_id: string; - avatar_url: string; - gravatar_id: string; + note: string; + project_url: string; + updated_at: string; url: string; - html_url: string; + }; + type ProjectsUpdateResponseCreator = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesGetResponseMilestone = { + 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; - labels_url: string; id: number; + name: string; node_id: string; number: number; + owner_url: string; state: string; - title: string; - description: string; - creator: IssuesGetResponseMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; updated_at: string; - closed_at: string; - due_on: string; + url: string; }; - type IssuesGetResponseAssigneesItem = { - login: string; - id: number; - node_id: string; + type ProjectsReviewUserPermissionLevelResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesGetResponseAssignee = { - login: string; - id: number; - node_id: string; + type ProjectsReviewUserPermissionLevelResponse = { + permission: string; + user: ProjectsReviewUserPermissionLevelResponseUser; + }; + type ProjectsListForUserResponseItemCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesGetResponseLabelsItem = { + 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; - name: string; - description: string; - color: string; - default: boolean; }; - type IssuesGetResponseUser = { - login: string; - id: number; - node_id: string; + type ProjectsListForRepoResponseItemCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesGetResponse = { + type ProjectsListForRepoResponseItem = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsListForRepoResponseItemCreator; + html_url: string; id: number; + name: string; node_id: string; - url: string; - repository_url: string; - labels_url: string; - comments_url: string; - events_url: string; - html_url: string; number: number; + owner_url: string; state: string; - title: string; - body: string; - user: IssuesGetResponseUser; - labels: Array; - assignee: IssuesGetResponseAssignee; - assignees: Array; - milestone: IssuesGetResponseMilestone; - locked: boolean; - active_lock_reason: string; - comments: number; - pull_request: IssuesGetResponsePullRequest; - closed_at: null; - created_at: string; updated_at: string; - closed_by: IssuesGetResponseClosedBy; - }; - type IssuesListForRepoResponseItemPullRequest = { url: string; - html_url: string; - diff_url: string; - patch_url: string; }; - type IssuesListForRepoResponseItemMilestoneCreator = { - login: string; - id: number; - node_id: string; + type ProjectsListForOrgResponseItemCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesListForRepoResponseItemMilestone = { + 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; - labels_url: string; id: number; + name: string; node_id: string; number: number; + owner_url: string; state: string; - title: string; - description: string; - creator: IssuesListForRepoResponseItemMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; updated_at: string; - closed_at: string; - due_on: string; + url: string; }; - type IssuesListForRepoResponseItemAssigneesItem = { - login: string; + type ProjectsListColumnsResponseItem = { + cards_url: string; + created_at: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + project_url: string; + updated_at: string; url: string; - html_url: string; + }; + type ProjectsListCollaboratorsResponseItem = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListForRepoResponseItemAssignee = { - login: string; - id: number; - node_id: string; + type ProjectsListCardsResponseItemCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListForRepoResponseItemLabelsItem = { + 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; - name: string; - description: string; - color: string; - default: boolean; }; - type IssuesListForRepoResponseItemUser = { - login: string; + type ProjectsGetColumnResponse = { + cards_url: string; + created_at: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + project_url: string; + updated_at: string; url: string; - html_url: string; + }; + type ProjectsGetCardResponseCreator = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListForRepoResponseItem = { + type ProjectsGetCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsGetCardResponseCreator; id: number; node_id: string; - url: string; - repository_url: string; - labels_url: string; - comments_url: string; - events_url: string; - html_url: string; - number: number; - state: string; - title: string; - body: string; - user: IssuesListForRepoResponseItemUser; - labels: Array; - assignee: IssuesListForRepoResponseItemAssignee; - assignees: Array; - milestone: IssuesListForRepoResponseItemMilestone; - locked: boolean; - active_lock_reason: string; - comments: number; - pull_request: IssuesListForRepoResponseItemPullRequest; - closed_at: null; - created_at: string; + note: string; + project_url: string; updated_at: string; + url: string; }; - type IssuesListForOrgResponseItemRepositoryPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type IssuesListForOrgResponseItemRepositoryOwner = { - login: string; - id: number; - node_id: string; + type ProjectsGetResponseCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListForOrgResponseItemRepository = { + type ProjectsGetResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsGetResponseCreator; + html_url: string; id: number; - node_id: string; name: string; - full_name: string; - owner: IssuesListForOrgResponseItemRepositoryOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + node_id: string; + number: number; + owner_url: string; + state: string; updated_at: string; - permissions: IssuesListForOrgResponseItemRepositoryPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type IssuesListForOrgResponseItemPullRequest = { url: string; - html_url: string; - diff_url: string; - patch_url: string; }; - type IssuesListForOrgResponseItemMilestoneCreator = { - login: string; - id: number; - node_id: string; + type ProjectsCreateForRepoResponseCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesListForOrgResponseItemMilestone = { + 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; - labels_url: string; id: number; + name: string; node_id: string; number: number; + owner_url: string; state: string; - title: string; - description: string; - creator: IssuesListForOrgResponseItemMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; updated_at: string; - closed_at: string; - due_on: string; + url: string; }; - type IssuesListForOrgResponseItemAssigneesItem = { - login: string; - id: number; - node_id: string; + type ProjectsCreateForOrgResponseCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListForOrgResponseItemAssignee = { - login: string; + type ProjectsCreateForOrgResponse = { + body: string; + columns_url: string; + created_at: string; + creator: ProjectsCreateForOrgResponseCreator; + html_url: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + number: number; + owner_url: string; + state: string; + updated_at: string; url: string; - html_url: string; + }; + type ProjectsCreateForAuthenticatedUserResponseCreator = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListForOrgResponseItemLabelsItem = { + 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; - name: string; - description: string; - color: string; - default: boolean; }; - type IssuesListForOrgResponseItemUser = { - login: string; + type ProjectsCreateColumnResponse = { + cards_url: string; + created_at: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + project_url: string; + updated_at: string; url: string; - html_url: string; + }; + type ProjectsCreateCardResponseCreator = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesListForOrgResponseItem = { - id: number; - node_id: string; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - repository_url: string; - labels_url: string; - comments_url: string; - events_url: string; - html_url: string; - number: number; - state: string; - title: string; - body: string; - user: IssuesListForOrgResponseItemUser; - labels: Array; - assignee: IssuesListForOrgResponseItemAssignee; - assignees: Array; - milestone: IssuesListForOrgResponseItemMilestone; - locked: boolean; - active_lock_reason: string; - comments: number; - pull_request: IssuesListForOrgResponseItemPullRequest; - closed_at: null; - created_at: string; - updated_at: string; - repository: IssuesListForOrgResponseItemRepository; - }; - type IssuesListForAuthenticatedUserResponseItemRepositoryPermissions = { - admin: boolean; - push: boolean; - pull: boolean; }; - type IssuesListForAuthenticatedUserResponseItemRepositoryOwner = { - login: string; + type ProjectsCreateCardResponse = { + archived: boolean; + column_url: string; + content_url: string; + created_at: string; + creator: ProjectsCreateCardResponseCreator; id: number; node_id: string; - avatar_url: string; - gravatar_id: string; + note: string; + project_url: string; + updated_at: string; url: string; - html_url: string; + }; + type OrgsUpdateMembershipResponseUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListForAuthenticatedUserResponseItemRepository = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: IssuesListForAuthenticatedUserResponseItemRepositoryOwner; - private: boolean; - html_url: string; + type OrgsUpdateMembershipResponseOrganization = { + avatar_url: string; description: string; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: 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; - permissions: IssuesListForAuthenticatedUserResponseItemRepositoryPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type IssuesListForAuthenticatedUserResponseItemPullRequest = { url: string; - html_url: string; - diff_url: string; - patch_url: string; }; - type IssuesListForAuthenticatedUserResponseItemMilestoneCreator = { - login: 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_permission: 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_internal_repositories: boolean; + members_can_create_private_repositories: boolean; + members_can_create_public_repositories: boolean; + members_can_create_repositories: boolean; + members_url: string; + name: string; node_id: string; - avatar_url: string; - gravatar_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; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesListForAuthenticatedUserResponseItemMilestone = { + 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; - labels_url: string; id: number; + login: string; node_id: string; - number: number; - state: string; - title: string; - description: string; - creator: IssuesListForAuthenticatedUserResponseItemMilestoneCreator; - open_issues: number; - closed_issues: number; - created_at: string; - updated_at: string; - closed_at: string; - due_on: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListForAuthenticatedUserResponseItemAssigneesItem = { - login: string; + type OrgsListPendingInvitationsResponseItem = { + created_at: string; + email: string; id: number; - node_id: string; + invitation_team_url: string; + inviter: OrgsListPendingInvitationsResponseItemInviter; + login: string; + role: string; + team_count: number; + }; + type OrgsListOutsideCollaboratorsResponseItem = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListForAuthenticatedUserResponseItemAssignee = { - login: string; - id: number; - node_id: string; + type OrgsListMembershipsResponseItemUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListForAuthenticatedUserResponseItemLabelsItem = { + 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; - name: string; - description: string; - color: string; - default: boolean; }; - type IssuesListForAuthenticatedUserResponseItemUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + type OrgsListMembershipsResponseItem = { + organization: OrgsListMembershipsResponseItemOrganization; + organization_url: string; + role: string; + state: string; url: string; - html_url: string; + user: OrgsListMembershipsResponseItemUser; + }; + type OrgsListMembersResponseItem = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListForAuthenticatedUserResponseItem = { + 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; - repository_url: string; - labels_url: string; - comments_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; - number: number; - state: string; - title: string; - body: string; - user: IssuesListForAuthenticatedUserResponseItemUser; - labels: Array; - assignee: IssuesListForAuthenticatedUserResponseItemAssignee; - assignees: Array; - milestone: IssuesListForAuthenticatedUserResponseItemMilestone; - locked: boolean; - active_lock_reason: string; - comments: number; - pull_request: IssuesListForAuthenticatedUserResponseItemPullRequest; - closed_at: null; + id: number; + login: string; + node_id: string; + 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; - repository: IssuesListForAuthenticatedUserResponseItemRepository; }; - type IssuesListResponseItemRepositoryPermissions = { - admin: boolean; - push: boolean; - pull: boolean; + type OrgsListInstallationsResponse = { + installations: Array; + total_count: number; }; - type IssuesListResponseItemRepositoryOwner = { - login: string; + 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; - gravatar_id: 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; - html_url: string; + }; + type OrgsListBlockedUsersResponseItem = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListResponseItemRepository = { + 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; - name: string; - full_name: string; - owner: IssuesListResponseItemRepositoryOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + public_members_url: string; + repos_url: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: IssuesListResponseItemRepositoryPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; }; - type IssuesListResponseItemPullRequest = { - 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; - diff_url: string; - patch_url: string; - }; - type IssuesListResponseItemMilestoneCreator = { - login: string; id: number; + login: string; node_id: string; + 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; - gravatar_id: 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; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type IssuesListResponseItemMilestone = { + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - labels_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; - number: number; + public_members_url: string; + repos_url: string; + url: string; + }; + type OrgsGetMembershipResponse = { + organization: OrgsGetMembershipResponseOrganization; + organization_url: string; + role: string; state: string; - title: string; - description: string; - creator: IssuesListResponseItemMilestoneCreator; - open_issues: number; - closed_issues: number; + 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; - closed_at: string; - due_on: string; + url: string; }; - type IssuesListResponseItemAssigneesItem = { - login: 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_permission?: 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_internal_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_public_repositories?: boolean; + members_can_create_repositories?: boolean; + members_url: string; + name: string; node_id: string; - avatar_url: string; - gravatar_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; - html_url: string; + }; + type OrgsCreateInvitationResponseInviter = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListResponseItemAssignee = { + 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; - node_id: string; - avatar_url: string; - gravatar_id: string; + name: string; + ping_url: string; + updated_at: string; url: string; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListResponseItemLabelsItem = { + 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; - description: string; - color: string; - default: boolean; + url: string; }; - type IssuesListResponseItemUser = { - login: string; + type OauthAuthorizationsUpdateAuthorizationResponse = { + app: OauthAuthorizationsUpdateAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; url: string; - html_url: string; + }; + type OauthAuthorizationsResetAuthorizationResponseUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type IssuesListResponseItem = { - id: number; - node_id: string; + type OauthAuthorizationsResetAuthorizationResponseApp = { + client_id: string; + name: string; url: string; - repository_url: string; - labels_url: string; - comments_url: string; - events_url: string; - html_url: string; - number: number; - state: string; - title: string; - body: string; - user: IssuesListResponseItemUser; - labels: Array; - assignee: IssuesListResponseItemAssignee; - assignees: Array; - milestone: IssuesListResponseItemMilestone; - locked: boolean; - active_lock_reason: string; - comments: number; - pull_request: IssuesListResponseItemPullRequest; - closed_at: null; + }; + 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; - repository: IssuesListResponseItemRepository; - }; - type InteractionsRemoveRestrictionsForRepoResponse = {}; - type InteractionsAddOrUpdateRestrictionsForRepoResponse = { - limit: string; - origin: string; - expires_at: string; - }; - type InteractionsGetRestrictionsForRepoResponse = { - limit: string; - origin: string; - expires_at: string; - }; - type InteractionsRemoveRestrictionsForOrgResponse = {}; - type InteractionsAddOrUpdateRestrictionsForOrgResponse = { - limit: string; - origin: string; - expires_at: string; - }; - type InteractionsGetRestrictionsForOrgResponse = { - limit: string; - origin: string; - expires_at: string; - }; - type GitignoreGetTemplateResponse = { name?: string; source?: string }; - type GitCreateTreeResponseTreeItem = { - path: string; - mode: string; - type: string; - size: number; - sha: string; url: string; + user: OauthAuthorizationsResetAuthorizationResponseUser; }; - type GitCreateTreeResponse = { - sha: string; + type OauthAuthorizationsListGrantsResponseItemApp = { + client_id: string; + name: string; url: string; - tree: Array; }; - type GitCreateTagResponseVerification = { - verified: boolean; - reason: string; - signature: null; - payload: null; + type OauthAuthorizationsListGrantsResponseItem = { + app: OauthAuthorizationsListGrantsResponseItemApp; + created_at: string; + id: number; + scopes: Array; + updated_at: string; + url: string; }; - type GitCreateTagResponseObject = { type: string; sha: string; url: string }; - type GitCreateTagResponseTagger = { + type OauthAuthorizationsListAuthorizationsResponseItemApp = { + client_id: string; name: string; - email: string; - date: string; - }; - type GitCreateTagResponse = { - node_id: string; - tag: string; - sha: string; url: string; - message: string; - tagger: GitCreateTagResponseTagger; - object: GitCreateTagResponseObject; - verification: GitCreateTagResponseVerification; }; - type GitGetTagResponseVerification = { - verified: boolean; - reason: string; - signature: null; - payload: null; + 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 GitGetTagResponseObject = { type: string; sha: string; url: string }; - type GitGetTagResponseTagger = { name: string; email: string; date: string }; - type GitGetTagResponse = { - node_id: string; - tag: string; - sha: string; + type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponseApp = { + client_id: string; + name: string; url: string; - message: string; - tagger: GitGetTagResponseTagger; - object: GitGetTagResponseObject; - verification: GitGetTagResponseVerification; }; - type GitDeleteRefResponse = {}; - type GitUpdateRefResponseObject = { type: string; sha: string; url: string }; - type GitUpdateRefResponse = { - ref: string; - node_id: 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; - object: GitUpdateRefResponseObject; }; - type GitCreateRefResponseObject = { type: string; sha: string; url: string }; - type GitCreateRefResponse = { - ref: string; - node_id: string; + type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseApp = { + client_id: string; + name: string; url: string; - object: GitCreateRefResponseObject; }; - type GitCreateCommitResponseVerification = { - verified: boolean; - reason: string; - signature: null; - payload: null; + 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 GitCreateCommitResponseParentsItem = { url: string; sha: string }; - type GitCreateCommitResponseTree = { url: string; sha: string }; - type GitCreateCommitResponseCommitter = { - date: string; + type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseApp = { + client_id: string; name: string; - email: string; + url: string; }; - type GitCreateCommitResponseAuthor = { - date: 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; - email: string; + url: string; }; - type GitCreateCommitResponse = { - sha: string; - node_id: string; + type OauthAuthorizationsGetGrantResponse = { + app: OauthAuthorizationsGetGrantResponseApp; + created_at: string; + id: number; + scopes: Array; + updated_at: string; url: string; - author: GitCreateCommitResponseAuthor; - committer: GitCreateCommitResponseCommitter; - message: string; - tree: GitCreateCommitResponseTree; - parents: Array; - verification: GitCreateCommitResponseVerification; }; - type GitGetCommitResponseVerification = { - verified: boolean; - reason: string; - signature: null; - payload: null; - }; - type GitGetCommitResponseParentsItem = { url: string; sha: string }; - type GitGetCommitResponseTree = { url: string; sha: string }; - type GitGetCommitResponseCommitter = { - date: string; - name: string; - email: string; - }; - type GitGetCommitResponseAuthor = { - date: string; + type OauthAuthorizationsGetAuthorizationResponseApp = { + client_id: string; name: string; - email: string; + url: string; }; - type GitGetCommitResponse = { - sha: 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; - author: GitGetCommitResponseAuthor; - committer: GitGetCommitResponseCommitter; - message: string; - tree: GitGetCommitResponseTree; - parents: Array; - verification: GitGetCommitResponseVerification; }; - type GitCreateBlobResponse = { url: string; sha: string }; - type GitGetBlobResponse = { - content: string; - encoding: string; + type OauthAuthorizationsCreateAuthorizationResponseApp = { + client_id: string; + name: string; url: string; - sha: string; - size: number; }; - type GistsDeleteCommentResponse = {}; - type GistsUpdateCommentResponseUser = { - login: string; + type OauthAuthorizationsCreateAuthorizationResponse = { + app: OauthAuthorizationsCreateAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; url: string; - html_url: string; + }; + type OauthAuthorizationsCheckAuthorizationResponseUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type GistsUpdateCommentResponse = { - id: number; - node_id: string; + type OauthAuthorizationsCheckAuthorizationResponseApp = { + client_id: string; + name: string; url: string; - body: string; - user: GistsUpdateCommentResponseUser; + }; + 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 GistsCreateCommentResponseUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type GistsCreateCommentResponse = { + 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; - url: string; - body: string; - user: GistsCreateCommentResponseUser; - created_at: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; updated_at: string; + url: string; + visibility: string; + watchers_count: number; }; - type GistsGetCommentResponseUser = { - login: string; - id: number; - node_id: string; + type MigrationsStartForOrgResponseOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; + description: string; events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type GistsGetCommentResponse = { + 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; - body: string; - user: GistsGetCommentResponseUser; + }; + 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 GistsListCommentsResponseItemUser = { - login: string; - id: number; - node_id: string; + type MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsStartForAuthenticatedUserResponseRepositoriesItemOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type GistsListCommentsResponseItem = { + 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; - url: string; - body: string; - user: GistsListCommentsResponseItemUser; - created_at: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; updated_at: string; + url: string; + visibility: string; + watchers_count: number; }; - type GistsDeleteResponse = {}; - type GistsListForksResponseItemUser = { - login: string; - id: number; - node_id: string; + type MigrationsStartForAuthenticatedUserResponseOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsListForksResponseItem = { - user: GistsListForksResponseItemUser; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - id: 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 GistsForkResponseOwner = { - login: 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; - node_id: string; - avatar_url: string; - gravatar_id: string; + import_url: string; + name: string; + remote_id: string; + remote_name: string; url: string; - html_url: string; + }; + type MigrationsListReposForUserResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsListReposForUserResponseItemOwner = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsForkResponseFilesHelloWorldRb = { - filename: string; + starred_url: string; + subscriptions_url: string; type: string; - language: string; - raw_url: string; - size: number; - }; - type GistsForkResponseFiles = { - "hello_world.rb": GistsForkResponseFilesHelloWorldRb; + url: string; }; - type GistsForkResponse = { + type MigrationsListReposForUserResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; url: string; - forks_url: string; + }; + type MigrationsListReposForUserResponseItem = { + 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; - id: string; - node_id: string; - git_pull_url: string; - git_push_url: string; - html_url: string; - files: GistsForkResponseFiles; - public: boolean; + compare_url: string; + contents_url: string; + contributors_url: string; created_at: string; - updated_at: string; - description: string; - comments: number; - user: null; - comments_url: string; - owner: GistsForkResponseOwner; - truncated: boolean; - }; - type GistsUnstarResponse = {}; - type GistsStarResponse = {}; - type GistsListCommitsResponseItemChangeStatus = { - deletions: number; - additions: number; - total: number; - }; - type GistsListCommitsResponseItemUser = { - login: 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: MigrationsListReposForUserResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type GistsListCommitsResponseItem = { + notifications_url: string; + open_issues_count: number; + owner: MigrationsListReposForUserResponseItemOwner; + permissions: MigrationsListReposForUserResponseItemPermissions; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; - version: string; - user: GistsListCommitsResponseItemUser; - change_status: GistsListCommitsResponseItemChangeStatus; - committed_at: string; + visibility: string; + watchers_count: number; }; - type GistsUpdateResponseHistoryItemChangeStatus = { - deletions: number; - additions: number; - total: number; + type MigrationsListReposForOrgResponseItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; }; - type GistsUpdateResponseHistoryItemUser = { - login: string; - id: number; - node_id: string; + type MigrationsListReposForOrgResponseItemOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsUpdateResponseHistoryItem = { - url: string; - version: string; - user: GistsUpdateResponseHistoryItemUser; - change_status: GistsUpdateResponseHistoryItemChangeStatus; - committed_at: string; - }; - type GistsUpdateResponseForksItemUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type GistsUpdateResponseForksItem = { - user: GistsUpdateResponseForksItemUser; + type MigrationsListReposForOrgResponseItemLicense = { + key: string; + name: string; + node_id: string; + spdx_id: string; url: string; - id: string; - created_at: string; - updated_at: string; }; - type GistsUpdateResponseOwner = { - login: string; + type MigrationsListReposForOrgResponseItem = { + 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: MigrationsListReposForOrgResponseItemLicense; + merges_url: string; + milestones_url: string; + mirror_url: string; + name: string; + network_count: number; node_id: string; - avatar_url: string; - gravatar_id: string; + notifications_url: string; + open_issues_count: number; + owner: MigrationsListReposForOrgResponseItemOwner; + permissions: MigrationsListReposForOrgResponseItemPermissions; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; - html_url: string; + visibility: string; + watchers_count: number; + }; + 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsUpdateResponseFilesNewFileTxt = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; - }; - type GistsUpdateResponseFilesHelloWorldMd = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; - }; - type GistsUpdateResponseFilesHelloWorldPy = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; - }; - type GistsUpdateResponseFilesHelloWorldRb = { - filename: string; + starred_url: string; + subscriptions_url: string; type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; - }; - type GistsUpdateResponseFiles = { - "hello_world.rb": GistsUpdateResponseFilesHelloWorldRb; - "hello_world.py": GistsUpdateResponseFilesHelloWorldPy; - "hello_world.md": GistsUpdateResponseFilesHelloWorldMd; - "new_file.txt": GistsUpdateResponseFilesNewFileTxt; - }; - type GistsUpdateResponse = { url: string; - forks_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; - id: string; - node_id: string; - git_pull_url: string; - git_push_url: string; - html_url: string; - files: GistsUpdateResponseFiles; - public: boolean; + compare_url: string; + contents_url: string; + contributors_url: string; created_at: string; - updated_at: string; + default_branch: string; + deployments_url: string; description: string; - comments: number; - user: null; - comments_url: string; - owner: GistsUpdateResponseOwner; - truncated: boolean; - forks: Array; - history: Array; - }; - type GistsCreateResponseHistoryItemChangeStatus = { - deletions: number; - additions: number; - total: number; - }; - type GistsCreateResponseHistoryItemUser = { - login: 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; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type GistsCreateResponseHistoryItem = { + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; - version: string; - user: GistsCreateResponseHistoryItemUser; - change_status: GistsCreateResponseHistoryItemChangeStatus; - committed_at: string; + visibility: string; + watchers_count: number; }; - type GistsCreateResponseForksItemUser = { - login: string; + 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; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; + public_members_url: string; repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; - }; - type GistsCreateResponseForksItem = { - user: GistsCreateResponseForksItemUser; url: string; - id: 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 GistsCreateResponseOwner = { - login: string; - id: number; - node_id: string; + type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsCreateResponseFilesHelloWorldPythonTxt = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; - }; - type GistsCreateResponseFilesHelloWorldRubyTxt = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; - }; - type GistsCreateResponseFilesHelloWorldPy = { - filename: string; + starred_url: string; + subscriptions_url: string; type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; + url: string; }; - type GistsCreateResponseFilesHelloWorldRb = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; - }; - type GistsCreateResponseFiles = { - "hello_world.rb": GistsCreateResponseFilesHelloWorldRb; - "hello_world.py": GistsCreateResponseFilesHelloWorldPy; - "hello_world_ruby.txt": GistsCreateResponseFilesHelloWorldRubyTxt; - "hello_world_python.txt": GistsCreateResponseFilesHelloWorldPythonTxt; - }; - type GistsCreateResponse = { - url: string; - forks_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; - id: string; - node_id: string; - git_pull_url: string; - git_push_url: string; - html_url: string; - files: GistsCreateResponseFiles; - public: boolean; + compare_url: string; + contents_url: string; + contributors_url: string; created_at: string; - updated_at: string; + default_branch: string; + deployments_url: string; description: string; - comments: number; - user: null; - comments_url: string; - owner: GistsCreateResponseOwner; - truncated: boolean; - forks: Array; - history: Array; - }; - type GistsGetRevisionResponseHistoryItemChangeStatus = { - deletions: number; - additions: number; - total: number; - }; - type GistsGetRevisionResponseHistoryItemUser = { - login: 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; - avatar_url: string; - gravatar_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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; - html_url: string; + visibility: string; + watchers_count: number; + }; + type MigrationsListForAuthenticatedUserResponseItemOwner = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsGetRevisionResponseHistoryItem = { - url: string; - version: string; - user: GistsGetRevisionResponseHistoryItemUser; - change_status: GistsGetRevisionResponseHistoryItemChangeStatus; - committed_at: string; - }; - type GistsGetRevisionResponseForksItemUser = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; - }; - type GistsGetRevisionResponseForksItem = { - user: GistsGetRevisionResponseForksItemUser; url: string; - id: 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 GistsGetRevisionResponseOwner = { - login: string; - id: number; - node_id: string; + type MigrationsGetStatusForOrgResponseRepositoriesItemPermissions = { + admin: boolean; + pull: boolean; + push: boolean; + }; + type MigrationsGetStatusForOrgResponseRepositoriesItemOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsGetRevisionResponseFilesHelloWorldPythonTxt = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; - }; - type GistsGetRevisionResponseFilesHelloWorldRubyTxt = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; - }; - type GistsGetRevisionResponseFilesHelloWorldPy = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; - }; - type GistsGetRevisionResponseFilesHelloWorldRb = { - filename: string; + starred_url: string; + subscriptions_url: string; type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; - }; - type GistsGetRevisionResponseFiles = { - "hello_world.rb": GistsGetRevisionResponseFilesHelloWorldRb; - "hello_world.py": GistsGetRevisionResponseFilesHelloWorldPy; - "hello_world_ruby.txt": GistsGetRevisionResponseFilesHelloWorldRubyTxt; - "hello_world_python.txt": GistsGetRevisionResponseFilesHelloWorldPythonTxt; - }; - type GistsGetRevisionResponse = { url: string; - forks_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; - id: string; - node_id: string; - git_pull_url: string; - git_push_url: string; - html_url: string; - files: GistsGetRevisionResponseFiles; - public: boolean; + compare_url: string; + contents_url: string; + contributors_url: string; created_at: string; - updated_at: string; + default_branch: string; + deployments_url: string; description: string; - comments: number; - user: null; - comments_url: string; - owner: GistsGetRevisionResponseOwner; - truncated: boolean; - forks: Array; - history: Array; - }; - type GistsGetResponseHistoryItemChangeStatus = { - deletions: number; - additions: number; - total: number; - }; - type GistsGetResponseHistoryItemUser = { - login: 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; - avatar_url: string; - gravatar_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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; - type: string; - site_admin: boolean; + visibility: string; + watchers_count: number; }; - type GistsGetResponseHistoryItem = { + 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; - version: string; - user: GistsGetResponseHistoryItemUser; - change_status: GistsGetResponseHistoryItemChangeStatus; - committed_at: string; }; - type GistsGetResponseForksItemUser = { - login: string; + type MigrationsGetStatusForOrgResponse = { + created_at: string; + exclude_attachments: boolean; + guid: string; id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; + lock_repositories: boolean; + owner: MigrationsGetStatusForOrgResponseOwner; + repositories: Array; + state: string; + updated_at: string; url: string; - html_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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsGetResponseForksItem = { - user: GistsGetResponseForksItemUser; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - id: string; - created_at: string; - updated_at: string; }; - type GistsGetResponseOwner = { - login: 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; - avatar_url: string; - gravatar_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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; url: string; - html_url: string; + visibility: string; + watchers_count: number; + }; + type MigrationsGetStatusForAuthenticatedUserResponseOwner = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type GistsGetResponseFilesHelloWorldPythonTxt = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: 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 GistsGetResponseFilesHelloWorldRubyTxt = { - filename: string; - type: string; - language: string; - raw_url: string; + type MigrationsGetLargeFilesResponseItem = { + oid: string; + path: string; + ref_name: string; size: number; - truncated: boolean; - content: string; }; - type GistsGetResponseFilesHelloWorldPy = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; + 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 GistsGetResponseFilesHelloWorldRb = { - filename: string; - type: string; - language: string; - raw_url: string; - size: number; - truncated: boolean; - content: string; + type MigrationsGetCommitAuthorsResponseItem = { + email: string; + id: number; + import_url: string; + name: string; + remote_id: string; + remote_name: string; + url: string; }; - type GistsGetResponseFiles = { - "hello_world.rb": GistsGetResponseFilesHelloWorldRb; - "hello_world.py": GistsGetResponseFilesHelloWorldPy; - "hello_world_ruby.txt": GistsGetResponseFilesHelloWorldRubyTxt; - "hello_world_python.txt": GistsGetResponseFilesHelloWorldPythonTxt; + type MetaGetResponseSshKeyFingerprints = { + MD5_DSA: string; + MD5_RSA: string; + SHA256_DSA: string; + SHA256_RSA: string; }; - type GistsGetResponse = { + type MetaGetResponse = { + api: Array; + git: Array; + hooks: Array; + importer: Array; + pages: Array; + ssh_key_fingerprints: MetaGetResponseSshKeyFingerprints; + verifiable_password_authentication: boolean; + web: Array; + }; + type LicensesListCommonlyUsedResponseItem = { + key: string; + name: string; + node_id?: string; + spdx_id: string; url: string; - forks_url: string; - commits_url: string; - id: string; + }; + type LicensesListResponseItem = { + key: string; + name: string; + node_id?: string; + spdx_id: string; + url: string; + }; + type LicensesGetForRepoResponseLicense = { + key: string; + name: string; node_id: string; - git_pull_url: string; - git_push_url: 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; - files: GistsGetResponseFiles; - public: boolean; - created_at: string; - updated_at: string; - description: string; - comments: number; - user: null; - comments_url: string; - owner: GistsGetResponseOwner; - truncated: boolean; - forks: Array; - history: Array; + license: LicensesGetForRepoResponseLicense; + name: string; + path: string; + sha: string; + size: number; + type: string; + url: string; }; - type GistsListStarredResponseItemOwner = { - login: string; - id: number; + type LicensesGetResponse = { + body: string; + conditions: Array; + description: string; + featured: boolean; + html_url: string; + implementation: string; + key: string; + limitations: Array; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; + permissions: Array; + spdx_id: string; url: string; - html_url: string; + }; + type IssuesUpdateMilestoneResponseCreator = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsListStarredResponseItemFilesHelloWorldRb = { - filename: string; + starred_url: string; + subscriptions_url: string; type: string; - language: string; - raw_url: string; - size: number; - }; - type GistsListStarredResponseItemFiles = { - "hello_world.rb": GistsListStarredResponseItemFilesHelloWorldRb; - }; - type GistsListStarredResponseItem = { url: string; - forks_url: string; - commits_url: string; - id: string; - node_id: string; - git_pull_url: string; - git_push_url: string; - html_url: string; - files: GistsListStarredResponseItemFiles; - public: boolean; + }; + type IssuesUpdateMilestoneResponse = { + closed_at: string; + closed_issues: number; created_at: string; - updated_at: string; + creator: IssuesUpdateMilestoneResponseCreator; description: string; - comments: number; - user: null; - comments_url: string; - owner: GistsListStarredResponseItemOwner; - truncated: boolean; + 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 GistsListPublicResponseItemOwner = { - login: string; + type IssuesUpdateLabelResponse = { + color: string; + default: boolean; + description: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; + }; + type IssuesUpdateCommentResponseUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsListPublicResponseItemFilesHelloWorldRb = { - filename: string; + starred_url: string; + subscriptions_url: string; type: string; - language: string; - raw_url: string; - size: number; - }; - type GistsListPublicResponseItemFiles = { - "hello_world.rb": GistsListPublicResponseItemFilesHelloWorldRb; - }; - type GistsListPublicResponseItem = { url: string; - forks_url: string; - commits_url: string; - id: string; - node_id: string; - git_pull_url: string; - git_push_url: string; - html_url: string; - files: GistsListPublicResponseItemFiles; - public: boolean; - created_at: string; - updated_at: string; - description: string; - comments: number; - user: null; - comments_url: string; - owner: GistsListPublicResponseItemOwner; - truncated: boolean; }; - type GistsListResponseItemOwner = { - login: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsListResponseItemFilesHelloWorldRb = { - filename: string; + starred_url: string; + subscriptions_url: string; type: string; - language: string; - raw_url: string; - size: number; - }; - type GistsListResponseItemFiles = { - "hello_world.rb": GistsListResponseItemFilesHelloWorldRb; - }; - type GistsListResponseItem = { url: string; - forks_url: string; - commits_url: string; - id: string; - node_id: string; - git_pull_url: string; - git_push_url: string; - html_url: string; - files: GistsListResponseItemFiles; - public: boolean; + }; + type IssuesUpdateResponseMilestone = { + closed_at: string; + closed_issues: number; created_at: string; - updated_at: string; + creator: IssuesUpdateResponseMilestoneCreator; description: string; - comments: number; - user: null; - comments_url: string; - owner: GistsListResponseItemOwner; - truncated: boolean; + 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 GistsListPublicForUserResponseItemOwner = { - login: string; + type IssuesUpdateResponseLabelsItem = { + color: string; + default: boolean; + description: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_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; - type: string; + repos_url: string; site_admin: boolean; - }; - type GistsListPublicForUserResponseItemFilesHelloWorldRb = { - filename: string; + starred_url: string; + subscriptions_url: string; type: string; - language: string; - raw_url: string; - size: number; - }; - type GistsListPublicForUserResponseItemFiles = { - "hello_world.rb": GistsListPublicForUserResponseItemFilesHelloWorldRb; - }; - type GistsListPublicForUserResponseItem = { url: string; - forks_url: string; - commits_url: string; - id: string; - node_id: string; - git_pull_url: string; - git_push_url: string; - html_url: string; - files: GistsListPublicForUserResponseItemFiles; - public: boolean; - created_at: string; - updated_at: string; - description: string; + }; + type IssuesUpdateResponse = { + active_lock_reason: string; + assignee: IssuesUpdateResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + closed_by: IssuesUpdateResponseClosedBy; comments: number; - user: null; comments_url: string; - owner: GistsListPublicForUserResponseItemOwner; - truncated: boolean; - }; - type EmojisGetResponse = {}; - type CodesOfConductGetForRepoResponse = { - key: string; - name: 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; - body: string; + user: IssuesUpdateResponseUser; }; - type CodesOfConductGetConductCodeResponse = { - key: string; + type IssuesReplaceLabelsResponseItem = { + color: string; + default: boolean; + description: string; + id: number; name: string; + node_id: string; url: string; - body: string; }; - type CodesOfConductListConductCodesResponseItem = { - key: string; + type IssuesRemoveLabelResponseItem = { + color: string; + default: boolean; + description: string; + id: number; name: string; + node_id: string; url: string; }; - type ChecksRerequestSuiteResponse = {}; - type ChecksCreateSuiteResponseRepositoryPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type ChecksCreateSuiteResponseRepositoryOwner = { - login: string; - id: number; - node_id: string; + type IssuesRemoveAssigneesResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; 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; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ChecksCreateSuiteResponseRepository = { + 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; - full_name: string; - owner: ChecksCreateSuiteResponseRepositoryOwner; - private: boolean; + 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; - description: string; - fork: boolean; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_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; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; + created_at: string; events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; + html_url: string; + id: number; + labels: Array; labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + locked: boolean; + milestone: IssuesRemoveAssigneesResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesRemoveAssigneesResponsePullRequest; + repository_url: string; + state: string; + title: string; updated_at: string; - permissions: ChecksCreateSuiteResponseRepositoryPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + user: IssuesRemoveAssigneesResponseUser; }; - type ChecksCreateSuiteResponseAppOwner = { - login: string; + 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; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ChecksCreateSuiteResponseApp = { - id: number; - node_id: string; - owner: ChecksCreateSuiteResponseAppOwner; - name: string; + type IssuesListMilestonesForRepoResponseItem = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListMilestonesForRepoResponseItemCreator; description: string; - external_url: string; + due_on: string; html_url: string; - created_at: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; updated_at: string; + url: string; }; - type ChecksCreateSuiteResponse = { + type IssuesListLabelsOnIssueResponseItem = { + color: string; + default: boolean; + description: string; id: number; + name: string; node_id: string; - head_branch: string; - head_sha: string; - status: string; - conclusion: string; url: string; - before: string; - after: string; - pull_requests: Array; - app: ChecksCreateSuiteResponseApp; - repository: ChecksCreateSuiteResponseRepository; }; - type ChecksSetSuitesPreferencesResponseRepositoryPermissions = { - admin: boolean; - push: boolean; - pull: boolean; + type IssuesListLabelsForRepoResponseItem = { + color: string; + default: boolean; + description: string; + id: number; + name: string; + node_id: string; + url: string; }; - type ChecksSetSuitesPreferencesResponseRepositoryOwner = { - login: 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; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ChecksSetSuitesPreferencesResponseRepository = { + 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; - name: string; - full_name: string; - owner: ChecksSetSuitesPreferencesResponseRepositoryOwner; - private: boolean; + 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; - description: string; - fork: boolean; + id: number; + login: string; + node_id: string; + 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: ChecksSetSuitesPreferencesResponseRepositoryPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + visibility: 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; - push: boolean; - pull: boolean; + type IssuesListForOrgResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; }; - type ChecksListSuitesForRefResponseCheckSuitesItemRepositoryOwner = { - login: string; - id: number; - node_id: string; + type IssuesListForOrgResponseItemMilestoneCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ChecksListSuitesForRefResponseCheckSuitesItemRepository = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ChecksListSuitesForRefResponseCheckSuitesItemRepositoryOwner; - private: boolean; - html_url: string; + type IssuesListForOrgResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListForOrgResponseItemMilestoneCreator; description: string; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; + due_on: string; + html_url: string; + id: number; labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; updated_at: string; - permissions: ChecksListSuitesForRefResponseCheckSuitesItemRepositoryPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; }; - type ChecksListSuitesForRefResponseCheckSuitesItemAppOwner = { - login: string; + type IssuesListForOrgResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; id: number; + name: string; node_id: string; url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; }; - type ChecksListSuitesForRefResponseCheckSuitesItemApp = { + 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; - owner: ChecksListSuitesForRefResponseCheckSuitesItemAppOwner; - name: string; - description: string; - external_url: string; + 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 ChecksListSuitesForRefResponseCheckSuitesItem = { + 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; - head_branch: string; - head_sha: string; - status: string; - conclusion: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - before: string; - after: string; - pull_requests: Array; - app: ChecksListSuitesForRefResponseCheckSuitesItemApp; - repository: ChecksListSuitesForRefResponseCheckSuitesItemRepository; - }; - type ChecksListSuitesForRefResponse = { - total_count: number; - check_suites: Array; }; - type ChecksGetSuiteResponseRepositoryPermissions = { + type IssuesListForAuthenticatedUserResponseItemRepositoryPermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type ChecksGetSuiteResponseRepositoryOwner = { - login: string; - id: number; - node_id: string; + type IssuesListForAuthenticatedUserResponseItemRepositoryOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ChecksGetSuiteResponseRepository = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ChecksGetSuiteResponseRepositoryOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: ChecksGetSuiteResponseRepositoryPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; + visibility: string; + watchers_count: number; }; - type ChecksGetSuiteResponseAppOwner = { - login: string; - id: number; - node_id: string; + type IssuesListForAuthenticatedUserResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; }; - type ChecksGetSuiteResponseApp = { + 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; - owner: ChecksGetSuiteResponseAppOwner; - name: string; + 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; - external_url: string; + due_on: string; html_url: string; - created_at: string; - updated_at: string; - }; - type ChecksGetSuiteResponse = { id: number; + labels_url: string; node_id: string; - head_branch: string; - head_sha: string; - status: string; - conclusion: string; - url: string; - before: string; - after: string; - pull_requests: Array; - app: ChecksGetSuiteResponseApp; - repository: ChecksGetSuiteResponseRepository; - }; - type ChecksListAnnotationsResponseItem = { - path: string; - start_line: number; - end_line: number; - start_column: number; - end_column: number; - annotation_level: string; + number: number; + open_issues: number; + state: string; title: string; - message: string; - raw_details: string; - }; - type ChecksGetResponsePullRequestsItemBaseRepo = { - id: number; + updated_at: string; url: string; - name: string; - }; - type ChecksGetResponsePullRequestsItemBase = { - ref: string; - sha: string; - repo: ChecksGetResponsePullRequestsItemBaseRepo; }; - type ChecksGetResponsePullRequestsItemHeadRepo = { + type IssuesListForAuthenticatedUserResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; id: number; - url: string; name: string; - }; - type ChecksGetResponsePullRequestsItemHead = { - ref: string; - sha: string; - repo: ChecksGetResponsePullRequestsItemHeadRepo; - }; - type ChecksGetResponsePullRequestsItem = { + node_id: string; url: string; - id: number; - number: number; - head: ChecksGetResponsePullRequestsItemHead; - base: ChecksGetResponsePullRequestsItemBase; }; - type ChecksGetResponseAppOwner = { - login: 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; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ChecksGetResponseApp = { - id: number; - node_id: string; - owner: ChecksGetResponseAppOwner; - name: string; - description: string; - external_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; - created_at: string; - updated_at: string; - }; - type ChecksGetResponseCheckSuite = { id: number }; - type ChecksGetResponseOutput = { - title: string; - summary: string; - text: string; - annotations_count: number; - annotations_url: string; - }; - type ChecksGetResponse = { id: number; - head_sha: string; + login: string; node_id: string; - external_id: string; - url: string; - html_url: string; - details_url: string; - status: string; - conclusion: string; - started_at: string; - completed_at: string; - output: ChecksGetResponseOutput; - name: string; - check_suite: ChecksGetResponseCheckSuite; - app: ChecksGetResponseApp; - pull_requests: Array; - }; - type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBaseRepo = { - id: number; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - name: string; - }; - type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBase = { - ref: string; - sha: string; - repo: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBaseRepo; }; - type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHeadRepo = { + 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; - name: string; - }; - type ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHead = { - ref: string; - sha: string; - repo: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHeadRepo; + user: IssuesListForAuthenticatedUserResponseItemUser; }; - type ChecksListForSuiteResponseCheckRunsItemPullRequestsItem = { - url: string; + 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; - number: number; - head: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemHead; - base: ChecksListForSuiteResponseCheckRunsItemPullRequestsItemBase; - }; - type ChecksListForSuiteResponseCheckRunsItemAppOwner = { login: string; - id: number; node_id: string; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ChecksListForSuiteResponseCheckRunsItemApp = { - id: number; - node_id: string; - owner: ChecksListForSuiteResponseCheckRunsItemAppOwner; - name: string; - description: string; - external_url: string; - html_url: string; + type IssuesListEventsForTimelineResponseItem = { + actor: IssuesListEventsForTimelineResponseItemActor; + commit_id: string; + commit_url: string; created_at: string; - updated_at: string; - }; - type ChecksListForSuiteResponseCheckRunsItemCheckSuite = { id: number }; - type ChecksListForSuiteResponseCheckRunsItemOutput = { - title: string; - summary: string; - text: string; - annotations_count: number; - annotations_url: string; - }; - type ChecksListForSuiteResponseCheckRunsItem = { + event: string; id: number; - head_sha: string; node_id: string; - external_id: string; url: string; - html_url: string; - details_url: string; - status: string; - conclusion: string; - started_at: string; - completed_at: string; - output: ChecksListForSuiteResponseCheckRunsItemOutput; - name: string; - check_suite: ChecksListForSuiteResponseCheckRunsItemCheckSuite; - app: ChecksListForSuiteResponseCheckRunsItemApp; - pull_requests: Array< - ChecksListForSuiteResponseCheckRunsItemPullRequestsItem - >; }; - type ChecksListForSuiteResponse = { - total_count: number; - check_runs: Array; - }; - type ChecksListForRefResponseCheckRunsItemPullRequestsItemBaseRepo = { + 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; - name: string; - }; - type ChecksListForRefResponseCheckRunsItemPullRequestsItemBase = { - ref: string; - sha: string; - repo: ChecksListForRefResponseCheckRunsItemPullRequestsItemBaseRepo; }; - type ChecksListForRefResponseCheckRunsItemPullRequestsItemHeadRepo = { - id: number; + type IssuesListEventsForRepoResponseItemIssuePullRequest = { + diff_url: string; + html_url: string; + patch_url: string; url: string; - name: string; - }; - type ChecksListForRefResponseCheckRunsItemPullRequestsItemHead = { - ref: string; - sha: string; - repo: ChecksListForRefResponseCheckRunsItemPullRequestsItemHeadRepo; }; - type ChecksListForRefResponseCheckRunsItemPullRequestsItem = { - 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; - number: number; - head: ChecksListForRefResponseCheckRunsItemPullRequestsItemHead; - base: ChecksListForRefResponseCheckRunsItemPullRequestsItemBase; - }; - type ChecksListForRefResponseCheckRunsItemAppOwner = { login: string; - id: number; node_id: string; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ChecksListForRefResponseCheckRunsItemApp = { - id: number; - node_id: string; - owner: ChecksListForRefResponseCheckRunsItemAppOwner; - name: string; + type IssuesListEventsForRepoResponseItemIssueMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListEventsForRepoResponseItemIssueMilestoneCreator; description: string; - external_url: string; + due_on: string; html_url: string; - created_at: string; - updated_at: string; - }; - type ChecksListForRefResponseCheckRunsItemCheckSuite = { id: number }; - type ChecksListForRefResponseCheckRunsItemOutput = { - title: string; - summary: string; - text: string; - annotations_count: number; - annotations_url: string; - }; - type ChecksListForRefResponseCheckRunsItem = { id: number; - head_sha: string; + labels_url: string; node_id: string; - external_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; url: string; - html_url: string; - details_url: string; - status: string; - conclusion: string; - started_at: string; - completed_at: string; - output: ChecksListForRefResponseCheckRunsItemOutput; - name: string; - check_suite: ChecksListForRefResponseCheckRunsItemCheckSuite; - app: ChecksListForRefResponseCheckRunsItemApp; - pull_requests: Array; - }; - type ChecksListForRefResponse = { - total_count: number; - check_runs: Array; }; - type ChecksUpdateResponsePullRequestsItemBaseRepo = { + type IssuesListEventsForRepoResponseItemIssueLabelsItem = { + color: string; + default: boolean; + description: string; id: number; - url: string; name: string; + node_id: string; + url: string; }; - type ChecksUpdateResponsePullRequestsItemBase = { - ref: string; - sha: string; - repo: ChecksUpdateResponsePullRequestsItemBaseRepo; - }; - type ChecksUpdateResponsePullRequestsItemHeadRepo = { + 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; - name: string; - }; - type ChecksUpdateResponsePullRequestsItemHead = { - ref: string; - sha: string; - repo: ChecksUpdateResponsePullRequestsItemHeadRepo; }; - type ChecksUpdateResponsePullRequestsItem = { - 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; - number: number; - head: ChecksUpdateResponsePullRequestsItemHead; - base: ChecksUpdateResponsePullRequestsItemBase; - }; - type ChecksUpdateResponseAppOwner = { login: string; - id: number; node_id: string; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ChecksUpdateResponseApp = { + 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; - owner: ChecksUpdateResponseAppOwner; - name: string; - description: string; - external_url: string; - html_url: string; - created_at: string; - updated_at: string; - }; - type ChecksUpdateResponseCheckSuite = { id: number }; - type ChecksUpdateResponseOutput = { + number: number; + pull_request: IssuesListEventsForRepoResponseItemIssuePullRequest; + repository_url: string; + state: string; title: string; - summary: string; - text: string; - annotations_count: number; - annotations_url: string; + updated_at: string; + url: string; + user: IssuesListEventsForRepoResponseItemIssueUser; }; - type ChecksUpdateResponse = { + 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; - head_sha: string; + login: string; node_id: string; - external_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - details_url: string; - status: string; - conclusion: string; - started_at: string; - completed_at: string; - output: ChecksUpdateResponseOutput; - name: string; - check_suite: ChecksUpdateResponseCheckSuite; - app: ChecksUpdateResponseApp; - pull_requests: Array; }; - type ChecksCreateResponsePullRequestsItemBaseRepo = { + type IssuesListEventsForRepoResponseItem = { + actor: IssuesListEventsForRepoResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; id: number; + issue: IssuesListEventsForRepoResponseItemIssue; + node_id: string; url: string; - name: string; - }; - type ChecksCreateResponsePullRequestsItemBase = { - ref: string; - sha: string; - repo: ChecksCreateResponsePullRequestsItemBaseRepo; }; - type ChecksCreateResponsePullRequestsItemHeadRepo = { + 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; - name: string; - }; - type ChecksCreateResponsePullRequestsItemHead = { - ref: string; - sha: string; - repo: ChecksCreateResponsePullRequestsItemHeadRepo; }; - type ChecksCreateResponsePullRequestsItem = { - url: string; + type IssuesListEventsResponseItem = { + actor: IssuesListEventsResponseItemActor; + commit_id: string; + commit_url: string; + created_at: string; + event: string; id: number; - number: number; - head: ChecksCreateResponsePullRequestsItemHead; - base: ChecksCreateResponsePullRequestsItemBase; + node_id: string; + url: string; }; - type ChecksCreateResponseAppOwner = { - login: 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; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ChecksCreateResponseApp = { + type IssuesListCommentsForRepoResponseItem = { + body: string; + created_at: string; + html_url: string; id: number; node_id: string; - owner: ChecksCreateResponseAppOwner; - name: string; - description: string; - external_url: string; - html_url: string; - created_at: string; updated_at: string; + url: string; + user: IssuesListCommentsForRepoResponseItemUser; }; - type ChecksCreateResponseCheckSuite = { id: number }; - type ChecksCreateResponseOutput = { - title: string; - summary: string; - text: string; - }; - type ChecksCreateResponse = { + 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; - head_sha: string; + login: string; node_id: string; - external_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - html_url: string; - details_url: string; - status: string; - conclusion: null; - started_at: string; - completed_at: null; - output: ChecksCreateResponseOutput; - name: string; - check_suite: ChecksCreateResponseCheckSuite; - app: ChecksCreateResponseApp; - pull_requests: Array; }; - type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemPlan = { - url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - unit_name: null; - state: string; - bullets: Array; - }; - type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemAccount = { - login: string; - id: number; - url: string; - email: null; - organization_billing_email: string; - type: string; - }; - type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItem = { - billing_cycle: string; - next_billing_date: string; - unit_count: null; - on_free_trial: boolean; - free_trial_ends_on: string; - updated_at: string; - account: AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemAccount; - plan: AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItemPlan; - }; - type AppsListMarketplacePurchasesForAuthenticatedUserResponseItemPlan = { - url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - unit_name: null; - state: string; - bullets: Array; - }; - type AppsListMarketplacePurchasesForAuthenticatedUserResponseItemAccount = { - login: string; - id: number; - url: string; - email: null; - organization_billing_email: string; - type: string; - }; - type AppsListMarketplacePurchasesForAuthenticatedUserResponseItem = { - billing_cycle: string; - next_billing_date: string; - unit_count: null; - on_free_trial: boolean; - free_trial_ends_on: string; - updated_at: string; - account: AppsListMarketplacePurchasesForAuthenticatedUserResponseItemAccount; - plan: AppsListMarketplacePurchasesForAuthenticatedUserResponseItemPlan; - }; - type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchasePlan = { - url: string; - accounts_url: string; + type IssuesListCommentsResponseItem = { + body: string; + created_at: string; + html_url: string; id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - unit_name: null; - state: string; - bullets: Array; - }; - type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchase = { - billing_cycle: string; - next_billing_date: string; - unit_count: null; - on_free_trial: boolean; - free_trial_ends_on: string; + node_id: string; updated_at: string; - plan: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchasePlan; - }; - type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChangePlan = { url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - state: string; - unit_name: null; - bullets: Array; - }; - type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChange = { - effective_date: string; - unit_count: null; - id: number; - plan: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChangePlan; + user: IssuesListCommentsResponseItemUser; }; - type AppsCheckAccountIsAssociatedWithAnyStubbedResponse = { - url: string; - type: string; + 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; - email: null; - organization_billing_email: string; - marketplace_pending_change: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePendingChange; - marketplace_purchase: AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchase; - }; - type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchasePlan = { - url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - unit_name: null; - state: string; - bullets: Array; - }; - type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchase = { - billing_cycle: string; - next_billing_date: string; - unit_count: null; - on_free_trial: boolean; - free_trial_ends_on: string; - updated_at: string; - plan: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchasePlan; - }; - type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChangePlan = { - url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - state: string; - unit_name: null; - bullets: Array; - }; - type AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChange = { - effective_date: string; - unit_count: null; - id: number; - plan: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChangePlan; - }; - type AppsCheckAccountIsAssociatedWithAnyResponse = { - url: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; type: string; - id: number; - login: string; - email: null; - organization_billing_email: string; - marketplace_pending_change: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePendingChange; - marketplace_purchase: AppsCheckAccountIsAssociatedWithAnyResponseMarketplacePurchase; - }; - type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchasePlan = { - url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - unit_name: null; - state: string; - bullets: Array; - }; - type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchase = { - billing_cycle: string; - next_billing_date: string; - unit_count: null; - on_free_trial: boolean; - free_trial_ends_on: string; - updated_at: string; - plan: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchasePlan; - }; - type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChangePlan = { url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - state: string; - unit_name: null; - bullets: Array; - }; - type AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChange = { - effective_date: string; - unit_count: null; - id: number; - plan: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChangePlan; }; - type AppsListAccountsUserOrOrgOnPlanStubbedResponseItem = { - url: string; - type: 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; - email: null; - organization_billing_email: string; - marketplace_pending_change: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePendingChange; - marketplace_purchase: AppsListAccountsUserOrOrgOnPlanStubbedResponseItemMarketplacePurchase; - }; - type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchasePlan = { - url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - unit_name: null; - state: string; - bullets: Array; - }; - type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchase = { - billing_cycle: string; - next_billing_date: string; - unit_count: null; - on_free_trial: boolean; - free_trial_ends_on: string; - updated_at: string; - plan: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchasePlan; - }; - type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChangePlan = { - url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - state: string; - unit_name: null; - bullets: Array; - }; - type AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChange = { - effective_date: string; - unit_count: null; - id: number; - plan: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChangePlan; - }; - type AppsListAccountsUserOrOrgOnPlanResponseItem = { - url: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; type: string; - id: number; - login: string; - email: null; - organization_billing_email: string; - marketplace_pending_change: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePendingChange; - marketplace_purchase: AppsListAccountsUserOrOrgOnPlanResponseItemMarketplacePurchase; - }; - type AppsListPlansStubbedResponseItem = { - url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - unit_name: null; - state: string; - bullets: Array; - }; - type AppsListPlansResponseItem = { url: string; - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - price_model: string; - has_free_trial: boolean; - unit_name: null; - state: string; - bullets: Array; - }; - type AppsCreateContentAttachmentResponse = { - id: number; - title: string; - body: string; }; - type AppsRemoveRepoFromInstallationResponse = {}; - type AppsAddRepoToInstallationResponse = {}; - type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemPermissions = { + type IssuesListResponseItemRepositoryPermissions = { admin: boolean; - push: boolean; pull: boolean; + push: boolean; }; - type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemOwner = { - login: string; - id: number; - node_id: string; + type IssuesListResponseItemRepositoryOwner = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItem = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemOwner; - private: boolean; - html_url: string; - description: string; - fork: 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; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; + temp_clone_token: string; + template_repository: null; topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + trees_url: string; updated_at: string; - permissions: AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItemPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type AppsListInstallationReposForAuthenticatedUserResponse = { - total_count: number; - repositories: Array< - AppsListInstallationReposForAuthenticatedUserResponseRepositoriesItem - >; + url: string; + visibility: string; + watchers_count: number; }; - type AppsListInstallationsForAuthenticatedUserResponseInstallationsItemPermissions = { - metadata: string; - contents: string; - issues: string; - single_file: string; + type IssuesListResponseItemPullRequest = { + diff_url: string; + html_url: string; + patch_url: string; + url: string; }; - type AppsListInstallationsForAuthenticatedUserResponseInstallationsItemAccount = { - login: 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; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url?: string; - issues_url?: string; - members_url?: string; - public_members_url?: string; - avatar_url: string; - description?: string; - gravatar_id?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsListInstallationsForAuthenticatedUserResponseInstallationsItem = { + type IssuesListResponseItemMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesListResponseItemMilestoneCreator; + description: string; + due_on: string; + html_url: string; id: number; - account: AppsListInstallationsForAuthenticatedUserResponseInstallationsItemAccount; - access_tokens_url: string; - repositories_url: string; - html_url: string; - app_id: number; - target_id: number; - target_type: string; - permissions: AppsListInstallationsForAuthenticatedUserResponseInstallationsItemPermissions; - events: Array; - single_file_name: string; - }; - type AppsListInstallationsForAuthenticatedUserResponse = { - total_count: number; - installations: Array< - AppsListInstallationsForAuthenticatedUserResponseInstallationsItem - >; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; + url: string; }; - type AppsListReposResponseRepositoriesItemOwner = { - login: string; + type IssuesListResponseItemLabelsItem = { + color: string; + default: boolean; + description: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; + }; + type IssuesListResponseItemAssigneesItem = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsListReposResponseRepositoriesItem = { + 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; - name: string; - full_name: string; - owner: AppsListReposResponseRepositoriesItemOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; + }; + type IssuesListResponseItem = { + active_lock_reason: string; + assignee: IssuesListResponseItemAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; + created_at: string; events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; + html_url: string; + id: number; + labels: Array; labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: 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; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type AppsListReposResponse = { - total_count: number; - repositories: Array; + url: string; + user: IssuesListResponseItemUser; }; - type AppsCreateFromManifestResponseOwner = { - login: string; - id: number; - node_id: string; + type IssuesGetMilestoneResponseCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsCreateFromManifestResponse = { + 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; - owner: AppsCreateFromManifestResponseOwner; - name: string; - description: null; - external_url: string; - html_url: string; - created_at: string; + number: number; + open_issues: number; + state: string; + title: string; updated_at: string; - client_id: string; - client_secret: string; - webhook_secret: string; - pem: string; - }; - type AppsFindUserInstallationResponsePermissions = { - checks: string; - metadata: string; - contents: string; + url: string; }; - type AppsFindUserInstallationResponseAccount = { - login: 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; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsFindUserInstallationResponse = { - id: number; - account: AppsFindUserInstallationResponseAccount; - repository_selection: string; - access_tokens_url: string; - repositories_url: string; - html_url: string; - app_id: number; - target_id: number; - target_type: string; - permissions: AppsFindUserInstallationResponsePermissions; - events: Array; + 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; - single_file_name: null; - }; - type AppsGetUserInstallationResponsePermissions = { - checks: string; - metadata: string; - contents: string; + url: string; }; - type AppsGetUserInstallationResponseAccount = { - login: string; + type IssuesGetEventResponseIssueLabelsItem = { + color: string; + default: boolean; + description: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; + }; + type IssuesGetEventResponseIssueAssigneesItem = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; 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; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsGetUserInstallationResponse = { - id: number; - account: AppsGetUserInstallationResponseAccount; - repository_selection: string; - access_tokens_url: string; - repositories_url: string; - html_url: string; - app_id: number; - target_id: number; - target_type: string; - permissions: AppsGetUserInstallationResponsePermissions; - events: Array; + 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; - single_file_name: null; - }; - type AppsFindRepoInstallationResponsePermissions = { - checks: string; - metadata: string; - contents: string; + url: string; + user: IssuesGetEventResponseIssueUser; }; - type AppsFindRepoInstallationResponseAccount = { - login: string; - id: number; + type IssuesGetEventResponseActor = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsFindRepoInstallationResponse = { - id: number; - account: AppsFindRepoInstallationResponseAccount; - repository_selection: string; - access_tokens_url: string; - repositories_url: string; - html_url: string; - app_id: number; - target_id: number; - target_type: string; - permissions: AppsFindRepoInstallationResponsePermissions; - events: Array; + type IssuesGetEventResponse = { + actor: IssuesGetEventResponseActor; + commit_id: string; + commit_url: string; created_at: string; - updated_at: string; - single_file_name: null; - }; - type AppsGetRepoInstallationResponsePermissions = { - checks: string; - metadata: string; - contents: string; - }; - type AppsGetRepoInstallationResponseAccount = { - login: string; + event: string; id: number; - avatar_url: string; - gravatar_id: string; + issue: IssuesGetEventResponseIssue; + node_id: string; url: string; - html_url: string; + }; + type IssuesGetCommentResponseUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsGetRepoInstallationResponse = { - id: number; - account: AppsGetRepoInstallationResponseAccount; - repository_selection: string; - access_tokens_url: string; - repositories_url: string; - html_url: string; - app_id: number; - target_id: number; - target_type: string; - permissions: AppsGetRepoInstallationResponsePermissions; - events: Array; + type IssuesGetCommentResponse = { + body: string; created_at: string; + html_url: string; + id: number; + node_id: string; updated_at: string; - single_file_name: null; - }; - type AppsFindOrgInstallationResponsePermissions = { - checks: string; - metadata: string; - contents: string; + url: string; + user: IssuesGetCommentResponseUser; }; - type AppsFindOrgInstallationResponseAccount = { - login: string; - id: number; + type IssuesGetResponseUser = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsFindOrgInstallationResponse = { - id: number; - account: AppsFindOrgInstallationResponseAccount; - repository_selection: string; - access_tokens_url: string; - repositories_url: string; + type IssuesGetResponsePullRequest = { + diff_url: string; html_url: string; - app_id: number; - target_id: number; - target_type: string; - permissions: AppsFindOrgInstallationResponsePermissions; - events: Array; - created_at: string; - updated_at: string; - single_file_name: null; - }; - type AppsGetOrgInstallationResponsePermissions = { - checks: string; - metadata: string; - contents: string; + patch_url: string; + url: string; }; - type AppsGetOrgInstallationResponseAccount = { - login: string; - id: number; + type IssuesGetResponseMilestoneCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsGetOrgInstallationResponse = { - id: number; - account: AppsGetOrgInstallationResponseAccount; - repository_selection: string; - access_tokens_url: string; - repositories_url: string; - html_url: string; - app_id: number; - target_id: number; - target_type: string; - permissions: AppsGetOrgInstallationResponsePermissions; - events: Array; + 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; - single_file_name: null; - }; - type AppsCreateInstallationTokenResponseRepositoriesItemPermissions = { - admin: boolean; - push: boolean; - pull: boolean; + url: string; }; - type AppsCreateInstallationTokenResponseRepositoriesItemOwner = { - login: string; + type IssuesGetResponseLabelsItem = { + color: string; + default: boolean; + description: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; + }; + type IssuesGetResponseClosedBy = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; 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; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsCreateInstallationTokenResponseRepositoriesItem = { + 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; - name: string; - full_name: string; - owner: AppsCreateInstallationTokenResponseRepositoriesItemOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_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; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; + created_at: string; events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; + html_url: string; + id: number; + labels: Array; labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + locked: boolean; + milestone: IssuesGetResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesGetResponsePullRequest; + repository_url: string; + state: string; + title: string; updated_at: string; - permissions: AppsCreateInstallationTokenResponseRepositoriesItemPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type AppsCreateInstallationTokenResponsePermissions = { - issues: string; - contents: string; - }; - type AppsCreateInstallationTokenResponse = { - token: string; - expires_at: string; - permissions: AppsCreateInstallationTokenResponsePermissions; - repositories: Array; - }; - type AppsDeleteInstallationResponse = {}; - type AppsGetInstallationResponsePermissions = { - metadata: string; - contents: string; - issues: string; - single_file: string; + url: string; + user: IssuesGetResponseUser; }; - type AppsGetInstallationResponseAccount = { - login: string; + 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; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsGetInstallationResponse = { - id: number; - account: AppsGetInstallationResponseAccount; - access_tokens_url: string; - repositories_url: string; + type IssuesCreateMilestoneResponse = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesCreateMilestoneResponseCreator; + description: string; + due_on: string; html_url: string; - app_id: number; - target_id: number; - target_type: string; - permissions: AppsGetInstallationResponsePermissions; - events: Array; - single_file_name: string; - repository_selection: string; - }; - type AppsListInstallationsResponseItemPermissions = { - metadata: string; - contents: string; - issues: string; - single_file: string; - }; - type AppsListInstallationsResponseItemAccount = { - login: string; id: number; + labels_url: string; node_id: string; + number: number; + open_issues: number; + state: string; + title: string; + updated_at: string; url: string; - repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; }; - type AppsListInstallationsResponseItem = { + type IssuesCreateLabelResponse = { + color: string; + default: boolean; + description: string; id: number; - account: AppsListInstallationsResponseItemAccount; - access_tokens_url: string; - repositories_url: string; - html_url: string; - app_id: number; - target_id: number; - target_type: string; - permissions: AppsListInstallationsResponseItemPermissions; - events: Array; - single_file_name: string; - repository_selection: string; + name: string; + node_id: string; + url: string; }; - type AppsGetAuthenticatedResponseOwner = { - login: 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; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsGetAuthenticatedResponse = { + type IssuesCreateCommentResponse = { + body: string; + created_at: string; + html_url: string; id: number; node_id: string; - owner: AppsGetAuthenticatedResponseOwner; - name: string; - description: string; - external_url: string; - html_url: string; - created_at: string; updated_at: string; - installations_count: number; + url: string; + user: IssuesCreateCommentResponseUser; }; - type AppsGetBySlugResponseOwner = { - login: string; + 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; - url: string; + organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type AppsGetBySlugResponse = { + 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; - owner: AppsGetBySlugResponseOwner; - name: string; + 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; - external_url: string; + due_on: string; html_url: string; - created_at: string; + id: number; + labels_url: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; updated_at: string; - }; - type ActivityDeleteRepoSubscriptionResponse = {}; - type ActivitySetRepoSubscriptionResponse = { - subscribed: boolean; - ignored: boolean; - reason: null; - created_at: string; url: string; - repository_url: string; }; - type ActivityListWatchedReposForAuthenticatedUserResponseItemLicense = { - key: string; + type IssuesCreateResponseLabelsItem = { + color: string; + default: boolean; + description: string; + id: number; name: string; - spdx_id: string; - url: string; node_id: string; + url: string; }; - type ActivityListWatchedReposForAuthenticatedUserResponseItemPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type ActivityListWatchedReposForAuthenticatedUserResponseItemOwner = { - login: string; - id: number; - node_id: string; + type IssuesCreateResponseClosedBy = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ActivityListWatchedReposForAuthenticatedUserResponseItem = { + 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; - name: string; - full_name: string; - owner: ActivityListWatchedReposForAuthenticatedUserResponseItemOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: ActivityListWatchedReposForAuthenticatedUserResponseItemPermissions; - template_repository: null; - subscribers_count: number; - network_count: number; - license: ActivityListWatchedReposForAuthenticatedUserResponseItemLicense; - }; - type ActivityListReposWatchedByUserResponseItemLicense = { - key: string; - name: string; - spdx_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - node_id: string; - }; - type ActivityListReposWatchedByUserResponseItemPermissions = { - admin: boolean; - push: boolean; - pull: boolean; }; - type ActivityListReposWatchedByUserResponseItemOwner = { - login: string; - id: number; - node_id: string; + type IssuesCreateResponseAssignee = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ActivityListReposWatchedByUserResponseItem = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ActivityListReposWatchedByUserResponseItemOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_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; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; + created_at: string; events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; + html_url: string; + id: number; + labels: Array; labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + locked: boolean; + milestone: IssuesCreateResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesCreateResponsePullRequest; + repository_url: string; + state: string; + title: string; updated_at: string; - permissions: ActivityListReposWatchedByUserResponseItemPermissions; - template_repository: null; - subscribers_count: number; - network_count: number; - license: ActivityListReposWatchedByUserResponseItemLicense; + url: string; + user: IssuesCreateResponseUser; }; - type ActivityListWatchersForRepoResponseItem = { - login: string; + type IssuesAddLabelsResponseItem = { + color: string; + default: boolean; + description: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; + }; + type IssuesAddAssigneesResponseUser = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ActivityUnstarRepoResponse = {}; - type ActivityStarRepoResponse = {}; - type ActivityListReposStarredByAuthenticatedUserResponseItemPermissions = { - admin: boolean; - push: boolean; - pull: boolean; - }; - type ActivityListReposStarredByAuthenticatedUserResponseItemOwner = { - login: string; - id: number; - node_id: string; - avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; starred_url: string; subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; type: string; - site_admin: boolean; + url: string; }; - type ActivityListReposStarredByAuthenticatedUserResponseItem = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ActivityListReposStarredByAuthenticatedUserResponseItemOwner; - private: boolean; + type IssuesAddAssigneesResponsePullRequest = { + diff_url: string; html_url: string; - description: string; - fork: boolean; + patch_url: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; - updated_at: string; - permissions: ActivityListReposStarredByAuthenticatedUserResponseItemPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; - }; - type ActivityListReposStarredByUserResponseItemPermissions = { - admin: boolean; - push: boolean; - pull: boolean; }; - type ActivityListReposStarredByUserResponseItemOwner = { - login: string; - id: number; - node_id: string; + type IssuesAddAssigneesResponseMilestoneCreator = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ActivityListReposStarredByUserResponseItem = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ActivityListReposStarredByUserResponseItemOwner; - private: boolean; - html_url: string; + type IssuesAddAssigneesResponseMilestone = { + closed_at: string; + closed_issues: number; + created_at: string; + creator: IssuesAddAssigneesResponseMilestoneCreator; description: string; - fork: boolean; - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; + due_on: string; + html_url: string; + id: number; labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - clone_url: string; - mirror_url: string; - hooks_url: string; - svn_url: string; - homepage: string; - language: null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - default_branch: string; - open_issues_count: number; - is_template: boolean; - topics: Array; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - archived: boolean; - disabled: boolean; - pushed_at: string; - created_at: string; + node_id: string; + number: number; + open_issues: number; + state: string; + title: string; updated_at: string; - permissions: ActivityListReposStarredByUserResponseItemPermissions; - allow_rebase_merge: boolean; - template_repository: null; - allow_squash_merge: boolean; - allow_merge_commit: boolean; - subscribers_count: number; - network_count: number; + url: string; }; - type ActivityListStargazersForRepoResponseItem = { - login: string; + type IssuesAddAssigneesResponseLabelsItem = { + color: string; + default: boolean; + description: string; id: number; + name: string; node_id: string; - avatar_url: string; - gravatar_id: string; url: string; - html_url: string; + }; + type IssuesAddAssigneesResponseAssigneesItem = { + avatar_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; - repos_url: string; - events_url: string; received_events_url: string; - type: string; + repos_url: string; site_admin: boolean; - }; - type ActivityDeleteThreadSubscriptionResponse = {}; - type ActivitySetThreadSubscriptionResponse = { - subscribed: boolean; - ignored: boolean; - reason: null; - created_at: string; - url: string; - thread_url: string; - }; - type ActivityGetThreadSubscriptionResponse = { - subscribed: boolean; - ignored: boolean; - reason: null; - created_at: string; - url: string; - thread_url: string; - }; - type ActivityMarkThreadAsReadResponse = {}; - type ActivityGetThreadResponseSubject = { - title: string; - url: string; - latest_comment_url: string; + starred_url: string; + subscriptions_url: string; type: string; + url: string; }; - type ActivityGetThreadResponseRepositoryOwner = { - login: string; - id: number; - node_id: string; + type IssuesAddAssigneesResponseAssignee = { avatar_url: string; - gravatar_id: string; - url: string; - html_url: string; + events_url: string; followers_url: string; following_url: string; gists_url: string; - starred_url: string; - subscriptions_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; organizations_url: string; + received_events_url: string; repos_url: string; - events_url: string; - received_events_url: string; - type: string; site_admin: boolean; - }; - type ActivityGetThreadResponseRepository = { - id: number; - node_id: string; - name: string; - full_name: string; - owner: ActivityGetThreadResponseRepositoryOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; + }; + type IssuesAddAssigneesResponse = { + active_lock_reason: string; + assignee: IssuesAddAssigneesResponseAssignee; + assignees: Array; + body: string; + closed_at: null; + comments: number; comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; + created_at: string; events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; + html_url: string; + id: number; + labels: Array; labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; - }; - type ActivityGetThreadResponse = { - id: string; - repository: ActivityGetThreadResponseRepository; - subject: ActivityGetThreadResponseSubject; - reason: string; - unread: boolean; + locked: boolean; + milestone: IssuesAddAssigneesResponseMilestone; + node_id: string; + number: number; + pull_request: IssuesAddAssigneesResponsePullRequest; + repository_url: string; + state: string; + title: string; updated_at: string; - last_read_at: string; url: string; + user: IssuesAddAssigneesResponseUser; }; - type ActivityMarkNotificationsAsReadForRepoResponse = {}; - type ActivityMarkAsReadResponse = {}; - type ActivityListNotificationsForRepoResponseItemSubject = { - title: string; + 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; - latest_comment_url: string; + }; + type GitListMatchingRefsResponseItemObject = { + sha: string; type: string; + url: string; }; - type ActivityListNotificationsForRepoResponseItemRepositoryOwner = { - login: string; - id: number; + type GitListMatchingRefsResponseItem = { node_id: string; - avatar_url: string; - gravatar_id: string; + object: GitListMatchingRefsResponseItemObject; + ref: string; url: string; - html_url: string; - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - subscriptions_url: string; - organizations_url: string; - repos_url: string; - events_url: string; - received_events_url: string; + }; + type GitGetTreeResponseTreeItem = { + mode: string; + path: string; + sha: string; + size?: number; type: string; - site_admin: boolean; + url: string; }; - type ActivityListNotificationsForRepoResponseItemRepository = { - id: number; + type GitGetTreeResponse = { + sha: string; + tree: Array; + truncated: boolean; + 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; - name: string; - full_name: string; - owner: ActivityListNotificationsForRepoResponseItemRepositoryOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + object: GitGetTagResponseObject; + sha: string; + tag: string; + tagger: GitGetTagResponseTagger; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; + verification: GitGetTagResponseVerification; }; - type ActivityListNotificationsForRepoResponseItem = { - id: string; - repository: ActivityListNotificationsForRepoResponseItemRepository; - subject: ActivityListNotificationsForRepoResponseItemSubject; + 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; - unread: boolean; - updated_at: string; - last_read_at: 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 ActivityListNotificationsResponseItemSubject = { - title: string; + type GitGetBlobResponse = { + content: string; + encoding: string; + sha: string; + size: number; url: string; - latest_comment_url: string; + }; + type GitCreateTreeResponseTreeItem = { + mode: string; + path: string; + sha: string; + size: number; type: string; + url: string; }; - type ActivityListNotificationsResponseItemRepositoryOwner = { - login: string; - id: number; + 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; - avatar_url: string; - gravatar_id: string; + object: GitCreateTagResponseObject; + sha: string; + tag: string; + tagger: GitCreateTagResponseTagger; url: string; - html_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; - type: string; + repos_url: string; site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; }; - type ActivityListNotificationsResponseItemRepository = { + 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; - name: string; - full_name: string; - owner: ActivityListNotificationsResponseItemRepositoryOwner; - private: boolean; - html_url: string; - description: string; - fork: boolean; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - contributors_url: string; - deployments_url: string; - downloads_url: string; - events_url: string; - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - languages_url: string; - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - stargazers_url: string; - statuses_url: string; - subscribers_url: string; - subscription_url: string; - tags_url: string; - teams_url: string; - trees_url: string; }; - type ActivityListNotificationsResponseItem = { + type GistsUpdateResponseForksItem = { + created_at: string; id: string; - repository: ActivityListNotificationsResponseItemRepository; - subject: ActivityListNotificationsResponseItemSubject; - reason: string; - unread: boolean; updated_at: string; - last_read_at: string; url: string; + user: GistsUpdateResponseForksItemUser; }; - type ActivityListFeedsResponseLinksSecurityAdvisories = { - href: string; - type: string; - }; - type ActivityListFeedsResponseLinksCurrentUserOrganizationsItem = { - href: string; - type: string; - }; - type ActivityListFeedsResponseLinksCurrentUserOrganization = { - href: string; + type GistsUpdateResponseFilesNewFileTxt = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; type: string; }; - type ActivityListFeedsResponseLinksCurrentUserActor = { - href: string; + type GistsUpdateResponseFilesHelloWorldRb = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; type: string; }; - type ActivityListFeedsResponseLinksCurrentUser = { - href: string; + type GistsUpdateResponseFilesHelloWorldPy = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; type: string; }; - type ActivityListFeedsResponseLinksCurrentUserPublic = { - href: string; + type GistsUpdateResponseFilesHelloWorldMd = { + content: string; + filename: string; + language: string; + raw_url: string; + size: number; + truncated: boolean; type: string; }; - type ActivityListFeedsResponseLinksUser = { href: string; type: string }; - type ActivityListFeedsResponseLinksTimeline = { href: string; type: string }; - type ActivityListFeedsResponseLinks = { - timeline: ActivityListFeedsResponseLinksTimeline; - user: ActivityListFeedsResponseLinksUser; - current_user_public: ActivityListFeedsResponseLinksCurrentUserPublic; - current_user: ActivityListFeedsResponseLinksCurrentUser; - current_user_actor: ActivityListFeedsResponseLinksCurrentUserActor; - current_user_organization: ActivityListFeedsResponseLinksCurrentUserOrganization; - current_user_organizations: Array< - ActivityListFeedsResponseLinksCurrentUserOrganizationsItem - >; - security_advisories: ActivityListFeedsResponseLinksSecurityAdvisories; + type GistsUpdateResponseFiles = { + "hello_world.md": GistsUpdateResponseFilesHelloWorldMd; + "hello_world.py": GistsUpdateResponseFilesHelloWorldPy; + "hello_world.rb": GistsUpdateResponseFilesHelloWorldRb; + "new_file.txt": GistsUpdateResponseFilesNewFileTxt; }; - type ActivityListFeedsResponse = { - timeline_url: string; - user_url: string; - current_user_public_url: string; - current_user_url: string; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: 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 AppsResetTokenResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsResetTokenResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsResetTokenResponse = { + app: AppsResetTokenResponseApp; + 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: AppsResetTokenResponseUser; + }; + type AppsResetAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsResetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsResetAuthorizationResponse = { + app: AppsResetAuthorizationResponseApp; + 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: AppsResetAuthorizationResponseUser; + }; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: 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 AppsCheckTokenResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsCheckTokenResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsCheckTokenResponse = { + app: AppsCheckTokenResponseApp; + 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: AppsCheckTokenResponseUser; + }; + type AppsCheckAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsCheckAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsCheckAuthorizationResponse = { + app: AppsCheckAuthorizationResponseApp; + 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: AppsCheckAuthorizationResponseUser; + }; + 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: 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; + temp_clone_token: string; + template_repository: null; + topics: Array; + trees_url: string; + updated_at: string; + url: string; + visibility: 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; - _links: ActivityListFeedsResponseLinks; + 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 ActionsListWorkflowRunsResponseWorkflowRunsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItemRepository = { + 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: ActionsListWorkflowRunsResponseWorkflowRunsItemRepositoryOwner; + 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 ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepository = { + 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: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner; + 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 ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter = { + email: string; + name: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor = { + email: string; + name: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommit = { + author: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + type ActionsListWorkflowRunsResponseWorkflowRunsItem = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadCommit; + head_repository: ActionsListWorkflowRunsResponseWorkflowRunsItemHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsListWorkflowRunsResponseWorkflowRunsItemRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; + }; + type ActionsListWorkflowRunsResponse = { + total_count: number; + workflow_runs: Array; + }; + type ActionsListWorkflowRunArtifactsResponseArtifactsItem = { + archive_download_url: string; + created_at: string; + expired: string; + expires_at: string; + id: number; + name: string; + node_id: string; + size_in_bytes: number; + }; + type ActionsListWorkflowRunArtifactsResponse = { + artifacts: Array; + total_count: number; + }; + type ActionsListSelfHostedRunnersForRepoResponseItemItem = { + id: number; + name: string; + os: string; + status: string; + }; + type ActionsListSecretsForRepoResponseSecretsItem = { + created_at: string; + name: string; + updated_at: string; + }; + type ActionsListSecretsForRepoResponse = { + secrets: Array; + total_count: number; + }; + type ActionsListRepoWorkflowsResponseWorkflowsItem = { + badge_url: string; + created_at: string; + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + updated_at: string; + url: string; + }; + type ActionsListRepoWorkflowsResponse = { + total_count: number; + workflows: Array; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepository = { + 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: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepositoryOwner; + 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 ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepository = { + 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: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepositoryOwner; + 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 ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter = { + email: string; + name: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor = { + email: string; + name: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommit = { + author: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitAuthor; + committer: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + type ActionsListRepoWorkflowRunsResponseWorkflowRunsItem = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadCommit; + head_repository: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsListRepoWorkflowRunsResponseWorkflowRunsItemRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; + }; + type ActionsListRepoWorkflowRunsResponse = { + total_count: number; + workflow_runs: Array; + }; + type ActionsListJobsForWorkflowRunResponseJobsItemStepsItem = { + completed_at: string; + conclusion: string; + name: string; + number: number; + started_at: string; + status: string; + }; + type ActionsListJobsForWorkflowRunResponseJobsItem = { + check_run_url: string; + completed_at: string; + conclusion: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + run_id: number; + run_url: string; + started_at: string; + status: string; + steps: Array; + url: string; + }; + type ActionsListJobsForWorkflowRunResponse = { + jobs: Array; + total_count: number; + }; + type ActionsListDownloadsForSelfHostedRunnerApplicationResponseItem = { + architecture: string; + download_url: string; + filename: string; + os: string; + }; + type ActionsGetWorkflowRunResponseRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsGetWorkflowRunResponseRepository = { + 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: ActionsGetWorkflowRunResponseRepositoryOwner; + 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 ActionsGetWorkflowRunResponseHeadRepositoryOwner = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type ActionsGetWorkflowRunResponseHeadRepository = { + 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: null; + downloads_url: string; + events_url: string; + fork: boolean; + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + hooks_url: string; + html_url: string; + id: number; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + languages_url: string; + merges_url: string; + milestones_url: string; + name: string; + node_id: string; + notifications_url: string; + owner: ActionsGetWorkflowRunResponseHeadRepositoryOwner; + 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 ActionsGetWorkflowRunResponseHeadCommitCommitter = { + email: string; + name: string; + }; + type ActionsGetWorkflowRunResponseHeadCommitAuthor = { + email: string; + name: string; + }; + type ActionsGetWorkflowRunResponseHeadCommit = { + author: ActionsGetWorkflowRunResponseHeadCommitAuthor; + committer: ActionsGetWorkflowRunResponseHeadCommitCommitter; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + type ActionsGetWorkflowRunResponse = { + artifacts_url: string; + cancel_url: string; + check_suite_id: number; + conclusion: null; + created_at: string; + event: string; + head_branch: string; + head_commit: ActionsGetWorkflowRunResponseHeadCommit; + head_repository: ActionsGetWorkflowRunResponseHeadRepository; + head_sha: string; + html_url: string; + id: number; + jobs_url: string; + logs_url: string; + node_id: string; + pull_requests: Array; + repository: ActionsGetWorkflowRunResponseRepository; + rerun_url: string; + run_number: number; + status: string; + updated_at: string; + url: string; + workflow_url: string; + }; + type ActionsGetWorkflowJobResponseStepsItem = { + completed_at: string; + conclusion: string; + name: string; + number: number; + started_at: string; + status: string; + }; + type ActionsGetWorkflowJobResponse = { + check_run_url: string; + completed_at: string; + conclusion: string; + head_sha: string; + html_url: string; + id: number; + name: string; + node_id: string; + run_id: number; + run_url: string; + started_at: string; + status: string; + steps: Array; + url: string; + }; + type ActionsGetWorkflowResponse = { + badge_url: string; + created_at: string; + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + updated_at: string; + url: string; + }; + type ActionsGetSelfHostedRunnerResponse = { + id: number; + name: string; + os: string; + status: string; + }; + type ActionsGetSecretResponse = { + created_at: string; + name: string; + updated_at: string; + }; + type ActionsGetPublicKeyResponse = { key: string; key_id: string }; + type ActionsGetArtifactResponse = { + archive_download_url: string; + created_at: string; + expired: string; + expires_at: string; + id: number; + name: string; + node_id: string; + size_in_bytes: number; + }; + type ActionsCreateRemoveTokenResponse = { expires_at: string; token: string }; + type ActionsCreateRegistrationTokenResponse = { + expires_at: string; + token: string; + }; + type ActionsListDownloadsForSelfHostedRunnerApplicationResponse = Array< + ActionsListDownloadsForSelfHostedRunnerApplicationResponseItem + >; + type ActionsListSelfHostedRunnersForRepoResponse = Array< + Array + >; + 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 MigrationsListReposForOrgResponse = Array< + MigrationsListReposForOrgResponseItem + >; + type MigrationsListReposForUserResponse = Array< + MigrationsListReposForUserResponseItem + >; + 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 ReactionsListForTeamDiscussionCommentInOrgResponse = Array< + ReactionsListForTeamDiscussionCommentInOrgResponseItem + >; + type ReactionsListForTeamDiscussionCommentLegacyResponse = Array< + ReactionsListForTeamDiscussionCommentLegacyResponseItem + >; + type ReactionsListForTeamDiscussionInOrgResponse = Array< + ReactionsListForTeamDiscussionInOrgResponseItem + >; + type ReactionsListForTeamDiscussionLegacyResponse = Array< + ReactionsListForTeamDiscussionLegacyResponseItem + >; + 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 TeamsListChildInOrgResponse = Array; + type TeamsListChildLegacyResponse = Array; + type TeamsListDiscussionCommentsResponse = Array< + TeamsListDiscussionCommentsResponseItem + >; + type TeamsListDiscussionCommentsInOrgResponse = Array< + TeamsListDiscussionCommentsInOrgResponseItem + >; + type TeamsListDiscussionCommentsLegacyResponse = Array< + TeamsListDiscussionCommentsLegacyResponseItem + >; + type TeamsListDiscussionsResponse = Array; + type TeamsListDiscussionsInOrgResponse = Array< + TeamsListDiscussionsInOrgResponseItem + >; + type TeamsListDiscussionsLegacyResponse = Array< + TeamsListDiscussionsLegacyResponseItem + >; + type TeamsListForAuthenticatedUserResponse = Array< + TeamsListForAuthenticatedUserResponseItem + >; + type TeamsListMembersResponse = Array; + type TeamsListMembersInOrgResponse = Array; + type TeamsListMembersLegacyResponse = Array< + TeamsListMembersLegacyResponseItem + >; + type TeamsListPendingInvitationsResponse = Array< + TeamsListPendingInvitationsResponseItem + >; + type TeamsListPendingInvitationsInOrgResponse = Array< + TeamsListPendingInvitationsInOrgResponseItem + >; + type TeamsListPendingInvitationsLegacyResponse = Array< + TeamsListPendingInvitationsLegacyResponseItem + >; + type TeamsListProjectsResponse = Array; + type TeamsListProjectsInOrgResponse = Array< + TeamsListProjectsInOrgResponseItem + >; + type TeamsListProjectsLegacyResponse = Array< + TeamsListProjectsLegacyResponseItem + >; + type TeamsListReposResponse = Array; + type TeamsListReposInOrgResponse = Array; + type TeamsListReposLegacyResponse = 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 ActionsCancelWorkflowRunParams = { + owner: string; + + repo: string; + + run_id: number; + }; + export type ActionsCreateOrUpdateSecretForRepoParams = { + /** + * Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get your public key](https://developer.github.com/v3/actions/secrets/#get-your-public-key) endpoint. + */ + encrypted_value?: string; + /** + * ID of the key you used to encrypt the secret. + */ + key_id?: string; + + name: string; + + owner: string; + + repo: string; + }; + export type ActionsCreateRegistrationTokenParams = { + owner: string; + + repo: string; + }; + export type ActionsCreateRemoveTokenParams = { + owner: string; + + repo: string; + }; + export type ActionsDeleteArtifactParams = { + artifact_id: number; + + owner: string; + + repo: string; + }; + export type ActionsDeleteSecretFromRepoParams = { + name: string; + + owner: string; + + repo: string; + }; + export type ActionsDownloadArtifactParams = { + archive_format: string; + + artifact_id: number; + + owner: string; + + repo: string; + }; + export type ActionsGetArtifactParams = { + artifact_id: number; + + owner: string; + + repo: string; + }; + export type ActionsGetPublicKeyParams = { + owner: string; + + repo: string; + }; + export type ActionsGetSecretParams = { + name: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActionsGetSelfHostedRunnerParams = { + owner: string; + + repo: string; + + runner_id: number; + }; + export type ActionsGetWorkflowParams = { + owner: string; + + repo: string; + + workflow_id: number; + }; + export type ActionsGetWorkflowJobParams = { + job_id: number; + + owner: string; + + repo: string; + }; + export type ActionsGetWorkflowRunParams = { + owner: string; + + repo: string; + + run_id: number; + }; + export type ActionsListDownloadsForSelfHostedRunnerApplicationParams = { + owner: string; + + repo: string; + }; + export type ActionsListJobsForWorkflowRunParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + + run_id: number; + }; + export type ActionsListRepoWorkflowRunsParams = { + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + }; + export type ActionsListRepoWorkflowsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActionsListSecretsForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActionsListSelfHostedRunnersForRepoParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + }; + export type ActionsListWorkflowJobLogsParams = { + job_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 ActionsListWorkflowRunArtifactsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + + run_id: number; + }; + export type ActionsListWorkflowRunLogsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + + run_id: number; + }; + export type ActionsListWorkflowRunsParams = { + /** + * Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. + */ + actor?: string; + /** + * Returns workflow runs associated with a branch. Use the name of the branch of the `push`. + */ + branch?: string; + /** + * Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)" in the GitHub Help documentation. + */ + event?: string; + + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + repo: string; + /** + * Returns workflow runs associated with the check run `status` or `conclusion` you specify. For example, a conclusion can be `success` or a status can be `completed`. For more information, see the `status` and `conclusion` options available in "[Create a check run](https://developer.github.com/v3/checks/runs/#create-a-check-run)." + */ + status?: "completed" | "status" | "conclusion"; + + workflow_id: number; + }; + export type ActionsReRunWorkflowParams = { + owner: string; + + repo: string; + + run_id: number; + }; + export type ActionsRemoveSelfHostedRunnerParams = { + owner: string; + + repo: string; + + runner_id: number; + }; + export type ActivityCheckStarringRepoParams = { + owner: string; + + repo: string; + }; + export type ActivityCheckWatchingRepoLegacyParams = { + 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 ActivityStopWatchingRepoLegacyParams = { + owner: string; + + repo: string; + }; + export type ActivityUnstarRepoParams = { + owner: string; + + repo: string; + }; + export type ActivityWatchRepoLegacyParams = { + owner: string; + + repo: string; + }; + export type AppsAddRepoToInstallationParams = { + installation_id: number; + + repository_id: number; + }; + export type AppsCheckAccountIsAssociatedWithAnyParams = { + account_id: number; + }; + export type AppsCheckAccountIsAssociatedWithAnyStubbedParams = { + account_id: number; + }; + export type AppsCheckAuthorizationParams = { + access_token: string; + + client_id: string; + }; + export type AppsCheckTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; + 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 AppsDeleteAuthorizationParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; + export type AppsDeleteInstallationParams = { + installation_id: number; + }; + export type AppsDeleteTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; + 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 AppsResetAuthorizationParams = { + access_token: string; + + client_id: string; + }; + export type AppsResetTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; + export type AppsRevokeAuthorizationForApplicationParams = { + access_token: string; + + client_id: string; + }; + export type AppsRevokeGrantForApplicationParams = { + access_token: string; + + client_id: string; + }; + 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`. Only GitHub can change a check run conclusion to `stale`. + */ + 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`. Only GitHub can change a check run conclusion to `stale`. + */ + 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; + + 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; }; - type ActivityListNotificationsResponse = Array< - ActivityListNotificationsResponseItem - >; - type ActivityListNotificationsForRepoResponse = Array< - ActivityListNotificationsForRepoResponseItem - >; - type ActivityListStargazersForRepoResponse = Array< - ActivityListStargazersForRepoResponseItem - >; - type ActivityListReposStarredByUserResponse = Array< - ActivityListReposStarredByUserResponseItem - >; - type ActivityListReposStarredByAuthenticatedUserResponse = Array< - ActivityListReposStarredByAuthenticatedUserResponseItem - >; - type ActivityListWatchersForRepoResponse = Array< - ActivityListWatchersForRepoResponseItem - >; - type ActivityListReposWatchedByUserResponse = Array< - ActivityListReposWatchedByUserResponseItem - >; - type ActivityListWatchedReposForAuthenticatedUserResponse = Array< - ActivityListWatchedReposForAuthenticatedUserResponseItem - >; - type AppsListInstallationsResponse = Array; - type AppsListPlansResponse = Array; - type AppsListPlansStubbedResponse = Array; - type AppsListAccountsUserOrOrgOnPlanResponse = Array< - AppsListAccountsUserOrOrgOnPlanResponseItem - >; - type AppsListAccountsUserOrOrgOnPlanStubbedResponse = Array< - AppsListAccountsUserOrOrgOnPlanStubbedResponseItem - >; - type AppsListMarketplacePurchasesForAuthenticatedUserResponse = Array< - AppsListMarketplacePurchasesForAuthenticatedUserResponseItem - >; - type AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponse = Array< - AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponseItem - >; - type ChecksListAnnotationsResponse = Array; - type CodesOfConductListConductCodesResponse = Array< - CodesOfConductListConductCodesResponseItem - >; - type GistsListPublicForUserResponse = Array< - GistsListPublicForUserResponseItem - >; - type GistsListResponse = Array; - type GistsListPublicResponse = Array; - type GistsListStarredResponse = Array; - type GistsListCommitsResponse = Array; - type GistsListForksResponse = Array; - type GistsListCommentsResponse = Array; - type GitignoreListTemplatesResponse = Array; - type IssuesListResponse = Array; - type IssuesListForAuthenticatedUserResponse = Array< - IssuesListForAuthenticatedUserResponseItem - >; - type IssuesListForOrgResponse = Array; - type IssuesListForRepoResponse = Array; - type IssuesListAssigneesResponse = Array; - type IssuesListCommentsResponse = Array; - type IssuesListCommentsForRepoResponse = Array< - IssuesListCommentsForRepoResponseItem - >; - type IssuesListEventsResponse = Array; - type IssuesListEventsForRepoResponse = Array< - IssuesListEventsForRepoResponseItem - >; - type IssuesListLabelsForRepoResponse = Array< - IssuesListLabelsForRepoResponseItem - >; - type IssuesListLabelsOnIssueResponse = Array< - IssuesListLabelsOnIssueResponseItem - >; - type IssuesAddLabelsResponse = Array; - type IssuesRemoveLabelResponse = Array; - type IssuesReplaceLabelsResponse = Array; - type IssuesListLabelsForMilestoneResponse = Array< - IssuesListLabelsForMilestoneResponseItem - >; - type IssuesListMilestonesForRepoResponse = Array< - IssuesListMilestonesForRepoResponseItem - >; - type IssuesListEventsForTimelineResponse = Array< - IssuesListEventsForTimelineResponseItem - >; - type LicensesListCommonlyUsedResponse = Array< - LicensesListCommonlyUsedResponseItem - >; - type LicensesListResponse = Array; - type MigrationsListForOrgResponse = Array; - type MigrationsGetCommitAuthorsResponse = Array< - MigrationsGetCommitAuthorsResponseItem - >; - type MigrationsGetLargeFilesResponse = Array< - MigrationsGetLargeFilesResponseItem - >; - type MigrationsListForAuthenticatedUserResponse = Array< - MigrationsListForAuthenticatedUserResponseItem - >; - type OauthAuthorizationsListGrantsResponse = Array< - OauthAuthorizationsListGrantsResponseItem - >; - type OauthAuthorizationsListAuthorizationsResponse = Array< - OauthAuthorizationsListAuthorizationsResponseItem - >; - type OrgsListForAuthenticatedUserResponse = Array< - OrgsListForAuthenticatedUserResponseItem - >; - type OrgsListResponse = Array; - type OrgsListForUserResponse = Array; - type OrgsListBlockedUsersResponse = Array; - type OrgsListHooksResponse = Array; - type OrgsListMembersResponse = Array; - type OrgsListPublicMembersResponse = Array; - type OrgsListInvitationTeamsResponse = Array< - OrgsListInvitationTeamsResponseItem - >; - type OrgsListPendingInvitationsResponse = Array< - OrgsListPendingInvitationsResponseItem - >; - type OrgsListMembershipsResponse = Array; - type OrgsListOutsideCollaboratorsResponse = Array< - OrgsListOutsideCollaboratorsResponseItem - >; - type ProjectsListForRepoResponse = Array; - type ProjectsListForOrgResponse = Array; - type ProjectsListForUserResponse = Array; - type ProjectsListCardsResponse = Array; - type ProjectsListCollaboratorsResponse = Array< - ProjectsListCollaboratorsResponseItem - >; - type ProjectsListColumnsResponse = Array; - type PullsListResponse = Array; - type PullsListCommitsResponse = Array; - type PullsListFilesResponse = Array; - type PullsListCommentsResponse = Array; - type PullsListCommentsForRepoResponse = Array< - PullsListCommentsForRepoResponseItem - >; - type PullsListReviewsResponse = Array; - type PullsGetCommentsForReviewResponse = Array< - PullsGetCommentsForReviewResponseItem - >; - type ReactionsListForCommitCommentResponse = Array< - ReactionsListForCommitCommentResponseItem - >; - type ReactionsListForIssueResponse = Array; - type ReactionsListForIssueCommentResponse = Array< - ReactionsListForIssueCommentResponseItem - >; - type ReactionsListForPullRequestReviewCommentResponse = Array< - ReactionsListForPullRequestReviewCommentResponseItem - >; - type ReactionsListForTeamDiscussionResponse = Array< - ReactionsListForTeamDiscussionResponseItem - >; - type ReactionsListForTeamDiscussionCommentResponse = Array< - ReactionsListForTeamDiscussionCommentResponseItem - >; - type ReposListForOrgResponse = Array; - type ReposListPublicResponse = Array; - type ReposListTeamsResponse = Array; - type ReposListTagsResponse = Array; - type ReposListBranchesResponse = Array; - type ReposReplaceProtectedBranchRequiredStatusChecksContextsResponse = Array< - string - >; - type ReposAddProtectedBranchRequiredStatusChecksContextsResponse = Array< - string - >; - type ReposRemoveProtectedBranchRequiredStatusChecksContextsResponse = Array< - string - >; - type ReposListProtectedBranchTeamRestrictionsResponse = any; - type ReposReplaceProtectedBranchTeamRestrictionsResponse = Array< - ReposReplaceProtectedBranchTeamRestrictionsResponseItem - >; - type ReposAddProtectedBranchTeamRestrictionsResponse = Array< - ReposAddProtectedBranchTeamRestrictionsResponseItem - >; - type ReposRemoveProtectedBranchTeamRestrictionsResponse = Array< - ReposRemoveProtectedBranchTeamRestrictionsResponseItem - >; - type ReposReplaceProtectedBranchUserRestrictionsResponse = Array< - ReposReplaceProtectedBranchUserRestrictionsResponseItem - >; - type ReposAddProtectedBranchUserRestrictionsResponse = Array< - ReposAddProtectedBranchUserRestrictionsResponseItem - >; - type ReposRemoveProtectedBranchUserRestrictionsResponse = Array< - ReposRemoveProtectedBranchUserRestrictionsResponseItem - >; - type ReposListCollaboratorsResponse = Array< - ReposListCollaboratorsResponseItem - >; - type ReposListCommitCommentsResponse = Array< - ReposListCommitCommentsResponseItem - >; - type ReposListCommentsForCommitResponse = Array< - ReposListCommentsForCommitResponseItem - >; - type ReposListCommitsResponse = Array; - type ReposCompareCommitsResponse = any; - type ReposListBranchesForHeadCommitResponse = Array< - ReposListBranchesForHeadCommitResponseItem - >; - type ReposListPullRequestsAssociatedWithCommitResponse = Array< - ReposListPullRequestsAssociatedWithCommitResponseItem - >; - type ReposListDeploymentsResponse = Array; - type ReposListDeploymentStatusesResponse = Array< - ReposListDeploymentStatusesResponseItem - >; - type ReposListDownloadsResponse = Array; - type ReposListForksResponse = Array; - type ReposListHooksResponse = Array; - type ReposListInvitationsResponse = Array; - type ReposListInvitationsForAuthenticatedUserResponse = Array< - ReposListInvitationsForAuthenticatedUserResponseItem - >; - type ReposListDeployKeysResponse = Array; - type ReposListPagesBuildsResponse = Array; - type ReposListReleasesResponse = Array; - type ReposListAssetsForReleaseResponse = Array< - ReposListAssetsForReleaseResponseItem - >; - type ReposGetContributorsStatsResponse = Array< - ReposGetContributorsStatsResponseItem - >; - type ReposGetCommitActivityStatsResponse = Array< - ReposGetCommitActivityStatsResponseItem - >; - type ReposGetCodeFrequencyStatsResponse = Array>; - type ReposGetPunchCardStatsResponse = Array>; - type ReposListStatusesForRefResponse = Array< - ReposListStatusesForRefResponseItem - >; - type ReposGetTopReferrersResponse = Array; - type ReposGetTopPathsResponse = Array; - type TeamsListResponse = Array; - type TeamsListReposResponse = Array; - type TeamsListForAuthenticatedUserResponse = Array< - TeamsListForAuthenticatedUserResponseItem - >; - type TeamsListProjectsResponse = Array; - type TeamsListDiscussionCommentsResponse = Array< - TeamsListDiscussionCommentsResponseItem - >; - type TeamsListDiscussionsResponse = Array; - type TeamsListMembersResponse = Array; - type TeamsListPendingInvitationsResponse = Array< - TeamsListPendingInvitationsResponseItem - >; - type UsersGetContextForUserResponse = any; - type UsersListResponse = Array; - type UsersListBlockedResponse = Array; - type UsersListEmailsResponse = Array; - type UsersListPublicEmailsResponse = Array; - type UsersAddEmailsResponse = Array; - type UsersTogglePrimaryEmailVisibilityResponse = Array< - UsersTogglePrimaryEmailVisibilityResponseItem - >; - type UsersListFollowersForUserResponse = Array< - UsersListFollowersForUserResponseItem - >; - type UsersListFollowersForAuthenticatedUserResponse = Array< - UsersListFollowersForAuthenticatedUserResponseItem - >; - type UsersListFollowingForUserResponse = Array< - UsersListFollowingForUserResponseItem - >; - type UsersListFollowingForAuthenticatedUserResponse = Array< - UsersListFollowingForAuthenticatedUserResponseItem - >; - type UsersListGpgKeysForUserResponse = Array< - UsersListGpgKeysForUserResponseItem - >; - type UsersListGpgKeysResponse = Array; - type UsersListPublicKeysForUserResponse = Array< - UsersListPublicKeysForUserResponseItem - >; - type UsersListPublicKeysResponse = Array; + 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; - export type ActivityListPublicEventsParams = { + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; /** * Results per page (max 100) */ per_page?: number; + + repo: string; /** - * Page number of the results to fetch. + * 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`. */ - page?: number; + 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 ActivityListRepoEventsParams = { + 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 ActivityListPublicEventsForRepoNetworkParams = { + 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; - }; - export type ActivityListPublicEventsForOrgParams = { - org: string; /** * 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 MigrationsDownloadArchiveForOrgParams = { + 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; - }; - export type ActivityListReceivedEventsForUserParams = { - username: string; /** * Results per page (max 100) */ per_page?: number; + }; + export type MigrationsListForOrgParams = { + org: string; /** * Page number of the results to fetch. */ page?: number; - }; - export type ActivityListReceivedPublicEventsForUserParams = { - username: string; /** * Results per page (max 100) */ per_page?: number; + }; + export type MigrationsListReposForOrgParams = { + migration_id: number; + + org: string; /** * Page number of the results to fetch. */ page?: number; - }; - export type ActivityListEventsForUserParams = { - username: string; /** * Results per page (max 100) */ per_page?: number; + }; + export type MigrationsListReposForUserParams = { + migration_id: number; /** * Page number of the results to fetch. */ page?: number; - }; - export type ActivityListPublicEventsForUserParams = { - username: string; /** * Results per page (max 100) */ per_page?: number; + }; + export type MigrationsMapCommitAuthorParams = { + author_id: number; /** - * Page number of the results to fetch. + * The new Git author email. */ - page?: number; - }; - export type ActivityListEventsForOrgParams = { - username: string; - - org: string; + email?: string; /** - * Results per page (max 100) + * The new Git author name. */ - per_page?: number; + name?: string; + + owner: string; + + repo: string; + }; + export type MigrationsSetLfsPreferenceParams = { + owner: string; + + repo: string; /** - * Page number of the results to fetch. + * 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). */ - page?: number; + use_lfs: "opt_in" | "opt_out"; }; - export type ActivityListNotificationsParams = { + export type MigrationsStartForAuthenticatedUserParams = { /** - * If `true`, show notifications marked as read. + * 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. */ - all?: boolean; + exclude_attachments?: boolean; /** - * If `true`, only shows notifications in which the user is directly participating or mentioned. + * Locks the `repositories` to prevent changes during the migration when set to `true`. */ - participating?: boolean; + lock_repositories?: 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`. + * An array of repositories to include in the migration. */ - since?: string; + repositories: string[]; + }; + export type MigrationsStartForOrgParams = { /** - * 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`. + * Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). */ - before?: string; + exclude_attachments?: boolean; /** - * Results per page (max 100) + * Indicates whether repositories should be locked (to prevent manipulation) while migrating data. */ - per_page?: number; + lock_repositories?: boolean; + + org: string; /** - * Page number of the results to fetch. + * A list of arrays indicating which repositories should be migrated. */ - page?: number; + repositories: string[]; }; - export type ActivityListNotificationsForRepoParams = { + export type MigrationsStartImportParams = { owner: string; 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. + * For a tfvc import, the name of the project that is being imported. */ - participating?: boolean; + tfvc_project?: 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`. + * 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. */ - since?: string; + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; /** - * 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`. + * If authentication is required, the password to provide to `vcs_url`. */ - before?: string; + vcs_password?: string; /** - * Results per page (max 100) + * The URL of the originating repository. */ - per_page?: number; + vcs_url: string; /** - * Page number of the results to fetch. + * If authentication is required, the username to provide to `vcs_url`. */ - page?: number; + vcs_username?: 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`. - */ - last_read_at?: string; + export type MigrationsUnlockRepoForAuthenticatedUserParams = { + migration_id: number; + + repo_name: string; }; - export type ActivityMarkNotificationsAsReadForRepoParams = { + export type MigrationsUnlockRepoForOrgParams = { + migration_id: number; + + org: string; + + repo_name: string; + }; + export type MigrationsUpdateImportParams = { owner: string; 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`. + * The password to provide to the originating repository. */ - last_read_at?: string; - }; - export type ActivityGetThreadParams = { - thread_id: number; - }; - export type ActivityMarkThreadAsReadParams = { - thread_id: number; - }; - export type ActivityGetThreadSubscriptionParams = { - thread_id: number; - }; - export type ActivitySetThreadSubscriptionParams = { - thread_id: number; + vcs_password?: string; /** - * Unsubscribes and subscribes you to a conversation. Set `ignored` to `true` to block all notifications from this thread. + * The username to provide to the originating repository. */ - ignored?: boolean; - }; - export type ActivityDeleteThreadSubscriptionParams = { - thread_id: number; + vcs_username?: string; }; - export type ActivityListStargazersForRepoParams = { - owner: string; + export type OauthAuthorizationsCheckAuthorizationParams = { + access_token: string; - repo: string; + client_id: string; + }; + export type OauthAuthorizationsCreateAuthorizationParams = { /** - * Results per page (max 100) + * The 20 character OAuth app client key for which to create the token. */ - per_page?: number; + client_id?: string; /** - * Page number of the results to fetch. + * The 40 character OAuth app client secret for which to create the token. */ - page?: number; - }; - export type ActivityListReposStarredByUserParams = { - username: string; + client_secret?: string; /** - * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + * A unique string to distinguish an authorization from others created for the same client ID and user. */ - sort?: "created" | "updated"; + fingerprint?: string; /** - * One of `asc` (ascending) or `desc` (descending). + * 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. */ - direction?: "asc" | "desc"; + note: string; /** - * Results per page (max 100) + * A URL to remind you what app the OAuth token is for. */ - per_page?: number; + note_url?: string; /** - * Page number of the results to fetch. + * A list of scopes that this authorization is in. */ - page?: number; + scopes?: string[]; }; - export type ActivityListReposStarredByAuthenticatedUserParams = { + 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; /** - * One of `created` (when the repository was starred) or `updated` (when it was last pushed to). + * The 40 character OAuth app client secret associated with the client ID specified in the URL. */ - sort?: "created" | "updated"; + client_secret: string; /** - * One of `asc` (ascending) or `desc` (descending). + * 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). */ - direction?: "asc" | "desc"; + fingerprint?: string; /** - * Results per page (max 100) + * A note to remind you what the OAuth token is for. */ - per_page?: number; + note?: string; /** - * Page number of the results to fetch. + * A URL to remind you what app the OAuth token is for. */ - page?: number; - }; - export type ActivityCheckStarringRepoParams = { - owner: string; - - repo: string; - }; - export type ActivityStarRepoParams = { - owner: string; - - repo: string; + note_url?: string; + /** + * A list of scopes that this authorization is in. + */ + scopes?: string[]; }; - export type ActivityUnstarRepoParams = { - owner: 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; - repo: 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 ActivityListWatchersForRepoParams = { - owner: 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; - repo: string; + fingerprint: string; /** - * Results per page (max 100) + * A note to remind you what the OAuth token is for. */ - per_page?: number; + note?: string; /** - * Page number of the results to fetch. + * A URL to remind you what app the OAuth token is for. */ - page?: number; - }; - export type ActivityListReposWatchedByUserParams = { - username: string; + note_url?: string; /** - * Results per page (max 100) + * A list of scopes that this authorization is in. */ - per_page?: number; + scopes?: string[]; + }; + export type OauthAuthorizationsListAuthorizationsParams = { /** * Page number of the results to fetch. */ page?: number; - }; - export type ActivityListWatchedReposForAuthenticatedUserParams = { /** * 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 ActivityGetRepoSubscriptionParams = { - owner: string; + export type OauthAuthorizationsResetAuthorizationParams = { + access_token: string; - repo: string; + client_id: string; }; - export type ActivitySetRepoSubscriptionParams = { - owner: string; + export type OauthAuthorizationsRevokeAuthorizationForApplicationParams = { + access_token: string; - repo: string; + client_id: string; + }; + export type OauthAuthorizationsRevokeGrantForApplicationParams = { + access_token: string; + + client_id: string; + }; + export type OauthAuthorizationsUpdateAuthorizationParams = { /** - * Determines if notifications should be received from this repository. + * A list of scopes to add to this authorization. */ - subscribed?: boolean; + add_scopes?: string[]; + + authorization_id: number; /** - * Determines if all notifications should be blocked from this repository. + * A unique string to distinguish an authorization from others created for the same client ID and user. */ - ignored?: boolean; - }; - export type ActivityDeleteRepoSubscriptionParams = { - owner: string; - - repo: string; - }; - export type AppsGetBySlugParams = { - app_slug: string; - }; - export type AppsListInstallationsParams = { + fingerprint?: string; /** - * Results per page (max 100) + * 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. */ - per_page?: number; + note?: string; /** - * Page number of the results to fetch. + * A URL to remind you what app the OAuth token is for. */ - page?: number; - }; - export type AppsGetInstallationParams = { - installation_id: number; - }; - export type AppsDeleteInstallationParams = { - installation_id: number; - }; - export type AppsCreateInstallationTokenParams = { - installation_id: number; + note_url?: string; /** - * 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. + * A list of scopes to remove from this authorization. */ - repository_ids?: number[]; + remove_scopes?: string[]; /** - * 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)." + * Replaces the authorization scopes with these. */ - permissions?: AppsCreateInstallationTokenParamsPermissions; + scopes?: string[]; }; - export type AppsGetOrgInstallationParams = { + 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 AppsFindOrgInstallationParams = { + export type OrgsBlockUserParams = { org: string; + + username: string; }; - export type AppsGetRepoInstallationParams = { - owner: string; + export type OrgsCheckBlockedUserParams = { + org: string; - repo: string; + username: string; }; - export type AppsFindRepoInstallationParams = { - owner: string; + export type OrgsCheckMembershipParams = { + org: string; - repo: string; + username: string; }; - export type AppsGetUserInstallationParams = { + export type OrgsCheckPublicMembershipParams = { + org: string; + username: string; }; - export type AppsFindUserInstallationParams = { + export type OrgsConcealMembershipParams = { + org: string; + username: string; }; - export type AppsCreateFromManifestParams = { - code: string; + export type OrgsConvertMemberToOutsideCollaboratorParams = { + org: string; + + username: string; }; - export type AppsListReposParams = { + export type OrgsCreateHookParams = { /** - * Results per page (max 100) + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ - per_page?: number; + active?: boolean; /** - * Page number of the results to fetch. + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#create-hook-config-params). */ - page?: number; - }; - export type AppsListInstallationsForAuthenticatedUserParams = { + config: OrgsCreateHookParamsConfig; /** - * Results per page (max 100) + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. */ - per_page?: number; + events?: string[]; /** - * Page number of the results to fetch. + * Must be passed as "web". */ - page?: number; + name: string; + + org: string; }; - export type AppsListInstallationReposForAuthenticatedUserParams = { - installation_id: number; + export type OrgsCreateInvitationParams = { /** - * Results per page (max 100) + * **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ - per_page?: number; + email?: string; /** - * Page number of the results to fetch. + * **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ - page?: number; - }; - export type AppsAddRepoToInstallationParams = { - installation_id: number; - - repository_id: number; - }; - export type AppsRemoveRepoFromInstallationParams = { - installation_id: number; + invitee_id?: number; - repository_id: number; - }; - export type AppsCreateContentAttachmentParams = { - content_reference_id: number; + org: string; /** - * The title of the content attachment displayed in the body or comment of an issue or pull request. + * 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. */ - title: string; + role?: "admin" | "direct_member" | "billing_manager"; /** - * The body text of the content attachment displayed in the body or comment of an issue or pull request. This parameter supports markdown. + * Specify IDs for the teams you want to invite new members to. */ - body: string; + team_ids?: number[]; }; - export type AppsListPlansParams = { - /** - * Results per page (max 100) - */ - per_page?: 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; - }; - export type AppsListPlansStubbedParams = { /** * Results per page (max 100) */ per_page?: number; /** - * Page number of the results to fetch. + * The integer ID of the last organization that you've seen. */ - page?: number; + since?: number; }; - export type AppsListAccountsUserOrOrgOnPlanParams = { - 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 OrgsListBlockedUsersParams = { + org: string; + }; + export type OrgsListForAuthenticatedUserParams = { /** - * To return the oldest accounts first, set to `asc`. Can be one of `asc` or `desc`. Ignored without the `sort` parameter. + * Page number of the results to fetch. */ - direction?: "asc" | "desc"; + page?: number; /** * Results per page (max 100) */ per_page?: number; + }; + export type OrgsListForUserParams = { /** * Page number of the results to fetch. */ page?: number; - }; - export type AppsListAccountsUserOrOrgOnPlanStubbedParams = { - 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; + + username: string; + }; + export type OrgsListHooksParams = { + org: string; /** * Page number of the results to fetch. */ - page?: number; - }; - export type AppsCheckAccountIsAssociatedWithAnyParams = { - account_id: number; + page?: number; /** * Results per page (max 100) */ per_page?: number; + }; + export type OrgsListInstallationsParams = { + org: string; /** * Page number of the results to fetch. */ page?: number; - }; - export type AppsCheckAccountIsAssociatedWithAnyStubbedParams = { - account_id: 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; - }; - export type AppsListMarketplacePurchasesForAuthenticatedUserParams = { /** * 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; - }; - export type AppsListMarketplacePurchasesForAuthenticatedUserStubbedParams = { /** * Results per page (max 100) */ per_page?: number; /** - * Page number of the results to fetch. + * 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. */ - page?: number; + role?: "all" | "admin" | "member"; }; - export type ChecksCreateParams = { - owner: string; - - repo: string; + export type OrgsListMembershipsParams = { /** - * The name of the check. For example, "code-coverage". + * Page number of the results to fetch. */ - name: string; + page?: number; /** - * The SHA of the commit. + * Results per page (max 100) */ - head_sha: string; + per_page?: number; /** - * The URL of the integrator's site that has the full details of the check. + * 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. */ - details_url?: string; + state?: "active" | "pending"; + }; + export type OrgsListOutsideCollaboratorsParams = { /** - * A reference for the run on the integrator's system. + * 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. */ - external_id?: string; + filter?: "2fa_disabled" | "all"; + + org: string; /** - * The current status. Can be one of `queued`, `in_progress`, or `completed`. + * Page number of the results to fetch. */ - status?: "queued" | "in_progress" | "completed"; + page?: number; /** - * 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`. + * Results per page (max 100) */ - started_at?: string; + per_page?: number; + }; + export type OrgsListPendingInvitationsParams = { + org: 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`. + * Page number of the results to fetch. */ - conclusion?: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required"; + page?: 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`. + * Results per page (max 100) */ - completed_at?: string; + per_page?: number; + }; + export type OrgsListPublicMembersParams = { + org: 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. + * Page number of the results to fetch. */ - output?: ChecksCreateParamsOutput; + page?: number; /** - * 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)." + * Results per page (max 100) */ - actions?: ChecksCreateParamsActions[]; + per_page?: number; }; - export type ChecksUpdateParams = { - owner: string; + export type OrgsPingHookParams = { + hook_id: number; - repo: string; + org: string; + }; + export type OrgsPublicizeMembershipParams = { + org: string; - check_run_id: number; + 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 OrgsUpdateParamsDeprecatedMembersAllowedRepositoryCreationType = { /** - * The name of the check. For example, "code-coverage". + * Billing email address. This address is not publicized. */ - name?: string; + billing_email?: string; /** - * The URL of the integrator's site that has the full details of the check. + * The company name. */ - details_url?: string; + company?: string; /** - * A reference for the run on the integrator's system. + * 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. */ - external_id?: string; + default_repository_permission?: "read" | "write" | "admin" | "none"; /** - * This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + * The description of the company. */ - started_at?: string; + description?: string; /** - * The current status. Can be one of `queued`, `in_progress`, or `completed`. + * The publicly visible email address. */ - status?: "queued" | "in_progress" | "completed"; + email?: 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`. + * Toggles whether an organization can use organization projects. */ - conclusion?: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required"; + has_organization_projects?: boolean; /** - * 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`. + * Toggles whether repositories that belong to the organization can use repository projects. */ - completed_at?: string; + has_repository_projects?: boolean; /** - * 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. + * The location. */ - output?: ChecksUpdateParamsOutput; + location?: string; /** - * 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. + * 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 Enterprise Cloud. + * \* `none` - only admin members can create repositories. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See [this note](https://developer.github.com/v3/orgs/#members_can_create_repositories) for details. + * @deprecated "members_allowed_repository_creation_type" parameter has been deprecated and will be removed in future */ - actions?: ChecksUpdateParamsActions[]; - }; - export type ChecksListForRefParams = { - owner: string; - - repo: string; - - ref: string; + members_allowed_repository_creation_type?: string; /** - * Returns check runs with the specified `name`. + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - check_name?: string; + members_can_create_internal_repositories?: boolean; /** - * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - status?: "queued" | "in_progress" | "completed"; + members_can_create_private_repositories?: boolean; /** - * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - filter?: "latest" | "all"; + members_can_create_public_repositories?: boolean; /** - * Results per page (max 100) + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. */ - per_page?: number; + members_can_create_repositories?: boolean; /** - * Page number of the results to fetch. + * The shorthand name of the company. */ - page?: number; - }; - export type ChecksListForSuiteParams = { - owner: string; - - repo: string; + name?: string; - check_suite_id: number; + org: string; + }; + export type OrgsUpdateParams = { /** - * Returns check runs with the specified `name`. + * Billing email address. This address is not publicized. */ - check_name?: string; + billing_email?: string; /** - * Returns check runs with the specified `status`. Can be one of `queued`, `in_progress`, or `completed`. + * The company name. */ - status?: "queued" | "in_progress" | "completed"; + company?: string; /** - * Filters check runs by their `completed_at` timestamp. Can be one of `latest` (returning the most recent check runs) or `all`. + * 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. */ - filter?: "latest" | "all"; + default_repository_permission?: "read" | "write" | "admin" | "none"; /** - * Results per page (max 100) + * The description of the company. */ - per_page?: number; + description?: string; /** - * Page number of the results to fetch. + * The publicly visible email address. */ - page?: number; - }; - export type ChecksGetParams = { - owner: string; - - repo: string; - - check_run_id: number; - }; - export type ChecksListAnnotationsParams = { - owner: string; - - repo: string; - - check_run_id: number; + email?: string; /** - * Results per page (max 100) + * Toggles whether an organization can use organization projects. */ - per_page?: number; + has_organization_projects?: boolean; /** - * Page number of the results to fetch. + * Toggles whether repositories that belong to the organization can use repository projects. */ - page?: number; - }; - export type ChecksGetSuiteParams = { - owner: string; - - repo: string; - - check_suite_id: number; - }; - export type ChecksListSuitesForRefParams = { - owner: string; - - repo: string; - - ref: string; + has_repository_projects?: boolean; /** - * Filters check suites by GitHub App `id`. + * The location. */ - app_id?: number; + location?: string; /** - * Filters checks suites by the name of the [check run](https://developer.github.com/v3/checks/runs/). + * Toggles whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud. Can be one of: + * \* `true` - all organization members can create internal repositories. + * \* `false` - only organization owners can create internal repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - check_name?: string; + members_can_create_internal_repositories?: boolean; /** - * Results per page (max 100) + * Toggles whether organization members can create private repositories, which are visible to organization members with permission. Can be one of: + * \* `true` - all organization members can create private repositories. + * \* `false` - only organization owners can create private repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - per_page?: number; + members_can_create_private_repositories?: boolean; /** - * Page number of the results to fetch. + * Toggles whether organization members can create public repositories, which are visible to anyone. Can be one of: + * \* `true` - all organization members can create public repositories. + * \* `false` - only organization owners can create public repositories. + * Default: `true`. For more information, see "[Restricting repository creation in your organization](https://help.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - page?: number; - }; - export type ChecksSetSuitesPreferencesParams = { - owner: string; - - repo: string; + members_can_create_public_repositories?: boolean; /** - * 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. + * Toggles the ability of non-admin organization members to create repositories. Can be one of: + * \* `true` - all organization members can create repositories. + * \* `false` - only organization owners can create repositories. + * Default: `true` + * **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. */ - auto_trigger_checks?: ChecksSetSuitesPreferencesParamsAutoTriggerChecks[]; - }; - export type ChecksCreateSuiteParams = { - owner: string; - - repo: string; + members_can_create_repositories?: boolean; /** - * The sha of the head commit. + * The shorthand name of the company. */ - head_sha: string; - }; - export type ChecksRerequestSuiteParams = { - owner: string; - - repo: string; - - check_suite_id: number; - }; - export type CodesOfConductGetConductCodeParams = { - key: string; - }; - export type CodesOfConductGetForRepoParams = { - owner: string; + name?: string; - repo: string; + org: string; }; - export type GistsListPublicForUserParams = { - username: string; + export type OrgsUpdateHookParams = { /** - * 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. + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ - since?: string; + active?: boolean; /** - * Results per page (max 100) + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/orgs/hooks/#update-hook-config-params). */ - per_page?: number; + config?: OrgsUpdateHookParamsConfig; /** - * Page number of the results to fetch. + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. */ - page?: number; + events?: string[]; + + hook_id: number; + + org: string; }; - export type GistsListParams = { - /** - * 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 OrgsUpdateMembershipParams = { + org: string; /** - * Results per page (max 100) + * The state that the membership should be in. Only `"active"` will be accepted. */ - per_page?: number; + state: "active"; + }; + export type ProjectsAddCollaboratorParams = { /** - * Page number of the results to fetch. + * 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. */ - page?: number; + permission?: "read" | "write" | "admin"; + + project_id: number; + + username: string; }; - export type GistsListPublicParams = { + export type ProjectsCreateCardParams = { + column_id: 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. + * 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`. */ - since?: string; + content_id?: number; /** - * Results per page (max 100) + * **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. */ - per_page?: number; + content_type?: string; /** - * Page number of the results to fetch. + * 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`. */ - page?: number; + note?: string; }; - export type GistsListStarredParams = { - /** - * 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; + export type ProjectsCreateColumnParams = { /** - * Page number of the results to fetch. + * The name of the column. */ - page?: number; - }; - export type GistsGetParams = { - gist_id: string; - }; - export type GistsGetRevisionParams = { - gist_id: string; + name: string; - sha: string; + project_id: number; }; - export type GistsCreateParams = { - /** - * 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; + export type ProjectsCreateForAuthenticatedUserParams = { /** - * A descriptive name for this gist. + * The description of the project. */ - description?: string; + body?: string; /** - * When `true`, the gist will be public and available for anyone to see. + * The name of the project. */ - public?: boolean; + name: string; }; - export type GistsUpdateParams = { - gist_id: string; + export type ProjectsCreateForOrgParams = { /** - * A descriptive name for this gist. + * The description of the project. */ - description?: string; + body?: string; /** - * The filenames and content that make up this gist. + * The name of the project. */ - files?: GistsUpdateParamsFiles; + name: string; + + org: string; }; - export type GistsListCommitsParams = { - gist_id: string; + export type ProjectsCreateForRepoParams = { /** - * Results per page (max 100) + * The description of the project. */ - per_page?: number; + body?: string; /** - * Page number of the results to fetch. + * The name of the project. */ - page?: number; + name: string; + + owner: string; + + repo: string; }; - export type GistsStarParams = { - gist_id: string; + export type ProjectsDeleteParams = { + project_id: number; }; - export type GistsUnstarParams = { - gist_id: string; + export type ProjectsDeleteCardParams = { + card_id: number; }; - export type GistsCheckIsStarredParams = { - gist_id: string; + export type ProjectsDeleteColumnParams = { + column_id: number; }; - export type GistsForkParams = { - gist_id: string; + export type ProjectsGetParams = { + project_id: number; }; - export type GistsListForksParams = { - gist_id: string; - /** - * Results per page (max 100) - */ - per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; + export type ProjectsGetCardParams = { + card_id: number; }; - export type GistsDeleteParams = { - gist_id: string; + export type ProjectsGetColumnParams = { + column_id: number; }; - export type GistsListCommentsParams = { - gist_id: string; + export type ProjectsListCardsParams = { /** - * Results per page (max 100) + * Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. */ - per_page?: number; + archived_state?: "all" | "archived" | "not_archived"; + + column_id: number; /** * Page number of the results to fetch. */ page?: number; - }; - export type GistsGetCommentParams = { - gist_id: string; - - comment_id: number; - }; - export type GistsCreateCommentParams = { - gist_id: string; /** - * The comment text. + * Results per page (max 100) */ - body: string; + per_page?: number; }; - export type GistsUpdateCommentParams = { - gist_id: string; - - comment_id: number; + export type ProjectsListCollaboratorsParams = { /** - * The comment text. + * 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. */ - body: string; - }; - export type GistsDeleteCommentParams = { - gist_id: string; - - comment_id: number; - }; - export type GitGetBlobParams = { - owner: string; - - repo: string; - - file_sha: string; - }; - export type GitCreateBlobParams = { - owner: string; - - repo: string; + affiliation?: "outside" | "direct" | "all"; /** - * The new blob's content. + * Page number of the results to fetch. */ - content: string; + page?: number; /** - * The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * Results per page (max 100) */ - encoding?: string; - }; - export type GitGetCommitParams = { - owner: string; - - repo: string; + per_page?: number; - commit_sha: string; + project_id: number; }; - export type GitCreateCommitParams = { - owner: string; - - repo: string; - /** - * The commit message - */ - message: string; + export type ProjectsListColumnsParams = { /** - * The SHA of the tree object this commit points to + * Page number of the results to fetch. */ - tree: string; + page?: number; /** - * 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. + * Results per page (max 100) */ - parents: string[]; + per_page?: number; + + project_id: number; + }; + export type ProjectsListForOrgParams = { + org: 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. + * Page number of the results to fetch. */ - author?: GitCreateCommitParamsAuthor; + page?: number; /** - * 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. + * Results per page (max 100) */ - committer?: GitCreateCommitParamsCommitter; + per_page?: number; /** - * 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. + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ - signature?: string; + state?: "open" | "closed" | "all"; }; - export type GitGetRefParams = { + export type ProjectsListForRepoParams = { owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; repo: string; /** - * Must be formatted as `heads/branch`, not just `branch` + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ - ref: string; + state?: "open" | "closed" | "all"; }; - export type GitListRefsParams = { - owner: string; - - repo: string; + export type ProjectsListForUserParams = { /** - * Filter by sub-namespace (reference prefix). Most commen examples would be `'heads/'` and `'tags/'` to retrieve branches or tags + * Page number of the results to fetch. */ - namespace?: string; + page?: number; /** * Results per page (max 100) */ per_page?: number; /** - * Page number of the results to fetch. + * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. */ - page?: number; - }; - export type GitCreateRefParams = { - owner: string; + state?: "open" | "closed" | "all"; - repo: string; + username: string; + }; + export type ProjectsMoveCardParams = { + card_id: number; /** - * 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. + * The `id` value of a column in the same project. */ - ref: string; + column_id?: number; /** - * The SHA1 value for this reference. + * 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`. */ - sha: string; + position: string; }; - export type GitUpdateRefParams = { - owner: string; - - repo: string; - - ref: string; - /** - * The SHA1 value to set this reference to - */ - sha: string; + export type ProjectsMoveColumnParams = { + column_id: number; /** - * 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. + * Can be one of `first`, `last`, or `after:`, where `` is the `id` value of a column in the same project. */ - force?: boolean; + position: string; }; - export type GitDeleteRefParams = { - owner: string; - - repo: string; + export type ProjectsRemoveCollaboratorParams = { + project_id: number; - ref: string; + username: string; }; - export type GitGetTagParams = { - owner: string; - - repo: string; + export type ProjectsReviewUserPermissionLevelParams = { + project_id: number; - tag_sha: string; + username: string; }; - export type GitCreateTagParams = { - owner: string; - - repo: string; + export type ProjectsUpdateParams = { /** - * The tag's name. This is typically a version (e.g., "v0.0.1"). + * The description of the project. */ - tag: string; + body?: string; /** - * The tag message. + * The name of the project. */ - message: string; + name?: string; /** - * The SHA of the git object this is tagging. + * 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. */ - object: string; + organization_permission?: string; /** - * The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + * 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. */ - type: "commit" | "tree" | "blob"; + private?: boolean; + + project_id: number; /** - * An object with information about the individual creating the tag. + * State of the project. Either `open` or `closed`. */ - tagger?: GitCreateTagParamsTagger; - }; - export type GitGetTreeParams = { - owner: string; - - repo: string; - - tree_sha: string; - - recursive?: 1; + state?: "open" | "closed"; }; - export type GitCreateTreeParams = { - owner: string; - - repo: string; + export type ProjectsUpdateCardParams = { /** - * Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. + * Use `true` to archive a project card. Specify `false` if you need to restore a previously archived project card. */ - tree: GitCreateTreeParamsTree[]; + archived?: boolean; + + card_id: number; /** - * 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. + * 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`. */ - base_tree?: string; + note?: string; }; - export type GitignoreGetTemplateParams = { + export type ProjectsUpdateColumnParams = { + column_id: number; + /** + * The new name of the column. + */ name: string; }; - export type InteractionsGetRestrictionsForOrgParams = { - org: string; - }; - export type InteractionsAddOrUpdateRestrictionsForOrgParams = { - org: string; + export type PullsCheckIfMergedParamsDeprecatedNumber = { /** - * 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`. + * @deprecated "number" parameter renamed to "pull_number" */ - limit: "existing_users" | "contributors_only" | "collaborators_only"; - }; - export type InteractionsRemoveRestrictionsForOrgParams = { - org: string; - }; - export type InteractionsGetRestrictionsForRepoParams = { - owner: string; + number: number; - repo: string; - }; - export type InteractionsAddOrUpdateRestrictionsForRepoParams = { owner: string; 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"; }; - export type InteractionsRemoveRestrictionsForRepoParams = { + export type PullsCheckIfMergedParams = { owner: string; + pull_number: number; + repo: string; }; - export type IssuesListParams = { + export type PullsCreateParams = { /** - * 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 + * 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. */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + base: string; /** - * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + * The contents of the pull request. */ - state?: "open" | "closed" | "all"; + body?: string; /** - * A list of comma separated label names. Example: `bug,ui,@high` + * 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. */ - labels?: string; + draft?: boolean; /** - * What to sort results by. Can be either `created`, `updated`, `comments`. + * 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`. */ - sort?: "created" | "updated" | "comments"; + head: string; /** - * The direction of the sort. Can be either `asc` or `desc`. + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - direction?: "asc" | "desc"; + maintainer_can_modify?: boolean; + + owner: string; + + 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`. + * The title of the new pull request. */ - since?: string; + title: string; + }; + export type PullsCreateCommentParamsDeprecatedNumber = { /** - * Results per page (max 100) + * The text of the review comment. */ - per_page?: number; + body: string; /** - * Page number of the results to fetch. + * 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`. */ - page?: number; - }; - export type IssuesListForAuthenticatedUserParams = { + commit_id: 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 + * **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. */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + line?: number; /** - * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + * @deprecated "number" parameter renamed to "pull_number" */ - state?: "open" | "closed" | "all"; + number: number; + + owner: string; /** - * A list of comma separated label names. Example: `bug,ui,@high` + * The relative path to the file that necessitates a comment. */ - labels?: string; + path: string; /** - * What to sort results by. Can be either `created`, `updated`, `comments`. + * **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. */ - sort?: "created" | "updated" | "comments"; + position?: number; + + repo: string; /** - * The direction of the sort. Can be either `asc` or `desc`. + * **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. */ - direction?: "asc" | "desc"; + side?: "LEFT" | "RIGHT"; /** - * 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`. + * **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. */ - since?: string; + start_line?: number; /** - * Results per page (max 100) + * **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. */ - per_page?: number; + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentParamsDeprecatedInReplyTo = { /** - * Page number of the results to fetch. + * The text of the review comment. */ - page?: number; - }; - export type IssuesListForOrgParams = { - org: string; + body: 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 + * 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`. */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "all"; + commit_id: string; /** - * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + * 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 */ - state?: "open" | "closed" | "all"; + in_reply_to?: number; /** - * A list of comma separated label names. Example: `bug,ui,@high` + * **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. */ - labels?: string; + line?: number; + + owner: string; /** - * What to sort results by. Can be either `created`, `updated`, `comments`. + * The relative path to the file that necessitates a comment. */ - sort?: "created" | "updated" | "comments"; + path: string; /** - * The direction of the sort. Can be either `asc` or `desc`. + * **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. */ - direction?: "asc" | "desc"; + position?: number; + + pull_number: 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`. + * **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. */ - since?: string; + side?: "LEFT" | "RIGHT"; /** - * Results per page (max 100) + * **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. */ - per_page?: number; + start_line?: number; /** - * Page number of the results to fetch. + * **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. */ - page?: number; + start_side?: "LEFT" | "RIGHT" | "side"; }; - export type IssuesListForRepoParams = { - owner: string; - - repo: string; + export type PullsCreateCommentParams = { /** - * 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. + * The text of the review comment. */ - milestone?: string; + body: string; /** - * Indicates the state of the issues to return. Can be either `open`, `closed`, or `all`. + * 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`. */ - state?: "open" | "closed" | "all"; + commit_id: string; /** - * Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. + * **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. */ - assignee?: string; + line?: number; + + owner: string; /** - * The user that created the issue. + * The relative path to the file that necessitates a comment. */ - creator?: string; + path: string; /** - * A user that's mentioned in the issue. + * **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. */ - mentioned?: string; + position?: number; + + pull_number: number; + + repo: string; /** - * A list of comma separated label names. Example: `bug,ui,@high` + * **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. */ - labels?: string; + side?: "LEFT" | "RIGHT"; /** - * What to sort results by. Can be either `created`, `updated`, `comments`. + * **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. */ - sort?: "created" | "updated" | "comments"; + start_line?: number; /** - * The direction of the sort. Can be either `asc` or `desc`. + * **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. */ - direction?: "asc" | "desc"; + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentReplyParamsDeprecatedNumber = { /** - * 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`. + * The text of the review comment. */ - since?: string; + body: string; /** - * Results per page (max 100) + * 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`. */ - per_page?: number; + commit_id: string; /** - * Page number of the results to fetch. + * **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. */ - page?: number; - }; - export type IssuesGetParamsDeprecatedNumber = { - owner: string; - - repo: string; + line?: number; /** - * @deprecated "number" parameter renamed to "issue_number" + * @deprecated "number" parameter renamed to "pull_number" */ number: number; - }; - export type IssuesGetParams = { - owner: string; - - repo: string; - issue_number: number; - }; - export type IssuesCreateParams = { 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; /** - * The title of the issue. + * **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. */ - title: string; + side?: "LEFT" | "RIGHT"; /** - * The contents of the issue. + * **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. */ - body?: string; + start_line?: number; /** - * 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.**_ + * **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. */ - assignee?: string; + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentReplyParamsDeprecatedInReplyTo = { /** - * 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._ + * The text of the review comment. */ - milestone?: number; + 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._ + * 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`. */ - labels?: string[]; + commit_id: 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._ + * 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 */ - assignees?: string[]; - }; - export type IssuesUpdateParamsDeprecatedNumber = { + 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; /** - * The title of the issue. + * **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. */ - title?: string; + side?: "LEFT" | "RIGHT"; /** - * The contents of the issue. + * **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. */ - body?: string; + start_line?: number; /** - * Login for the user that this issue should be assigned to. **This field is deprecated.** + * **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. */ - assignee?: string; + start_side?: "LEFT" | "RIGHT" | "side"; + }; + export type PullsCreateCommentReplyParams = { /** - * State of the issue. Either `open` or `closed`. + * The text of the review comment. */ - state?: "open" | "closed"; + body: 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._ + * 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`. */ - milestone?: number | null; + commit_id: 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._ + * **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. */ - labels?: string[]; + line?: number; + + owner: 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._ + * The relative path to the file that necessitates a comment. */ - assignees?: string[]; + path: string; /** - * @deprecated "number" parameter renamed to "issue_number" + * **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. */ - number: number; + 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 IssuesUpdateParams = { + export type PullsCreateFromIssueParams = { + base: string; + + draft?: boolean; + + head: string; + + issue: number; + + maintainer_can_modify?: boolean; + owner: string; repo: string; - - issue_number: number; + }; + export type PullsCreateReviewParamsDeprecatedNumber = { /** - * The title of the issue. + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ - title?: string; + body?: string; /** - * The contents of the issue. + * Use the following table to specify the location, destination, and contents of the draft review comment. */ - body?: string; + comments?: PullsCreateReviewParamsComments[]; /** - * Login for the user that this issue should be assigned to. **This field is deprecated.** + * 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. */ - assignee?: string; + commit_id?: string; /** - * State of the issue. Either `open` or `closed`. + * 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. */ - state?: "open" | "closed"; + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; /** - * 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._ + * @deprecated "number" parameter renamed to "pull_number" */ - milestone?: number | null; + number: number; + + owner: string; + + repo: string; + }; + export type PullsCreateReviewParams = { /** - * 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._ + * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ - labels?: string[]; + body?: 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._ + * Use the following table to specify the location, destination, and contents of the draft review comment. */ - assignees?: string[]; - }; - export type IssuesLockParamsDeprecatedNumber = { - owner: string; - - repo: string; + comments?: PullsCreateReviewParamsComments[]; /** - * 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` + * 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. */ - lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + commit_id?: string; /** - * @deprecated "number" parameter renamed to "issue_number" + * 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. */ - number: number; - }; - export type IssuesLockParams = { + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + owner: string; - repo: string; + pull_number: number; - issue_number: number; + repo: string; + }; + export type PullsCreateReviewCommentReplyParams = { /** - * 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` + * The text of the review comment. */ - lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; - }; - export type IssuesUnlockParamsDeprecatedNumber = { + body: string; + + comment_id: number; + owner: string; + pull_number: number; + repo: string; + }; + export type PullsCreateReviewRequestParamsDeprecatedNumber = { /** - * @deprecated "number" parameter renamed to "issue_number" + * @deprecated "number" parameter renamed to "pull_number" */ number: number; - }; - export type IssuesUnlockParams = { - owner: string; - - repo: string; - issue_number: number; - }; - export type IssuesListAssigneesParams = { owner: string; repo: string; /** - * Results per page (max 100) + * An array of user `login`s that will be requested. */ - per_page?: number; + reviewers?: string[]; /** - * Page number of the results to fetch. + * An array of team `slug`s that will be requested. */ - page?: number; + team_reviewers?: string[]; }; - export type IssuesCheckAssigneeParams = { + export type PullsCreateReviewRequestParams = { owner: string; - repo: string; - - assignee: string; - }; - export type IssuesAddAssigneesParamsDeprecatedNumber = { - owner: string; + pull_number: number; repo: string; /** - * 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._ + * An array of user `login`s that will be requested. */ - assignees?: string[]; + reviewers?: string[]; /** - * @deprecated "number" parameter renamed to "issue_number" + * An array of team `slug`s that will be requested. */ - number: number; + team_reviewers?: string[]; }; - export type IssuesAddAssigneesParams = { - owner: string; - - repo: string; + export type PullsDeleteCommentParams = { + comment_id: number; - 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[]; - }; - export type IssuesRemoveAssigneesParamsDeprecatedNumber = { owner: string; repo: string; + }; + export type PullsDeletePendingReviewParamsDeprecatedNumber = { /** - * 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" + * @deprecated "number" parameter renamed to "pull_number" */ number: number; - }; - export type IssuesRemoveAssigneesParams = { + owner: string; repo: string; - 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[]; + review_id: number; }; - export type IssuesListCommentsParamsDeprecatedNumber = { + export type PullsDeletePendingReviewParams = { 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; - /** - * Results per page (max 100) - */ - per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; - /** - * @deprecated "number" parameter renamed to "issue_number" - */ - number: number; - }; - export type IssuesListCommentsParams = { - owner: string; + pull_number: number; repo: string; - 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; + review_id: number; + }; + export type PullsDeleteReviewRequestParamsDeprecatedNumber = { /** - * Page number of the results to fetch. + * @deprecated "number" parameter renamed to "pull_number" */ - page?: number; - }; - export type IssuesListCommentsForRepoParams = { + number: number; + owner: string; repo: string; /** - * Either `created` or `updated`. - */ - sort?: "created" | "updated"; - /** - * Either `asc` or `desc`. Ignored without the `sort` parameter. + * An array of user `login`s that will be removed. */ - direction?: "asc" | "desc"; + reviewers?: 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`. + * An array of team `slug`s that will be removed. */ - since?: string; + team_reviewers?: string[]; }; - export type IssuesGetCommentParams = { + export type PullsDeleteReviewRequestParams = { owner: string; - repo: string; + pull_number: number; - comment_id: number; + repo: string; /** - * Results per page (max 100) + * An array of user `login`s that will be removed. */ - per_page?: number; + reviewers?: string[]; /** - * Page number of the results to fetch. + * An array of team `slug`s that will be removed. */ - page?: number; + team_reviewers?: string[]; }; - export type IssuesCreateCommentParamsDeprecatedNumber = { - owner: string; - - repo: string; + export type PullsDismissReviewParamsDeprecatedNumber = { /** - * The contents of the comment. + * The message for the pull request review dismissal */ - body: string; + message: string; /** - * @deprecated "number" parameter renamed to "issue_number" + * @deprecated "number" parameter renamed to "pull_number" */ number: number; - }; - export type IssuesCreateCommentParams = { + owner: string; repo: string; - issue_number: number; + review_id: number; + }; + export type PullsDismissReviewParams = { /** - * The contents of the comment. + * The message for the pull request review dismissal */ - body: string; - }; - export type IssuesUpdateCommentParams = { + message: string; + owner: string; + pull_number: number; + repo: string; - comment_id: number; + review_id: number; + }; + export type PullsGetParamsDeprecatedNumber = { /** - * The contents of the comment. + * @deprecated "number" parameter renamed to "pull_number" */ - body: string; - }; - export type IssuesDeleteCommentParams = { + number: number; + owner: string; repo: string; + }; + export type PullsGetParams = { + owner: string; - comment_id: number; + pull_number: number; + + repo: string; }; - export type IssuesListEventsParamsDeprecatedNumber = { + export type PullsGetCommentParams = { + comment_id: number; + owner: string; repo: string; + }; + export type PullsGetCommentsForReviewParamsDeprecatedNumber = { /** - * Results per page (max 100) + * @deprecated "number" parameter renamed to "pull_number" */ - per_page?: number; + number: number; + + owner: string; /** * Page number of the results to fetch. */ page?: number; /** - * @deprecated "number" parameter renamed to "issue_number" + * Results per page (max 100) */ - number: number; - }; - export type IssuesListEventsParams = { - owner: string; + per_page?: number; repo: string; - issue_number: number; - /** - * Results per page (max 100) - */ - per_page?: number; + review_id: number; + }; + export type PullsGetCommentsForReviewParams = { + owner: string; /** * Page number of the results to fetch. */ page?: number; - }; - export type IssuesListEventsForRepoParams = { - owner: string; - - repo: string; /** * Results per page (max 100) */ per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; - }; - export type IssuesGetEventParams = { - owner: string; + + pull_number: number; repo: string; - event_id: number; + review_id: number; }; - export type IssuesListLabelsForRepoParams = { - owner: string; - - repo: string; - /** - * Results per page (max 100) - */ - per_page?: number; + export type PullsGetReviewParamsDeprecatedNumber = { /** - * Page number of the results to fetch. + * @deprecated "number" parameter renamed to "pull_number" */ - page?: number; - }; - export type IssuesGetLabelParams = { + number: number; + owner: string; repo: string; - name: string; + review_id: number; }; - export type IssuesCreateLabelParams = { + export type PullsGetReviewParams = { owner: string; + pull_number: number; + repo: string; + + review_id: number; + }; + export type PullsListParams = { /** - * 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/). + * Filter pulls by base branch name. Example: `gh-pages`. */ - name: string; + base?: string; /** - * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + * The direction of the sort. Can be either `asc` or `desc`. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ - color: string; + direction?: "asc" | "desc"; /** - * A short description of the label. + * 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`. */ - description?: string; - }; - export type IssuesUpdateLabelParams = { + head?: string; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; repo: string; - - current_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/). + * 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). */ - name?: string; + sort?: "created" | "updated" | "popularity" | "long-running"; /** - * The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. + * Either `open`, `closed`, or `all` to filter by state. */ - color?: string; + state?: "open" | "closed" | "all"; + }; + export type PullsListCommentsParamsDeprecatedNumber = { /** - * A short description of the label. + * Can be either `asc` or `desc`. Ignored without `sort` parameter. */ - description?: string; - }; - export type IssuesDeleteLabelParams = { - owner: string; - - repo: string; + direction?: "asc" | "desc"; + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; - name: string; - }; - export type IssuesListLabelsOnIssueParamsDeprecatedNumber = { owner: string; - - repo: string; + /** + * Page number of the results to fetch. + */ + page?: number; /** * Results per page (max 100) */ per_page?: number; + + repo: string; /** - * Page number of the results to fetch. + * 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. */ - page?: number; + since?: string; /** - * @deprecated "number" parameter renamed to "issue_number" + * Can be either `created` or `updated` comments. */ - number: number; + sort?: "created" | "updated"; }; - export type IssuesListLabelsOnIssueParams = { - owner: string; - - repo: string; - - issue_number: number; + export type PullsListCommentsParams = { /** - * Results per page (max 100) + * Can be either `asc` or `desc`. Ignored without `sort` parameter. */ - per_page?: number; + direction?: "asc" | "desc"; + + owner: string; /** * Page number of the results to fetch. */ page?: number; - }; - export type IssuesAddLabelsParamsDeprecatedNumber = { - owner: string; + /** + * Results per page (max 100) + */ + per_page?: number; + + pull_number: number; repo: string; /** - * 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. + * 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. */ - labels: string[]; + since?: string; /** - * @deprecated "number" parameter renamed to "issue_number" + * Can be either `created` or `updated` comments. */ - number: number; + sort?: "created" | "updated"; }; - export type IssuesAddLabelsParams = { + 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; - - 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. + * 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. */ - labels: string[]; + since?: string; + /** + * Can be either `created` or `updated` comments. + */ + sort?: "created" | "updated"; }; - export type IssuesRemoveLabelParamsDeprecatedNumber = { - owner: string; - - repo: string; - - name: string; + export type PullsListCommitsParamsDeprecatedNumber = { /** - * @deprecated "number" parameter renamed to "issue_number" + * @deprecated "number" parameter renamed to "pull_number" */ number: number; - }; - export type IssuesRemoveLabelParams = { - owner: string; - - repo: string; - issue_number: number; - - name: string; - }; - export type IssuesReplaceLabelsParamsDeprecatedNumber = { owner: string; - - repo: string; /** - * 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. + * Page number of the results to fetch. */ - labels?: string[]; + page?: number; /** - * @deprecated "number" parameter renamed to "issue_number" + * Results per page (max 100) */ - number: number; - }; - export type IssuesReplaceLabelsParams = { - owner: string; + per_page?: number; repo: string; - - 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[]; }; - export type IssuesRemoveLabelsParamsDeprecatedNumber = { + 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 "issue_number" + * @deprecated "number" parameter renamed to "pull_number" */ number: number; - }; - export type IssuesRemoveLabelsParams = { - owner: string; - - repo: string; - issue_number: number; - }; - export type IssuesListLabelsForMilestoneParamsDeprecatedNumber = { owner: string; - - repo: 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; /** - * @deprecated "number" parameter renamed to "milestone_number" + * Results per page (max 100) */ - number: number; - }; - export type IssuesListLabelsForMilestoneParams = { - owner: string; + per_page?: number; + + pull_number: number; repo: string; + }; + export type PullsListReviewRequestsParamsDeprecatedNumber = { + /** + * @deprecated "number" parameter renamed to "pull_number" + */ + number: number; - 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 PullsListReviewRequestsParams = { + owner: string; /** * Page number of the results to fetch. */ page?: number; - }; - export type IssuesListMilestonesForRepoParams = { - owner: string; - - repo: string; /** - * The state of the milestone. Either `open`, `closed`, or `all`. + * Results per page (max 100) */ - state?: "open" | "closed" | "all"; + per_page?: number; + + pull_number: number; + + repo: string; + }; + export type PullsListReviewsParamsDeprecatedNumber = { /** - * What to sort results by. Either `due_on` or `completeness`. + * @deprecated "number" parameter renamed to "pull_number" */ - sort?: "due_on" | "completeness"; + number: number; + + owner: string; /** - * The direction of the sort. Either `asc` or `desc`. + * Page number of the results to fetch. */ - direction?: "asc" | "desc"; + 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; - }; - export type IssuesGetMilestoneParamsDeprecatedNumber = { - owner: string; - - repo: string; /** - * @deprecated "number" parameter renamed to "milestone_number" + * Results per page (max 100) */ - number: number; - }; - export type IssuesGetMilestoneParams = { - owner: string; - - repo: string; + per_page?: number; - milestone_number: number; - }; - export type IssuesCreateMilestoneParams = { - owner: string; + pull_number: number; repo: string; + }; + export type PullsMergeParamsDeprecatedNumber = { /** - * The title of the milestone. + * Extra detail to append to automatic commit message. */ - title: string; + commit_message?: string; /** - * The state of the milestone. Either `open` or `closed`. + * Title for the automatic commit message. */ - state?: "open" | "closed"; + commit_title?: string; /** - * A description of the milestone. + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. */ - description?: string; + merge_method?: "merge" | "squash" | "rebase"; /** - * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + * @deprecated "number" parameter renamed to "pull_number" */ - due_on?: string; - }; - export type IssuesUpdateMilestoneParamsDeprecatedNumber = { + number: number; + owner: string; repo: string; /** - * The title of the milestone. - */ - title?: string; - /** - * The state of the milestone. Either `open` or `closed`. + * SHA that pull request head must match to allow merge. */ - state?: "open" | "closed"; + sha?: string; + }; + export type PullsMergeParams = { /** - * A description of the milestone. + * Extra detail to append to automatic commit message. */ - description?: string; + commit_message?: 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`. + * Title for the automatic commit message. */ - due_on?: string; + commit_title?: string; /** - * @deprecated "number" parameter renamed to "milestone_number" + * Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`. */ - number: number; - }; - export type IssuesUpdateMilestoneParams = { + merge_method?: "merge" | "squash" | "rebase"; + owner: string; - repo: string; + pull_number: number; - milestone_number: number; + repo: string; /** - * The title of the milestone. + * SHA that pull request head must match to allow merge. */ - title?: string; + sha?: string; + }; + export type PullsSubmitReviewParamsDeprecatedNumber = { /** - * The state of the milestone. Either `open` or `closed`. + * The body text of the pull request review */ - state?: "open" | "closed"; + body?: string; /** - * A description of the milestone. + * 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. */ - description?: string; + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; /** - * The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + * @deprecated "number" parameter renamed to "pull_number" */ - due_on?: string; - }; - export type IssuesDeleteMilestoneParamsDeprecatedNumber = { + number: number; + owner: string; repo: string; + + review_id: number; + }; + export type PullsSubmitReviewParams = { /** - * @deprecated "number" parameter renamed to "milestone_number" + * The body text of the pull request review */ - number: number; - }; - export type IssuesDeleteMilestoneParams = { + 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; - milestone_number: number; + review_id: number; }; - export type IssuesListEventsForTimelineParamsDeprecatedNumber = { - owner: string; - - repo: string; + export type PullsUpdateParamsDeprecatedNumber = { /** - * Results per page (max 100) + * 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. */ - per_page?: number; + base?: string; /** - * Page number of the results to fetch. + * The contents of the pull request. */ - page?: number; + body?: string; /** - * @deprecated "number" parameter renamed to "issue_number" + * 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; - }; - export type IssuesListEventsForTimelineParams = { + owner: string; repo: string; - - issue_number: number; /** - * Results per page (max 100) + * State of this Pull Request. Either `open` or `closed`. */ - per_page?: number; + state?: "open" | "closed"; /** - * Page number of the results to fetch. + * The title of the pull request. */ - page?: number; - }; - export type LicensesGetParams = { - license: string; - }; - export type LicensesGetForRepoParams = { - owner: string; - - repo: string; + title?: string; }; - export type MarkdownRenderParams = { - /** - * The Markdown text to render in HTML. Markdown content must be 400 KB or less. - */ - text: string; + export type PullsUpdateParams = { /** - * 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. + * 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. */ - mode?: "markdown" | "gfm"; + base?: string; /** - * The repository context to use when creating references in `gfm` mode. Omit this parameter when using `markdown` mode. + * The contents of the pull request. */ - context?: string; - }; - export type MarkdownRenderRawParams = { - data: string; - }; - export type MigrationsStartForOrgParams = { - org: string; + body?: string; /** - * A list of arrays indicating which repositories should be migrated. + * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - repositories: string[]; + maintainer_can_modify?: boolean; + + owner: string; + + pull_number: number; + + repo: string; /** - * Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + * State of this Pull Request. Either `open` or `closed`. */ - lock_repositories?: boolean; + state?: "open" | "closed"; /** - * Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + * The title of the pull request. */ - exclude_attachments?: boolean; + title?: string; }; - export type MigrationsListForOrgParams = { - org: string; - /** - * Results per page (max 100) - */ - per_page?: number; + export type PullsUpdateBranchParams = { /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type MigrationsGetStatusForOrgParams = { - org: string; + expected_head_sha?: string; - migration_id: number; - }; - export type MigrationsGetArchiveForOrgParams = { - org: string; + owner: string; - migration_id: number; - }; - export type MigrationsDeleteArchiveForOrgParams = { - org: string; + pull_number: number; - migration_id: number; + repo: string; }; - export type MigrationsUnlockRepoForOrgParams = { - org: string; + export type PullsUpdateCommentParams = { + /** + * The text of the reply to the review comment. + */ + body: string; - migration_id: number; + comment_id: number; - repo_name: string; - }; - export type MigrationsStartImportParams = { owner: string; repo: string; + }; + export type PullsUpdateReviewParamsDeprecatedNumber = { /** - * The URL of the originating repository. + * The body text of the pull request review. */ - vcs_url: string; + body: 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. + * @deprecated "number" parameter renamed to "pull_number" */ - vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + number: number; + + owner: string; + + repo: string; + + review_id: number; + }; + export type PullsUpdateReviewParams = { /** - * If authentication is required, the username to provide to `vcs_url`. + * The body text of the pull request review. */ - vcs_username?: string; + body: string; + + owner: string; + + pull_number: number; + + repo: string; + + review_id: number; + }; + export type ReactionsCreateForCommitCommentParams = { + comment_id: number; /** - * If authentication is required, the password to provide to `vcs_url`. + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the commit comment. */ - vcs_password?: string; + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForIssueParamsDeprecatedNumber = { /** - * For a tfvc import, the name of the project that is being imported. + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue. */ - tfvc_project?: string; - }; - export type MigrationsGetImportProgressParams = { + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * @deprecated "number" parameter renamed to "issue_number" + */ + number: number; + owner: string; repo: string; }; - export type MigrationsUpdateImportParams = { + 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 username to provide to the originating repository. + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the issue comment. */ - vcs_username?: string; + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; + + repo: string; + }; + export type ReactionsCreateForPullRequestReviewCommentParams = { + comment_id: number; /** - * The password to provide to the originating repository. + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the pull request review comment. */ - vcs_password?: string; - }; - export type MigrationsGetCommitAuthorsParams = { + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + owner: string; repo: string; + }; + export type ReactionsCreateForTeamDiscussionParams = { /** - * 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. + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. */ - since?: string; + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + team_id: number; }; - export type MigrationsMapCommitAuthorParams = { - owner: string; + 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"; - repo: string; + discussion_number: number; - author_id: number; + team_id: number; + }; + export type ReactionsCreateForTeamDiscussionCommentInOrgParams = { + comment_number: number; /** - * The new Git author email. + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. */ - email?: string; + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + org: string; + + team_slug: string; + }; + export type ReactionsCreateForTeamDiscussionCommentLegacyParams = { + comment_number: number; /** - * The new Git author name. + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. */ - name?: string; + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + team_id: number; }; - export type MigrationsSetLfsPreferenceParams = { - owner: string; + export type ReactionsCreateForTeamDiscussionInOrgParams = { + /** + * 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"; - repo: string; + discussion_number: number; + + org: string; + + team_slug: string; + }; + export type ReactionsCreateForTeamDiscussionLegacyParams = { /** - * 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). + * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion. */ - use_lfs: "opt_in" | "opt_out"; + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + team_id: number; }; - export type MigrationsGetLargeFilesParams = { - owner: string; + 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"; - repo: string; - }; - export type MigrationsCancelImportParams = { owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; repo: string; }; - export type MigrationsStartForAuthenticatedUserParams = { + export type ReactionsListForIssueParamsDeprecatedNumber = { /** - * An array of repositories to include in the migration. + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. */ - repositories: string[]; + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; /** - * Locks the `repositories` to prevent changes during the migration when set to `true`. + * @deprecated "number" parameter renamed to "issue_number" */ - lock_repositories?: boolean; + number: number; + + owner: string; /** - * 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. + * Page number of the results to fetch. */ - exclude_attachments?: boolean; - }; - export type MigrationsListForAuthenticatedUserParams = { + page?: number; /** * Results per page (max 100) */ per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; - }; - export type MigrationsGetStatusForAuthenticatedUserParams = { - migration_id: number; - }; - export type MigrationsGetArchiveForAuthenticatedUserParams = { - migration_id: number; - }; - export type MigrationsDeleteArchiveForAuthenticatedUserParams = { - migration_id: number; - }; - export type MigrationsUnlockRepoForAuthenticatedUserParams = { - migration_id: number; - repo_name: string; + repo: string; }; - export type OauthAuthorizationsListGrantsParams = { + export type ReactionsListForIssueParams = { /** - * Results per page (max 100) + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue. */ - per_page?: number; + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + issue_number: number; + + owner: string; /** * Page number of the results to fetch. */ page?: number; - }; - export type OauthAuthorizationsGetGrantParams = { - grant_id: number; - }; - export type OauthAuthorizationsDeleteGrantParams = { - grant_id: number; - }; - export type OauthAuthorizationsListAuthorizationsParams = { /** * Results per page (max 100) */ per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; - }; - export type OauthAuthorizationsGetAuthorizationParams = { - authorization_id: number; + + repo: string; }; - export type OauthAuthorizationsCreateAuthorizationParams = { - /** - * 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; + export type ReactionsListForIssueCommentParams = { + comment_id: number; /** - * The 20 character OAuth app client key for which to create the token. + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to an issue comment. */ - client_id?: string; + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; /** - * The 40 character OAuth app client secret for which to create the token. + * Page number of the results to fetch. */ - client_secret?: string; + page?: number; /** - * A unique string to distinguish an authorization from others created for the same client ID and user. + * Results per page (max 100) */ - fingerprint?: string; + per_page?: number; + + repo: string; }; - 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 list of scopes that this authorization is in. - */ - scopes?: string[]; + export type ReactionsListForPullRequestReviewCommentParams = { + comment_id: number; /** - * A note to remind you what the OAuth token is for. + * 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. */ - note?: string; + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + owner: string; /** - * A URL to remind you what app the OAuth token is for. + * Page number of the results to fetch. */ - note_url?: string; + page?: number; /** - * 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). + * Results per page (max 100) */ - fingerprint?: string; - }; - export type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintParams = { - client_id: string; + per_page?: number; - fingerprint: string; - /** - * The 40 character OAuth app client secret associated with the client ID specified in the URL. - */ - client_secret: string; + repo: string; + }; + export type ReactionsListForTeamDiscussionParams = { /** - * A list of scopes that this authorization is in. + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. */ - scopes?: string[]; + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; /** - * A note to remind you what the OAuth token is for. + * Page number of the results to fetch. */ - note?: string; + page?: number; /** - * A URL to remind you what app the OAuth token is for. + * Results per page (max 100) */ - note_url?: string; - }; - export type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintParams = { - client_id: string; + per_page?: number; - fingerprint: string; - /** - * The 40 character OAuth app client secret associated with the client ID specified in the URL. - */ - client_secret: string; + team_id: number; + }; + export type ReactionsListForTeamDiscussionCommentParams = { + comment_number: number; /** - * A list of scopes that this authorization is in. + * 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. */ - scopes?: string[]; + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; /** - * A note to remind you what the OAuth token is for. + * Page number of the results to fetch. */ - note?: string; + page?: number; /** - * A URL to remind you what app the OAuth token is for. + * Results per page (max 100) */ - note_url?: string; + per_page?: number; + + team_id: number; }; - export type OauthAuthorizationsUpdateAuthorizationParams = { - authorization_id: number; + export type ReactionsListForTeamDiscussionCommentInOrgParams = { + comment_number: number; /** - * Replaces the authorization scopes with these. + * 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. */ - scopes?: string[]; + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + org: string; /** - * A list of scopes to add to this authorization. + * Page number of the results to fetch. */ - add_scopes?: string[]; + page?: number; /** - * A list of scopes to remove from this authorization. + * Results per page (max 100) */ - remove_scopes?: string[]; + per_page?: number; + + team_slug: string; + }; + export type ReactionsListForTeamDiscussionCommentLegacyParams = { + comment_number: number; /** - * 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. + * 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. */ - note?: string; + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; /** - * A URL to remind you what app the OAuth token is for. + * Page number of the results to fetch. */ - note_url?: string; + page?: number; /** - * A unique string to distinguish an authorization from others created for the same client ID and user. + * Results per page (max 100) */ - fingerprint?: string; - }; - export type OauthAuthorizationsDeleteAuthorizationParams = { - authorization_id: number; - }; - export type OauthAuthorizationsCheckAuthorizationParams = { - client_id: string; - - access_token: string; - }; - export type OauthAuthorizationsResetAuthorizationParams = { - client_id: string; - - access_token: string; - }; - export type OauthAuthorizationsRevokeAuthorizationForApplicationParams = { - client_id: string; - - access_token: string; - }; - export type OauthAuthorizationsRevokeGrantForApplicationParams = { - client_id: string; + per_page?: number; - access_token: string; + team_id: number; }; - export type OrgsListForAuthenticatedUserParams = { + export type ReactionsListForTeamDiscussionInOrgParams = { /** - * Results per page (max 100) + * Returns a single [reaction type](https://developer.github.com/v3/reactions/#reaction-types). Omit this parameter to list all reactions to a team discussion. */ - per_page?: number; + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + + discussion_number: number; + + org: string; /** * Page number of the results to fetch. */ page?: number; - }; - export type OrgsListParams = { - /** - * The integer ID of the last Organization that you've seen. - */ - since?: string; /** * Results per page (max 100) */ per_page?: number; + + team_slug: string; + }; + export type ReactionsListForTeamDiscussionLegacyParams = { + /** + * 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; - }; - export type OrgsListForUserParams = { - username: string; /** * Results per page (max 100) */ per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; + + team_id: number; }; - export type OrgsGetParams = { - org: string; + export type ReposAcceptInvitationParams = { + invitation_id: number; }; - export type OrgsUpdateParams = { - 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; + export type ReposAddCollaboratorParams = { + owner: string; /** - * Toggles whether repository projects are enabled for repositories that belong to the organization. + * 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. */ - has_repository_projects?: boolean; + permission?: "pull" | "push" | "admin"; + + repo: string; + + username: string; + }; + export type ReposAddDeployKeyParams = { /** - * 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. + * The contents of the key. */ - default_repository_permission?: "read" | "write" | "admin" | "none"; + key: string; + + owner: string; /** - * 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. + * 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/)." */ - members_can_create_repositories?: boolean; + read_only?: boolean; + + repo: 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. + * A name for the key. */ - members_allowed_repository_creation_type?: "all" | "private" | "none"; - }; - export type OrgsListBlockedUsersParams = { - org: string; + title?: string; }; - export type OrgsCheckBlockedUserParams = { - org: string; + export type ReposAddProtectedBranchAdminEnforcementParams = { + branch: string; - username: string; - }; - export type OrgsBlockUserParams = { - org: string; + owner: string; - username: string; + repo: string; }; - export type OrgsUnblockUserParams = { - org: string; + export type ReposAddProtectedBranchAppRestrictionsParams = { + apps: string[]; - username: string; + branch: string; + + owner: string; + + repo: string; }; - export type OrgsListHooksParams = { - org: string; - /** - * Results per page (max 100) - */ - per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; + export type ReposAddProtectedBranchRequiredSignaturesParams = { + branch: string; + + owner: string; + + repo: string; }; - export type OrgsGetHookParams = { - org: string; + export type ReposAddProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; - hook_id: number; + contexts: string[]; + + owner: string; + + repo: string; }; - export type OrgsCreateHookParams = { - 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; + export type ReposAddProtectedBranchTeamRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + teams: string[]; }; - export type OrgsUpdateHookParams = { - org: string; + export type ReposAddProtectedBranchUserRestrictionsParams = { + branch: string; + + owner: string; + + repo: string; + + users: string[]; + }; + export type ReposCheckCollaboratorParams = { + owner: string; - 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; + repo: string; + + username: string; }; - export type OrgsPingHookParams = { - org: string; + export type ReposCheckVulnerabilityAlertsParams = { + owner: string; - hook_id: number; + repo: string; }; - export type OrgsDeleteHookParams = { - org: string; + export type ReposCompareCommitsParams = { + base: string; - hook_id: number; + head: string; + + owner: string; + + repo: string; }; - export type OrgsListMembersParams = { - org: string; + export type ReposCreateCommitCommentParamsDeprecatedSha = { /** - * 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. + * The contents of the comment. */ - filter?: "2fa_disabled" | "all"; + body: string; + + owner: string; /** - * 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. + * Relative path of the file to comment on. */ - role?: "all" | "admin" | "member"; + path?: string; /** - * Results per page (max 100) + * Line index in the diff to comment on. */ - per_page?: number; + position?: number; + + repo: string; /** - * Page number of the results to fetch. + * @deprecated "sha" parameter renamed to "commit_sha" */ - page?: number; + sha: string; }; - export type OrgsCheckMembershipParams = { - org: string; + export type ReposCreateCommitCommentParamsDeprecatedLine = { + /** + * The contents of the comment. + */ + body: string; - username: string; - }; - export type OrgsRemoveMemberParams = { - org: 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; - username: string; - }; - export type OrgsListPublicMembersParams = { - org: string; + owner: string; /** - * Results per page (max 100) + * Relative path of the file to comment on. */ - per_page?: number; + path?: string; /** - * Page number of the results to fetch. + * Line index in the diff to comment on. */ - page?: number; - }; - export type OrgsCheckPublicMembershipParams = { - org: string; - - username: string; - }; - export type OrgsPublicizeMembershipParams = { - org: string; - - username: string; - }; - export type OrgsConcealMembershipParams = { - org: string; - - username: string; - }; - export type OrgsGetMembershipParams = { - org: string; + position?: number; - username: string; + repo: string; }; - export type OrgsAddOrUpdateMembershipParams = { - org: string; - - username: string; + export type ReposCreateCommitCommentParams = { /** - * 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. + * The contents of the comment. */ - role?: "admin" | "member"; - }; - export type OrgsRemoveMembershipParams = { - org: string; + body: string; - username: string; - }; - export type OrgsListInvitationTeamsParams = { - org: string; + commit_sha: string; - invitation_id: number; + owner: string; /** - * Results per page (max 100) + * Relative path of the file to comment on. */ - per_page?: number; + path?: string; /** - * Page number of the results to fetch. + * Line index in the diff to comment on. */ - page?: number; + position?: number; + + repo: string; }; - export type OrgsListPendingInvitationsParams = { - org: string; + export type ReposCreateDeploymentParams = { /** - * Results per page (max 100) + * Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. */ - per_page?: number; + auto_merge?: boolean; /** - * Page number of the results to fetch. + * Short description of the deployment. */ - page?: number; - }; - export type OrgsCreateInvitationParams = { - org: string; + description?: string; /** - * **Required unless you provide `email`**. GitHub user ID for the person you are inviting. + * Name for the target deployment environment (e.g., `production`, `staging`, `qa`). */ - invitee_id?: number; + environment?: string; + + owner: string; /** - * **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. + * JSON payload with extra information about the deployment. */ - email?: string; + payload?: 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. + * 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. */ - role?: "admin" | "direct_member" | "billing_manager"; + production_environment?: boolean; /** - * Specify IDs for the teams you want to invite new members to. + * The ref to deploy. This can be a branch, tag, or SHA. */ - team_ids?: number[]; - }; - export type OrgsListMembershipsParams = { + ref: string; + + repo: string; /** - * 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. + * 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. */ - state?: "active" | "pending"; + required_contexts?: string[]; /** - * Results per page (max 100) + * Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). */ - per_page?: number; + task?: string; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type OrgsGetMembershipForAuthenticatedUserParams = { - org: string; + transient_environment?: boolean; }; - export type OrgsUpdateMembershipParams = { - org: string; + export type ReposCreateDeploymentStatusParams = { /** - * The state that the membership should be in. Only `"active"` will be accepted. + * 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. */ - state: "active"; - }; - export type OrgsListOutsideCollaboratorsParams = { - org: string; + auto_inactive?: boolean; + + deployment_id: number; /** - * 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. + * A short description of the status. The maximum description length is 140 characters. */ - filter?: "2fa_disabled" | "all"; + description?: string; /** - * Results per page (max 100) + * 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. */ - per_page?: number; + environment?: "production" | "staging" | "qa"; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type OrgsRemoveOutsideCollaboratorParams = { - org: string; - - username: string; - }; - export type OrgsConvertMemberToOutsideCollaboratorParams = { - org: string; + 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; - username: string; - }; - export type ProjectsListForRepoParams = { owner: string; 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) + * 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. */ - per_page?: number; + state: + | "error" + | "failure" + | "inactive" + | "in_progress" + | "queued" + | "pending" + | "success"; /** - * Page number of the results to fetch. + * 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`. */ - page?: number; + target_url?: string; }; - export type ProjectsListForOrgParams = { - org: string; + export type ReposCreateDispatchEventParams = { /** - * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. - */ - state?: "open" | "closed" | "all"; - /** - * Results per page (max 100) + * JSON payload with extra information about the webhook event that your action or worklow may use. */ - per_page?: number; + client_payload?: ReposCreateDispatchEventParamsClientPayload; /** - * Page number of the results to fetch. + * **Required:** A custom webhook event name. */ - page?: number; + event_type?: string; + + owner: string; + + repo: string; }; - export type ProjectsListForUserParams = { - username: string; + export type ReposCreateFileParams = { /** - * Indicates the state of the projects to return. Can be either `open`, `closed`, or `all`. + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ - state?: "open" | "closed" | "all"; + author?: ReposCreateFileParamsAuthor; /** - * Results per page (max 100) + * The branch name. Default: the repository’s default branch (usually `master`) */ - per_page?: number; + branch?: string; /** - * Page number of the results to fetch. + * The person that committed the file. Default: the authenticated user. */ - page?: number; - }; - export type ProjectsGetParams = { - project_id: number; + committer?: ReposCreateFileParamsCommitter; /** - * Results per page (max 100) + * The new file content, using Base64 encoding. */ - per_page?: number; + content: string; /** - * Page number of the results to fetch. + * The commit message. */ - page?: number; - }; - export type ProjectsCreateForRepoParams = { + message: string; + owner: string; + path: string; + repo: string; /** - * The name of the project. - */ - name: string; - /** - * The description of the project. + * **Required if you are updating a file**. The blob SHA of the file being replaced. */ - body?: string; + sha?: string; + }; + export type ReposCreateForAuthenticatedUserParams = { /** - * Results per page (max 100) + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. */ - per_page?: number; + allow_merge_commit?: boolean; /** - * Page number of the results to fetch. + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. */ - page?: number; - }; - export type ProjectsCreateForOrgParams = { - org: string; + allow_rebase_merge?: boolean; /** - * The name of the project. + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. */ - name: string; + allow_squash_merge?: boolean; /** - * The description of the project. + * Pass `true` to create an initial commit with empty README. */ - body?: string; + auto_init?: boolean; /** - * Results per page (max 100) + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. */ - per_page?: number; + delete_branch_on_merge?: boolean; /** - * Page number of the results to fetch. + * A short description of the repository. */ - page?: number; - }; - export type ProjectsCreateForAuthenticatedUserParams = { + description?: string; /** - * The name of the project. + * 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". */ - name: string; + gitignore_template?: string; /** - * The description of the project. + * Either `true` to enable issues for this repository or `false` to disable them. */ - body?: string; + has_issues?: boolean; /** - * Results per page (max 100) + * 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. */ - per_page?: number; + has_projects?: boolean; /** - * Page number of the results to fetch. + * Either `true` to enable the wiki for this repository or `false` to disable it. */ - page?: number; - }; - export type ProjectsUpdateParams = { - project_id: number; + has_wiki?: boolean; /** - * The name of the project. + * A URL with more information about the repository. */ - name?: string; + homepage?: string; /** - * The description of the project. + * Either `true` to make this repo available as a template repository or `false` to prevent it. */ - body?: string; + is_template?: boolean; /** - * State of the project. Either `open` or `closed`. + * 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". */ - state?: "open" | "closed"; + license_template?: 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. + * The name of the repository. */ - organization_permission?: string; + name: 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. + * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. */ private?: boolean; /** - * Results per page (max 100) + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ - per_page?: number; + team_id?: number; /** - * Page number of the results to fetch. + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. */ - page?: number; + visibility?: "public" | "private" | "visibility" | "internal"; }; - export type ProjectsDeleteParams = { - project_id: number; - }; - export type ProjectsListCardsParams = { - column_id: number; + export type ReposCreateForkParams = { /** - * Filters the project cards that are returned by the card's state. Can be one of `all`,`archived`, or `not_archived`. + * Optional parameter to specify the organization name if forking into an organization. */ - archived_state?: "all" | "archived" | "not_archived"; + organization?: string; + + owner: string; + + repo: string; + }; + export type ReposCreateHookParams = { /** - * Results per page (max 100) + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ - per_page?: number; + active?: boolean; /** - * Page number of the results to fetch. + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). */ - page?: number; - }; - export type ProjectsGetCardParams = { - card_id: number; - }; - export type ProjectsCreateCardParams = { - column_id: number; + config: ReposCreateHookParamsConfig; /** - * 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`. + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. */ - note?: string; + events?: 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`. + * Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ - content_id?: number; + name?: string; + + owner: string; + + repo: string; + }; + export type ReposCreateInOrgParams = { /** - * **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. + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. */ - content_type?: string; - }; - export type ProjectsUpdateCardParams = { - card_id: number; + allow_merge_commit?: boolean; /** - * 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`. + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. */ - note?: string; + allow_rebase_merge?: boolean; /** - * Use `true` to archive a project card. Specify `false` if you need to restore a previously archived project card. + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. */ - archived?: boolean; - }; - export type ProjectsDeleteCardParams = { - card_id: number; - }; - export type ProjectsMoveCardParams = { - card_id: number; + allow_squash_merge?: boolean; /** - * 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`. + * Pass `true` to create an initial commit with empty README. */ - position: string; + auto_init?: boolean; /** - * The `id` value of a column in the same project. + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. */ - column_id?: number; - }; - export type ProjectsListCollaboratorsParams = { - project_id: number; + delete_branch_on_merge?: boolean; /** - * 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. + * A short description of the repository. */ - affiliation?: "outside" | "direct" | "all"; + description?: string; /** - * Results per page (max 100) + * 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". */ - per_page?: number; + gitignore_template?: string; /** - * Page number of the results to fetch. + * Either `true` to enable issues for this repository or `false` to disable them. */ - page?: number; - }; - export type ProjectsReviewUserPermissionLevelParams = { - project_id: number; - - username: string; - }; - export type ProjectsAddCollaboratorParams = { - project_id: number; - - username: string; + has_issues?: boolean; /** - * 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. + * 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. */ - permission?: "read" | "write" | "admin"; - }; - export type ProjectsRemoveCollaboratorParams = { - project_id: number; - - username: string; - }; - export type ProjectsListColumnsParams = { - project_id: number; + has_projects?: boolean; + /** + * Either `true` to enable the wiki for this repository or `false` to disable it. + */ + has_wiki?: boolean; /** - * Results per page (max 100) + * A URL with more information about the repository. */ - per_page?: number; + homepage?: string; /** - * Page number of the results to fetch. + * Either `true` to make this repo available as a template repository or `false` to prevent it. */ - page?: number; - }; - export type ProjectsGetColumnParams = { - column_id: number; - }; - export type ProjectsCreateColumnParams = { - project_id: number; + is_template?: boolean; /** - * The name of the column. + * 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". */ - name: string; - }; - export type ProjectsUpdateColumnParams = { - column_id: number; + license_template?: string; /** - * The new name of the column. + * The name of the repository. */ name: string; - }; - export type ProjectsDeleteColumnParams = { - column_id: number; - }; - export type ProjectsMoveColumnParams = { - column_id: number; + + org: string; /** - * Can be one of `first`, `last`, or `after:`, where `` is the `id` value of a column in the same project. + * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. */ - position: string; - }; - export type PullsListParams = { - owner: string; - - repo: string; + private?: boolean; /** - * Either `open`, `closed`, or `all` to filter by state. + * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ - state?: "open" | "closed" | "all"; + team_id?: number; /** - * 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`. + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. For more information, see "[Creating an internal repository](https://help.github.com/github/creating-cloning-and-archiving-repositories/creating-an-internal-repository)" in the GitHub Help documentation. + * The `visibility` parameter overrides the `private` parameter when you use both parameters with the `nebula-preview` preview header. */ - head?: string; + visibility?: "public" | "private" | "visibility" | "internal"; + }; + export type ReposCreateOrUpdateFileParams = { /** - * Filter pulls by base branch name. Example: `gh-pages`. + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ - base?: string; + author?: ReposCreateOrUpdateFileParamsAuthor; /** - * 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). + * The branch name. Default: the repository’s default branch (usually `master`) */ - sort?: "created" | "updated" | "popularity" | "long-running"; + branch?: string; /** - * The direction of the sort. Can be either `asc` or `desc`. + * The person that committed the file. Default: the authenticated user. */ - direction?: "asc" | "desc"; + committer?: ReposCreateOrUpdateFileParamsCommitter; /** - * Results per page (max 100) + * The new file content, using Base64 encoding. */ - per_page?: number; + content: string; /** - * Page number of the results to fetch. + * The commit message. */ - page?: number; - }; - export type PullsGetParamsDeprecatedNumber = { + message: string; + owner: string; + path: string; + repo: string; /** - * @deprecated "number" parameter renamed to "pull_number" + * **Required if you are updating a file**. The blob SHA of the file being replaced. */ - number: number; - }; - export type PullsGetParams = { - owner: string; - - repo: string; - - pull_number: number; + sha?: string; }; - export type PullsCreateParams = { - owner: string; - - repo: string; + export type ReposCreateReleaseParams = { /** - * The title of the pull request. + * Text describing the contents of the tag. */ - title: string; + body?: 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`. + * `true` to create a draft (unpublished) release, `false` to create a published one. */ - head: string; + draft?: boolean; /** - * 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. + * The name of the release. */ - base: string; + name?: string; + + owner: string; /** - * The contents of the pull request. + * `true` to identify the release as a prerelease. `false` to identify the release as a full release. */ - body?: string; + prerelease?: boolean; + + repo: 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. + * The name of the tag. */ - maintainer_can_modify?: boolean; + tag_name: 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. + * 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`). */ - draft?: boolean; + target_commitish?: string; }; - export type PullsCreateFromIssueParams = { + 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 issue number in this repository to turn into a Pull Request. + * The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. */ - issue: number; + state: "error" | "failure" | "pending" | "success"; /** - * 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`. + * 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` */ - head: string; + target_url?: string; + }; + export type ReposCreateUsingTemplateParams = { /** - * 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. + * A short description of the new repository. */ - base: string; + description?: 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. + * The name of the new repository. */ - maintainer_can_modify?: boolean; + name: 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. + * 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. */ - draft?: boolean; + 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 PullsUpdateBranchParams = { + export type ReposDeclineInvitationParams = { + invitation_id: number; + }; + export type ReposDeleteParams = { owner: string; repo: string; + }; + export type ReposDeleteCommitCommentParams = { + comment_id: number; - 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. - */ - expected_head_sha?: string; + owner: string; + + repo: string; }; - export type PullsUpdateParamsDeprecatedNumber = { + export type ReposDeleteDownloadParams = { + download_id: number; + owner: string; repo: string; + }; + export type ReposDeleteFileParams = { /** - * The title of the pull request. - */ - title?: string; - /** - * The contents of the pull request. + * object containing information about the author. */ - body?: string; + author?: ReposDeleteFileParamsAuthor; /** - * State of this Pull Request. Either `open` or `closed`. + * The branch name. Default: the repository’s default branch (usually `master`) */ - state?: "open" | "closed"; + branch?: string; /** - * 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. + * object containing information about the committer. */ - base?: string; + committer?: ReposDeleteFileParamsCommitter; /** - * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + * The commit message. */ - maintainer_can_modify?: boolean; + message: string; + + owner: string; + + path: string; + + repo: string; /** - * @deprecated "number" parameter renamed to "pull_number" + * The blob SHA of the file being replaced. */ - number: number; + sha: string; }; - export type PullsUpdateParams = { + export type ReposDeleteHookParams = { + hook_id: number; + owner: string; repo: string; + }; + export type ReposDeleteInvitationParams = { + invitation_id: number; - pull_number: number; - /** - * The title of the pull request. - */ - title?: string; - /** - * The contents of the pull request. - */ - body?: string; + 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; /** - * State of this Pull Request. Either `open` or `closed`. + * Must be one of: `day`, `week`. */ - state?: "open" | "closed"; + 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; /** - * 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. + * @deprecated "sha" parameter renamed to "ref" */ - base?: string; + sha: string; + }; + export type ReposGetCommitParamsDeprecatedCommitSha = { /** - * Indicates whether [maintainers can modify](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. + * @deprecated "commit_sha" parameter renamed to "ref" */ - maintainer_can_modify?: boolean; + commit_sha: string; + + owner: string; + + repo: string; }; - export type PullsListCommitsParamsDeprecatedNumber = { + 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; /** - * Results per page (max 100) - */ - per_page?: number; - /** - * Page number of the results to fetch. + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ - page?: number; + 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; /** - * @deprecated "number" parameter renamed to "pull_number" + * The name of the commit/branch/tag. Default: the repository’s default branch (usually `master`) */ - number: number; + ref?: string; + + repo: string; }; - export type PullsListCommitsParams = { + export type ReposGetReleaseParams = { owner: string; + release_id: number; + repo: string; - - pull_number: number; - /** - * Results per page (max 100) - */ - per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; }; - export type PullsListFilesParamsDeprecatedNumber = { + export type ReposGetReleaseAssetParams = { + asset_id: number; + owner: string; repo: string; - /** - * Results per page (max 100) - */ - per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; - /** - * @deprecated "number" parameter renamed to "pull_number" - */ - number: number; }; - export type PullsListFilesParams = { + export type ReposGetReleaseByTagParams = { owner: string; repo: string; - pull_number: number; - /** - * Results per page (max 100) - */ - per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; + tag: string; }; - export type PullsCheckIfMergedParamsDeprecatedNumber = { + export type ReposGetTeamsWithAccessToProtectedBranchParams = { + branch: string; + owner: string; repo: string; - /** - * @deprecated "number" parameter renamed to "pull_number" - */ - number: number; }; - export type PullsCheckIfMergedParams = { + export type ReposGetTopPathsParams = { owner: string; repo: string; - - pull_number: number; }; - export type PullsMergeParamsDeprecatedNumber = { + export type ReposGetTopReferrersParams = { owner: string; repo: string; - /** - * 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"; - /** - * @deprecated "number" parameter renamed to "pull_number" - */ - number: number; }; - export type PullsMergeParams = { + export type ReposGetUsersWithAccessToProtectedBranchParams = { + branch: string; + owner: string; repo: string; - - 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"; }; - export type PullsListCommentsParamsDeprecatedNumber = { + export type ReposGetViewsParams = { owner: string; + /** + * Must be one of: `day`, `week`. + */ + per?: "day" | "week"; repo: string; + }; + export type ReposListParams = { /** - * Can be either `created` or `updated` comments. + * 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. */ - sort?: "created" | "updated"; + affiliation?: string; /** - * Can be either `asc` or `desc`. Ignored without `sort` parameter. + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` */ 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. + * Page number of the results to fetch. */ - since?: string; + page?: number; /** * Results per page (max 100) */ per_page?: number; /** - * Page number of the results to fetch. + * Can be one of `created`, `updated`, `pushed`, `full_name`. */ - page?: number; + sort?: "created" | "updated" | "pushed" | "full_name"; /** - * @deprecated "number" parameter renamed to "pull_number" + * 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**. */ - number: number; + type?: "all" | "owner" | "public" | "private" | "member"; + /** + * Can be one of `all`, `public`, or `private`. + */ + visibility?: "all" | "public" | "private"; }; - export type PullsListCommentsParams = { + export type ReposListAppsWithAccessToProtectedBranchParams = { + branch: string; + owner: string; repo: string; - - pull_number: number; + }; + export type ReposListAssetsForReleaseParams = { + owner: string; /** - * Can be either `created` or `updated` comments. + * Page number of the results to fetch. */ - sort?: "created" | "updated"; + page?: number; /** - * Can be either `asc` or `desc`. Ignored without `sort` parameter. + * Results per page (max 100) */ - direction?: "asc" | "desc"; + per_page?: number; + + release_id: number; + + repo: string; + }; + export type ReposListBranchesParams = { + owner: 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. + * Page number of the results to fetch. */ - since?: string; + page?: number; /** * Results per page (max 100) */ per_page?: number; /** - * Page number of the results to fetch. + * Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ - page?: number; + protected?: boolean; + + repo: string; }; - export type PullsListCommentsForRepoParams = { + export type ReposListBranchesForHeadCommitParams = { + commit_sha: string; + owner: string; repo: string; + }; + export type ReposListCollaboratorsParams = { /** - * Can be either `created` or `updated` comments. - */ - sort?: "created" | "updated"; - /** - * Can be either `asc` or `desc`. Ignored without `sort` parameter. + * 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. */ - direction?: "asc" | "desc"; + affiliation?: "outside" | "direct" | "all"; + + owner: 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. + * Page number of the results to fetch. */ - since?: string; + page?: number; /** * Results per page (max 100) */ per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; - }; - export type PullsGetCommentParams = { - owner: string; repo: string; - - comment_id: number; }; - export type PullsCreateCommentParamsDeprecatedNumber = { + export type ReposListCommentsForCommitParamsDeprecatedRef = { owner: string; - - repo: string; /** - * The text of the comment. + * Page number of the results to fetch. */ - body: string; + page?: number; /** - * 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`. + * Results per page (max 100) */ - commit_id: string; + per_page?: number; /** - * The relative path to the file that necessitates a comment. + * @deprecated "ref" parameter renamed to "commit_sha" */ - path: string; + ref: string; + + repo: string; + }; + export type ReposListCommentsForCommitParams = { + commit_sha: string; + + owner: string; /** - * 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. + * Page number of the results to fetch. */ - position: number; + page?: number; /** - * @deprecated "number" parameter renamed to "pull_number" + * Results per page (max 100) */ - number: number; + per_page?: number; + + repo: string; }; - export type PullsCreateCommentParams = { + export type ReposListCommitCommentsParams = { owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; repo: string; - - pull_number: number; + }; + export type ReposListCommitsParams = { /** - * The text of the comment. + * GitHub login or email address by which to filter by commit author. */ - body: string; + author?: string; + + owner: 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`. + * Page number of the results to fetch. */ - commit_id: string; + page?: number; /** - * The relative path to the file that necessitates a comment. + * Only commits containing this file path will be returned. */ - path: string; + path?: string; /** - * 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. + * Results per page (max 100) */ - position: number; - }; - export type PullsCreateCommentReplyParamsDeprecatedNumber = { - owner: string; + per_page?: number; repo: string; /** - * The text of the comment. + * SHA or branch to start listing commits from. Default: the repository’s default branch (usually `master`). */ - body: string; + sha?: 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. + * 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`. */ - in_reply_to: number; + since?: string; /** - * @deprecated "number" parameter renamed to "pull_number" + * 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`. */ - number: number; + until?: string; }; - export type PullsCreateCommentReplyParams = { - owner: string; - - repo: string; - - pull_number: number; + export type ReposListContributorsParams = { /** - * The text of the comment. + * Set to `1` or `true` to include anonymous contributors in results. */ - body: string; + anon?: string; + + owner: 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. + * Page number of the results to fetch. */ - in_reply_to: number; - }; - export type PullsUpdateCommentParams = { - owner: string; - - repo: string; - - comment_id: number; + page?: number; /** - * The text of the comment. + * Results per page (max 100) */ - body: string; - }; - export type PullsDeleteCommentParams = { - owner: string; + per_page?: number; repo: string; - - comment_id: number; }; - export type PullsListReviewRequestsParamsDeprecatedNumber = { + export type ReposListDeployKeysParams = { owner: string; - - repo: 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; /** - * @deprecated "number" parameter renamed to "pull_number" + * Results per page (max 100) */ - number: number; - }; - export type PullsListReviewRequestsParams = { - owner: string; + per_page?: number; repo: string; + }; + export type ReposListDeploymentsParams = { + /** + * The name of the environment that was deployed to (e.g., `staging` or `production`). + */ + environment?: string; - pull_number: number; + owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; /** * Results per page (max 100) */ per_page?: number; /** - * Page number of the results to fetch. + * The name of the ref. This can be a branch, tag, or SHA. */ - page?: number; - }; - export type PullsCreateReviewRequestParamsDeprecatedNumber = { - owner: string; + ref?: 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. + * The SHA recorded at creation time. */ - team_reviewers?: string[]; + sha?: string; /** - * @deprecated "number" parameter renamed to "pull_number" + * The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ - number: number; + task?: string; }; - export type PullsCreateReviewRequestParams = { + export type ReposListDownloadsParams = { owner: string; - - repo: string; - - pull_number: number; /** - * An array of user `login`s that will be requested. + * Page number of the results to fetch. */ - reviewers?: string[]; + page?: number; /** - * An array of team `slug`s that will be requested. + * Results per page (max 100) */ - team_reviewers?: string[]; - }; - export type PullsDeleteReviewRequestParamsDeprecatedNumber = { - owner: string; + per_page?: number; repo: string; + }; + export type ReposListForOrgParams = { /** - * An array of user `login`s that will be removed. + * Can be one of `asc` or `desc`. Default: when using `full_name`: `asc`, otherwise `desc` */ - reviewers?: string[]; + direction?: "asc" | "desc"; + + org: string; /** - * An array of team `slug`s that will be removed. + * Page number of the results to fetch. */ - team_reviewers?: string[]; + page?: number; /** - * @deprecated "number" parameter renamed to "pull_number" + * Results per page (max 100) */ - number: number; - }; - export type PullsDeleteReviewRequestParams = { - owner: string; - - repo: string; - - pull_number: number; + per_page?: number; /** - * An array of user `login`s that will be removed. + * Can be one of `created`, `updated`, `pushed`, `full_name`. */ - reviewers?: string[]; + sort?: "created" | "updated" | "pushed" | "full_name"; /** - * An array of team `slug`s that will be removed. + * Specifies the types of repositories you want returned. Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`, `internal`. Default: `all`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `type` can also be `internal`. */ - team_reviewers?: string[]; + type?: + | "all" + | "public" + | "private" + | "forks" + | "sources" + | "member" + | "internal"; }; - export type PullsListReviewsParamsDeprecatedNumber = { - owner: string; - - repo: string; + export type ReposListForUserParams = { /** - * Results per page (max 100) + * Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc` */ - per_page?: number; + direction?: "asc" | "desc"; /** * Page number of the results to fetch. */ page?: number; - /** - * @deprecated "number" parameter renamed to "pull_number" - */ - number: number; - }; - export type PullsListReviewsParams = { - owner: string; - - repo: string; - - pull_number: number; /** * Results per page (max 100) */ per_page?: number; /** - * Page number of the results to fetch. + * Can be one of `created`, `updated`, `pushed`, `full_name`. */ - page?: number; + sort?: "created" | "updated" | "pushed" | "full_name"; + /** + * Can be one of `all`, `owner`, `member`. + */ + type?: "all" | "owner" | "member"; + + username: string; }; - export type PullsGetReviewParamsDeprecatedNumber = { + export type ReposListForksParams = { owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; repo: string; - - review_id: number; /** - * @deprecated "number" parameter renamed to "pull_number" + * The sort order. Can be either `newest`, `oldest`, or `stargazers`. */ - number: number; + sort?: "newest" | "oldest" | "stargazers"; }; - export type PullsGetReviewParams = { + export type ReposListHooksParams = { owner: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; repo: string; - - pull_number: number; - - review_id: number; }; - export type PullsDeletePendingReviewParamsDeprecatedNumber = { + export type ReposListInvitationsParams = { 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 ReposListInvitationsForAuthenticatedUserParams = { /** - * @deprecated "number" parameter renamed to "pull_number" + * Page number of the results to fetch. */ - number: number; + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; }; - export type PullsDeletePendingReviewParams = { + export type ReposListLanguagesParams = { owner: string; repo: string; - - pull_number: number; - - review_id: number; }; - export type PullsGetCommentsForReviewParamsDeprecatedNumber = { + export type ReposListPagesBuildsParams = { owner: string; - - repo: string; - - review_id: number; - /** - * Results per page (max 100) - */ - per_page?: number; /** * Page number of the results to fetch. */ page?: number; /** - * @deprecated "number" parameter renamed to "pull_number" + * Results per page (max 100) */ - number: number; + per_page?: number; + + repo: string; }; - export type PullsGetCommentsForReviewParams = { + export type ReposListProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; + owner: string; repo: string; + }; + export type ReposListProtectedBranchTeamRestrictionsParams = { + branch: string; - pull_number: number; + owner: string; - review_id: number; - /** - * Results per page (max 100) - */ - per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; + repo: string; }; - export type PullsCreateReviewParamsDeprecatedNumber = { + export type ReposListProtectedBranchUserRestrictionsParams = { + branch: string; + owner: string; repo: string; + }; + export type ReposListPublicParams = { /** - * 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. + * Page number of the results to fetch. */ - commit_id?: string; + page?: number; /** - * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + * Results per page (max 100) */ - body?: string; + per_page?: number; /** - * 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. + * The integer ID of the last repository that you've seen. */ - event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + since?: number; + }; + export type ReposListPullRequestsAssociatedWithCommitParams = { + commit_sha: string; + + owner: string; /** - * Use the following table to specify the location, destination, and contents of the draft review comment. + * Page number of the results to fetch. */ - comments?: PullsCreateReviewParamsComments[]; + page?: number; /** - * @deprecated "number" parameter renamed to "pull_number" + * Results per page (max 100) */ - number: number; - }; - export type PullsCreateReviewParams = { - owner: string; + per_page?: number; repo: string; - - pull_number: number; + }; + export type ReposListReleasesParams = { + owner: string; /** - * 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. + * Page number of the results to fetch. */ - commit_id?: string; + page?: number; /** - * **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. + * Results per page (max 100) */ - body?: string; + per_page?: number; + + repo: string; + }; + export type ReposListStatusesForRefParams = { + owner: 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. + * Page number of the results to fetch. */ - event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + page?: number; /** - * Use the following table to specify the location, destination, and contents of the draft review comment. + * Results per page (max 100) */ - comments?: PullsCreateReviewParamsComments[]; - }; - export type PullsUpdateReviewParamsDeprecatedNumber = { - owner: string; + per_page?: number; - repo: string; + ref: string; - review_id: number; + repo: string; + }; + export type ReposListTagsParams = { + owner: string; /** - * The body text of the pull request review. + * Page number of the results to fetch. */ - body: string; + page?: number; /** - * @deprecated "number" parameter renamed to "pull_number" + * Results per page (max 100) */ - number: number; + per_page?: number; + + repo: string; }; - export type PullsUpdateReviewParams = { + 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; - pull_number: number; + owner: string; - review_id: number; - /** - * The body text of the pull request review. - */ - body: string; + repo: string; }; - export type PullsSubmitReviewParamsDeprecatedNumber = { + export type ReposListTopicsParams = { owner: string; repo: string; + }; + export type ReposListUsersWithAccessToProtectedBranchParams = { + branch: string; - review_id: number; + owner: string; + + repo: string; + }; + export type ReposMergeParams = { /** - * The body text of the pull request review + * The name of the base branch that the head will be merged into. */ - body?: string; + base: 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. + * Commit message to use for the merge commit. If omitted, a default message will be used. */ - event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + commit_message?: string; /** - * @deprecated "number" parameter renamed to "pull_number" + * The head to merge. This can be a branch name or a commit SHA1. */ - number: number; + head: string; + + owner: string; + + repo: string; }; - export type PullsSubmitReviewParams = { + export type ReposPingHookParams = { + hook_id: number; + owner: string; repo: string; + }; + export type ReposRemoveBranchProtectionParams = { + branch: string; - pull_number: number; + owner: string; - 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"; + repo: string; }; - export type PullsDismissReviewParamsDeprecatedNumber = { + export type ReposRemoveCollaboratorParams = { owner: string; repo: string; - review_id: number; - /** - * The message for the pull request review dismissal - */ - message: string; - /** - * @deprecated "number" parameter renamed to "pull_number" - */ - number: number; + username: string; }; - export type PullsDismissReviewParams = { + export type ReposRemoveDeployKeyParams = { + key_id: number; + owner: string; repo: string; + }; + export type ReposRemoveProtectedBranchAdminEnforcementParams = { + branch: string; - pull_number: number; + owner: string; - review_id: number; - /** - * The message for the pull request review dismissal - */ - message: string; + repo: string; }; - export type ReactionsListForCommitCommentParams = { + export type ReposRemoveProtectedBranchAppRestrictionsParams = { + apps: string[]; + + branch: string; + owner: string; repo: string; - - 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; }; - export type ReactionsCreateForCommitCommentParams = { + export type ReposRemoveProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; + owner: string; repo: string; - - 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"; }; - export type ReactionsListForIssueParamsDeprecatedNumber = { + export type ReposRemoveProtectedBranchRequiredSignaturesParams = { + branch: string; + owner: string; repo: string; - /** - * 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; - /** - * @deprecated "number" parameter renamed to "issue_number" - */ - number: number; }; - export type ReactionsListForIssueParams = { + export type ReposRemoveProtectedBranchRequiredStatusChecksParams = { + branch: string; + owner: string; repo: string; + }; + export type ReposRemoveProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; - 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; + contexts: string[]; + + owner: string; + + repo: string; }; - export type ReactionsCreateForIssueParamsDeprecatedNumber = { + export type ReposRemoveProtectedBranchRestrictionsParams = { + branch: string; + owner: string; repo: string; - /** - * 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; }; - export type ReactionsCreateForIssueParams = { + export type ReposRemoveProtectedBranchTeamRestrictionsParams = { + branch: string; + owner: string; repo: string; - 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"; + teams: string[]; }; - export type ReactionsListForIssueCommentParams = { + export type ReposRemoveProtectedBranchUserRestrictionsParams = { + branch: string; + owner: string; repo: string; - 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; + users: string[]; }; - export type ReactionsCreateForIssueCommentParams = { + export type ReposReplaceProtectedBranchAppRestrictionsParams = { + apps: string[]; + + branch: string; + owner: string; repo: string; + }; + export type ReposReplaceProtectedBranchRequiredStatusChecksContextsParams = { + branch: string; - 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"; + contexts: string[]; + + owner: string; + + repo: string; }; - export type ReactionsListForPullRequestReviewCommentParams = { + export type ReposReplaceProtectedBranchTeamRestrictionsParams = { + branch: string; + owner: string; repo: string; - 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; + teams: string[]; }; - export type ReactionsCreateForPullRequestReviewCommentParams = { + export type ReposReplaceProtectedBranchUserRestrictionsParams = { + branch: string; + owner: string; repo: string; - 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"; + users: string[]; }; - export type ReactionsListForTeamDiscussionParams = { - team_id: number; - - 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; + export type ReposReplaceTopicsParams = { /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type ReactionsCreateForTeamDiscussionParams = { - team_id: number; + names: string[]; - 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"; + owner: string; + + repo: string; }; - export type ReactionsListForTeamDiscussionCommentParams = { - team_id: number; + export type ReposRequestPageBuildParams = { + owner: string; - discussion_number: number; + repo: string; + }; + export type ReposRetrieveCommunityProfileMetricsParams = { + owner: string; - 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; + repo: string; }; - export type ReactionsCreateForTeamDiscussionCommentParams = { - team_id: number; + export type ReposTestPushHookParams = { + hook_id: number; - discussion_number: number; + owner: string; - comment_number: number; + repo: string; + }; + export type ReposTransferParams = { /** - * The [reaction type](https://developer.github.com/v3/reactions/#reaction-types) to add to the team discussion comment. + * **Required:** The username or organization name the repository will be transferred to. */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - }; - export type ReactionsDeleteParams = { - reaction_id: number; - }; - export type ReposListParams = { + new_owner?: string; + + owner: string; + + repo: string; /** - * Can be one of `all`, `public`, or `private`. + * ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ - visibility?: "all" | "public" | "private"; + team_ids?: number[]; + }; + export type ReposUpdateParams = { /** - * 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. + * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. */ - affiliation?: string; + allow_merge_commit?: boolean; /** - * 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**. + * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. */ - type?: "all" | "owner" | "public" | "private" | "member"; + allow_rebase_merge?: boolean; /** - * Can be one of `created`, `updated`, `pushed`, `full_name`. + * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. */ - sort?: "created" | "updated" | "pushed" | "full_name"; + allow_squash_merge?: boolean; /** - * Can be one of `asc` or `desc`. + * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. */ - direction?: "asc" | "desc"; + archived?: boolean; /** - * Results per page (max 100) + * Updates the default branch for this repository. */ - per_page?: number; + default_branch?: string; /** - * Page number of the results to fetch. + * Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. */ - page?: number; - }; - export type ReposListForUserParams = { - username: string; + delete_branch_on_merge?: boolean; /** - * Can be one of `all`, `owner`, `member`. + * A short description of the repository. */ - type?: "all" | "owner" | "member"; + description?: string; /** - * Can be one of `created`, `updated`, `pushed`, `full_name`. + * Either `true` to enable issues for this repository or `false` to disable them. */ - sort?: "created" | "updated" | "pushed" | "full_name"; + has_issues?: boolean; /** - * Can be one of `asc` or `desc`. + * 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. */ - direction?: "asc" | "desc"; + has_projects?: boolean; /** - * Results per page (max 100) + * Either `true` to enable the wiki for this repository or `false` to disable it. */ - per_page?: number; + has_wiki?: boolean; /** - * Page number of the results to fetch. + * A URL with more information about the repository. */ - page?: number; - }; - export type ReposListForOrgParams = { - org: string; + homepage?: string; /** - * Can be one of `all`, `public`, `private`, `forks`, `sources`, `member`. + * Either `true` to make this repo available as a template repository or `false` to prevent it. */ - type?: "all" | "public" | "private" | "forks" | "sources" | "member"; + is_template?: boolean; /** - * Can be one of `created`, `updated`, `pushed`, `full_name`. + * The name of the repository. */ - sort?: "created" | "updated" | "pushed" | "full_name"; + name?: string; + + owner: string; /** - * Can be one of `asc` or `desc`. + * 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. */ - direction?: "asc" | "desc"; + private?: boolean; + + repo: string; /** - * Results per page (max 100) + * Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header. */ - per_page?: number; + visibility?: "public" | "private" | "visibility" | "internal"; + }; + export type ReposUpdateBranchProtectionParams = { /** - * Page number of the results to fetch. + * Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ - page?: number; - }; - export type ReposListPublicParams = { + allow_deletions?: boolean; /** - * The integer ID of the last Repository that you've seen. + * Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ - since?: string; + allow_force_pushes?: boolean | null; + + branch: string; /** - * Results per page (max 100) + * Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ - per_page?: number; + enforce_admins: boolean | null; + + owner: string; + + repo: string; /** - * Page number of the results to fetch. + * Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://help.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ - page?: number; - }; - export type ReposCreateForAuthenticatedUserParams = { + required_linear_history?: boolean; /** - * The name of the repository. + * Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ - name: string; + required_pull_request_reviews: ReposUpdateBranchProtectionParamsRequiredPullRequestReviews | null; /** - * A short description of the repository. + * Require status checks to pass before merging. Set to `null` to disable. */ - description?: string; + required_status_checks: ReposUpdateBranchProtectionParamsRequiredStatusChecks | null; /** - * A URL with more information about the repository. + * Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ - homepage?: string; + restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; + }; + export type ReposUpdateCommitCommentParams = { /** - * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. + * The contents of the comment */ - private?: boolean; + body: string; + + comment_id: number; + + owner: string; + + repo: string; + }; + export type ReposUpdateFileParams = { /** - * Either `true` to enable issues for this repository or `false` to disable them. + * The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ - has_issues?: boolean; + author?: ReposUpdateFileParamsAuthor; /** - * 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. + * The branch name. Default: the repository’s default branch (usually `master`) */ - has_projects?: boolean; + branch?: string; /** - * Either `true` to enable the wiki for this repository or `false` to disable it. + * The person that committed the file. Default: the authenticated user. */ - has_wiki?: boolean; + committer?: ReposUpdateFileParamsCommitter; /** - * Either `true` to make this repo available as a template repository or `false` to prevent it. + * The new file content, using Base64 encoding. */ - is_template?: boolean; + content: string; /** - * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + * The commit message. */ - team_id?: number; + message: string; + + owner: string; + + path: string; + + repo: string; /** - * Pass `true` to create an initial commit with empty README. + * **Required if you are updating a file**. The blob SHA of the file being replaced. */ - auto_init?: boolean; + sha?: string; + }; + export type ReposUpdateHookParams = { /** - * 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". + * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. */ - gitignore_template?: string; + active?: 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". + * Determines a list of events to be added to the list of events that the Hook triggers for. */ - license_template?: string; + add_events?: string[]; /** - * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * Key/value pairs to provide settings for this webhook. [These are defined below](https://developer.github.com/v3/repos/hooks/#create-hook-config-params). */ - allow_squash_merge?: boolean; + config?: ReposUpdateHookParamsConfig; /** - * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. This replaces the entire array of events. */ - allow_merge_commit?: boolean; + events?: string[]; + + hook_id: number; + + owner: string; /** - * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * Determines a list of events to be removed from the list of events that the Hook triggers for. */ - allow_rebase_merge?: boolean; + remove_events?: string[]; + + repo: string; }; - export type ReposCreateInOrgParams = { - org: string; + export type ReposUpdateInformationAboutPagesSiteParams = { /** - * The name of the repository. + * 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/)." */ - name: string; + cname?: string; + + owner: string; + + repo: string; /** - * A short description of the repository. + * 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"`. */ - description?: string; + source?: '"gh-pages"' | '"master"' | '"master /docs"'; + }; + export type ReposUpdateInvitationParams = { + invitation_id: number; + + owner: string; /** - * A URL with more information about the repository. + * The permissions that the associated user will have on the repository. Valid values are `read`, `write`, and `admin`. */ - homepage?: string; + permissions?: "read" | "write" | "admin"; + + repo: string; + }; + export type ReposUpdateProtectedBranchPullRequestReviewEnforcementParams = { + branch: string; /** - * Either `true` to create a private repository or `false` to create a public one. Creating private repositories requires a paid GitHub account. + * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ - private?: boolean; + dismiss_stale_reviews?: boolean; /** - * Either `true` to enable issues for this repository or `false` to disable them. + * 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. */ - has_issues?: boolean; + dismissal_restrictions?: ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions; + + owner: string; + + repo: string; /** - * 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. + * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. */ - has_projects?: boolean; + require_code_owner_reviews?: boolean; /** - * Either `true` to enable the wiki for this repository or `false` to disable it. + * Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. */ - has_wiki?: boolean; + required_approving_review_count?: number; + }; + export type ReposUpdateProtectedBranchRequiredStatusChecksParams = { + branch: string; /** - * Either `true` to make this repo available as a template repository or `false` to prevent it. + * The list of status checks to require in order to merge into this branch */ - is_template?: boolean; + contexts?: string[]; + + owner: string; + + repo: string; /** - * The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. + * Require branches to be up to date before merging. */ - team_id?: number; + strict?: boolean; + }; + export type ReposUpdateReleaseParams = { /** - * Pass `true` to create an initial commit with empty README. + * Text describing the contents of the tag. */ - auto_init?: boolean; + body?: 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". + * `true` makes the release a draft, and `false` publishes the release. */ - gitignore_template?: string; + draft?: 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". + * The name of the release. */ - license_template?: string; + name?: string; + + owner: string; /** - * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ - allow_squash_merge?: boolean; + prerelease?: boolean; + + release_id: number; + + repo: string; /** - * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * The name of the tag. */ - allow_merge_commit?: boolean; + tag_name?: string; /** - * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * 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`). */ - allow_rebase_merge?: boolean; + target_commitish?: string; }; - export type ReposCreateUsingTemplateParams = { - template_owner: 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; - template_repo: string; + owner: string; + + repo: string; + }; + export type ReposUploadReleaseAssetParamsDeprecatedFile = { /** - * 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. + * @deprecated "file" parameter renamed to "data" */ - owner?: string; + file: string | object; + + headers: ReposUploadReleaseAssetParamsHeaders; /** - * The name of the new repository. + * An alternate short description of the asset. Used in place of the filename. This should be set in a URI query parameter. */ - name: string; + label?: string; /** - * A short description of the new repository. + * The file name of the asset. This should be set in a URI query parameter. */ - description?: string; + name: string; /** - * Either `true` to create a new private repository or `false` to create a new public one. + * The `upload_url` key returned from creating or getting a release */ - private?: boolean; - }; - export type ReposGetParams = { - owner: string; - - repo: string; + url: string; }; - export type ReposUpdateParams = { - owner: string; + export type ReposUploadReleaseAssetParams = { + data: string | object; - repo: string; + headers: ReposUploadReleaseAssetParamsHeaders; /** - * The name of the repository. + * An alternate short description of the asset. Used in place of the filename. This should be set in a URI query parameter. */ - name?: string; + label?: string; /** - * A short description of the repository. + * The file name of the asset. This should be set in a URI query parameter. */ - description?: string; + name: string; /** - * A URL with more information about the repository. + * The `upload_url` key returned from creating or getting a release */ - homepage?: string; + url: string; + }; + export type SearchCodeParams = { /** - * 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. + * 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`. */ - private?: boolean; + order?: "desc" | "asc"; /** - * Either `true` to enable issues for this repository or `false` to disable them. + * Page number of the results to fetch. */ - has_issues?: boolean; + page?: number; /** - * 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. + * Results per page (max 100) */ - has_projects?: boolean; + per_page?: number; /** - * Either `true` to enable the wiki for this repository or `false` to disable it. + * 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. */ - has_wiki?: boolean; + q: string; /** - * Either `true` to make this repo available as a template repository or `false` to prevent it. + * 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) */ - is_template?: boolean; + sort?: "indexed"; + }; + export type SearchCommitsParams = { /** - * Updates the default branch for this repository. + * 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`. */ - default_branch?: string; + order?: "desc" | "asc"; /** - * Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * Page number of the results to fetch. */ - allow_squash_merge?: boolean; + page?: number; /** - * Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * Results per page (max 100) */ - allow_merge_commit?: boolean; + per_page?: number; /** - * Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * 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. */ - allow_rebase_merge?: boolean; + q: string; /** - * `true` to archive this repository. **Note**: You cannot unarchive repositories through the API. + * Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://developer.github.com/v3/search/#ranking-search-results) */ - archived?: boolean; - }; - export type ReposListTopicsParams = { - owner: string; - - repo: string; + sort?: "author-date" | "committer-date"; }; - export type ReposReplaceTopicsParams = { - owner: string; - - repo: string; + export type SearchEmailLegacyParams = { /** - * 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. + * The email address. */ - names: string[]; - }; - export type ReposCheckVulnerabilityAlertsParams = { - owner: string; - - repo: string; - }; - export type ReposEnableVulnerabilityAlertsParams = { - owner: string; - - repo: string; - }; - export type ReposDisableVulnerabilityAlertsParams = { - owner: string; - - repo: string; - }; - export type ReposEnableAutomatedSecurityFixesParams = { - owner: string; - - repo: string; - }; - export type ReposDisableAutomatedSecurityFixesParams = { - owner: string; - - repo: string; + email: string; }; - export type ReposListContributorsParams = { - owner: string; - - repo: string; + export type SearchIssuesParams = { /** - * Set to `1` or `true` to include anonymous contributors in results. + * 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`. */ - anon?: string; + order?: "desc" | "asc"; + /** + * Page number of the results to fetch. + */ + page?: number; /** * Results per page (max 100) */ per_page?: number; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type ReposListLanguagesParams = { - owner: string; - - repo: string; + 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 ReposListTeamsParams = { - owner: string; - - repo: string; + export type SearchIssuesAndPullRequestsParams = { /** - * Results per page (max 100) + * 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`. */ - per_page?: number; + order?: "desc" | "asc"; /** * Page number of the results to fetch. */ page?: number; - }; - export type ReposListTagsParams = { - owner: string; - - repo: string; /** * Results per page (max 100) */ per_page?: number; /** - * Page number of the results to fetch. + * 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. */ - page?: number; + 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 ReposDeleteParams = { - owner: string; + export type SearchIssuesLegacyParams = { + /** + * The search term. + */ + keyword: string; - repo: string; - }; - export type ReposTransferParams = { owner: string; - repo: string; + repository: string; + /** + * Indicates the state of the issues to return. Can be either `open` or `closed`. + */ + state: "open" | "closed"; + }; + 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; /** - * **Required:** The username or organization name the repository will be transferred to. + * 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. */ - new_owner?: string; + q: string; /** - * ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. + * 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) */ - team_ids?: number[]; + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; }; - export type ReposListBranchesParams = { - owner: string; - - repo: string; + export type SearchReposLegacyParams = { /** - * Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. + * The search term. */ - protected?: boolean; + keyword: string; /** - * Results per page (max 100) + * Filter results by language. */ - per_page?: number; + language?: string; /** - * Page number of the results to fetch. + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. */ - page?: number; - }; - export type ReposGetBranchParams = { - owner: string; - - repo: string; - - branch: string; - }; - export type ReposGetBranchProtectionParams = { - owner: string; - - repo: string; - - branch: string; + order?: "asc" | "desc"; + /** + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. + */ + sort?: "stars" | "forks" | "updated"; + /** + * The page number to fetch. + */ + start_page?: string; }; - export type ReposUpdateBranchProtectionParams = { - owner: string; - - repo: string; - - branch: string; + export type SearchTopicsParams = { /** - * Require status checks to pass before merging. Set to `null` to disable. + * 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). */ - required_status_checks: ReposUpdateBranchProtectionParamsRequiredStatusChecks | null; + q: string; + }; + export type SearchUsersParams = { /** - * Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. + * 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`. */ - enforce_admins: boolean | null; + order?: "desc" | "asc"; /** - * Require at least one approving review on a pull request, before merging. Set to `null` to disable. + * Page number of the results to fetch. */ - required_pull_request_reviews: ReposUpdateBranchProtectionParamsRequiredPullRequestReviews | null; + page?: number; /** - * Restrict who can push to this branch. Team and user `restrictions` are only available for organization-owned repositories. Set to `null` to disable. + * Results per page (max 100) */ - restrictions: ReposUpdateBranchProtectionParamsRestrictions | null; - }; - export type ReposRemoveBranchProtectionParams = { - owner: string; - - repo: string; - - branch: string; - }; - export type ReposGetProtectedBranchRequiredStatusChecksParams = { - owner: string; - - repo: string; - - branch: string; - }; - export type ReposUpdateProtectedBranchRequiredStatusChecksParams = { - owner: string; - - repo: string; - - branch: string; + per_page?: number; /** - * Require branches to be up to date before merging. + * 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. */ - strict?: boolean; + q: string; /** - * The list of status checks to require in order to merge into this branch + * 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) */ - contexts?: string[]; - }; - export type ReposRemoveProtectedBranchRequiredStatusChecksParams = { - owner: string; - - repo: string; - - branch: string; - }; - export type ReposListProtectedBranchRequiredStatusChecksContextsParams = { - owner: string; - - repo: string; - - branch: string; - }; - export type ReposReplaceProtectedBranchRequiredStatusChecksContextsParams = { - owner: string; - - repo: string; - - branch: string; - - contexts: string[]; - }; - export type ReposAddProtectedBranchRequiredStatusChecksContextsParams = { - owner: string; - - repo: string; - - branch: string; - - contexts: string[]; - }; - export type ReposRemoveProtectedBranchRequiredStatusChecksContextsParams = { - owner: string; - - repo: string; - - branch: string; - - contexts: string[]; - }; - export type ReposGetProtectedBranchPullRequestReviewEnforcementParams = { - owner: string; - - repo: string; - - branch: string; + sort?: "followers" | "repositories" | "joined"; }; - export type ReposUpdateProtectedBranchPullRequestReviewEnforcementParams = { - owner: string; - - repo: string; - - branch: string; + export type SearchUsersLegacyParams = { /** - * 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. + * The search term. */ - dismissal_restrictions?: ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions; + keyword: string; /** - * Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. + * The sort field. if `sort` param is provided. Can be either `asc` or `desc`. */ - dismiss_stale_reviews?: boolean; + order?: "asc" | "desc"; /** - * Blocks merging pull requests until [code owners](https://help.github.com/articles/about-code-owners/) have reviewed. + * The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match. */ - require_code_owner_reviews?: boolean; + sort?: "stars" | "forks" | "updated"; /** - * Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6. + * The page number to fetch. */ - required_approving_review_count?: number; - }; - export type ReposRemoveProtectedBranchPullRequestReviewEnforcementParams = { - owner: string; - - repo: string; - - branch: string; - }; - export type ReposGetProtectedBranchRequiredSignaturesParams = { - owner: string; - - repo: string; - - branch: string; - }; - export type ReposAddProtectedBranchRequiredSignaturesParams = { - owner: string; - - repo: string; - - branch: string; + start_page?: string; }; - export type ReposRemoveProtectedBranchRequiredSignaturesParams = { - owner: string; - - repo: string; + export type TeamsAddMemberParams = { + team_id: number; - branch: string; + username: string; }; - export type ReposGetProtectedBranchAdminEnforcementParams = { - owner: string; - - repo: string; + export type TeamsAddMemberLegacyParams = { + team_id: number; - branch: string; + username: string; }; - export type ReposAddProtectedBranchAdminEnforcementParams = { - owner: 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"; - repo: string; + team_id: number; - branch: string; + username: string; }; - export type ReposRemoveProtectedBranchAdminEnforcementParams = { - owner: string; + export type TeamsAddOrUpdateMembershipInOrgParams = { + org: 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"; - repo: string; + team_slug: string; - branch: string; + username: string; }; - export type ReposGetProtectedBranchRestrictionsParams = { - owner: string; + export type TeamsAddOrUpdateMembershipLegacyParams = { + /** + * 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"; - repo: string; + team_id: number; - branch: string; + username: string; }; - export type ReposRemoveProtectedBranchRestrictionsParams = { - owner: 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)." + */ + permission?: "read" | "write" | "admin"; - repo: string; + project_id: number; - branch: string; + team_id: number; }; - export type ReposListProtectedBranchTeamRestrictionsParams = { - owner: string; - - repo: string; - - branch: string; - /** - * Results per page (max 100) - */ - per_page?: number; + export type TeamsAddOrUpdateProjectInOrgParams = { + org: string; /** - * Page number of the results to fetch. + * 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)." */ - page?: number; - }; - export type ReposReplaceProtectedBranchTeamRestrictionsParams = { - owner: string; - - repo: string; + permission?: "read" | "write" | "admin"; - branch: string; + project_id: number; - teams: string[]; + team_slug: string; }; - export type ReposAddProtectedBranchTeamRestrictionsParams = { - owner: string; - - repo: string; + export type TeamsAddOrUpdateProjectLegacyParams = { + /** + * 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)." + */ + permission?: "read" | "write" | "admin"; - branch: string; + project_id: number; - teams: string[]; + team_id: number; }; - export type ReposRemoveProtectedBranchTeamRestrictionsParams = { + 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. + */ + permission?: "pull" | "push" | "admin"; repo: string; - branch: string; - - teams: string[]; + team_id: number; }; - export type ReposListProtectedBranchUserRestrictionsParams = { - owner: string; - - repo: string; + export type TeamsAddOrUpdateRepoInOrgParams = { + org: string; - branch: string; - }; - export type ReposReplaceProtectedBranchUserRestrictionsParams = { 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. + */ + permission?: "pull" | "push" | "admin"; repo: string; - branch: string; - - users: string[]; + team_slug: string; }; - export type ReposAddProtectedBranchUserRestrictionsParams = { + export type TeamsAddOrUpdateRepoLegacyParams = { 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. + */ + permission?: "pull" | "push" | "admin"; repo: string; - branch: string; - - users: string[]; + team_id: number; }; - export type ReposRemoveProtectedBranchUserRestrictionsParams = { + export type TeamsCheckManagesRepoParams = { owner: string; repo: string; - branch: string; - - users: string[]; + team_id: number; }; - export type ReposListCollaboratorsParams = { - owner: string; + export type TeamsCheckManagesRepoInOrgParams = { + org: string; - 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; - }; - export type ReposCheckCollaboratorParams = { owner: string; repo: string; - username: string; + team_slug: string; }; - export type ReposGetCollaboratorPermissionLevelParams = { + export type TeamsCheckManagesRepoLegacyParams = { owner: string; repo: string; - username: string; + team_id: number; }; - export type ReposAddCollaboratorParams = { - owner: string; - - repo: string; - - username: string; + export type TeamsCreateParamsDeprecatedPermission = { /** - * 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. + * The description of the team. */ - permission?: "pull" | "push" | "admin"; - }; - export type ReposRemoveCollaboratorParams = { - owner: string; - - repo: string; - - username: string; - }; - export type ReposListCommitCommentsParams = { - owner: string; - - repo: string; + description?: string; /** - * Results per page (max 100) + * List GitHub IDs for organization members who will become team maintainers. */ - per_page?: number; + maintainers?: string[]; /** - * Page number of the results to fetch. + * The name of the team. */ - page?: number; - }; - export type ReposListCommentsForCommitParamsDeprecatedRef = { - owner: string; + name: string; - repo: string; + org: string; /** - * Results per page (max 100) + * The ID of a team to set as the parent team. */ - per_page?: number; + parent_team_id?: number; /** - * Page number of the results to fetch. + * **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 */ - page?: number; + permission?: string; /** - * @deprecated "ref" parameter renamed to "commit_sha" + * 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` */ - ref: string; - }; - export type ReposListCommentsForCommitParams = { - owner: string; - - repo: string; - - commit_sha: string; + privacy?: "secret" | "closed"; /** - * Results per page (max 100) + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ - per_page?: number; + repo_names?: string[]; + }; + export type TeamsCreateParams = { /** - * Page number of the results to fetch. + * The description of the team. */ - page?: number; - }; - export type ReposCreateCommitCommentParamsDeprecatedSha = { - owner: string; - - repo: string; + description?: string; /** - * The contents of the comment. + * List GitHub IDs for organization members who will become team maintainers. */ - body: string; + maintainers?: string[]; /** - * Relative path of the file to comment on. + * The name of the team. */ - path?: string; + name: string; + + org: string; /** - * Line index in the diff to comment on. + * The ID of a team to set as the parent team. */ - position?: number; + parent_team_id?: number; /** - * **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. + * 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` */ - line?: number; + privacy?: "secret" | "closed"; /** - * @deprecated "sha" parameter renamed to "commit_sha" + * The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ - sha: string; + repo_names?: string[]; }; - export type ReposCreateCommitCommentParams = { - owner: string; - - repo: string; - - commit_sha: string; + export type TeamsCreateDiscussionParams = { /** - * The contents of the comment. + * The discussion post's body text. */ body: string; /** - * Relative path of the file to comment on. + * 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. */ - path?: string; + private?: boolean; + + team_id: number; /** - * Line index in the diff to comment on. + * The discussion post's title. */ - position?: number; + title: string; + }; + export type TeamsCreateDiscussionCommentParams = { /** - * **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. + * The discussion comment's body text. */ - line?: number; - }; - export type ReposGetCommitCommentParams = { - owner: string; - - repo: string; - - comment_id: number; - }; - export type ReposUpdateCommitCommentParams = { - owner: string; + body: string; - repo: string; + discussion_number: number; - comment_id: number; + team_id: number; + }; + export type TeamsCreateDiscussionCommentInOrgParams = { /** - * The contents of the comment + * The discussion comment's body text. */ body: string; - }; - export type ReposDeleteCommitCommentParams = { - owner: string; - repo: string; + discussion_number: number; - comment_id: number; - }; - export type ReposListCommitsParams = { - owner: string; + org: string; - repo: string; + team_slug: string; + }; + export type TeamsCreateDiscussionCommentLegacyParams = { /** - * SHA or branch to start listing commits from. + * The discussion comment's body text. */ - sha?: string; + body: string; + + discussion_number: number; + + team_id: number; + }; + export type TeamsCreateDiscussionInOrgParams = { /** - * Only commits containing this file path will be returned. + * The discussion post's body text. */ - path?: string; + body: string; + + org: string; /** - * GitHub login or email address by which to filter by commit author. + * 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. */ - author?: string; + private?: boolean; + + team_slug: 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`. + * The discussion post's title. */ - since?: string; + title: string; + }; + export type TeamsCreateDiscussionLegacyParams = { /** - * 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`. + * The discussion post's body text. */ - until?: string; + body: string; /** - * Results per page (max 100) + * 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. */ - per_page?: number; + private?: boolean; + + team_id: number; /** - * Page number of the results to fetch. + * The discussion post's title. */ - page?: number; + title: string; }; - export type ReposGetCommitParamsDeprecatedCommitSha = { - owner: string; + export type TeamsDeleteParams = { + team_id: number; + }; + export type TeamsDeleteDiscussionParams = { + discussion_number: number; - repo: string; - /** - * @deprecated "commit_sha" parameter renamed to "ref" - */ - commit_sha: string; + team_id: number; }; - export type ReposGetCommitParamsDeprecatedSha = { - owner: string; + export type TeamsDeleteDiscussionCommentParams = { + comment_number: number; - repo: string; + discussion_number: number; - ref: string; - /** - * @deprecated "sha" parameter renamed to "ref" - */ - sha?: ReposGetCommitParamsDeprecatedSha; + team_id: number; }; - export type ReposGetCommitParams = { - owner: string; + export type TeamsDeleteDiscussionCommentInOrgParams = { + comment_number: number; - repo: string; + discussion_number: number; - ref: string; + org: string; + + team_slug: string; }; - export type ReposGetCommitRefShaParams = { - owner: string; + export type TeamsDeleteDiscussionCommentLegacyParams = { + comment_number: number; - repo: string; + discussion_number: number; - ref: string; + team_id: number; }; - export type ReposCompareCommitsParams = { - owner: string; + export type TeamsDeleteDiscussionInOrgParams = { + discussion_number: number; - repo: string; + org: string; - base: string; + team_slug: string; + }; + export type TeamsDeleteDiscussionLegacyParams = { + discussion_number: number; - head: string; + team_id: number; }; - export type ReposListBranchesForHeadCommitParams = { - owner: string; + export type TeamsDeleteInOrgParams = { + org: string; - repo: string; + team_slug: string; + }; + export type TeamsDeleteLegacyParams = { + team_id: number; + }; + export type TeamsGetParams = { + team_id: number; + }; + export type TeamsGetByNameParams = { + org: string; - commit_sha: string; + team_slug: string; }; - export type ReposListPullRequestsAssociatedWithCommitParams = { - owner: string; + export type TeamsGetDiscussionParams = { + discussion_number: number; - repo: string; + team_id: number; + }; + export type TeamsGetDiscussionCommentParams = { + comment_number: number; - commit_sha: string; - /** - * Results per page (max 100) - */ - per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; + discussion_number: number; + + team_id: number; }; - export type ReposRetrieveCommunityProfileMetricsParams = { - owner: string; + export type TeamsGetDiscussionCommentInOrgParams = { + comment_number: number; - repo: string; + discussion_number: number; + + org: string; + + team_slug: string; }; - export type ReposGetReadmeParams = { - owner: string; + export type TeamsGetDiscussionCommentLegacyParams = { + comment_number: number; - repo: string; - /** - * The name of the commit/branch/tag. - */ - ref?: string; + discussion_number: number; + + team_id: number; }; - export type ReposGetContentsParams = { - owner: string; + export type TeamsGetDiscussionInOrgParams = { + discussion_number: number; - repo: string; + org: string; - path: string; - /** - * The name of the commit/branch/tag. - */ - ref?: string; + team_slug: string; }; - export type ReposCreateOrUpdateFileParams = { - owner: string; + export type TeamsGetDiscussionLegacyParams = { + discussion_number: number; - repo: string; + team_id: number; + }; + export type TeamsGetLegacyParams = { + team_id: number; + }; + export type TeamsGetMemberParams = { + team_id: number; - 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. - */ - branch?: string; - /** - * The person that committed the file. - */ - committer?: ReposCreateOrUpdateFileParamsCommitter; - /** - * The author of the file. - */ - author?: ReposCreateOrUpdateFileParamsAuthor; + username: string; }; - export type ReposCreateFileParams = { - owner: string; + export type TeamsGetMemberLegacyParams = { + team_id: number; - repo: string; + username: string; + }; + export type TeamsGetMembershipParams = { + team_id: number; - path: string; + username: string; + }; + export type TeamsGetMembershipInOrgParams = { + org: string; + + team_slug: string; + + username: string; + }; + export type TeamsGetMembershipLegacyParams = { + team_id: number; + + username: string; + }; + export type TeamsListParams = { + org: string; /** - * The commit message. + * Page number of the results to fetch. */ - message: string; + page?: number; /** - * The new file content, using Base64 encoding. + * Results per page (max 100) */ - content: string; + per_page?: number; + }; + export type TeamsListChildParams = { /** - * **Required if you are updating a file**. The blob SHA of the file being replaced. + * Page number of the results to fetch. */ - sha?: string; + page?: number; /** - * The branch name. + * Results per page (max 100) */ - branch?: string; + per_page?: number; + + team_id: number; + }; + export type TeamsListChildInOrgParams = { + org: string; /** - * The person that committed the file. + * Page number of the results to fetch. */ - committer?: ReposCreateFileParamsCommitter; + page?: number; /** - * The author of the file. + * Results per page (max 100) */ - author?: ReposCreateFileParamsAuthor; - }; - export type ReposUpdateFileParams = { - owner: string; - - repo: string; + per_page?: number; - path: string; + team_slug: string; + }; + export type TeamsListChildLegacyParams = { /** - * The commit message. + * Page number of the results to fetch. */ - message: string; + page?: number; /** - * The new file content, using Base64 encoding. + * Results per page (max 100) */ - content: string; + per_page?: number; + + team_id: number; + }; + export type TeamsListDiscussionCommentsParams = { /** - * **Required if you are updating a file**. The blob SHA of the file being replaced. + * 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`. */ - sha?: string; + direction?: "asc" | "desc"; + + discussion_number: number; /** - * The branch name. + * Page number of the results to fetch. */ - branch?: string; + page?: number; /** - * The person that committed the file. + * Results per page (max 100) */ - committer?: ReposUpdateFileParamsCommitter; + per_page?: number; + + team_id: number; + }; + export type TeamsListDiscussionCommentsInOrgParams = { /** - * The author of the file. + * 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`. */ - author?: ReposUpdateFileParamsAuthor; - }; - export type ReposDeleteFileParams = { - owner: string; + direction?: "asc" | "desc"; - repo: string; + discussion_number: number; - path: string; + org: string; /** - * The commit message. + * Page number of the results to fetch. */ - message: string; + page?: number; /** - * The blob SHA of the file being replaced. + * Results per page (max 100) */ - sha: string; + per_page?: number; + + team_slug: string; + }; + export type TeamsListDiscussionCommentsLegacyParams = { /** - * The branch name. + * 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`. */ - branch?: string; + direction?: "asc" | "desc"; + + discussion_number: number; /** - * object containing information about the committer. + * Page number of the results to fetch. */ - committer?: ReposDeleteFileParamsCommitter; + page?: number; /** - * object containing information about the author. + * Results per page (max 100) */ - author?: ReposDeleteFileParamsAuthor; - }; - export type ReposGetArchiveLinkParams = { - owner: string; - - repo: string; - - archive_format: string; + per_page?: number; - ref: string; + team_id: number; }; - export type ReposListDeploymentsParams = { - owner: string; - - 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; + export type TeamsListDiscussionsParams = { /** - * The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). + * 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`. */ - task?: string; + direction?: "asc" | "desc"; /** - * The name of the environment that was deployed to (e.g., `staging` or `production`). + * Page number of the results to fetch. */ - environment?: string; + page?: number; /** * Results per page (max 100) */ per_page?: number; + + team_id: number; + }; + export type TeamsListDiscussionsInOrgParams = { + /** + * 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"; + + org: string; /** * Page number of the results to fetch. */ page?: number; - }; - export type ReposGetDeploymentParams = { - owner: string; - - repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; - deployment_id: number; + team_slug: string; }; - export type ReposCreateDeploymentParams = { - owner: string; - - repo: string; + export type TeamsListDiscussionsLegacyParams = { /** - * The ref to deploy. This can be a branch, tag, or SHA. + * 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`. */ - ref: string; + direction?: "asc" | "desc"; /** - * Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + * Page number of the results to fetch. */ - task?: string; + page?: number; /** - * Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + * Results per page (max 100) */ - auto_merge?: boolean; + per_page?: number; + + team_id: number; + }; + export type TeamsListForAuthenticatedUserParams = { /** - * 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. + * Page number of the results to fetch. */ - required_contexts?: string[]; + page?: number; /** - * JSON payload with extra information about the deployment. + * Results per page (max 100) */ - payload?: string; + per_page?: number; + }; + export type TeamsListMembersParams = { /** - * Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + * Page number of the results to fetch. */ - environment?: string; + page?: number; /** - * Short description of the deployment. + * Results per page (max 100) */ - description?: string; + per_page?: number; /** - * 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. + * 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. */ - transient_environment?: boolean; + role?: "member" | "maintainer" | "all"; + + team_id: number; + }; + export type TeamsListMembersInOrgParams = { + org: 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. + * Page number of the results to fetch. */ - production_environment?: boolean; - }; - export type ReposListDeploymentStatusesParams = { - owner: string; - - repo: string; - - deployment_id: number; + page?: number; /** * Results per page (max 100) */ per_page?: number; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type ReposGetDeploymentStatusParams = { - owner: string; - - repo: string; - - deployment_id: number; + role?: "member" | "maintainer" | "all"; - status_id: number; + team_slug: string; }; - export type ReposCreateDeploymentStatusParams = { - owner: string; - - repo: string; - - deployment_id: number; + export type TeamsListMembersLegacyParams = { /** - * 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. + * Page number of the results to fetch. */ - state: - | "error" - | "failure" - | "inactive" - | "in_progress" - | "queued" - | "pending" - | "success"; + page?: number; /** - * 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`. + * Results per page (max 100) */ - target_url?: string; + per_page?: number; /** - * 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. + * 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. */ - log_url?: string; + role?: "member" | "maintainer" | "all"; + + team_id: number; + }; + export type TeamsListPendingInvitationsParams = { /** - * A short description of the status. The maximum description length is 140 characters. + * Page number of the results to fetch. */ - description?: string; + page?: number; /** - * 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. + * Results per page (max 100) */ - environment?: "production" | "staging" | "qa"; + per_page?: number; + + team_id: number; + }; + export type TeamsListPendingInvitationsInOrgParams = { + org: string; /** - * 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. + * Page number of the results to fetch. */ - environment_url?: string; + page?: number; /** - * 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. **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. + * Results per page (max 100) */ - auto_inactive?: boolean; - }; - export type ReposListDownloadsParams = { - owner: string; + per_page?: number; - repo: string; + team_slug: string; + }; + export type TeamsListPendingInvitationsLegacyParams = { + /** + * 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; - }; - export type ReposGetDownloadParams = { - owner: string; - - repo: string; + /** + * Results per page (max 100) + */ + per_page?: number; - download_id: number; + team_id: number; }; - export type ReposDeleteDownloadParams = { - owner: string; - - repo: string; + export type TeamsListProjectsInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; - download_id: number; + team_slug: string; }; - export type ReposListForksParams = { - owner: string; - - repo: string; + export type TeamsListProjectsLegacyParams = { /** - * The sort order. Can be either `newest`, `oldest`, or `stargazers`. + * Page number of the results to fetch. */ - sort?: "newest" | "oldest" | "stargazers"; + 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; - }; - export type ReposCreateForkParams = { - owner: string; - - repo: string; /** - * Optional parameter to specify the organization name if forking into an organization. + * Results per page (max 100) */ - organization?: string; - }; - export type ReposListHooksParams = { - owner: string; + per_page?: number; - repo: string; + team_id: number; + }; + export type TeamsListReposInOrgParams = { + org: string; + /** + * Page number of the results to fetch. + */ + page?: number; /** * Results per page (max 100) */ per_page?: number; + + team_slug: string; + }; + export type TeamsListReposLegacyParams = { /** * Page number of the results to fetch. */ page?: number; + /** + * Results per page (max 100) + */ + per_page?: number; + + team_id: number; }; - export type ReposGetHookParams = { + export type TeamsRemoveMemberParams = { + team_id: number; + + username: string; + }; + export type TeamsRemoveMemberLegacyParams = { + team_id: number; + + username: string; + }; + export type TeamsRemoveMembershipParams = { + team_id: number; + + username: string; + }; + export type TeamsRemoveMembershipInOrgParams = { + org: string; + + team_slug: string; + + username: string; + }; + export type TeamsRemoveMembershipLegacyParams = { + team_id: number; + + username: string; + }; + export type TeamsRemoveProjectParams = { + project_id: number; + + team_id: number; + }; + export type TeamsRemoveProjectInOrgParams = { + org: string; + + project_id: number; + + team_slug: string; + }; + export type TeamsRemoveProjectLegacyParams = { + project_id: number; + + team_id: number; + }; + export type TeamsRemoveRepoParams = { owner: string; repo: string; - hook_id: number; + team_id: number; }; - export type ReposCreateHookParams = { + export type TeamsRemoveRepoInOrgParams = { + org: string; + + owner: string; + + repo: string; + + team_slug: string; + }; + export type TeamsRemoveRepoLegacyParams = { owner: string; repo: string; + + team_id: number; + }; + export type TeamsReviewProjectParams = { + project_id: number; + + team_id: number; + }; + export type TeamsReviewProjectInOrgParams = { + org: string; + + project_id: number; + + team_slug: string; + }; + export type TeamsReviewProjectLegacyParams = { + project_id: number; + + team_id: number; + }; + export type TeamsUpdateParamsDeprecatedPermission = { /** - * Use `web` to create a webhook. This parameter only accepts the value `web`. + * The description of the team. */ - name?: string; + description?: 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). + * The name of the team. */ - config: ReposCreateHookParamsConfig; + name: string; /** - * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. + * The ID of a team to set as the parent team. */ - events?: string[]; + parent_team_id?: number; /** - * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * **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 */ - active?: boolean; - }; - export type ReposUpdateHookParams = { - owner: string; - - repo: string; - - hook_id: number; + permission?: 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). + * 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. */ - config?: ReposUpdateHookParamsConfig; + privacy?: "secret" | "closed"; + + team_id: number; + }; + export type TeamsUpdateParams = { /** - * Determines what [events](https://developer.github.com/v3/activity/events/types/) the hook is triggered for. This replaces the entire array of events. + * The description of the team. */ - events?: string[]; + description?: string; /** - * Determines a list of events to be added to the list of events that the Hook triggers for. + * The name of the team. */ - add_events?: string[]; + name: string; /** - * Determines a list of events to be removed from the list of events that the Hook triggers for. + * The ID of a team to set as the parent team. */ - remove_events?: string[]; + parent_team_id?: number; /** - * Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * 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. */ - active?: boolean; + privacy?: "secret" | "closed"; + + team_id: number; }; - export type ReposTestPushHookParams = { - owner: string; + export type TeamsUpdateDiscussionParams = { + /** + * The discussion post's body text. + */ + body?: string; - repo: string; + discussion_number: number; - hook_id: number; + team_id: number; + /** + * The discussion post's title. + */ + title?: string; }; - export type ReposPingHookParams = { - owner: string; + export type TeamsUpdateDiscussionCommentParams = { + /** + * The discussion comment's body text. + */ + body: string; - repo: string; + comment_number: number; - hook_id: number; + discussion_number: number; + + team_id: number; }; - export type ReposDeleteHookParams = { - owner: string; + export type TeamsUpdateDiscussionCommentInOrgParams = { + /** + * The discussion comment's body text. + */ + body: string; - repo: string; + comment_number: number; - hook_id: number; - }; - export type ReposListInvitationsParams = { - owner: string; + discussion_number: number; - repo: string; + org: string; + + team_slug: string; + }; + export type TeamsUpdateDiscussionCommentLegacyParams = { /** - * Results per page (max 100) + * The discussion comment's body text. */ - per_page?: number; + body: string; + + comment_number: number; + + discussion_number: number; + + team_id: number; + }; + export type TeamsUpdateDiscussionInOrgParams = { /** - * Page number of the results to fetch. + * The discussion post's body text. */ - page?: number; - }; - export type ReposDeleteInvitationParams = { - owner: string; + body?: string; - repo: string; + discussion_number: number; - invitation_id: number; + org: string; + + team_slug: string; + /** + * The discussion post's title. + */ + title?: string; }; - export type ReposUpdateInvitationParams = { - owner: string; + export type TeamsUpdateDiscussionLegacyParams = { + /** + * The discussion post's body text. + */ + body?: string; - repo: string; + discussion_number: number; - invitation_id: number; + team_id: number; /** - * The permissions that the associated user will have on the repository. Valid values are `read`, `write`, and `admin`. + * The discussion post's title. */ - permissions?: "read" | "write" | "admin"; + title?: string; }; - export type ReposListInvitationsForAuthenticatedUserParams = { + export type TeamsUpdateInOrgParamsDeprecatedPermission = { /** - * Results per page (max 100) + * The description of the team. */ - per_page?: number; + description?: string; /** - * Page number of the results to fetch. + * The name of the team. */ - page?: number; - }; - export type ReposAcceptInvitationParams = { - invitation_id: number; - }; - export type ReposDeclineInvitationParams = { - invitation_id: number; - }; - export type ReposListDeployKeysParams = { - owner: string; + name: string; - repo: string; + org: string; /** - * Results per page (max 100) + * The ID of a team to set as the parent team. */ - per_page?: number; + parent_team_id?: number; /** - * Page number of the results to fetch. + * **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 */ - page?: number; - }; - export type ReposGetDeployKeyParams = { - owner: string; - - repo: string; + permission?: string; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; - key_id: number; + team_slug: string; }; - export type ReposAddDeployKeyParams = { - owner: string; - - repo: string; + export type TeamsUpdateInOrgParams = { /** - * A name for the key. + * The description of the team. */ - title?: string; + description?: string; /** - * The contents of the key. + * The name of the team. */ - key: string; + name: string; + + org: 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/)." + * The ID of a team to set as the parent team. */ - read_only?: boolean; - }; - export type ReposRemoveDeployKeyParams = { - owner: string; - - repo: string; + parent_team_id?: number; + /** + * The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + */ + privacy?: "secret" | "closed"; - key_id: number; + team_slug: string; }; - export type ReposMergeParams = { - owner: string; - - repo: string; + export type TeamsUpdateLegacyParamsDeprecatedPermission = { /** - * The name of the base branch that the head will be merged into. + * The description of the team. */ - base: string; + description?: string; /** - * The head to merge. This can be a branch name or a commit SHA1. + * The name of the team. */ - head: string; + name: string; /** - * Commit message to use for the merge commit. If omitted, a default message will be used. + * The ID of a team to set as the parent team. */ - commit_message?: string; - }; - export type ReposGetPagesParams = { - owner: string; - - repo: string; - }; - export type ReposEnablePagesSiteParams = { - owner: string; - - repo: string; - - source?: ReposEnablePagesSiteParamsSource; - }; - export type ReposDisablePagesSiteParams = { - owner: string; - - repo: string; - }; - export type ReposUpdateInformationAboutPagesSiteParams = { - owner: string; - - repo: string; + parent_team_id?: number; /** - * 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/)." + * **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 */ - cname?: string; + permission?: 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"`. + * 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. */ - source?: '"gh-pages"' | '"master"' | '"master /docs"'; - }; - export type ReposRequestPageBuildParams = { - owner: string; + privacy?: "secret" | "closed"; - repo: string; + team_id: number; }; - export type ReposListPagesBuildsParams = { - owner: string; - - repo: string; + export type TeamsUpdateLegacyParams = { /** - * Results per page (max 100) + * The description of the team. */ - per_page?: number; + description?: string; /** - * Page number of the results to fetch. + * The name of the team. */ - page?: number; - }; - export type ReposGetLatestPagesBuildParams = { - owner: string; - - repo: string; - }; - export type ReposGetPagesBuildParams = { - owner: string; - - repo: string; - - build_id: number; - }; - export type ReposListReleasesParams = { - owner: string; - - repo: string; + name: string; /** - * Results per page (max 100) + * The ID of a team to set as the parent team. */ - per_page?: number; + parent_team_id?: number; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type ReposGetReleaseParams = { - owner: string; - - repo: string; + privacy?: "secret" | "closed"; - release_id: number; + team_id: number; }; - export type ReposGetLatestReleaseParams = { - owner: string; - - repo: string; + 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 ReposGetReleaseByTagParams = { - owner: string; - - repo: string; - - tag: string; + export type UsersBlockParams = { + username: string; }; - export type ReposCreateReleaseParams = { - owner: string; + export type UsersCheckBlockedParams = { + username: string; + }; + export type UsersCheckFollowingParams = { + username: string; + }; + export type UsersCheckFollowingForUserParams = { + target_user: string; - repo: string; + username: string; + }; + export type UsersCreateGpgKeyParams = { /** - * The name of the tag. + * 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. */ - tag_name: string; + armored_public_key?: string; + }; + export type UsersCreatePublicKeyParams = { /** - * 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. + * 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. */ - target_commitish?: string; + key?: string; /** - * The name of the release. + * 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". */ - name?: string; + title?: string; + }; + export type UsersDeleteEmailsParams = { /** - * Text describing the contents of the tag. + * 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. */ - body?: string; + 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 = { /** - * `true` to create a draft (unpublished) release, `false` to create a published one. + * Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ - draft?: boolean; + subject_id?: string; /** - * `true` to identify the release as a prerelease. `false` to identify the release as a full release. + * 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`. */ - prerelease?: boolean; - }; - export type ReposUpdateReleaseParams = { - owner: string; - - repo: string; + subject_type?: "organization" | "repository" | "issue" | "pull_request"; - release_id: number; + username: string; + }; + export type UsersGetGpgKeyParams = { + gpg_key_id: number; + }; + export type UsersGetPublicKeyParams = { + key_id: number; + }; + export type UsersListParams = { /** - * The name of the tag. + * Page number of the results to fetch. */ - tag_name?: string; + page?: number; /** - * 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. + * Results per page (max 100) */ - target_commitish?: string; + per_page?: number; /** - * The name of the release. + * The integer ID of the last User that you've seen. */ - name?: string; + since?: string; + }; + export type UsersListEmailsParams = { /** - * Text describing the contents of the tag. + * Page number of the results to fetch. */ - body?: string; + page?: number; /** - * `true` makes the release a draft, and `false` publishes the release. + * Results per page (max 100) */ - draft?: boolean; + per_page?: number; + }; + export type UsersListFollowersForAuthenticatedUserParams = { /** - * `true` to identify the release as a prerelease, `false` to identify the release as a full release. + * Page number of the results to fetch. */ - prerelease?: boolean; - }; - export type ReposDeleteReleaseParams = { - owner: string; - - repo: string; - - release_id: number; - }; - export type ReposListAssetsForReleaseParams = { - owner: string; - - repo: string; - - release_id: number; + page?: number; /** * Results per page (max 100) */ per_page?: number; + }; + export type UsersListFollowersForUserParams = { /** * Page number of the results to fetch. */ page?: number; - }; - export type ReposUploadReleaseAssetParams = { - url: string; /** - * Request headers containing `content-type` and `content-length` + * Results per page (max 100) */ - headers: ReposUploadReleaseAssetParamsHeaders; + per_page?: number; + + username: string; + }; + export type UsersListFollowingForAuthenticatedUserParams = { /** - * The file name of the asset. This should be set in a URI query parameter. + * Page number of the results to fetch. */ - name: string; + page?: number; /** - * An alternate short description of the asset. Used in place of the filename. This should be set in a URI query parameter. + * Results per page (max 100) */ - label?: string; - - file: string | object; - }; - export type ReposGetReleaseAssetParams = { - owner: string; - - repo: string; - - asset_id: number; + per_page?: number; }; - export type ReposUpdateReleaseAssetParams = { - owner: string; - - repo: string; - - asset_id: number; + export type UsersListFollowingForUserParams = { /** - * The file name of the asset. + * Page number of the results to fetch. */ - name?: string; + page?: number; /** - * An alternate short description of the asset. Used in place of the filename. + * Results per page (max 100) */ - label?: string; - }; - export type ReposDeleteReleaseAssetParams = { - owner: string; - - repo: string; - - asset_id: number; - }; - export type ReposGetContributorsStatsParams = { - owner: string; - - repo: string; - }; - export type ReposGetCommitActivityStatsParams = { - owner: string; - - repo: string; - }; - export type ReposGetCodeFrequencyStatsParams = { - owner: string; - - repo: string; - }; - export type ReposGetParticipationStatsParams = { - owner: string; - - repo: string; - }; - export type ReposGetPunchCardStatsParams = { - owner: string; + per_page?: number; - repo: string; + username: string; }; - export type ReposCreateStatusParams = { - owner: string; - - repo: string; - - sha: string; + export type UsersListGpgKeysParams = { /** - * The state of the status. Can be one of `error`, `failure`, `pending`, or `success`. + * Page number of the results to fetch. */ - state: "error" | "failure" | "pending" | "success"; + page?: number; /** - * 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` + * Results per page (max 100) */ - target_url?: string; + per_page?: number; + }; + export type UsersListGpgKeysForUserParams = { /** - * A short description of the status. + * Page number of the results to fetch. */ - description?: string; + page?: number; /** - * A string label to differentiate this status from the status of other systems. + * Results per page (max 100) */ - context?: string; - }; - export type ReposListStatusesForRefParams = { - owner: string; - - repo: string; + per_page?: number; - ref: string; + 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; - }; - export type ReposGetCombinedStatusForRefParams = { - owner: string; - - repo: string; - - ref: string; - }; - export type ReposGetTopReferrersParams = { - owner: string; - - repo: string; - }; - export type ReposGetTopPathsParams = { - owner: string; - - repo: string; - }; - export type ReposGetViewsParams = { - owner: string; - - repo: string; /** - * Must be one of: `day`, `week`. + * Results per page (max 100) */ - per?: "day" | "week"; + per_page?: number; }; - export type ReposGetClonesParams = { - owner: string; - - repo: string; + export type UsersListPublicKeysForUserParams = { /** - * Must be one of: `day`, `week`. + * Page number of the results to fetch. */ - per?: "day" | "week"; - }; - export type SearchReposParams = { + 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. + * Results per page (max 100) */ - q: string; + per_page?: number; + + username: string; + }; + export type UsersTogglePrimaryEmailVisibilityParams = { /** - * Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. + * Specify the _primary_ email address that needs a visibility change. */ - sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + email: string; /** - * 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`. + * 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. */ - order?: "desc" | "asc"; + visibility: string; + }; + export type UsersUnblockParams = { + username: string; + }; + export type UsersUnfollowParams = { + username: string; + }; + export type UsersUpdateAuthenticatedParams = { /** - * Results per page (max 100) + * The new short biography of the user. */ - per_page?: number; + bio?: string; /** - * Page number of the results to fetch. + * The new blog URL of the user. */ - page?: number; - }; - export type SearchCommitsParams = { + blog?: string; /** - * 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. + * The new company of the user. */ - q: string; + company?: string; /** - * Sorts the results of your query by `author-date` or `committer-date`. + * The publicly visible email address of the user. */ - sort?: "author-date" | "committer-date"; + email?: string; /** - * 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`. + * The new hiring availability of the user. */ - order?: "desc" | "asc"; + hireable?: boolean; /** - * Results per page (max 100) + * The new location of the user. */ - per_page?: number; + location?: string; /** - * Page number of the results to fetch. + * The new name of the user. */ - page?: number; + 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; + }; +} + +export 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 + ) => Promise> + ): void; }; - export type SearchCodeParams = { - /** - * 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; + + 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; + + actions: { /** - * Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. + * Cancels a workflow run using its `id`. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. */ - sort?: "indexed"; + cancelWorkflowRun: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsCancelWorkflowRunParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * 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`. + * Creates or updates a secret with an encrypted value. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. + * + * Encrypt your secret using the [tweetsodium](https://github.com/mastahyeti/tweetsodium) library. + * + * + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/stable/public/#nacl-public-sealedbox) with Python 3. + * + * + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. */ - order?: "desc" | "asc"; + createOrUpdateSecretForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsCreateOrUpdateSecretForRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * Returns a token that you can pass to the `config` script. The token expires after one hour. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + * + * Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint. */ - per_page?: number; + createRegistrationToken: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsCreateRegistrationTokenParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. + * + * Remove your self-hosted runner from a repository, replacing TOKEN with the remove token provided by this endpoint. */ - page?: number; - }; - export type SearchIssuesAndPullRequestsParams = { + createRemoveToken: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsCreateRemoveTokenParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * 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. + * Deletes an artifact for a workflow run. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. */ - q: string; + deleteArtifact: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsDeleteArtifactParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * 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`, + * Deletes a secret in a repository using the secret name. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. */ - sort?: - | "comments" - | "reactions" - | "reactions-+1" - | "reactions--1" - | "reactions-smile" - | "reactions-thinking_face" - | "reactions-heart" - | "reactions-tada" - | "interactions" - | "created" - | "updated"; + deleteSecretFromRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsDeleteSecretFromRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * 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`. + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. */ - order?: "desc" | "asc"; + downloadArtifact: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsDownloadArtifactParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. */ - per_page?: number; + getArtifact: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetArtifactParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * Gets your public key, which you must store. You need your public key to use other secrets endpoints. Use the returned `key` to encrypt your secrets. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. */ - page?: number; - }; - export type SearchIssuesParams = { + getPublicKey: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetPublicKeyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * 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. + * Gets a single secret without revealing its encrypted value. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. */ - q: string; + getSecret: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetSecretParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * 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`, + * Gets a specific self-hosted runner. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. */ - sort?: - | "comments" - | "reactions" - | "reactions-+1" - | "reactions--1" - | "reactions-smile" - | "reactions-thinking_face" - | "reactions-heart" - | "reactions-tada" - | "interactions" - | "created" - | "updated"; + getSelfHostedRunner: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsGetSelfHostedRunnerParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * 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`. + * Gets a specific workflow. You can also replace `:workflow_id` with `:workflow_file_name`. For example, you could use `main.yml`. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. */ - order?: "desc" | "asc"; + getWorkflow: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetWorkflowParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. */ - per_page?: number; + getWorkflowJob: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetWorkflowJobParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. */ - page?: number; - }; - export type SearchUsersParams = { + getWorkflowRun: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsGetWorkflowRunParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * 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. + * Lists binaries for the self-hosted runner application that you can download and run. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. */ - q: string; + listDownloadsForSelfHostedRunnerApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListDownloadsForSelfHostedRunnerApplicationParams + ): Promise< + Octokit.Response< + Octokit.ActionsListDownloadsForSelfHostedRunnerApplicationResponse + > + >; + + endpoint: Octokit.Endpoint; + }; /** - * Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. + * Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. */ - sort?: "followers" | "repositories" | "joined"; + listJobsForWorkflowRun: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListJobsForWorkflowRunParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * 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`. + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://developer.github.com/v3/#parameters). + * + * Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. */ - order?: "desc" | "asc"; + listRepoWorkflowRuns: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListRepoWorkflowRunsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. */ - per_page?: number; + listRepoWorkflows: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsListRepoWorkflowsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * Lists all secrets available in a repository without revealing their encrypted values. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `secrets` permission to use this endpoint. */ - page?: number; - }; - export type SearchTopicsParams = { + listSecretsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListSecretsForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * 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). + * Lists all self-hosted runners for a repository. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. */ - q: string; - }; - export type SearchLabelsParams = { + listSelfHostedRunnersForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListSelfHostedRunnersForRepoParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * The id of the repository. + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. */ - repository_id: number; + listWorkflowJobLogs: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListWorkflowJobLogsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * 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). + * Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. */ - q: string; + listWorkflowRunArtifacts: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListWorkflowRunArtifactsParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Sorts the results of your query by when the label was `created` or `updated`. + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. + * + * Call this endpoint using the `-v` flag, which enables verbose output and allows you to see the download URL in the header. To download the file into the current working directory, specify the filename using the `-o` flag. */ - sort?: "created" | "updated"; + listWorkflowRunLogs: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsListWorkflowRunLogsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * 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`. + * List all workflow runs for a workflow. You can also replace `:workflow_id` with `:workflow_file_name`. For example, you could use `main.yml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://developer.github.com/v3/#parameters). + * + * Anyone with read access to the repository can use this endpoint. */ - order?: "desc" | "asc"; - }; - export type TeamsListParams = { - org: string; + listWorkflowRuns: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsListWorkflowRunsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * Re-runs your workflow run using its `id`. Anyone with write access to the repository can use this endpoint. GitHub Apps must have the `actions` permission to use this endpoint. */ - per_page?: number; + reRunWorkflow: { + ( + params?: Octokit.RequestOptions & Octokit.ActionsReRunWorkflowParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. Anyone with admin access to the repository can use this endpoint. GitHub Apps must have the `administration` permission to use this endpoint. */ - page?: number; - }; - export type TeamsGetParams = { - team_id: number; - }; - export type TeamsGetByNameParams = { - org: string; + removeSelfHostedRunner: { + ( + params?: Octokit.RequestOptions & + Octokit.ActionsRemoveSelfHostedRunnerParams + ): Promise; - team_slug: string; + endpoint: Octokit.Endpoint; + }; }; - export type TeamsCreateParams = { - 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. **For a parent or child team:** - */ - privacy?: "secret" | "closed"; + activity: { /** - * **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. + * Requires for the user to be authenticated. */ - permission?: "pull" | "push" | "admin"; + checkStarringRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityCheckStarringRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * The ID of a team to set as the parent team. **Note**: You must pass the `hellcat-preview` media type to use this parameter. + * Requires for the user to be authenticated. */ - parent_team_id?: number; - }; - export type TeamsUpdateParams = { - team_id: number; + checkWatchingRepoLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityCheckWatchingRepoLegacyParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * The name of the team. + * 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). */ - name: string; + deleteRepoSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityDeleteRepoSubscriptionParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * The description of the team. + * Mutes all future notifications for a conversation until you comment on the thread or get **@mention**ed. */ - description?: string; + 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; + }; /** - * 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. + * 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. */ - privacy?: string; + getThreadSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityGetThreadSubscriptionParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * **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. + * This is the user's organization dashboard. You must be authenticated as the user to view this. */ - permission?: "pull" | "push" | "admin"; + listEventsForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityListEventsForOrgParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * The ID of a team to set as the parent team. **Note**: You must pass the `hellcat-preview` media type to use this parameter. + * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */ - parent_team_id?: number; - }; - export type TeamsDeleteParams = { - team_id: number; - }; - export type TeamsListChildParams = { - team_id: number; + listEventsForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListEventsForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * 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. */ - per_page?: number; + listFeeds: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type TeamsListReposParams = { - team_id: number; + listNotifications: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListNotificationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * List all notifications for the current user. */ - per_page?: number; + listNotificationsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListNotificationsForRepoParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type TeamsCheckManagesRepoParams = { - team_id: number; + listPublicEvents: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityListPublicEventsParams + ): Promise; - owner: string; + endpoint: Octokit.Endpoint; + }; - repo: string; - }; - export type TeamsAddOrUpdateRepoParams = { - team_id: number; + listPublicEventsForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListPublicEventsForOrgParams + ): Promise; - owner: string; + endpoint: Octokit.Endpoint; + }; - 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"; - }; - export type TeamsRemoveRepoParams = { - team_id: number; + listPublicEventsForRepoNetwork: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListPublicEventsForRepoNetworkParams + ): Promise; - owner: string; + endpoint: Octokit.Endpoint; + }; - repo: string; - }; - export type TeamsListForAuthenticatedUserParams = { - /** - * Results per page (max 100) - */ - per_page?: number; - /** - * Page number of the results to fetch. - */ - page?: number; - }; - export type TeamsListProjectsParams = { - team_id: number; - /** - * Results per page (max 100) - */ - per_page?: number; + listPublicEventsForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListPublicEventsForUserParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type TeamsReviewProjectParams = { - team_id: number; + listReceivedEventsForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReceivedEventsForUserParams + ): Promise; - project_id: number; - }; - export type TeamsAddOrUpdateProjectParams = { - team_id: number; + endpoint: Octokit.Endpoint; + }; - 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"; - }; - export type TeamsRemoveProjectParams = { - team_id: number; + listReceivedPublicEventsForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReceivedPublicEventsForUserParams + ): Promise; - project_id: number; - }; - export type TeamsListDiscussionCommentsParams = { - team_id: number; + endpoint: Octokit.Endpoint; + }; - 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"; + listRepoEvents: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityListRepoEventsParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * 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: */ - per_page?: number; + listReposStarredByAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReposStarredByAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.ActivityListReposStarredByAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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: */ - page?: number; - }; - export type TeamsGetDiscussionCommentParams = { - team_id: number; + listReposStarredByUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReposStarredByUserParams + ): Promise< + Octokit.Response + >; - discussion_number: number; + endpoint: Octokit.Endpoint; + }; - comment_number: number; - }; - export type TeamsCreateDiscussionCommentParams = { - team_id: number; + listReposWatchedByUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListReposWatchedByUserParams + ): Promise< + Octokit.Response + >; - discussion_number: number; + endpoint: Octokit.Endpoint; + }; /** - * The discussion comment's body text. + * 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: */ - body: string; - }; - export type TeamsUpdateDiscussionCommentParams = { - team_id: number; + listStargazersForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListStargazersForRepoParams + ): Promise< + Octokit.Response + >; - discussion_number: number; + endpoint: Octokit.Endpoint; + }; - comment_number: number; - /** - * The discussion comment's body text. - */ - body: string; - }; - export type TeamsDeleteDiscussionCommentParams = { - team_id: number; + listWatchedReposForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListWatchedReposForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.ActivityListWatchedReposForAuthenticatedUserResponse + > + >; - discussion_number: number; + endpoint: Octokit.Endpoint; + }; - comment_number: number; - }; - export type TeamsListDiscussionsParams = { - team_id: number; + listWatchersForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityListWatchersForRepoParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * 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`. + * 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`. */ - direction?: "asc" | "desc"; + markAsRead: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityMarkAsReadParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * 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`. */ - per_page?: number; + markNotificationsAsReadForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityMarkNotificationsAsReadForRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + + markThreadAsRead: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityMarkThreadAsReadParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type TeamsGetDiscussionParams = { - team_id: number; + setRepoSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivitySetRepoSubscriptionParams + ): Promise>; - discussion_number: number; - }; - export type TeamsCreateDiscussionParams = { - team_id: number; + endpoint: Octokit.Endpoint; + }; /** - * The discussion post's title. + * This lets you subscribe or unsubscribe from a conversation. */ - title: string; + setThreadSubscription: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivitySetThreadSubscriptionParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * The discussion post's body text. + * 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)." */ - body: string; + starRepo: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityStarRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * 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. + * Requires for the user to be authenticated. */ - private?: boolean; - }; - export type TeamsUpdateDiscussionParams = { - team_id: number; + stopWatchingRepoLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ActivityStopWatchingRepoLegacyParams + ): Promise; - discussion_number: number; + endpoint: Octokit.Endpoint; + }; /** - * The discussion post's title. + * Requires for the user to be authenticated. */ - title?: string; + unstarRepo: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityUnstarRepoParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * The discussion post's body text. + * Requires 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)." */ - body?: string; - }; - export type TeamsDeleteDiscussionParams = { - team_id: number; + watchRepoLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.ActivityWatchRepoLegacyParams + ): Promise; - discussion_number: number; + endpoint: Octokit.Endpoint; + }; }; - export type TeamsListMembersParams = { - team_id: number; + apps: { /** - * 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. + * 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. */ - role?: "member" | "maintainer" | "all"; + addRepoToInstallation: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsAddRepoToInstallationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * 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. */ - per_page?: number; + checkAccountIsAssociatedWithAny: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCheckAccountIsAssociatedWithAnyParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type TeamsGetMemberParams = { - team_id: number; - - username: string; - }; - export type TeamsAddMemberParams = { - team_id: number; - - username: string; - }; - export type TeamsRemoveMemberParams = { - team_id: number; + checkAccountIsAssociatedWithAnyStubbed: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCheckAccountIsAssociatedWithAnyStubbedParams + ): Promise< + Octokit.Response< + Octokit.AppsCheckAccountIsAssociatedWithAnyStubbedResponse + > + >; - username: string; - }; - export type TeamsGetMembershipParams = { - team_id: number; + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + checkAuthorization: { + ( + params?: Octokit.RequestOptions & Octokit.AppsCheckAuthorizationParams + ): Promise>; - username: string; - }; - export type TeamsAddOrUpdateMembershipParams = { - team_id: number; + endpoint: Octokit.Endpoint; + }; + /** + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + checkToken: { + (params?: Octokit.RequestOptions & Octokit.AppsCheckTokenParams): Promise< + Octokit.Response + >; - username: string; + endpoint: Octokit.Endpoint; + }; /** - * 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. + * 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/`. */ - role?: "member" | "maintainer"; - }; - export type TeamsRemoveMembershipParams = { - team_id: number; + createContentAttachment: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCreateContentAttachmentParams + ): Promise>; - username: string; - }; - export type TeamsListPendingInvitationsParams = { - team_id: number; + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * 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`. */ - per_page?: number; + createFromManifest: { + ( + params?: Octokit.RequestOptions & Octokit.AppsCreateFromManifestParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type UsersGetByUsernameParams = { - username: string; - }; - export type UsersUpdateAuthenticatedParams = { + createInstallationToken: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsCreateInstallationTokenParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * The new name of the user. + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * + * Deleting an 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). */ - name?: string; + deleteAuthorization: { + ( + params?: Octokit.RequestOptions & Octokit.AppsDeleteAuthorizationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * The publicly visible email address of the user. + * 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. */ - email?: string; + deleteInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsDeleteInstallationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * The new blog URL of the user. + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. */ - blog?: string; + deleteToken: { + ( + params?: Octokit.RequestOptions & Octokit.AppsDeleteTokenParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * The new company of the user. + * 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) */ - company?: string; + findOrgInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsFindOrgInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * The new location of the user. + * 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) */ - location?: string; + findRepoInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsFindRepoInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * The new hiring availability of the user. + * 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) */ - hireable?: boolean; + findUserInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsFindUserInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * The new short biography of the user. + * 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. */ - bio?: string; - }; - export type UsersGetContextForUserParams = { - username: string; + getAuthenticated: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * 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`. + * **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. */ - subject_type?: "organization" | "repository" | "issue" | "pull_request"; + getBySlug: { + (params?: Octokit.RequestOptions & Octokit.AppsGetBySlugParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. + * 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. */ - subject_id?: string; - }; - export type UsersListParams = { + getInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * The integer ID of the last User that you've seen. + * 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. */ - since?: string; + getOrgInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetOrgInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * 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. */ - per_page?: number; + getRepoInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetRepoInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type UsersCheckBlockedParams = { - username: string; - }; - export type UsersBlockParams = { - username: string; - }; - export type UsersUnblockParams = { - username: string; - }; - export type UsersListEmailsParams = { + getUserInstallation: { + ( + params?: Octokit.RequestOptions & Octokit.AppsGetUserInstallationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * 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. */ - per_page?: number; + listAccountsUserOrOrgOnPlan: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListAccountsUserOrOrgOnPlanParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type UsersListPublicEmailsParams = { + listAccountsUserOrOrgOnPlanStubbed: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListAccountsUserOrOrgOnPlanStubbedParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * 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. */ - per_page?: number; + listInstallationReposForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListInstallationReposForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.AppsListInstallationReposForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type UsersAddEmailsParams = { + listInstallations: { + ( + params?: Octokit.RequestOptions & Octokit.AppsListInstallationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * 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. + * 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. */ - emails: string[]; - }; - export type UsersDeleteEmailsParams = { + listInstallationsForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListInstallationsForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.AppsListInstallationsForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; /** - * 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. + * 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/). */ - emails: string[]; - }; - export type UsersTogglePrimaryEmailVisibilityParams = { + listMarketplacePurchasesForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserResponse + > + >; + + endpoint: Octokit.Endpoint; + }; /** - * Specify the _primary_ email address that needs a visibility change. + * 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/). */ - email: string; + listMarketplacePurchasesForAuthenticatedUserStubbed: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserStubbedParams + ): Promise< + Octokit.Response< + Octokit.AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponse + > + >; + + endpoint: Octokit.Endpoint; + }; /** - * 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. + * 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. */ - visibility: string; - }; - export type UsersListFollowersForUserParams = { - username: string; + listPlans: { + (params?: Octokit.RequestOptions & Octokit.AppsListPlansParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * 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. */ - per_page?: number; + listPlansStubbed: { + ( + params?: Octokit.RequestOptions & Octokit.AppsListPlansStubbedParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type UsersListFollowersForAuthenticatedUserParams = { + listRepos: { + (params?: Octokit.RequestOptions & Octokit.AppsListReposParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * 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. */ - per_page?: number; + removeRepoFromInstallation: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsRemoveRepoFromInstallationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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 this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization */ - page?: number; - }; - export type UsersListFollowingForUserParams = { - username: string; + resetAuthorization: { + ( + params?: Octokit.RequestOptions & Octokit.AppsResetAuthorizationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * 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 this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ - per_page?: number; + resetToken: { + (params?: Octokit.RequestOptions & Octokit.AppsResetTokenParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * @deprecated octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application */ - page?: number; - }; - export type UsersListFollowingForAuthenticatedUserParams = { + revokeAuthorizationForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsRevokeAuthorizationForApplicationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid 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 Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application */ - per_page?: number; + revokeGrantForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsRevokeGrantForApplicationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create a new installation token](https://developer.github.com/v3/apps/#create-a-new-installation-token)" endpoint. + * + * 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. */ - page?: number; - }; - export type UsersCheckFollowingParams = { - username: string; - }; - export type UsersCheckFollowingForUserParams = { - username: string; + revokeInstallationToken: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.AnyResponse + >; - target_user: string; - }; - export type UsersFollowParams = { - username: string; - }; - export type UsersUnfollowParams = { - username: string; + endpoint: Octokit.Endpoint; + }; }; - export type UsersListGpgKeysForUserParams = { - username: string; + checks: { /** - * Results per page (max 100) + * **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. */ - per_page?: number; + create: { + (params?: Octokit.RequestOptions & Octokit.ChecksCreateParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * **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. */ - page?: number; - }; - export type UsersListGpgKeysParams = { + createSuite: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksCreateSuiteParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * **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. */ - per_page?: number; + get: { + (params?: Octokit.RequestOptions & Octokit.ChecksGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * **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. */ - page?: number; - }; - export type UsersGetGpgKeyParams = { - gpg_key_id: number; - }; - export type UsersCreateGpgKeyParams = { + getSuite: { + (params?: Octokit.RequestOptions & Octokit.ChecksGetSuiteParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** - * 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. + * 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. */ - armored_public_key?: string; - }; - export type UsersDeleteGpgKeyParams = { - gpg_key_id: number; - }; - export type UsersListPublicKeysForUserParams = { - username: string; + listAnnotations: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksListAnnotationsParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * **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. */ - per_page?: number; + listForRef: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksListForRefParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * **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. */ - page?: number; - }; - export type UsersListPublicKeysParams = { + listForSuite: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksListForSuiteParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Results per page (max 100) + * **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. */ - per_page?: number; + listSuitesForRef: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksListSuitesForRefParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * Page number of the results to fetch. + * 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. */ - page?: number; - }; - export type UsersGetPublicKeyParams = { - key_id: number; - }; - export type UsersCreatePublicKeyParams = { + rerequestSuite: { + ( + params?: Octokit.RequestOptions & Octokit.ChecksRerequestSuiteParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** - * 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". + * 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. */ - title?: string; + setSuitesPreferences: { + ( + params?: Octokit.RequestOptions & + Octokit.ChecksSetSuitesPreferencesParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; /** - * 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. + * **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. */ - key?: string; - }; - export type UsersDeletePublicKeyParams = { - key_id: number; - }; - export type AppsCreateInstallationTokenParamsPermissions = {}; - 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 GistsCreateParamsFiles = { - content?: string; - }; - export type GistsUpdateParamsFiles = { - content?: string; - filename?: 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 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 PullsCreateReviewParamsComments = { - path: string; - position: number; - body: 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[]; - }; - export type ReposUpdateProtectedBranchPullRequestReviewEnforcementParamsDismissalRestrictions = { - users?: string[]; - teams?: string[]; - }; - 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 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 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; + update: { + (params?: Octokit.RequestOptions & Octokit.ChecksUpdateParams): Promise< + Octokit.Response + >; - 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; + endpoint: Octokit.Endpoint; + }; }; + codesOfConduct: { + getConductCode: { + ( + params?: Octokit.RequestOptions & + Octokit.CodesOfConductGetConductCodeParams + ): Promise< + Octokit.Response + >; - static plugin(plugin: Octokit.Plugin | Octokit.Plugin[]): Octokit.Static; - - registerEndpoints(endpoints: { - [scope: string]: Octokit.EndpointOptions; - }): void; - - request: Octokit.Request; + 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>; - paginate: Octokit.Paginate; + endpoint: Octokit.Endpoint; + }; - log: Octokit.Log; + listConductCodes: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response + >; - activity: { + endpoint: Octokit.Endpoint; + }; + }; + emojis: { /** - * 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. + * Lists all the emojis available to use on GitHub. */ - listPublicEvents: { - (params?: Octokit.ActivityListPublicEventsParams): Promise< + get: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< Octokit.AnyResponse >; endpoint: Octokit.Endpoint; }; + }; + gists: { + checkIsStarred: { + ( + params?: Octokit.RequestOptions & Octokit.GistsCheckIsStarredParams + ): Promise; - listRepoEvents: { - (params?: Octokit.ActivityListRepoEventsParams): Promise< - Octokit.AnyResponse + 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; }; - listPublicEventsForRepoNetwork: { - (params?: Octokit.ActivityListPublicEventsForRepoNetworkParams): Promise< - Octokit.AnyResponse - >; + createComment: { + ( + params?: Octokit.RequestOptions & Octokit.GistsCreateCommentParams + ): Promise>; endpoint: Octokit.Endpoint; }; - listPublicEventsForOrg: { - (params?: Octokit.ActivityListPublicEventsForOrgParams): Promise< + delete: { + (params?: Octokit.RequestOptions & Octokit.GistsDeleteParams): Promise< Octokit.AnyResponse >; endpoint: Octokit.Endpoint; }; + + deleteComment: { + ( + params?: Octokit.RequestOptions & Octokit.GistsDeleteCommentParams + ): 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. + * **Note**: This was previously `/gists/:gist_id/fork`. */ - listReceivedEventsForUser: { - (params?: Octokit.ActivityListReceivedEventsForUserParams): Promise< - Octokit.AnyResponse + fork: { + (params?: Octokit.RequestOptions & Octokit.GistsForkParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - listReceivedPublicEventsForUser: { - (params?: Octokit.ActivityListReceivedPublicEventsForUserParams): Promise< - Octokit.AnyResponse + get: { + (params?: Octokit.RequestOptions & Octokit.GistsGetParams): Promise< + Octokit.Response >; 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.ActivityListEventsForUserParams): Promise< - Octokit.AnyResponse - >; + + getComment: { + ( + params?: Octokit.RequestOptions & Octokit.GistsGetCommentParams + ): Promise>; endpoint: Octokit.Endpoint; }; - listPublicEventsForUser: { - (params?: Octokit.ActivityListPublicEventsForUserParams): Promise< - Octokit.AnyResponse + getRevision: { + ( + params?: Octokit.RequestOptions & Octokit.GistsGetRevisionParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + list: { + (params?: Octokit.RequestOptions & Octokit.GistsListParams): 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.ActivityListEventsForOrgParams): Promise< - Octokit.AnyResponse + + 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; }; /** - * 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. + * List all public gists sorted by most recently updated to least recently updated. * - * **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. + * 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. */ - listFeeds: { - (params?: Octokit.EmptyParams): Promise< - Octokit.Response - >; + listPublic: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListPublicParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listPublicForUser: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListPublicForUserParams + ): Promise>; 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. + * List the authenticated user's starred gists: */ - listNotifications: { - (params?: Octokit.ActivityListNotificationsParams): Promise< - Octokit.Response - >; + listStarred: { + ( + params?: Octokit.RequestOptions & Octokit.GistsListStarredParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * List all notifications for the current 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)." */ - listNotificationsForRepo: { - (params?: Octokit.ActivityListNotificationsForRepoParams): Promise< - Octokit.Response + star: { + (params?: Octokit.RequestOptions & Octokit.GistsStarParams): Promise< + Octokit.AnyResponse >; endpoint: Octokit.Endpoint; }; - /** - * Marking 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.ActivityMarkAsReadParams): Promise< - Octokit.Response + + unstar: { + (params?: Octokit.RequestOptions & Octokit.GistsUnstarParams): Promise< + Octokit.AnyResponse >; endpoint: Octokit.Endpoint; }; /** - * Marking 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`. + * 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. */ - markNotificationsAsReadForRepo: { - (params?: Octokit.ActivityMarkNotificationsAsReadForRepoParams): Promise< - Octokit.Response + update: { + (params?: Octokit.RequestOptions & Octokit.GistsUpdateParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - getThread: { - (params?: Octokit.ActivityGetThreadParams): Promise< - Octokit.Response + 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>; - markThreadAsRead: { - (params?: Octokit.ActivityMarkThreadAsReadParams): Promise< - Octokit.Response + 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; }; /** - * 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 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. * - * 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. + * **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. | */ - getThreadSubscription: { - (params?: Octokit.ActivityGetThreadSubscriptionParams): Promise< - Octokit.Response + createTag: { + (params?: Octokit.RequestOptions & Octokit.GitCreateTagParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * This lets you subscribe or unsubscribe from a conversation. + * 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)." */ - setThreadSubscription: { - (params?: Octokit.ActivitySetThreadSubscriptionParams): Promise< - Octokit.Response + createTree: { + (params?: Octokit.RequestOptions & Octokit.GitCreateTreeParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Mutes all future notifications for a conversation until you comment on the thread or get **@mention**ed. + * ``` + * DELETE /repos/octocat/Hello-World/git/refs/heads/feature-a + * ``` + * + * ``` + * DELETE /repos/octocat/Hello-World/git/refs/tags/v1.0 + * ``` */ - deleteThreadSubscription: { - (params?: Octokit.ActivityDeleteThreadSubscriptionParams): Promise< - Octokit.Response + deleteRef: { + (params?: Octokit.RequestOptions & Octokit.GitDeleteRefParams): Promise< + Octokit.AnyResponse >; 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: + * The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. */ - listStargazersForRepo: { - (params?: Octokit.ActivityListStargazersForRepoParams): Promise< - Octokit.Response + getBlob: { + (params?: Octokit.RequestOptions & Octokit.GitGetBlobParams): 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: + * 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. | */ - listReposStarredByUser: { - (params?: Octokit.ActivityListReposStarredByUserParams): Promise< - Octokit.Response + getCommit: { + (params?: Octokit.RequestOptions & Octokit.GitGetCommitParams): 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: + * 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: */ - listReposStarredByAuthenticatedUser: { - ( - params?: Octokit.ActivityListReposStarredByAuthenticatedUserParams - ): Promise< - Octokit.Response< - Octokit.ActivityListReposStarredByAuthenticatedUserResponse - > + getRef: { + (params?: Octokit.RequestOptions & Octokit.GitGetRefParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Requires for the user to be authenticated. + * **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. | */ - checkStarringRepo: { - (params?: Octokit.ActivityCheckStarringRepoParams): Promise< - Octokit.AnyResponse + getTag: { + (params?: Octokit.RequestOptions & Octokit.GitGetTagParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Requires for the user to be authenticated. + * Returns a single tree using the SHA1 value for that tree. * - * 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)." + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, you can clone the repository and iterate over the Git data locally. */ - starRepo: { - (params?: Octokit.ActivityStarRepoParams): Promise< - Octokit.Response + getTree: { + (params?: Octokit.RequestOptions & Octokit.GitGetTreeParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Requires for the user to be authenticated. + * 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`. */ - unstarRepo: { - (params?: Octokit.ActivityUnstarRepoParams): Promise< - Octokit.Response + 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; }; - listWatchersForRepo: { - (params?: Octokit.ActivityListWatchersForRepoParams): Promise< - Octokit.Response + 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>; - listReposWatchedByUser: { - (params?: Octokit.ActivityListReposWatchedByUserParams): Promise< - Octokit.Response + 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; }; - - listWatchedReposForAuthenticatedUser: { + }; + 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.ActivityListWatchedReposForAuthenticatedUserParams + params?: Octokit.RequestOptions & + Octokit.InteractionsAddOrUpdateRestrictionsForOrgParams ): Promise< Octokit.Response< - Octokit.ActivityListWatchedReposForAuthenticatedUserResponse + Octokit.InteractionsAddOrUpdateRestrictionsForOrgResponse > >; endpoint: Octokit.Endpoint; }; - - getRepoSubscription: { - (params?: Octokit.ActivityGetRepoSubscriptionParams): Promise< - Octokit.AnyResponse + /** + * 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; }; /** - * 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. + * 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. */ - setRepoSubscription: { - (params?: Octokit.ActivitySetRepoSubscriptionParams): Promise< - Octokit.Response + getRestrictionsForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsGetRestrictionsForOrgParams + ): Promise< + Octokit.Response >; 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). + * 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. */ - deleteRepoSubscription: { - (params?: Octokit.ActivityDeleteRepoSubscriptionParams): Promise< - Octokit.Response + getRestrictionsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsGetRestrictionsForRepoParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - }; - apps: { /** - * **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. + * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */ - getBySlug: { - (params?: Octokit.AppsGetBySlugParams): Promise< - Octokit.Response - >; + removeRestrictionsForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsRemoveRestrictionsForOrgParams + ): 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. + * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. */ - getAuthenticated: { - (params?: Octokit.EmptyParams): Promise< - Octokit.Response - >; + removeRestrictionsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.InteractionsRemoveRestrictionsForRepoParams + ): Promise; endpoint: Octokit.Endpoint; }; + }; + issues: { /** - * 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. + * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. * - * The permissions the installation has are included under the `permissions` key. + * This example adds two assignees to the existing `octocat` assignee. */ - listInstallations: { - (params?: Octokit.AppsListInstallationsParams): Promise< - Octokit.Response - >; + 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; }; /** - * 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. + * 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. */ - getInstallation: { - (params?: Octokit.AppsGetInstallationParams): Promise< - Octokit.Response - >; + checkAssignee: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesCheckAssigneeParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * Uninstalls a GitHub App on a user, organization, or business account. + * 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. * - * 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 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. */ - deleteInstallation: { - (params?: Octokit.AppsDeleteInstallationParams): Promise< - Octokit.Response + create: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesCreateParamsDeprecatedAssignee + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.IssuesCreateParams): Promise< + Octokit.Response >; 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. + * 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. * - * 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. + * **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. * - * 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. + * 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. */ - createInstallationToken: { - (params?: Octokit.AppsCreateInstallationTokenParams): Promise< - Octokit.Response + 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; }; - /** - * 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.AppsGetOrgInstallationParams): Promise< - Octokit.Response + + getLabel: { + (params?: Octokit.RequestOptions & Octokit.IssuesGetLabelParams): Promise< + Octokit.Response >; 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. - */ - findOrgInstallation: { - (params?: Octokit.AppsFindOrgInstallationParams): Promise< - Octokit.Response - >; + + getMilestone: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesGetMilestoneParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesGetMilestoneParams + ): 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. + * **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. * - * 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. + * 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. */ - getRepoInstallation: { - (params?: Octokit.AppsGetRepoInstallationParams): Promise< - Octokit.Response + list: { + (params?: Octokit.RequestOptions & Octokit.IssuesListParams): Promise< + Octokit.Response >; 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. + * Lists the [available assignees](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ - findRepoInstallation: { - (params?: Octokit.AppsFindRepoInstallationParams): Promise< - Octokit.Response - >; + listAssignees: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListAssigneesParams + ): 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. + * Issue Comments are ordered by ascending ID. */ - getUserInstallation: { - (params?: Octokit.AppsGetUserInstallationParams): Promise< - Octokit.Response - >; + listComments: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListCommentsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesListCommentsParams + ): 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. + * By default, Issue Comments are ordered by ascending ID. */ - findUserInstallation: { - (params?: Octokit.AppsFindUserInstallationParams): Promise< - Octokit.Response - >; + listCommentsForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListCommentsForRepoParams + ): 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.AppsCreateFromManifestParams): Promise< - Octokit.Response - >; + + listEvents: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListEventsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesListEventsParams + ): 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.AppsListReposParams): Promise< - Octokit.Response - >; + + listEventsForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListEventsForRepoParams + ): 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: { + + listEventsForTimeline: { ( - params?: Octokit.AppsListInstallationsForAuthenticatedUserParams - ): Promise< - Octokit.Response< - Octokit.AppsListInstallationsForAuthenticatedUserResponse - > - >; + params?: Octokit.RequestOptions & + Octokit.IssuesListEventsForTimelineParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListEventsForTimelineParams + ): Promise>; 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. + * **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. * - * The access the user has to each repository is included in the hash under the `permissions` 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. */ - listInstallationReposForAuthenticatedUser: { + listForAuthenticatedUser: { ( - params?: Octokit.AppsListInstallationReposForAuthenticatedUserParams + params?: Octokit.RequestOptions & + Octokit.IssuesListForAuthenticatedUserParams ): Promise< - Octokit.Response< - Octokit.AppsListInstallationReposForAuthenticatedUserResponse - > + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * **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. * - * 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. + * 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. */ - addRepoToInstallation: { - (params?: Octokit.AppsAddRepoToInstallationParams): Promise< - Octokit.Response - >; + listForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListForOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Remove a single repository from an installation. The authenticated user must have admin access to the repository. + * **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. * - * 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. + * 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. */ - removeRepoFromInstallation: { - (params?: Octokit.AppsRemoveRepoFromInstallationParams): Promise< - Octokit.Response - >; + listForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListForRepoParams + ): Promise>; 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.AppsCreateContentAttachmentParams): Promise< - Octokit.Response + + listLabelsForMilestone: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListLabelsForMilestoneParamsDeprecatedNumber + ): Promise< + Octokit.Response + >; + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListLabelsForMilestoneParams + ): 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. - */ - listPlans: { - (params?: Octokit.AppsListPlansParams): Promise< - Octokit.Response - >; + + listLabelsForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesListLabelsForRepoParams + ): Promise>; 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.AppsListPlansStubbedParams): Promise< - Octokit.Response - >; + + listLabelsOnIssue: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListLabelsOnIssueParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesListLabelsOnIssueParams + ): 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.AppsListAccountsUserOrOrgOnPlanParams): Promise< - Octokit.Response - >; + + listMilestonesForRepo: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesListMilestonesForRepoParams + ): 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. + * Users with push access can lock an issue or pull request's conversation. * - * 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. + * 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)." */ - listAccountsUserOrOrgOnPlanStubbed: { - (params?: Octokit.AppsListAccountsUserOrOrgOnPlanStubbedParams): Promise< - Octokit.Response + lock: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesLockParamsDeprecatedNumber + ): Promise; + (params?: Octokit.RequestOptions & Octokit.IssuesLockParams): Promise< + Octokit.AnyResponse >; 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. + * Removes one or more assignees from an issue. * - * 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. + * This example removes two of three assignees, leaving the `octocat` assignee. */ - checkAccountIsAssociatedWithAny: { - (params?: Octokit.AppsCheckAccountIsAssociatedWithAnyParams): Promise< - Octokit.Response - >; + removeAssignees: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesRemoveAssigneesParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesRemoveAssigneesParams + ): 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. + * 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. */ - checkAccountIsAssociatedWithAnyStubbed: { + removeLabel: { ( - params?: Octokit.AppsCheckAccountIsAssociatedWithAnyStubbedParams - ): Promise< - Octokit.Response< - Octokit.AppsCheckAccountIsAssociatedWithAnyStubbedResponse - > - >; + params?: Octokit.RequestOptions & + Octokit.IssuesRemoveLabelParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesRemoveLabelParams + ): Promise>; 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: { + + removeLabels: { ( - params?: Octokit.AppsListMarketplacePurchasesForAuthenticatedUserParams - ): Promise< - Octokit.Response< - Octokit.AppsListMarketplacePurchasesForAuthenticatedUserResponse - > - >; + params?: Octokit.RequestOptions & + Octokit.IssuesRemoveLabelsParamsDeprecatedNumber + ): Promise; + ( + params?: Octokit.RequestOptions & Octokit.IssuesRemoveLabelsParams + ): Promise; 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: { + + replaceLabels: { ( - params?: Octokit.AppsListMarketplacePurchasesForAuthenticatedUserStubbedParams - ): Promise< - Octokit.Response< - Octokit.AppsListMarketplacePurchasesForAuthenticatedUserStubbedResponse - > - >; + params?: Octokit.RequestOptions & + Octokit.IssuesReplaceLabelsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesReplaceLabelsParams + ): 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. - * - * #### [](https://developer.github.com/v3/checks/runs/#actions-object)`actions` object + * Users with push access can unlock an issue's conversation. */ - create: { - (params?: Octokit.ChecksCreateParams): Promise< - Octokit.Response + unlock: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUnlockParamsDeprecatedNumber + ): Promise; + (params?: Octokit.RequestOptions & Octokit.IssuesUnlockParams): Promise< + Octokit.AnyResponse >; 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. - * - * #### [](https://developer.github.com/v3/checks/runs/#actions-object-1)`actions` object + * Issue owners and users with push access can edit an issue. */ update: { - (params?: Octokit.ChecksUpdateParams): Promise< - Octokit.Response + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUpdateParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUpdateParamsDeprecatedAssignee + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.IssuesUpdateParams): 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. - * - * 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.ChecksListForRefParams): 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. - * - * 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.ChecksListForSuiteParams): Promise< - Octokit.Response - >; + updateComment: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesUpdateCommentParams + ): 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.ChecksGetParams): 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.ChecksListAnnotationsParams): Promise< - Octokit.Response - >; + updateLabel: { + ( + params?: Octokit.RequestOptions & Octokit.IssuesUpdateLabelParams + ): 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`. - * - * 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.ChecksGetSuiteParams): 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`. - * - * 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.ChecksListSuitesForRefParams): Promise< - Octokit.Response - >; + updateMilestone: { + ( + params?: Octokit.RequestOptions & + Octokit.IssuesUpdateMilestoneParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.IssuesUpdateMilestoneParams + ): 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.ChecksSetSuitesPreferencesParams): Promise< - Octokit.Response + }; + licenses: { + get: { + (params?: Octokit.RequestOptions & Octokit.LicensesGetParams): 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`. + * This method returns the contents of the repository's license file, if one is detected. * - * 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. + * 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. */ - createSuite: { - (params?: Octokit.ChecksCreateSuiteParams): Promise< - Octokit.Response - >; + getForRepo: { + ( + params?: Octokit.RequestOptions & Octokit.LicensesGetForRepoParams + ): 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. + * @deprecated octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05) */ - rerequestSuite: { - (params?: Octokit.ChecksRerequestSuiteParams): Promise< - Octokit.Response + list: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - }; - codesOfConduct: { - listConductCodes: { - (params?: Octokit.EmptyParams): Promise< - Octokit.Response + + listCommonlyUsed: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - getConductCode: { - (params?: Octokit.CodesOfConductGetConductCodeParams): Promise< - Octokit.Response + }; + markdown: { + render: { + (params?: Octokit.RequestOptions & Octokit.MarkdownRenderParams): Promise< + Octokit.AnyResponse >; endpoint: Octokit.Endpoint; }; /** - * This method returns the contents of the repository's code of conduct file, if one is detected. + * 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. */ - getForRepo: { - (params?: Octokit.CodesOfConductGetForRepoParams): Promise< - Octokit.Response - >; + renderRaw: { + ( + params?: Octokit.RequestOptions & Octokit.MarkdownRenderRawParams + ): Promise; endpoint: Octokit.Endpoint; }; }; - emojis: { + meta: { /** - * Lists all the emojis available to use on GitHub. + * 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.EmptyParams): Promise< - Octokit.Response + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; }; - gists: { - listPublicForUser: { - (params?: Octokit.GistsListPublicForUserParams): Promise< - Octokit.Response - >; + migrations: { + /** + * Stop an import for a repository. + */ + cancelImport: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsCancelImportParams + ): Promise; endpoint: Octokit.Endpoint; }; - - list: { - (params?: Octokit.GistsListParams): Promise< - Octokit.Response - >; + /** + * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://developer.github.com/v3/migrations/users/#list-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; }; /** - * 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. + * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ - listPublic: { - (params?: Octokit.GistsListPublicParams): Promise< - Octokit.Response - >; + deleteArchiveForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsDeleteArchiveForOrgParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * List the authenticated user's starred gists: + * Fetches the URL to a migration archive. */ - listStarred: { - (params?: Octokit.GistsListStarredParams): Promise< - Octokit.Response - >; + downloadArchiveForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsDownloadArchiveForOrgParams + ): Promise; endpoint: Octokit.Endpoint; }; - - get: { - (params?: Octokit.GistsGetParams): Promise< - Octokit.Response - >; + /** + * 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; }; - - getRevision: { - (params?: Octokit.GistsGetRevisionParams): Promise< - Octokit.Response - >; + /** + * Fetches the URL to a migration archive. + * + * + * @deprecated octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27) + */ + getArchiveForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetArchiveForOrgParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * Allows you to add a new gist with one or more files. + * 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 `. * - * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + * This API method and the "Map a commit author" method allow you to provide correct Git author information. */ - create: { - (params?: Octokit.GistsCreateParams): Promise< - Octokit.Response - >; + getCommitAuthors: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetCommitAuthorsParams + ): Promise>; 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. + * 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) or [GitHub Premium Support](https://premium.githubsupport.com) 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. */ - update: { - (params?: Octokit.GistsUpdateParams): Promise< - Octokit.Response - >; + getImportProgress: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetImportProgressParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - listCommits: { - (params?: Octokit.GistsListCommitsParams): Promise< - Octokit.Response - >; + /** + * List files larger than 100MB found during the import + */ + getLargeFiles: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsGetLargeFilesParams + ): 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)." + * 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). */ - star: { - (params?: Octokit.GistsStarParams): Promise< - Octokit.Response + getStatusForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsGetStatusForAuthenticatedUserParams + ): Promise< + Octokit.Response< + Octokit.MigrationsGetStatusForAuthenticatedUserResponse + > >; endpoint: Octokit.Endpoint; }; - - unstar: { - (params?: Octokit.GistsUnstarParams): Promise< - Octokit.Response - >; + /** + * 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; }; - - checkIsStarred: { - (params?: Octokit.GistsCheckIsStarredParams): Promise< - Octokit.AnyResponse + /** + * Lists all migrations a user has started. + */ + listForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsListForAuthenticatedUserParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * **Note**: This was previously `/gists/:gist_id/fork`. + * Lists the most recent migrations. */ - fork: { - (params?: Octokit.GistsForkParams): Promise< - Octokit.Response - >; + listForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsListForOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - listForks: { - (params?: Octokit.GistsListForksParams): Promise< - Octokit.Response - >; + /** + * List all the repositories for this organization migration. + */ + listReposForOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsListReposForOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - delete: { - (params?: Octokit.GistsDeleteParams): Promise< - Octokit.Response - >; + /** + * Lists all the repositories for this user migration. + */ + listReposForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsListReposForUserParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - listComments: { - (params?: Octokit.GistsListCommentsParams): Promise< - Octokit.Response - >; + /** + * 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; }; - - getComment: { - (params?: Octokit.GistsGetCommentParams): Promise< - Octokit.Response - >; + /** + * 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; }; - - createComment: { - (params?: Octokit.GistsCreateCommentParams): Promise< - Octokit.Response + /** + * Initiates the generation of a user migration archive. + */ + startForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsStartForAuthenticatedUserParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - updateComment: { - (params?: Octokit.GistsUpdateCommentParams): Promise< - Octokit.Response - >; + /** + * Initiates the generation of a migration archive. + */ + startForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsStartForOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - deleteComment: { - (params?: Octokit.GistsDeleteCommentParams): Promise< - Octokit.Response - >; + /** + * Start a source import to a GitHub repository using GitHub Importer. + */ + startImport: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsStartImportParams + ): Promise>; endpoint: Octokit.Endpoint; }; - }; - git: { /** - * The `content` in the response will always be Base64 encoded. - * - * _Note_: This API supports blobs up to 100 megabytes in size. + * 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. */ - getBlob: { - (params?: Octokit.GitGetBlobParams): Promise< - Octokit.Response - >; + unlockRepoForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.MigrationsUnlockRepoForAuthenticatedUserParams + ): Promise; endpoint: Octokit.Endpoint; }; - - createBlob: { - (params?: Octokit.GitCreateBlobParams): Promise< - Octokit.Response - >; + /** + * 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; }; /** - * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects). + * 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. * - * **Signature verification object** + * 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 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: + * The following example demonstrates the workflow for updating an import with "project1" as the project choice. Given a `project_choices` array like such: * - * These are the possible values for `reason` in the `verification` object: + * To restart an import, no parameters are provided in the update request. + */ + updateImport: { + ( + params?: Octokit.RequestOptions & Octokit.MigrationsUpdateImportParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + }; + oauthAuthorizations: { + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). * - * | 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. | + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.oauthAuthorizations.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization */ - getCommit: { - (params?: Octokit.GitGetCommitParams): Promise< - Octokit.Response + checkAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsCheckAuthorizationParams + ): 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: + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). * + * 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)." * - * **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: + * 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. * - * These are the possible values for `reason` in the `verification` object: + * 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). * - * | 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. | + * 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). + * @deprecated octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization */ - createCommit: { - (params?: Octokit.GitCreateCommitParams): Promise< - Octokit.Response + createAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsCreateAuthorizationParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Returns a branch or tag reference. Other than the [REST API](https://developer.github.com/v3/git/refs/#get-a-reference) it always returns a single reference. If the REST API returns with an array then the method responds with an error. + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization */ - getRef: { - (params?: Octokit.GitGetRefParams): Promise; + deleteAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsDeleteAuthorizationParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * This will return an array of all the references on the system, including things like notes and stashes if they exist on the server + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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). + * @deprecated octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant */ - listRefs: { - (params?: Octokit.GitListRefsParams): Promise; + deleteGrant: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsDeleteGrantParams + ): 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. + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization */ - createRef: { - (params?: Octokit.GitCreateRefParams): Promise< - Octokit.Response + getAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetAuthorizationParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - updateRef: { - (params?: Octokit.GitUpdateRefParams): Promise< - Octokit.Response - >; + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant + */ + getGrant: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetGrantParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * ``` - * DELETE /repos/octocat/Hello-World/git/refs/heads/feature-a - * ``` + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). * - * ``` - * DELETE /repos/octocat/Hello-World/git/refs/tags/v1.0 - * ``` + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app */ - deleteRef: { - (params?: Octokit.GitDeleteRefParams): Promise< - Octokit.Response + getOrCreateAuthorizationForApp: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppParams + ): Promise< + Octokit.Response< + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppResponse + > >; endpoint: Octokit.Endpoint; }; /** - * **Signature verification object** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). * - * 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: + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). * - * These are the possible values for `reason` in the `verification` object: + * 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. * - * | 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. | + * 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.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint */ - getTag: { - (params?: Octokit.GitGetTagParams): Promise< - Octokit.Response + getOrCreateAuthorizationForAppAndFingerprint: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintParams + ): Promise< + Octokit.Response< + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponse + > >; 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** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). * - * 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: + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). * - * These are the possible values for `reason` in the `verification` object: + * 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. * - * | 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. | + * 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() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint */ - createTag: { - (params?: Octokit.GitCreateTagParams): Promise< - Octokit.Response + getOrCreateAuthorizationForAppFingerprint: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintParams + ): Promise< + Octokit.Response< + Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponse + > >; endpoint: Octokit.Endpoint; }; /** - * If `truncated` in the response is `true`, the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, omit the `recursive` parameter, and fetch one sub-tree at a time. If you need to fetch even more items, you can clone the repository and iterate over the Git data locally. + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations */ - getTree: { - (params?: Octokit.GitGetTreeParams): Promise; + listAuthorizations: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsListAuthorizationsParams + ): Promise< + Octokit.Response + >; endpoint: Octokit.Endpoint; }; /** - * The tree creation API will take nested entries as well. If both a tree and a nested path modifying that tree are specified, it will overwrite the contents of that tree with the new path contents and write a new tree out. + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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"]`. + * @deprecated octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants */ - createTree: { - (params?: Octokit.GitCreateTreeParams): Promise< - Octokit.Response + listGrants: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsListGrantsParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - }; - gitignore: { /** - * List all templates available to pass as an option when [creating a repository](https://developer.github.com/v3/repos/#create). + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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 this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.oauthAuthorizations.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization */ - listTemplates: { - (params?: Octokit.EmptyParams): Promise< - Octokit.Response + resetAuthorization: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsResetAuthorizationParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * The API also allows fetching the source of a single template. + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). * - * Use the raw [media type](https://developer.github.com/v3/media/) to get the raw contents. + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * @deprecated octokit.oauthAuthorizations.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application */ - getTemplate: { - (params?: Octokit.GitignoreGetTemplateParams): Promise< - Octokit.Response - >; + revokeAuthorizationForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsRevokeAuthorizationForApplicationParams + ): Promise; endpoint: Octokit.Endpoint; }; - }; - interactions: { /** - * 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. + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid 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 Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.oauthAuthorizations.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application */ - getRestrictionsForOrg: { - (params?: Octokit.InteractionsGetRestrictionsForOrgParams): Promise< - Octokit.Response - >; + revokeGrantForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsRevokeGrantForApplicationParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * 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. + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * 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. + * @deprecated octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization */ - addOrUpdateRestrictionsForOrg: { + updateAuthorization: { ( - params?: Octokit.InteractionsAddOrUpdateRestrictionsForOrgParams + params?: Octokit.RequestOptions & + Octokit.OauthAuthorizationsUpdateAuthorizationParams ): Promise< - Octokit.Response< - Octokit.InteractionsAddOrUpdateRestrictionsForOrgResponse - > + Octokit.Response >; endpoint: Octokit.Endpoint; }; + }; + orgs: { /** - * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + * 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. */ - removeRestrictionsForOrg: { - (params?: Octokit.InteractionsRemoveRestrictionsForOrgParams): Promise< - Octokit.Response + addOrUpdateMembership: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsAddOrUpdateMembershipParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + blockUser: { + (params?: Octokit.RequestOptions & Octokit.OrgsBlockUserParams): Promise< + Octokit.AnyResponse >; 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. + * If the user is blocked: + * + * If the user is not blocked: */ - getRestrictionsForRepo: { - (params?: Octokit.InteractionsGetRestrictionsForRepoParams): Promise< - Octokit.Response - >; + checkBlockedUser: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsCheckBlockedUserParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * Temporarily restricts interactions to certain GitHub users within the given repository. You must have owner or admin access to set restrictions. + * Check if a user is, publicly or privately, a member of the organization. */ - addOrUpdateRestrictionsForRepo: { + checkMembership: { ( - params?: Octokit.InteractionsAddOrUpdateRestrictionsForRepoParams - ): Promise< - Octokit.Response< - Octokit.InteractionsAddOrUpdateRestrictionsForRepoResponse - > - >; + 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; }; /** - * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. + * 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/)". */ - removeRestrictionsForRepo: { - (params?: Octokit.InteractionsRemoveRestrictionsForRepoParams): Promise< - Octokit.Response + convertMemberToOutsideCollaborator: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsConvertMemberToOutsideCollaboratorParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - }; - issues: { /** - * **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. + * Here's how you can create a hook that posts payloads in JSON format: */ - list: { - (params?: Octokit.IssuesListParams): Promise< - Octokit.Response + createHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsCreateHookParams): 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. + * 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. * - * 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. + * 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. */ - listForAuthenticatedUser: { - (params?: Octokit.IssuesListForAuthenticatedUserParams): Promise< - Octokit.Response + createInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsCreateInvitationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + deleteHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsDeleteHookParams): Promise< + Octokit.AnyResponse >; 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. + * 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/). * - * 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. + * 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)." */ - listForOrg: { - (params?: Octokit.IssuesListForOrgParams): Promise< - Octokit.Response + get: { + (params?: Octokit.RequestOptions & Octokit.OrgsGetParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + + getHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsGetHookParams): 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. + * In order to get a user's membership with an organization, the authenticated user must be an organization member. */ - listForRepo: { - (params?: Octokit.IssuesListForRepoParams): Promise< - Octokit.Response + getMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsGetMembershipParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getMembershipForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsGetMembershipForAuthenticatedUserParams + ): Promise< + Octokit.Response >; 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. + * Lists all organizations, in the order that they were created on GitHub. * - * 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. + * **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. */ - get: { - (params?: Octokit.IssuesGetParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesGetParams): Promise< - Octokit.Response + list: { + (params?: Octokit.RequestOptions & Octokit.OrgsListParams): Promise< + Octokit.Response >; 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. + * List the users blocked by an organization. */ - create: { - (params?: Octokit.IssuesCreateParams): Promise< - Octokit.Response - >; + listBlockedUsers: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListBlockedUsersParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Issue owners and users with push access can edit an issue. + * 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. */ - update: { - (params?: Octokit.IssuesUpdateParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesUpdateParams): Promise< - Octokit.Response + listForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsListForAuthenticatedUserParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Users with push access can lock an issue or pull request's conversation. + * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. * - * 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)." + * 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. */ - lock: { - (params?: Octokit.IssuesLockParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesLockParams): Promise< - Octokit.Response + listForUser: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListForUserParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listHooks: { + (params?: Octokit.RequestOptions & Octokit.OrgsListHooksParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Users with push access can unlock an issue's conversation. + * 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. */ - unlock: { - (params?: Octokit.IssuesUnlockParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesUnlockParams): Promise< - Octokit.Response - >; + listInstallations: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListInstallationsParams + ): Promise>; 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. + * List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ - listAssignees: { - (params?: Octokit.IssuesListAssigneesParams): Promise< - Octokit.Response - >; + listInvitationTeams: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListInvitationTeamsParams + ): 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. + * 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. */ - checkAssignee: { - (params?: Octokit.IssuesCheckAssigneeParams): Promise< - Octokit.Response - >; + listMembers: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListMembersParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + listMemberships: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListMembershipsParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * 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. + * List all users who are outside collaborators of an organization. */ - addAssignees: { - (params?: Octokit.IssuesAddAssigneesParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesAddAssigneesParams): Promise< - Octokit.Response + listOutsideCollaborators: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsListOutsideCollaboratorsParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Removes one or more assignees from an issue. - * - * This example removes two of three assignees, leaving the `octocat` assignee. + * 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`. */ - removeAssignees: { - (params?: Octokit.IssuesRemoveAssigneesParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesRemoveAssigneesParams): Promise< - Octokit.Response - >; + listPendingInvitations: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsListPendingInvitationsParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Issue Comments are ordered by ascending ID. + * Members of an organization can choose to have their membership publicized or not. */ - listComments: { - (params?: Octokit.IssuesListCommentsParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesListCommentsParams): Promise< - Octokit.Response - >; + listPublicMembers: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsListPublicMembersParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * By default, Issue Comments are ordered by ascending ID. + * This will trigger a [ping event](https://developer.github.com/webhooks/#ping-event) to be sent to the hook. */ - listCommentsForRepo: { - (params?: Octokit.IssuesListCommentsForRepoParams): Promise< - Octokit.Response + pingHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsPingHookParams): Promise< + Octokit.AnyResponse >; endpoint: Octokit.Endpoint; }; - - getComment: { - (params?: Octokit.IssuesGetCommentParams): Promise< - Octokit.Response - >; + /** + * 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; }; /** - * 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. + * 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. */ - createComment: { - (params?: Octokit.IssuesCreateCommentParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesCreateCommentParams): Promise< - Octokit.Response - >; + removeMember: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsRemoveMemberParams + ): Promise; endpoint: Octokit.Endpoint; }; - - updateComment: { - (params?: Octokit.IssuesUpdateCommentParams): Promise< - Octokit.Response - >; + /** + * 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; }; - - deleteComment: { - (params?: Octokit.IssuesDeleteCommentParams): Promise< - Octokit.Response + /** + * 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; }; - listEvents: { - (params?: Octokit.IssuesListEventsParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesListEventsParams): Promise< - Octokit.Response - >; + unblockUser: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsUnblockUserParams + ): Promise; endpoint: Octokit.Endpoint; }; - - listEventsForRepo: { - (params?: Octokit.IssuesListEventsForRepoParams): Promise< - Octokit.Response + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ + update: { + ( + params?: Octokit.RequestOptions & + Octokit.OrgsUpdateParamsDeprecatedMembersAllowedRepositoryCreationType + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.OrgsUpdateParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - getEvent: { - (params?: Octokit.IssuesGetEventParams): Promise< - Octokit.Response + updateHook: { + (params?: Octokit.RequestOptions & Octokit.OrgsUpdateHookParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - listLabelsForRepo: { - (params?: Octokit.IssuesListLabelsForRepoParams): Promise< - Octokit.Response - >; + updateMembership: { + ( + params?: Octokit.RequestOptions & Octokit.OrgsUpdateMembershipParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - getLabel: { - (params?: Octokit.IssuesGetLabelParams): Promise< - Octokit.Response - >; + }; + 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; }; - - createLabel: { - (params?: Octokit.IssuesCreateLabelParams): Promise< - Octokit.Response - >; + /** + * **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; }; - updateLabel: { - (params?: Octokit.IssuesUpdateLabelParams): Promise< - Octokit.Response - >; + createColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsCreateColumnParams + ): Promise>; endpoint: Octokit.Endpoint; }; - deleteLabel: { - (params?: Octokit.IssuesDeleteLabelParams): Promise< - Octokit.Response + createForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ProjectsCreateForAuthenticatedUserParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - listLabelsOnIssue: { - (params?: Octokit.IssuesListLabelsOnIssueParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesListLabelsOnIssueParams): Promise< - Octokit.Response - >; + /** + * 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; }; - - addLabels: { - (params?: Octokit.IssuesAddLabelsParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesAddLabelsParams): Promise< - Octokit.Response - >; + /** + * 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; }; /** - * 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. + * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ - removeLabel: { - (params?: Octokit.IssuesRemoveLabelParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesRemoveLabelParams): Promise< - Octokit.Response + delete: { + (params?: Octokit.RequestOptions & Octokit.ProjectsDeleteParams): Promise< + Octokit.AnyResponse >; endpoint: Octokit.Endpoint; }; - replaceLabels: { - (params?: Octokit.IssuesReplaceLabelsParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesReplaceLabelsParams): Promise< - Octokit.Response - >; + deleteCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsDeleteCardParams + ): Promise; endpoint: Octokit.Endpoint; }; - removeLabels: { - (params?: Octokit.IssuesRemoveLabelsParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesRemoveLabelsParams): Promise< - Octokit.Response - >; + deleteColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsDeleteColumnParams + ): Promise; endpoint: Octokit.Endpoint; }; - - listLabelsForMilestone: { - ( - params?: Octokit.IssuesListLabelsForMilestoneParamsDeprecatedNumber - ): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesListLabelsForMilestoneParams): Promise< - Octokit.Response + /** + * 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; }; - listMilestonesForRepo: { - (params?: Octokit.IssuesListMilestonesForRepoParams): Promise< - Octokit.Response - >; + getCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsGetCardParams + ): Promise>; endpoint: Octokit.Endpoint; }; - getMilestone: { - (params?: Octokit.IssuesGetMilestoneParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesGetMilestoneParams): Promise< - Octokit.Response - >; + getColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsGetColumnParams + ): Promise>; endpoint: Octokit.Endpoint; }; - createMilestone: { - (params?: Octokit.IssuesCreateMilestoneParams): Promise< - Octokit.Response - >; + listCards: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListCardsParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - updateMilestone: { - (params?: Octokit.IssuesUpdateMilestoneParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesUpdateMilestoneParams): Promise< - Octokit.Response - >; + /** + * 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; }; - deleteMilestone: { - (params?: Octokit.IssuesDeleteMilestoneParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.IssuesDeleteMilestoneParams): Promise< - Octokit.Response - >; + listColumns: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListColumnsParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - listEventsForTimeline: { + /** + * 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.IssuesListEventsForTimelineParamsDeprecatedNumber - ): Promise>; - (params?: Octokit.IssuesListEventsForTimelineParams): Promise< - Octokit.Response - >; + params?: Octokit.RequestOptions & Octokit.ProjectsListForOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; - }; - licenses: { - listCommonlyUsed: { - (params?: Octokit.EmptyParams): Promise< - Octokit.Response - >; + /** + * 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; }; - list: { - (params?: Octokit.EmptyParams): Promise< - Octokit.Response - >; + listForUser: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsListForUserParams + ): Promise>; endpoint: Octokit.Endpoint; }; - get: { - (params?: Octokit.LicensesGetParams): Promise< - Octokit.Response - >; + moveCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsMoveCardParams + ): Promise; 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.LicensesGetForRepoParams): Promise< - Octokit.Response - >; - endpoint: Octokit.Endpoint; - }; - }; - markdown: { - render: { - (params?: Octokit.MarkdownRenderParams): Promise< - Octokit.Response - >; + moveColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsMoveColumnParams + ): Promise; 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. + * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ - renderRaw: { - (params?: Octokit.MarkdownRenderRawParams): Promise< - Octokit.Response - >; + removeCollaborator: { + ( + params?: Octokit.RequestOptions & + Octokit.ProjectsRemoveCollaboratorParams + ): 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/)." + * Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ - get: { - (params?: Octokit.EmptyParams): Promise< - Octokit.Response + reviewUserPermissionLevel: { + ( + params?: Octokit.RequestOptions & + Octokit.ProjectsReviewUserPermissionLevelParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - }; - migrations: { /** - * Initiates the generation of a migration archive. + * 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. */ - startForOrg: { - (params?: Octokit.MigrationsStartForOrgParams): Promise< - Octokit.Response + update: { + (params?: Octokit.RequestOptions & Octokit.ProjectsUpdateParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - /** - * Lists the most recent migrations. - */ - listForOrg: { - (params?: Octokit.MigrationsListForOrgParams): Promise< - Octokit.Response - >; - 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.MigrationsGetStatusForOrgParams): Promise< - Octokit.Response - >; + updateCard: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsUpdateCardParams + ): Promise>; endpoint: Octokit.Endpoint; }; - /** - * Fetches the URL to a migration archive. - */ - getArchiveForOrg: { - (params?: Octokit.MigrationsGetArchiveForOrgParams): Promise< - Octokit.Response - >; + + updateColumn: { + ( + params?: Octokit.RequestOptions & Octokit.ProjectsUpdateColumnParams + ): Promise>; endpoint: Octokit.Endpoint; }; - /** - * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. - */ - deleteArchiveForOrg: { - (params?: Octokit.MigrationsDeleteArchiveForOrgParams): Promise< - Octokit.Response - >; + }; + pulls: { + checkIfMerged: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCheckIfMergedParamsDeprecatedNumber + ): Promise; + ( + params?: Octokit.RequestOptions & Octokit.PullsCheckIfMergedParams + ): 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * 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. */ - unlockRepoForOrg: { - (params?: Octokit.MigrationsUnlockRepoForOrgParams): Promise< - Octokit.Response + create: { + (params?: Octokit.RequestOptions & Octokit.PullsCreateParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Start a source import to a GitHub repository using GitHub Importer. + * **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. */ - startImport: { - (params?: Octokit.MigrationsStartImportParams): Promise< - Octokit.Response - >; + createComment: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateCommentParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateCommentParamsDeprecatedInReplyTo + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateCommentParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * View the progress of an import. + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. * - * **Import status** + * 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. * - * This section includes details about the possible values of the `status` field of the Import Progress response. + * 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). * - * An import that does not have errors will progress through these steps: + * **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. * - * * `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. + * 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. * - * If there are problems, you will see one of these in the `status` field: + * **Multi-line comment summary** * - * * `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. + * **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. * - * **The project_choices field** + * Use the `comfort-fade` preview header and the `line` parameter to show multi-line comment-supported fields in the response. * - * 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. + * If you use the `comfort-fade` preview header, your response will show: * - * **Git LFS related fields** + * * 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`. * - * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * 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: * - * * `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. + * * 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) */ - getImportProgress: { - (params?: Octokit.MigrationsGetImportProgressParams): Promise< - Octokit.Response - >; + 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; }; /** - * 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. + * 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. * - * The following example demonstrates the workflow for updating an import with "project1" as the project choice. Given a `project_choices` array like such: + * **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. * - * To restart an import, no parameters are provided in the update request. + * 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. */ - updateImport: { - (params?: Octokit.MigrationsUpdateImportParams): Promise< - Octokit.Response - >; + createReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateReviewParams + ): 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 `. + * 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 API method and the "Map a commit author" method allow you to provide correct Git author information. + * 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. */ - getCommitAuthors: { - (params?: Octokit.MigrationsGetCommitAuthorsParams): Promise< - Octokit.Response + createReviewCommentReply: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateReviewCommentReplyParams + ): Promise< + Octokit.Response >; 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. + * 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. */ - mapCommitAuthor: { - (params?: Octokit.MigrationsMapCommitAuthorParams): Promise< - Octokit.Response - >; + createReviewRequest: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsCreateReviewRequestParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsCreateReviewRequestParams + ): 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/). + * Deletes a review comment. */ - setLfsPreference: { - (params?: Octokit.MigrationsSetLfsPreferenceParams): Promise< - Octokit.Response - >; + deleteComment: { + ( + params?: Octokit.RequestOptions & Octokit.PullsDeleteCommentParams + ): Promise; endpoint: Octokit.Endpoint; }; - /** - * List files larger than 100MB found during the import - */ - getLargeFiles: { - (params?: Octokit.MigrationsGetLargeFilesParams): Promise< - Octokit.Response - >; + + 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; }; /** - * Stop an import for a repository. + * **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. */ - cancelImport: { - (params?: Octokit.MigrationsCancelImportParams): Promise< - Octokit.Response - >; + dismissReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsDismissReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsDismissReviewParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Initiates the generation of a user migration archive. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://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. */ - startForAuthenticatedUser: { - (params?: Octokit.MigrationsStartForAuthenticatedUserParams): Promise< - Octokit.Response + get: { + ( + params?: Octokit.RequestOptions & Octokit.PullsGetParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsGetParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Lists all migrations a user has started. + * **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. */ - listForAuthenticatedUser: { - (params?: Octokit.MigrationsListForAuthenticatedUserParams): Promise< - Octokit.Response + 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; }; /** - * 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). + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - getStatusForAuthenticatedUser: { - (params?: Octokit.MigrationsGetStatusForAuthenticatedUserParams): Promise< - Octokit.Response< - Octokit.MigrationsGetStatusForAuthenticatedUserResponse - > + list: { + (params?: Octokit.RequestOptions & Octokit.PullsListParams): Promise< + Octokit.Response >; 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: + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. * - * * 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 + * 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: * - * 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. + * * 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. */ - getArchiveForAuthenticatedUser: { + listComments: { ( - params?: Octokit.MigrationsGetArchiveForAuthenticatedUserParams - ): Promise< - Octokit.Response< - Octokit.MigrationsGetArchiveForAuthenticatedUserResponse - > - >; + params?: Octokit.RequestOptions & + Octokit.PullsListCommentsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListCommentsParams + ): 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. + * **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. */ - deleteArchiveForAuthenticatedUser: { + listCommentsForRepo: { ( - params?: Octokit.MigrationsDeleteArchiveForAuthenticatedUserParams - ): Promise< - Octokit.Response< - Octokit.MigrationsDeleteArchiveForAuthenticatedUserResponse - > - >; + params?: Octokit.RequestOptions & Octokit.PullsListCommentsForRepoParams + ): 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. + * 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). */ - unlockRepoForAuthenticatedUser: { + listCommits: { ( - params?: Octokit.MigrationsUnlockRepoForAuthenticatedUserParams - ): Promise< - Octokit.Response< - Octokit.MigrationsUnlockRepoForAuthenticatedUserResponse - > - >; + params?: Octokit.RequestOptions & + Octokit.PullsListCommitsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListCommitsParams + ): Promise>; endpoint: Octokit.Endpoint; }; - }; - oauthAuthorizations: { /** - * 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"]`. + * **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */ - listGrants: { - (params?: Octokit.OauthAuthorizationsListGrantsParams): Promise< - Octokit.Response + listFiles: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListFilesParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsListFilesParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - getGrant: { - (params?: Octokit.OauthAuthorizationsGetGrantParams): Promise< - Octokit.Response - >; + listReviewRequests: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListReviewRequestsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListReviewRequestsParams + ): 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). + * The list of reviews returns in chronological order. */ - deleteGrant: { - (params?: Octokit.OauthAuthorizationsDeleteGrantParams): Promise< - Octokit.Response - >; + listReviews: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsListReviewsParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsListReviewsParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - listAuthorizations: { - (params?: Octokit.OauthAuthorizationsListAuthorizationsParams): Promise< - Octokit.Response + /** + * 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; }; - getAuthorization: { - (params?: Octokit.OauthAuthorizationsGetAuthorizationParams): Promise< - Octokit.Response - >; + submitReview: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsSubmitReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsSubmitReviewParams + ): Promise>; 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 "[Woking 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * 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). + * 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. */ - createAuthorization: { - (params?: Octokit.OauthAuthorizationsCreateAuthorizationParams): Promise< - Octokit.Response + update: { + ( + params?: Octokit.RequestOptions & + Octokit.PullsUpdateParamsDeprecatedNumber + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.PullsUpdateParams): Promise< + Octokit.Response >; 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 "[Woking with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ - getOrCreateAuthorizationForApp: { + updateBranch: { ( - params?: Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppParams - ): Promise; + params?: Octokit.RequestOptions & Octokit.PullsUpdateBranchParams + ): Promise>; 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. + * **Note:** Multi-line comments on pull requests are currently in public beta and subject to change. * - * 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 "[Woking with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * 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. */ - getOrCreateAuthorizationForAppAndFingerprint: { + updateComment: { ( - params?: Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintParams - ): Promise; + params?: Octokit.RequestOptions & Octokit.PullsUpdateCommentParams + ): Promise>; 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 "[Woking with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * Update the review summary comment with new text. */ - getOrCreateAuthorizationForAppFingerprint: { + updateReview: { ( - params?: Octokit.OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintParams - ): Promise; + params?: Octokit.RequestOptions & + Octokit.PullsUpdateReviewParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.PullsUpdateReviewParams + ): Promise>; endpoint: Octokit.Endpoint; }; + }; + rateLimit: { /** - * 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 "[Woking with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * **Note:** Accessing this endpoint does not count against your REST API rate limit. * - * You can only send one of these scope keys at a time. + * **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. */ - updateAuthorization: { - (params?: Octokit.OauthAuthorizationsUpdateAuthorizationParams): Promise< - Octokit.Response + get: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - deleteAuthorization: { - (params?: Octokit.OauthAuthorizationsDeleteAuthorizationParams): Promise< - Octokit.Response + }; + 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; }; /** - * 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`. + * 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. */ - checkAuthorization: { - (params?: Octokit.OauthAuthorizationsCheckAuthorizationParams): Promise< - Octokit.Response - >; + createForIssue: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForIssueParamsDeprecatedNumber + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.ReactionsCreateForIssueParams + ): Promise>; 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`. + * 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. */ - resetAuthorization: { - (params?: Octokit.OauthAuthorizationsResetAuthorizationParams): Promise< - Octokit.Response + createForIssueComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForIssueCommentParams + ): 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`. + * 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. */ - revokeAuthorizationForApplication: { + createForPullRequestReviewComment: { ( - params?: Octokit.OauthAuthorizationsRevokeAuthorizationForApplicationParams + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForPullRequestReviewCommentParams ): Promise< Octokit.Response< - Octokit.OauthAuthorizationsRevokeAuthorizationForApplicationResponse + Octokit.ReactionsCreateForPullRequestReviewCommentResponse > >; 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion) endpoint. * - * 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). + * 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. + * @deprecated octokit.reactions.createForTeamDiscussion() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy */ - revokeGrantForApplication: { + createForTeamDiscussion: { ( - params?: Octokit.OauthAuthorizationsRevokeGrantForApplicationParams + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionParams ): Promise< - Octokit.Response< - Octokit.OauthAuthorizationsRevokeGrantForApplicationResponse - > + Octokit.Response >; endpoint: Octokit.Endpoint; }; - }; - orgs: { /** - * List organizations for the authenticated user. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion comment`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment) endpoint. * - * **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. + * 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. + * @deprecated octokit.reactions.createForTeamDiscussionComment() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy */ - listForAuthenticatedUser: { - (params?: Octokit.OrgsListForAuthenticatedUserParams): Promise< - Octokit.Response + createForTeamDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionCommentParams + ): Promise< + Octokit.Response< + Octokit.ReactionsCreateForTeamDiscussionCommentResponse + > >; endpoint: Octokit.Endpoint; }; /** - * Lists all organizations, in the order that they were created on GitHub. + * 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. * - * **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. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. */ - list: { - (params?: Octokit.OrgsListParams): Promise< - Octokit.Response + createForTeamDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionCommentInOrgParams + ): Promise< + Octokit.Response< + Octokit.ReactionsCreateForTeamDiscussionCommentInOrgResponse + > >; endpoint: Octokit.Endpoint; }; /** - * List [public organization memberships](https://help.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion comment`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment) endpoint. * - * 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. + * 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. + * @deprecated octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy */ - listForUser: { - (params?: Octokit.OrgsListForUserParams): Promise< - Octokit.Response + createForTeamDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionCommentLegacyParams + ): Promise< + Octokit.Response< + Octokit.ReactionsCreateForTeamDiscussionCommentLegacyResponse + > >; 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/). + * 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. * - * 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)." + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. */ - get: { - (params?: Octokit.OrgsGetParams): Promise< - Octokit.Response + createForTeamDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionInOrgParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * **Note:** The new `members_allowed_repository_creation_type` replaces the functionality of `members_can_create_repositories`. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion) endpoint. * - * 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. + * 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. + * @deprecated octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy */ - update: { - (params?: Octokit.OrgsUpdateParams): Promise< - Octokit.Response + createForTeamDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsCreateForTeamDiscussionLegacyParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * List the users blocked by an organization. + * 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/). */ - listBlockedUsers: { - (params?: Octokit.OrgsListBlockedUsersParams): Promise< - Octokit.Response - >; + delete: { + ( + params?: Octokit.RequestOptions & Octokit.ReactionsDeleteParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * If the user is blocked: - * - * If the user is not blocked: + * List the reactions to a [commit comment](https://developer.github.com/v3/repos/comments/). */ - checkBlockedUser: { - (params?: Octokit.OrgsCheckBlockedUserParams): Promise< - Octokit.Response + listForCommitComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForCommitCommentParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - blockUser: { - (params?: Octokit.OrgsBlockUserParams): Promise< - Octokit.Response - >; + /** + * 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; }; - - unblockUser: { - (params?: Octokit.OrgsUnblockUserParams): Promise< - Octokit.Response + /** + * 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; }; - - listHooks: { - (params?: Octokit.OrgsListHooksParams): Promise< - Octokit.Response + /** + * 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; }; - - getHook: { - (params?: Octokit.OrgsGetHookParams): Promise< - Octokit.Response + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion) 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/). + * @deprecated octokit.reactions.listForTeamDiscussion() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy + */ + listForTeamDiscussion: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Here's how you can create a hook that posts payloads in JSON format: + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment) 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/). + * @deprecated octokit.reactions.listForTeamDiscussionComment() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy */ - createHook: { - (params?: Octokit.OrgsCreateHookParams): Promise< - Octokit.Response + listForTeamDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionCommentParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - updateHook: { - (params?: Octokit.OrgsUpdateHookParams): Promise< - Octokit.Response + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + listForTeamDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionCommentInOrgParams + ): Promise< + Octokit.Response< + Octokit.ReactionsListForTeamDiscussionCommentInOrgResponse + > >; endpoint: Octokit.Endpoint; }; /** - * This will trigger a [ping event](https://developer.github.com/webhooks/#ping-event) to be sent to the hook. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment) 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/). + * @deprecated octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy */ - pingHook: { - (params?: Octokit.OrgsPingHookParams): Promise< - Octokit.Response + listForTeamDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionCommentLegacyParams + ): Promise< + Octokit.Response< + Octokit.ReactionsListForTeamDiscussionCommentLegacyResponse + > >; endpoint: Octokit.Endpoint; }; - - deleteHook: { - (params?: Octokit.OrgsDeleteHookParams): Promise< - Octokit.Response + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + listForTeamDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionInOrgParams + ): Promise< + Octokit.Response >; 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion) 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/). + * @deprecated octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy */ - listMembers: { - (params?: Octokit.OrgsListMembersParams): Promise< - Octokit.Response + listForTeamDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.ReactionsListForTeamDiscussionLegacyParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - /** - * Check if a user is, publicly or privately, a member of the organization. - */ - checkMembership: { - (params?: Octokit.OrgsCheckMembershipParams): Promise< - Octokit.AnyResponse - >; + }; + repos: { + acceptInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposAcceptInvitationParams + ): 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. + * 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. */ - removeMember: { - (params?: Octokit.OrgsRemoveMemberParams): Promise< - Octokit.Response - >; + addCollaborator: { + ( + params?: Octokit.RequestOptions & Octokit.ReposAddCollaboratorParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Members of an organization can choose to have their membership publicized or not. + * Here's how you can create a read-only deploy key: */ - listPublicMembers: { - (params?: Octokit.OrgsListPublicMembersParams): Promise< - Octokit.Response - >; + addDeployKey: { + ( + params?: Octokit.RequestOptions & Octokit.ReposAddDeployKeyParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - checkPublicMembership: { - (params?: Octokit.OrgsCheckPublicMembershipParams): Promise< - Octokit.AnyResponse + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + addProtectedBranchAdminEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchAdminEnforcementParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchAdminEnforcementResponse + > >; endpoint: Octokit.Endpoint; }; /** - * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * 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)." + * 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. | */ - publicizeMembership: { - (params?: Octokit.OrgsPublicizeMembershipParams): Promise< - Octokit.Response + addProtectedBranchAppRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchAppRestrictionsParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - concealMembership: { - (params?: Octokit.OrgsConcealMembershipParams): Promise< - Octokit.Response + /** + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + addProtectedBranchRequiredSignatures: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchRequiredSignaturesParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchRequiredSignaturesResponse + > >; endpoint: Octokit.Endpoint; }; /** - * In order to get a user's membership with an organization, the authenticated user must be an organization member. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - getMembership: { - (params?: Octokit.OrgsGetMembershipParams): Promise; + addProtectedBranchRequiredStatusChecksContexts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchRequiredStatusChecksContextsParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchRequiredStatusChecksContextsResponse + > + >; endpoint: Octokit.Endpoint; }; /** - * 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * **Rate limits** + * Grants the specified teams push access for this branch. You can also give push access to child teams. * - * 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. + * | 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. | */ - addOrUpdateMembership: { - (params?: Octokit.OrgsAddOrUpdateMembershipParams): Promise< - Octokit.AnyResponse + addProtectedBranchTeamRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchTeamRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchTeamRestrictionsResponse + > >; endpoint: Octokit.Endpoint; }; /** - * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * 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. + * 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. | */ - removeMembership: { - (params?: Octokit.OrgsRemoveMembershipParams): Promise< - Octokit.Response + addProtectedBranchUserRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposAddProtectedBranchUserRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposAddProtectedBranchUserRestrictionsResponse + > >; 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. + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. */ - listInvitationTeams: { - (params?: Octokit.OrgsListInvitationTeamsParams): Promise< - Octokit.Response - >; + checkCollaborator: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCheckCollaboratorParams + ): 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`. + * 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. */ - listPendingInvitations: { - (params?: Octokit.OrgsListPendingInvitationsParams): Promise< - Octokit.Response - >; + checkVulnerabilityAlerts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposCheckVulnerabilityAlertsParams + ): Promise; 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. + * 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`. * - * 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. + * 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. | */ - createInvitation: { - (params?: Octokit.OrgsCreateInvitationParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - listMemberships: { - (params?: Octokit.OrgsListMembershipsParams): Promise< - Octokit.Response - >; + compareCommits: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCompareCommitsParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - getMembershipForAuthenticatedUser: { - (params?: Octokit.OrgsGetMembershipForAuthenticatedUserParams): Promise< - Octokit.Response - >; + /** + * 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; }; - - updateMembership: { - (params?: Octokit.OrgsUpdateMembershipParams): Promise< - Octokit.Response - >; + /** + * 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; }; /** - * List all users who are outside collaborators of an organization. + * 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. */ - listOutsideCollaborators: { - (params?: Octokit.OrgsListOutsideCollaboratorsParams): Promise< - Octokit.Response - >; + createDeploymentStatus: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposCreateDeploymentStatusParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Removing a user from this list will remove them from all the organization's repositories. + * 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. */ - removeOutsideCollaborator: { - (params?: Octokit.OrgsRemoveOutsideCollaboratorParams): Promise< - Octokit.Response - >; + createDispatchEvent: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateDispatchEventParams + ): 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/)". + * 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) */ - convertMemberToOutsideCollaborator: { - (params?: Octokit.OrgsConvertMemberToOutsideCollaboratorParams): Promise< - Octokit.Response - >; + createFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateFileParams + ): Promise>; endpoint: Octokit.Endpoint; }; - }; - projects: { /** - * 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. + * 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 */ - listForRepo: { - (params?: Octokit.ProjectsListForRepoParams): Promise< - Octokit.Response + createForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposCreateForAuthenticatedUserParams + ): Promise< + Octokit.Response >; 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. + * Create a fork for the authenticated user. * - * s + * **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) or [GitHub Premium Support](https://premium.githubsupport.com). */ - listForOrg: { - (params?: Octokit.ProjectsListForOrgParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - listForUser: { - (params?: Octokit.ProjectsListForUserParams): Promise< - Octokit.Response - >; + createFork: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateForkParams + ): 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. + * 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: */ - get: { - (params?: Octokit.ProjectsGetParams): Promise< - Octokit.Response - >; + createHook: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateHookParams + ): 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. + * 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 */ - createForRepo: { - (params?: Octokit.ProjectsCreateForRepoParams): Promise< - Octokit.Response - >; + createInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateInOrgParams + ): Promise>; 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. + * Creates a new file or updates an existing file in a repository. */ - createForOrg: { - (params?: Octokit.ProjectsCreateForOrgParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - createForAuthenticatedUser: { - (params?: Octokit.ProjectsCreateForAuthenticatedUserParams): Promise< - Octokit.Response - >; + createOrUpdateFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateOrUpdateFileParams + ): Promise>; 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. + * 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. */ - update: { - (params?: Octokit.ProjectsUpdateParams): Promise< - Octokit.Response - >; + createRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateReleaseParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + * 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. */ - delete: { - (params?: Octokit.ProjectsDeleteParams): Promise; + createStatus: { + ( + params?: Octokit.RequestOptions & Octokit.ReposCreateStatusParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - listCards: { - (params?: Octokit.ProjectsListCardsParams): Promise< - Octokit.Response - >; + /** + * 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; }; - getCard: { - (params?: Octokit.ProjectsGetCardParams): Promise; + declineInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeclineInvitationParams + ): 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. + * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. * - * 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. + * If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ - createCard: { - (params?: Octokit.ProjectsCreateCardParams): Promise< - Octokit.Response + delete: { + (params?: Octokit.RequestOptions & Octokit.ReposDeleteParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - updateCard: { - (params?: Octokit.ProjectsUpdateCardParams): Promise; - - endpoint: Octokit.Endpoint; - }; - - deleteCard: { - (params?: Octokit.ProjectsDeleteCardParams): Promise< - Octokit.Response - >; + deleteCommitComment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteCommitCommentParams + ): Promise; endpoint: Octokit.Endpoint; }; - moveCard: { - (params?: Octokit.ProjectsMoveCardParams): Promise< - Octokit.Response - >; + deleteDownload: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteDownloadParams + ): 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. + * 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. */ - listCollaborators: { - (params?: Octokit.ProjectsListCollaboratorsParams): Promise< - Octokit.Response - >; + deleteFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteFileParams + ): 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.ProjectsReviewUserPermissionLevelParams): Promise< - Octokit.Response - >; + + deleteHook: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteHookParams + ): Promise; endpoint: Octokit.Endpoint; }; - /** - * 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.ProjectsAddCollaboratorParams): Promise< - Octokit.Response - >; + + deleteInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteInvitationParams + ): 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. + * Users with push access to the repository can delete a release. */ - removeCollaborator: { - (params?: Octokit.ProjectsRemoveCollaboratorParams): Promise< - Octokit.Response - >; + deleteRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteReleaseParams + ): Promise; endpoint: Octokit.Endpoint; }; - listColumns: { - (params?: Octokit.ProjectsListColumnsParams): Promise< - Octokit.Response - >; + deleteReleaseAsset: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDeleteReleaseAssetParams + ): Promise; endpoint: Octokit.Endpoint; }; - - getColumn: { - (params?: Octokit.ProjectsGetColumnParams): Promise; + /** + * 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; }; - createColumn: { - (params?: Octokit.ProjectsCreateColumnParams): Promise< - Octokit.AnyResponse - >; + disablePagesSite: { + ( + params?: Octokit.RequestOptions & Octokit.ReposDisablePagesSiteParams + ): Promise; endpoint: Octokit.Endpoint; }; - - updateColumn: { - (params?: Octokit.ProjectsUpdateColumnParams): Promise< - Octokit.AnyResponse - >; + /** + * 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; }; - - deleteColumn: { - (params?: Octokit.ProjectsDeleteColumnParams): Promise< - Octokit.Response - >; + /** + * 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; }; - moveColumn: { - (params?: Octokit.ProjectsMoveColumnParams): Promise< - Octokit.Response - >; + enablePagesSite: { + ( + params?: Octokit.RequestOptions & Octokit.ReposEnablePagesSiteParams + ): Promise>; endpoint: Octokit.Endpoint; }; - }; - pulls: { /** - * 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. + * 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. */ - list: { - (params?: Octokit.PullsListParams): Promise< - Octokit.Response - >; + enableVulnerabilityAlerts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposEnableVulnerabilityAlertsParams + ): 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. + * 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.PullsGetParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsGetParams): Promise< - Octokit.Response + (params?: Octokit.RequestOptions & Octokit.ReposGetParams): 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. - * - * 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * 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. + * 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. */ - create: { - (params?: Octokit.PullsCreateParams): Promise< - Octokit.Response + getAppsWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetAppsWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposGetAppsWithAccessToProtectedBranchResponse + > >; 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. + * 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. * - * 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. + * _Note_: For private repositories, these links are temporary and expire after five minutes. * - * 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. - */ - createFromIssue: { - (params?: Octokit.PullsCreateFromIssueParams): 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. + * To follow redirects with curl, use the `-L` switch: */ - updateBranch: { - (params?: Octokit.PullsUpdateBranchParams): Promise< - Octokit.Response - >; + getArchiveLink: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetArchiveLinkParams + ): 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.PullsUpdateParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsUpdateParams): Promise< - Octokit.Response - >; - 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.PullsListCommitsParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsListCommitsParams): Promise< - Octokit.Response + getBranch: { + (params?: Octokit.RequestOptions & Octokit.ReposGetBranchParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * **Note:** The response includes a maximum of 300 files. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - listFiles: { - (params?: Octokit.PullsListFilesParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsListFilesParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - checkIfMerged: { - (params?: Octokit.PullsCheckIfMergedParamsDeprecatedNumber): Promise< - Octokit.AnyResponse - >; - (params?: Octokit.PullsCheckIfMergedParams): Promise; + getBranchProtection: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetBranchProtectionParams + ): 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. + * 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. */ - merge: { - (params?: Octokit.PullsMergeParamsDeprecatedNumber): Promise< - Octokit.AnyResponse + getClones: { + (params?: Octokit.RequestOptions & Octokit.ReposGetClonesParams): Promise< + Octokit.Response >; - (params?: Octokit.PullsMergeParams): Promise; endpoint: Octokit.Endpoint; }; /** - * By default, review comments are ordered by ascending ID. + * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ - listComments: { - (params?: Octokit.PullsListCommentsParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsListCommentsParams): Promise< - Octokit.Response - >; + getCodeFrequencyStats: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCodeFrequencyStatsParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * By default, review comments are ordered by ascending ID. + * Possible values for the `permission` key: `admin`, `write`, `read`, `none`. */ - listCommentsForRepo: { - (params?: Octokit.PullsListCommentsForRepoParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - getComment: { - (params?: Octokit.PullsGetCommentParams): Promise< - Octokit.Response + getCollaboratorPermissionLevel: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCollaboratorPermissionLevelParams + ): 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. + * 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. * - * **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 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. * - * 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. + * 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` */ - createComment: { - (params?: Octokit.PullsCreateCommentParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsCreateCommentParams): Promise< - Octokit.Response + getCombinedStatusForRef: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCombinedStatusForRefParams + ): 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. + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. * - * **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. + * 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. * - * 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. + * 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. | */ - createCommentReply: { - (params?: Octokit.PullsCreateCommentReplyParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsCreateCommentReplyParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - updateComment: { - (params?: Octokit.PullsUpdateCommentParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - deleteComment: { - (params?: Octokit.PullsDeleteCommentParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - listReviewRequests: { - (params?: Octokit.PullsListReviewRequestsParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsListReviewRequestsParams): Promise< - Octokit.Response + getCommit: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCommitParamsDeprecatedSha + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetCommitParamsDeprecatedCommitSha + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.ReposGetCommitParams): 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. + * Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */ - createReviewRequest: { + getCommitActivityStats: { ( - params?: Octokit.PullsCreateReviewRequestParamsDeprecatedNumber - ): Promise>; - (params?: Octokit.PullsCreateReviewRequestParams): Promise< - Octokit.Response - >; + params?: Octokit.RequestOptions & + Octokit.ReposGetCommitActivityStatsParams + ): Promise>; endpoint: Octokit.Endpoint; }; - deleteReviewRequest: { + getCommitComment: { ( - params?: Octokit.PullsDeleteReviewRequestParamsDeprecatedNumber - ): Promise>; - (params?: Octokit.PullsDeleteReviewRequestParams): Promise< - Octokit.Response - >; + params?: Octokit.RequestOptions & Octokit.ReposGetCommitCommentParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * The list of reviews returns in chronological order. + * **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. */ - listReviews: { - (params?: Octokit.PullsListReviewsParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsListReviewsParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - getReview: { - (params?: Octokit.PullsGetReviewParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsGetReviewParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - deletePendingReview: { + getCommitRefSha: { ( - params?: Octokit.PullsDeletePendingReviewParamsDeprecatedNumber - ): Promise>; - (params?: Octokit.PullsDeletePendingReviewParams): Promise< - Octokit.Response - >; + params?: Octokit.RequestOptions & Octokit.ReposGetCommitRefShaParams + ): Promise; endpoint: Octokit.Endpoint; }; - - getCommentsForReview: { + /** + * 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.PullsGetCommentsForReviewParamsDeprecatedNumber - ): Promise>; - (params?: Octokit.PullsGetCommentsForReviewParams): Promise< - Octokit.Response - >; + params?: Octokit.RequestOptions & Octokit.ReposGetContentsParams + ): 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. + * * `total` - The Total number of commits authored by the contributor. * - * **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. + * Weekly Hash (`weeks` array): * - * 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. + * * `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 */ - createReview: { - (params?: Octokit.PullsCreateReviewParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsCreateReviewParams): Promise< - Octokit.Response - >; + getContributorsStats: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetContributorsStatsParams + ): Promise>; endpoint: Octokit.Endpoint; }; - /** - * Update the review summary comment with new text. - */ - updateReview: { - (params?: Octokit.PullsUpdateReviewParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsUpdateReviewParams): Promise< - Octokit.Response - >; + + getDeployKey: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDeployKeyParams + ): Promise>; endpoint: Octokit.Endpoint; }; - submitReview: { - (params?: Octokit.PullsSubmitReviewParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsSubmitReviewParams): Promise< - Octokit.Response - >; + getDeployment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDeploymentParams + ): 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. + * Users with pull access can view a deployment status for a deployment: */ - dismissReview: { - (params?: Octokit.PullsDismissReviewParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.PullsDismissReviewParams): Promise< - Octokit.Response - >; + getDeploymentStatus: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDeploymentStatusParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + + getDownload: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetDownloadParams + ): 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.EmptyParams): Promise< - Octokit.Response + + getHook: { + (params?: Octokit.RequestOptions & Octokit.ReposGetHookParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - }; - reactions: { - /** - * List the reactions to a [commit comment](https://developer.github.com/v3/repos/comments/). - */ - listForCommitComment: { - (params?: Octokit.ReactionsListForCommitCommentParams): Promise< - Octokit.Response - >; + + getLatestPagesBuild: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetLatestPagesBuildParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * 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. + * 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. */ - createForCommitComment: { - (params?: Octokit.ReactionsCreateForCommitCommentParams): Promise< - Octokit.Response - >; + getLatestRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetLatestReleaseParams + ): Promise>; endpoint: Octokit.Endpoint; }; - /** - * List the reactions to an [issue](https://developer.github.com/v3/issues/). - */ - listForIssue: { - (params?: Octokit.ReactionsListForIssueParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.ReactionsListForIssueParams): Promise< - Octokit.Response + + getPages: { + (params?: Octokit.RequestOptions & Octokit.ReposGetPagesParams): 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.ReactionsCreateForIssueParamsDeprecatedNumber): Promise< - Octokit.Response - >; - (params?: Octokit.ReactionsCreateForIssueParams): Promise< - Octokit.Response - >; + + getPagesBuild: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetPagesBuildParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * List the reactions to an [issue comment](https://developer.github.com/v3/issues/comments/). + * 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. */ - listForIssueComment: { - (params?: Octokit.ReactionsListForIssueCommentParams): Promise< - Octokit.Response - >; + getParticipationStats: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetParticipationStatsParams + ): 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - createForIssueComment: { - (params?: Octokit.ReactionsCreateForIssueCommentParams): Promise< - Octokit.Response + getProtectedBranchAdminEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchAdminEnforcementParams + ): Promise< + Octokit.Response< + Octokit.ReposGetProtectedBranchAdminEnforcementResponse + > >; endpoint: Octokit.Endpoint; }; /** - * List the reactions to a [pull request review comment](https://developer.github.com/v3/pulls/comments/). + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - listForPullRequestReviewComment: { + getProtectedBranchPullRequestReviewEnforcement: { ( - params?: Octokit.ReactionsListForPullRequestReviewCommentParams + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchPullRequestReviewEnforcementParams ): Promise< Octokit.Response< - Octokit.ReactionsListForPullRequestReviewCommentResponse + Octokit.ReposGetProtectedBranchPullRequestReviewEnforcementResponse > >; 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://help.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. */ - createForPullRequestReviewComment: { + getProtectedBranchRequiredSignatures: { ( - params?: Octokit.ReactionsCreateForPullRequestReviewCommentParams + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchRequiredSignaturesParams ): Promise< Octokit.Response< - Octokit.ReactionsCreateForPullRequestReviewCommentResponse + Octokit.ReposGetProtectedBranchRequiredSignaturesResponse > >; 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/). + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - listForTeamDiscussion: { - (params?: Octokit.ReactionsListForTeamDiscussionParams): Promise< - Octokit.Response + getProtectedBranchRequiredStatusChecks: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchRequiredStatusChecksParams + ): Promise< + Octokit.Response< + Octokit.ReposGetProtectedBranchRequiredStatusChecksResponse + > >; 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) 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. */ - createForTeamDiscussion: { - (params?: Octokit.ReactionsCreateForTeamDiscussionParams): Promise< - Octokit.Response + getProtectedBranchRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetProtectedBranchRestrictionsParams + ): 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/). + * 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. */ - listForTeamDiscussionComment: { - (params?: Octokit.ReactionsListForTeamDiscussionCommentParams): Promise< - Octokit.Response - >; + getPunchCardStats: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetPunchCardStatsParams + ): Promise>; 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. + * 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. */ - createForTeamDiscussionComment: { - (params?: Octokit.ReactionsCreateForTeamDiscussionCommentParams): Promise< - Octokit.Response< - Octokit.ReactionsCreateForTeamDiscussionCommentResponse - > + getReadme: { + (params?: Octokit.RequestOptions & Octokit.ReposGetReadmeParams): Promise< + Octokit.Response >; 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/). + * **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). */ - delete: { - (params?: Octokit.ReactionsDeleteParams): Promise< - Octokit.Response - >; + getRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetReleaseParams + ): Promise>; endpoint: Octokit.Endpoint; }; - }; - repos: { /** - * 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. + * 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. */ - list: { - (params?: Octokit.ReposListParams): Promise; + getReleaseAsset: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetReleaseAssetParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Lists public repositories for the specified user. + * Get a published release with the specified tag. */ - listForUser: { - (params?: Octokit.ReposListForUserParams): Promise; + getReleaseByTag: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetReleaseByTagParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Lists repositories for the specified organization. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. */ - listForOrg: { - (params?: Octokit.ReposListForOrgParams): Promise< - Octokit.Response + getTeamsWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetTeamsWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposGetTeamsWithAccessToProtectedBranchResponse + > >; 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. + * Get the top 10 popular contents over the last 14 days. */ - listPublic: { - (params?: Octokit.ReposListPublicParams): Promise< - Octokit.Response - >; + getTopPaths: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetTopPathsParams + ): 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 + * Get the top 10 referrers over the last 14 days. */ - createForAuthenticatedUser: { - (params?: Octokit.ReposCreateForAuthenticatedUserParams): Promise< - Octokit.Response - >; + getTopReferrers: { + ( + params?: Octokit.RequestOptions & Octokit.ReposGetTopReferrersParams + ): 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: + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * * `public_repo` scope or `repo` scope to create a public repository - * * `repo` scope to create a private repository + * Lists the people who have push access to this branch. */ - createInOrg: { - (params?: Octokit.ReposCreateInOrgParams): Promise< - Octokit.Response + getUsersWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposGetUsersWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposGetUsersWithAccessToProtectedBranchResponse + > >; endpoint: Octokit.Endpoint; }; /** - * Creates a new repository using a repository template. Use the `repo` route parameter 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 - * - * \` + * 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. */ - createUsingTemplate: { - (params?: Octokit.ReposCreateUsingTemplateParams): Promise< - Octokit.Response + getViews: { + (params?: Octokit.RequestOptions & Octokit.ReposGetViewsParams): Promise< + Octokit.Response >; 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. + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. */ - get: { - (params?: Octokit.ReposGetParams): Promise< - Octokit.Response + list: { + (params?: Octokit.RequestOptions & Octokit.ReposListParams): Promise< + Octokit.AnyResponse >; 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). + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + * @deprecated octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13) */ - update: { - (params?: Octokit.ReposUpdateParams): Promise< - Octokit.Response + listAppsWithAccessToProtectedBranch: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListAppsWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposListAppsWithAccessToProtectedBranchResponse + > >; endpoint: Octokit.Endpoint; }; - listTopics: { - (params?: Octokit.ReposListTopicsParams): Promise< - Octokit.Response - >; + listAssetsForRelease: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListAssetsForReleaseParams + ): Promise>; endpoint: Octokit.Endpoint; }; - replaceTopics: { - (params?: Octokit.ReposReplaceTopicsParams): Promise< - Octokit.Response - >; + listBranches: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListBranchesParams + ): 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. */ - checkVulnerabilityAlerts: { - (params?: Octokit.ReposCheckVulnerabilityAlertsParams): Promise< - Octokit.AnyResponse + listBranchesForHeadCommit: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListBranchesForHeadCommitParams + ): Promise< + Octokit.Response >; 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. + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. */ - enableVulnerabilityAlerts: { - (params?: Octokit.ReposEnableVulnerabilityAlertsParams): Promise< - Octokit.Response - >; + listCollaborators: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListCollaboratorsParams + ): 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. + * Use the `:commit_sha` to specify the commit that will have its comments listed. */ - disableVulnerabilityAlerts: { - (params?: Octokit.ReposDisableVulnerabilityAlertsParams): Promise< - Octokit.Response - >; + listCommentsForCommit: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListCommentsForCommitParamsDeprecatedRef + ): Promise>; + ( + params?: Octokit.RequestOptions & + Octokit.ReposListCommentsForCommitParams + ): 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. + * 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. */ - enableAutomatedSecurityFixes: { - (params?: Octokit.ReposEnableAutomatedSecurityFixesParams): Promise< - Octokit.Response - >; + listCommitComments: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListCommitCommentsParams + ): 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. + * **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. | */ - disableAutomatedSecurityFixes: { - (params?: Octokit.ReposDisableAutomatedSecurityFixesParams): Promise< - Octokit.Response - >; + listCommits: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListCommitsParams + ): Promise>; endpoint: Octokit.Endpoint; }; @@ -29722,2108 +39459,2296 @@ declare class Octokit { * 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.ReposListContributorsParams): Promise< - Octokit.AnyResponse - >; - - 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.ReposListLanguagesParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - listTeams: { - (params?: Octokit.ReposListTeamsParams): Promise< - Octokit.Response - >; + ( + params?: Octokit.RequestOptions & Octokit.ReposListContributorsParams + ): Promise>; endpoint: Octokit.Endpoint; }; - listTags: { - (params?: Octokit.ReposListTagsParams): Promise< - Octokit.Response - >; + listDeployKeys: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListDeployKeysParams + ): 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: + * Users with pull access can view deployment statuses for a deployment: */ - delete: { - (params?: Octokit.ReposDeleteParams): Promise< - Octokit.Response - >; + listDeploymentStatuses: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposListDeploymentStatusesParams + ): 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/). + * Simple filtering of deployments is available via query parameters: */ - transfer: { - (params?: Octokit.ReposTransferParams): Promise< - Octokit.Response - >; + listDeployments: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListDeploymentsParams + ): Promise>; endpoint: Octokit.Endpoint; }; - listBranches: { - (params?: Octokit.ReposListBranchesParams): Promise< - Octokit.Response - >; + listDownloads: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListDownloadsParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - getBranch: { - (params?: Octokit.ReposGetBranchParams): Promise< - Octokit.Response - >; + /** + * Lists repositories for the specified organization. + */ + listForOrg: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListForOrgParams + ): 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 public repositories for the specified user. */ - getBranchProtection: { - (params?: Octokit.ReposGetBranchProtectionParams): Promise< - Octokit.Response - >; + listForUser: { + ( + params?: Octokit.RequestOptions & Octokit.ReposListForUserParams + ): 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. - * - * 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 and teams in total is limited to 100 items. - */ - updateBranchProtection: { - (params?: Octokit.ReposUpdateBranchProtectionParams): Promise< - Octokit.Response + + listForks: { + (params?: Octokit.RequestOptions & Octokit.ReposListForksParams): 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. - */ - removeBranchProtection: { - (params?: Octokit.ReposRemoveBranchProtectionParams): Promise< - Octokit.Response + + listHooks: { + (params?: Octokit.RequestOptions & Octokit.ReposListHooksParams): 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 authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ - getProtectedBranchRequiredStatusChecks: { + listInvitations: { ( - params?: Octokit.ReposGetProtectedBranchRequiredStatusChecksParams - ): Promise< - Octokit.Response< - Octokit.ReposGetProtectedBranchRequiredStatusChecksResponse - > - >; + params?: Octokit.RequestOptions & Octokit.ReposListInvitationsParams + ): 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 required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ - updateProtectedBranchRequiredStatusChecks: { + listInvitationsForAuthenticatedUser: { ( - params?: Octokit.ReposUpdateProtectedBranchRequiredStatusChecksParams + params?: Octokit.RequestOptions & + Octokit.ReposListInvitationsForAuthenticatedUserParams ): Promise< Octokit.Response< - Octokit.ReposUpdateProtectedBranchRequiredStatusChecksResponse + Octokit.ReposListInvitationsForAuthenticatedUserResponse > >; 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 languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ - removeProtectedBranchRequiredStatusChecks: { + listLanguages: { ( - params?: Octokit.ReposRemoveProtectedBranchRequiredStatusChecksParams - ): Promise; + params?: Octokit.RequestOptions & Octokit.ReposListLanguagesParams + ): 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: { + + listPagesBuilds: { ( - params?: Octokit.ReposListProtectedBranchRequiredStatusChecksContextsParams - ): Promise; + 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - replaceProtectedBranchRequiredStatusChecksContexts: { + listProtectedBranchRequiredStatusChecksContexts: { ( - params?: Octokit.ReposReplaceProtectedBranchRequiredStatusChecksContextsParams + params?: Octokit.RequestOptions & + Octokit.ReposListProtectedBranchRequiredStatusChecksContextsParams ): Promise< Octokit.Response< - Octokit.ReposReplaceProtectedBranchRequiredStatusChecksContextsResponse + 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + * @deprecated octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09) */ - addProtectedBranchRequiredStatusChecksContexts: { + listProtectedBranchTeamRestrictions: { ( - params?: Octokit.ReposAddProtectedBranchRequiredStatusChecksContextsParams + params?: Octokit.RequestOptions & + Octokit.ReposListProtectedBranchTeamRestrictionsParams ): Promise< Octokit.Response< - Octokit.ReposAddProtectedBranchRequiredStatusChecksContextsResponse + 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) 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) */ - removeProtectedBranchRequiredStatusChecksContexts: { + listProtectedBranchUserRestrictions: { ( - params?: Octokit.ReposRemoveProtectedBranchRequiredStatusChecksContextsParams + params?: Octokit.RequestOptions & + Octokit.ReposListProtectedBranchUserRestrictionsParams ): Promise< Octokit.Response< - Octokit.ReposRemoveProtectedBranchRequiredStatusChecksContextsResponse + Octokit.ReposListProtectedBranchUserRestrictionsResponse > >; 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 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. */ - getProtectedBranchPullRequestReviewEnforcement: { + listPublic: { ( - params?: Octokit.ReposGetProtectedBranchPullRequestReviewEnforcementParams - ): Promise; + params?: Octokit.RequestOptions & Octokit.ReposListPublicParams + ): 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. + * 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. */ - updateProtectedBranchPullRequestReviewEnforcement: { + listPullRequestsAssociatedWithCommit: { ( - params?: Octokit.ReposUpdateProtectedBranchPullRequestReviewEnforcementParams + params?: Octokit.RequestOptions & + Octokit.ReposListPullRequestsAssociatedWithCommitParams ): Promise< Octokit.Response< - Octokit.ReposUpdateProtectedBranchPullRequestReviewEnforcementResponse + Octokit.ReposListPullRequestsAssociatedWithCommitResponse > >; 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. + * 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. */ - removeProtectedBranchPullRequestReviewEnforcement: { + listReleases: { ( - params?: Octokit.ReposRemoveProtectedBranchPullRequestReviewEnforcementParams - ): Promise; + params?: Octokit.RequestOptions & Octokit.ReposListReleasesParams + ): 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 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. + * 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. * - * **Note**: You must enable branch protection to require signed commits. + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. */ - getProtectedBranchRequiredSignatures: { + listStatusesForRef: { ( - params?: Octokit.ReposGetProtectedBranchRequiredSignaturesParams - ): Promise< - Octokit.Response< - Octokit.ReposGetProtectedBranchRequiredSignaturesResponse - > + 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + * Lists the teams who have push access to this branch. The list includes child teams. + * @deprecated octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13) */ - addProtectedBranchRequiredSignatures: { + listTeamsWithAccessToProtectedBranch: { ( - params?: Octokit.ReposAddProtectedBranchRequiredSignaturesParams + params?: Octokit.RequestOptions & + Octokit.ReposListTeamsWithAccessToProtectedBranchParams ): Promise< Octokit.Response< - Octokit.ReposAddProtectedBranchRequiredSignaturesResponse + 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + * Lists the people who have push access to this branch. + * @deprecated octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13) */ - removeProtectedBranchRequiredSignatures: { + listUsersWithAccessToProtectedBranch: { ( - params?: Octokit.ReposRemoveProtectedBranchRequiredSignaturesParams - ): Promise; + params?: Octokit.RequestOptions & + Octokit.ReposListUsersWithAccessToProtectedBranchParams + ): Promise< + Octokit.Response< + Octokit.ReposListUsersWithAccessToProtectedBranchResponse + > + >; 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.ReposGetProtectedBranchAdminEnforcementParams): Promise< - Octokit.AnyResponse + + merge: { + (params?: Octokit.RequestOptions & Octokit.ReposMergeParams): 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. - * - * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * This will trigger a [ping event](https://developer.github.com/webhooks/#ping-event) to be sent to the hook. */ - addProtectedBranchAdminEnforcement: { - (params?: Octokit.ReposAddProtectedBranchAdminEnforcementParams): Promise< - Octokit.Response< - Octokit.ReposAddProtectedBranchAdminEnforcementResponse - > + 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. - * - * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - removeProtectedBranchAdminEnforcement: { + removeBranchProtection: { ( - params?: Octokit.ReposRemoveProtectedBranchAdminEnforcementParams + params?: Octokit.RequestOptions & + Octokit.ReposRemoveBranchProtectionParams ): 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. - * - * **Note**: Teams and users `restrictions` are only available for organization-owned repositories. - */ - getProtectedBranchRestrictions: { - (params?: Octokit.ReposGetProtectedBranchRestrictionsParams): Promise< - Octokit.AnyResponse - >; + + 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Disables the ability to restrict who can push to this branch. + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. */ - removeProtectedBranchRestrictions: { - (params?: Octokit.ReposRemoveProtectedBranchRestrictionsParams): Promise< - Octokit.AnyResponse - >; + 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) 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. + * 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. | */ - listProtectedBranchTeamRestrictions: { + removeProtectedBranchAppRestrictions: { ( - params?: Octokit.ReposListProtectedBranchTeamRestrictionsParams + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchAppRestrictionsParams ): Promise< Octokit.Response< - Octokit.ReposListProtectedBranchTeamRestrictionsResponse + 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. - * - * 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 and teams in total is limited to 100 items. | + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - replaceProtectedBranchTeamRestrictions: { + removeProtectedBranchPullRequestReviewEnforcement: { ( - params?: Octokit.ReposReplaceProtectedBranchTeamRestrictionsParams - ): Promise< - Octokit.Response< - Octokit.ReposReplaceProtectedBranchTeamRestrictionsResponse - > - >; + 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. - * - * 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users and teams in total is limited to 100 items. | + * 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. */ - addProtectedBranchTeamRestrictions: { - (params?: Octokit.ReposAddProtectedBranchTeamRestrictionsParams): Promise< - Octokit.Response< - Octokit.ReposAddProtectedBranchTeamRestrictionsResponse - > - >; + 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. - * - * 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 and teams in total is limited to 100 items. | + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - removeProtectedBranchTeamRestrictions: { + 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeProtectedBranchRequiredStatusChecksContexts: { ( - params?: Octokit.ReposRemoveProtectedBranchTeamRestrictionsParams + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchRequiredStatusChecksContextsParams ): Promise< Octokit.Response< - Octokit.ReposRemoveProtectedBranchTeamRestrictionsResponse + 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Lists the people who have push access to this branch. + * Disables the ability to restrict who can push to this branch. */ - listProtectedBranchUserRestrictions: { + removeProtectedBranchRestrictions: { ( - params?: Octokit.ReposListProtectedBranchUserRestrictionsParams + 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. * - * | Type | Description | - * | ------- | ---------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users and teams in total is limited to 100 items. | + * | 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. | */ - replaceProtectedBranchUserRestrictions: { + removeProtectedBranchTeamRestrictions: { ( - params?: Octokit.ReposReplaceProtectedBranchUserRestrictionsParams + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchTeamRestrictionsParams ): Promise< Octokit.Response< - Octokit.ReposReplaceProtectedBranchUserRestrictionsResponse + 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Grants the specified people push access for this branch. + * Removes the ability of a user to push to this branch. * - * | Type | Description | - * | ------- | ---------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users and teams in total is limited to 100 items. | + * | 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. | */ - addProtectedBranchUserRestrictions: { - (params?: Octokit.ReposAddProtectedBranchUserRestrictionsParams): Promise< + removeProtectedBranchUserRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRemoveProtectedBranchUserRestrictionsParams + ): Promise< Octokit.Response< - Octokit.ReposAddProtectedBranchUserRestrictionsResponse + 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * Removes the ability of a team to push to this branch. + * 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` | Usernames of the people who should no longer have push access. **Note**: The list of users and teams in total is limited to 100 items. | + * | 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. | */ - removeProtectedBranchUserRestrictions: { + replaceProtectedBranchAppRestrictions: { ( - params?: Octokit.ReposRemoveProtectedBranchUserRestrictionsParams + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchAppRestrictionsParams ): Promise< Octokit.Response< - Octokit.ReposRemoveProtectedBranchUserRestrictionsResponse + Octokit.ReposReplaceProtectedBranchAppRestrictionsResponse > >; 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ - listCollaborators: { - (params?: Octokit.ReposListCollaboratorsParams): Promise< - Octokit.Response + replaceProtectedBranchRequiredStatusChecksContexts: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchRequiredStatusChecksContextsParams + ): Promise< + Octokit.Response< + Octokit.ReposReplaceProtectedBranchRequiredStatusChecksContextsResponse + > >; 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. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * If you pass the `hellcat-preview` media type, team members will include the members of child teams. - */ - checkCollaborator: { - (params?: Octokit.ReposCheckCollaboratorParams): Promise< - Octokit.AnyResponse - >; - - endpoint: Octokit.Endpoint; - }; - /** - * Possible values for the `permission` key: `admin`, `write`, `read`, `none`. + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + * + * | 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. | */ - getCollaboratorPermissionLevel: { - (params?: Octokit.ReposGetCollaboratorPermissionLevelParams): Promise< - Octokit.AnyResponse + replaceProtectedBranchTeamRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchTeamRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposReplaceProtectedBranchTeamRestrictionsResponse + > >; 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/). + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * **Rate limits** + * 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. * - * 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. + * | 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. | */ - addCollaborator: { - (params?: Octokit.ReposAddCollaboratorParams): Promise< - Octokit.AnyResponse + replaceProtectedBranchUserRestrictions: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposReplaceProtectedBranchUserRestrictionsParams + ): Promise< + Octokit.Response< + Octokit.ReposReplaceProtectedBranchUserRestrictionsResponse + > >; endpoint: Octokit.Endpoint; }; - removeCollaborator: { - (params?: Octokit.ReposRemoveCollaboratorParams): Promise< - Octokit.Response - >; + replaceTopics: { + ( + params?: Octokit.RequestOptions & Octokit.ReposReplaceTopicsParams + ): 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/). + * 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. * - * Comments are ordered by ascending ID. + * 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. */ - listCommitComments: { - (params?: Octokit.ReposListCommitCommentsParams): Promise< - Octokit.Response - >; + requestPageBuild: { + ( + params?: Octokit.RequestOptions & Octokit.ReposRequestPageBuildParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Use the `:commit_sha` to specify the commit that will have its comments listed. + * 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. */ - listCommentsForCommit: { - (params?: Octokit.ReposListCommentsForCommitParamsDeprecatedRef): Promise< - Octokit.Response - >; - (params?: Octokit.ReposListCommentsForCommitParams): Promise< - Octokit.Response + retrieveCommunityProfileMetrics: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposRetrieveCommunityProfileMetricsParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Create a comment for a commit using its `:commit_sha`. + * 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. * - * 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**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` */ - createCommitComment: { - (params?: Octokit.ReposCreateCommitCommentParamsDeprecatedSha): Promise< - Octokit.Response - >; - (params?: Octokit.ReposCreateCommitCommentParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - getCommitComment: { - (params?: Octokit.ReposGetCommitCommentParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - updateCommitComment: { - (params?: Octokit.ReposUpdateCommitCommentParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - deleteCommitComment: { - (params?: Octokit.ReposDeleteCommitCommentParams): Promise< - Octokit.Response - >; + testPushHook: { + ( + params?: Octokit.RequestOptions & Octokit.ReposTestPushHookParams + ): 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. | + * 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/). */ - listCommits: { - (params?: Octokit.ReposListCommitsParams): Promise< - Octokit.Response + transfer: { + (params?: Octokit.RequestOptions & Octokit.ReposTransferParams): 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. | + * **Note**: To edit a repository's topics, use the [`topics` endpoint](https://developer.github.com/v3/repos/#replace-all-topics-for-a-repository). */ - getCommit: { - (params?: Octokit.ReposGetCommitParamsDeprecatedCommitSha): Promise< - Octokit.Response - >; - (params?: Octokit.ReposGetCommitParamsDeprecatedSha): Promise< - Octokit.Response - >; - (params?: Octokit.ReposGetCommitParams): Promise< - Octokit.Response + update: { + (params?: Octokit.RequestOptions & Octokit.ReposUpdateParams): Promise< + Octokit.Response >; 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: + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * ``` - * application/vnd.github.VERSION.sha + * Protecting a branch requires admin or owner permissions to the repository. * - * ``` + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. * - * 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. + * **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - getCommitRefSha: { - (params?: Octokit.ReposGetCommitRefShaParams): Promise< - Octokit.Response - >; + updateBranchProtection: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUpdateBranchProtectionParams + ): 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.ReposCompareCommitsParams): Promise< - Octokit.Response - >; + + updateCommitComment: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateCommitCommentParams + ): 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. + * 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) */ - listBranchesForHeadCommit: { - (params?: Octokit.ReposListBranchesForHeadCommitParams): Promise< - Octokit.Response - >; + updateFile: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateFileParams + ): 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: { + + updateHook: { ( - params?: Octokit.ReposListPullRequestsAssociatedWithCommitParams - ): Promise< - Octokit.Response< - Octokit.ReposListPullRequestsAssociatedWithCommitResponse - > - >; + params?: Octokit.RequestOptions & Octokit.ReposUpdateHookParams + ): 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.ReposRetrieveCommunityProfileMetricsParams): Promise< - Octokit.Response - >; + + updateInformationAboutPagesSite: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUpdateInformationAboutPagesSiteParams + ): 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.ReposGetReadmeParams): Promise< - Octokit.Response - >; + + updateInvitation: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateInvitationParams + ): 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**: + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * * 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. + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. * - * 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. + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. */ - getContents: { - (params?: Octokit.ReposGetContentsParams): Promise; + updateProtectedBranchPullRequestReviewEnforcement: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUpdateProtectedBranchPullRequestReviewEnforcementParams + ): Promise< + Octokit.Response< + Octokit.ReposUpdateProtectedBranchPullRequestReviewEnforcementResponse + > + >; endpoint: Octokit.Endpoint; }; /** - * Creates a new file or updates an existing file in a repository. + * 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 products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. */ - createOrUpdateFile: { - (params?: Octokit.ReposCreateOrUpdateFileParams): Promise< - Octokit.Response + updateProtectedBranchRequiredStatusChecks: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUpdateProtectedBranchRequiredStatusChecksParams + ): Promise< + Octokit.Response< + Octokit.ReposUpdateProtectedBranchRequiredStatusChecksResponse + > >; endpoint: Octokit.Endpoint; }; /** - * Creates a new file or updates an existing file in a repository. + * Users with push access to the repository can edit a release. */ - createFile: { - (params?: Octokit.ReposCreateFileParams): Promise< - Octokit.Response - >; + updateRelease: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateReleaseParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Creates a new file or updates an existing file in a repository. + * Users with push access to the repository can edit a release asset. */ - updateFile: { - (params?: Octokit.ReposUpdateFileParams): Promise< - Octokit.Response - >; + updateReleaseAsset: { + ( + params?: Octokit.RequestOptions & Octokit.ReposUpdateReleaseAssetParams + ): 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. + * 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. * - * 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 need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. * - * 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.ReposDeleteFileParams): Promise< - Octokit.Response - >; - - 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. + * 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: * - * _Note_: For private repositories, these links are temporary and expire after five minutes. + * `application/zip` * - * To follow redirects with curl, use the `-L` switch: - */ - getArchiveLink: { - (params?: Octokit.ReposGetArchiveLinkParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - /** - * Simple filtering of deployments is available via query parameters: + * 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. */ - listDeployments: { - (params?: Octokit.ReposListDeploymentsParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - getDeployment: { - (params?: Octokit.ReposGetDeploymentParams): Promise< - Octokit.Response - >; + uploadReleaseAsset: { + ( + params?: Octokit.RequestOptions & + Octokit.ReposUploadReleaseAssetParamsDeprecatedFile + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.ReposUploadReleaseAssetParams + ): Promise>; endpoint: Octokit.Endpoint; }; + }; + search: { /** - * 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: + * Find file contents via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). * - * A simple example putting the user and room into the payload to notify back to chat networks. + * 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). * - * A more advanced example specifying required commit statuses and bypassing auto-merging. + * **Note:** You must [authenticate](https://developer.github.com/v3/#authentication) to search for code across all public repositories. * - * 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: + * **Considerations for code search** * - * * 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 + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: * - * If there are no new commits in the base branch, a new request to create a deployment should give a successful response. + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. * - * This 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. + * 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: * - * 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`. + * 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. */ - createDeployment: { - (params?: Octokit.ReposCreateDeploymentParams): Promise< - Octokit.AnyResponse + code: { + (params?: Octokit.RequestOptions & Octokit.SearchCodeParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Users with pull access can view deployment statuses for a deployment: + * 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: */ - listDeploymentStatuses: { - (params?: Octokit.ReposListDeploymentStatusesParams): Promise< - Octokit.Response + commits: { + (params?: Octokit.RequestOptions & Octokit.SearchCommitsParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Users with pull access can view a deployment status for a deployment: + * This API call is added for compatibility reasons only. There's no guarantee that full email searches will always be available. The `@` character in the address must be left unencoded. Searches only against public email addresses (as configured on the user's GitHub profile). + * @deprecated octokit.search.emailLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#email-search */ - getDeploymentStatus: { - (params?: Octokit.ReposGetDeploymentStatusParams): Promise< - Octokit.Response - >; + emailLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.SearchEmailLegacyParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Users with `push` access can create deployment statuses for a given deployment. + * Find issues by state and keyword. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). * - * 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. + * 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) */ - createDeploymentStatus: { - (params?: Octokit.ReposCreateDeploymentStatusParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - listDownloads: { - (params?: Octokit.ReposListDownloadsParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - getDownload: { - (params?: Octokit.ReposGetDownloadParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - deleteDownload: { - (params?: Octokit.ReposDeleteDownloadParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - listForks: { - (params?: Octokit.ReposListForksParams): Promise< - Octokit.Response + issues: { + (params?: Octokit.RequestOptions & Octokit.SearchIssuesParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Create a fork for the authenticated user. + * 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. * - * **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). + * 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. */ - createFork: { - (params?: Octokit.ReposCreateForkParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - listHooks: { - (params?: Octokit.ReposListHooksParams): Promise< - Octokit.Response - >; - - endpoint: Octokit.Endpoint; - }; - - getHook: { - (params?: Octokit.ReposGetHookParams): Promise< - Octokit.Response - >; + issuesAndPullRequests: { + ( + params?: Octokit.RequestOptions & + Octokit.SearchIssuesAndPullRequestsParams + ): 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: + * Find issues by state and keyword. + * @deprecated octokit.search.issuesLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-issues */ - createHook: { - (params?: Octokit.ReposCreateHookParams): Promise< - Octokit.Response - >; + issuesLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.SearchIssuesLegacyParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - updateHook: { - (params?: Octokit.ReposUpdateHookParams): Promise< - Octokit.Response + /** + * 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; }; /** - * 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. + * Find repositories via various criteria. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). * - * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + * 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. */ - testPushHook: { - (params?: Octokit.ReposTestPushHookParams): Promise< - Octokit.Response + repos: { + (params?: Octokit.RequestOptions & Octokit.SearchReposParams): 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. + * Find repositories by keyword. Note, this legacy method does not follow the v3 pagination pattern. This method returns up to 100 results per page and pages can be fetched using the `start_page` parameter. + * @deprecated octokit.search.reposLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-repositories */ - pingHook: { - (params?: Octokit.ReposPingHookParams): Promise< - Octokit.Response - >; + reposLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.SearchReposLegacyParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - deleteHook: { - (params?: Octokit.ReposDeleteHookParams): Promise< - Octokit.Response + /** + * 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; }; /** - * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + * 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. */ - listInvitations: { - (params?: Octokit.ReposListInvitationsParams): Promise< - Octokit.Response + users: { + (params?: Octokit.RequestOptions & Octokit.SearchUsersParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - deleteInvitation: { - (params?: Octokit.ReposDeleteInvitationParams): Promise< - Octokit.Response - >; + /** + * Find users by keyword. + * @deprecated octokit.search.usersLegacy() is deprecated, see https://developer.github.com/v3/search/legacy/#search-users + */ + usersLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.SearchUsersLegacyParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - updateInvitation: { - (params?: Octokit.ReposUpdateInvitationParams): Promise< - Octokit.Response + }; + teams: { + /** + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add team membership](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://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-legacy + */ + addMember: { + (params?: Octokit.RequestOptions & Octokit.TeamsAddMemberParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + * The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add team membership](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://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.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy */ - listInvitationsForAuthenticatedUser: { + addMemberLegacy: { ( - params?: Octokit.ReposListInvitationsForAuthenticatedUserParams - ): Promise< - Octokit.Response< - Octokit.ReposListInvitationsForAuthenticatedUserResponse - > - >; + params?: Octokit.RequestOptions & Octokit.TeamsAddMemberLegacyParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - acceptInvitation: { - (params?: Octokit.ReposAcceptInvitationParams): Promise< - Octokit.Response - >; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team membership`](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://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 team maintainer. + * @deprecated octokit.teams.addOrUpdateMembership() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + addOrUpdateMembership: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateMembershipParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - declineInvitation: { - (params?: Octokit.ReposDeclineInvitationParams): Promise< - Octokit.Response + /** + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a 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/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/memberships/:username`. + */ + addOrUpdateMembershipInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateMembershipInOrgParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - listDeployKeys: { - (params?: Octokit.ReposListDeployKeysParams): Promise< - Octokit.Response + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team membership`](https://developer.github.com/v3/teams/members/#add-or-update-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://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 team maintainer. + * @deprecated octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy + */ + addOrUpdateMembershipLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateMembershipLegacyParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - getDeployKey: { - (params?: Octokit.ReposGetDeployKeyParams): Promise< - Octokit.Response - >; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team project`](https://developer.github.com/v3/teams/#add-or-update-team-project) 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. + * @deprecated octokit.teams.addOrUpdateProject() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + addOrUpdateProject: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsAddOrUpdateProjectParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Here's how you can create a read-only deploy key: + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/projects/:project_id`. */ - addDeployKey: { - (params?: Octokit.ReposAddDeployKeyParams): Promise< - Octokit.Response + addOrUpdateProjectInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateProjectInOrgParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - removeDeployKey: { - (params?: Octokit.ReposRemoveDeployKeyParams): Promise< - Octokit.Response + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team project`](https://developer.github.com/v3/teams/#add-or-update-team-project) 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. + * @deprecated octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy + */ + addOrUpdateProjectLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateProjectLegacyParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - merge: { - (params?: Octokit.ReposMergeParams): Promise; - - endpoint: Octokit.Endpoint; - }; - - getPages: { - (params?: Octokit.ReposGetPagesParams): Promise< - Octokit.Response - >; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team repository`](https://developer.github.com/v3/teams/#add-or-update-team-repository) endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addOrUpdateRepo() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + addOrUpdateRepo: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsAddOrUpdateRepoParams + ): Promise; endpoint: Octokit.Endpoint; }; - - enablePagesSite: { - (params?: Octokit.ReposEnablePagesSiteParams): Promise< - Octokit.Response - >; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/:org_id/team/:team_id/repos/:owner/:repo`. + */ + addOrUpdateRepoInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateRepoInOrgParams + ): Promise; endpoint: Octokit.Endpoint; }; - - disablePagesSite: { - (params?: Octokit.ReposDisablePagesSiteParams): Promise< - Octokit.Response - >; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Add or update team repository`](https://developer.github.com/v3/teams/#add-or-update-team-repository) endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://developer.github.com/v3/#http-verbs)." + * @deprecated octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy + */ + addOrUpdateRepoLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsAddOrUpdateRepoLegacyParams + ): Promise; endpoint: Octokit.Endpoint; }; - - updateInformationAboutPagesSite: { - (params?: Octokit.ReposUpdateInformationAboutPagesSiteParams): Promise< - Octokit.Response - >; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Check if a team manages a repository`](https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + * @deprecated octokit.teams.checkManagesRepo() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + checkManagesRepo: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsCheckManagesRepoParams + ): 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. + * Checks whether a team has `admin`, `push`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. * - * 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. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/repos/:owner/:repo`. + * + * 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: */ - requestPageBuild: { - (params?: Octokit.ReposRequestPageBuildParams): Promise< - Octokit.Response - >; + checkManagesRepoInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCheckManagesRepoInOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - listPagesBuilds: { - (params?: Octokit.ReposListPagesBuildsParams): Promise< - Octokit.Response - >; + /** + * **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Check if a team manages a repository`](https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + * @deprecated octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy + */ + checkManagesRepoLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCheckManagesRepoLegacyParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - getLatestPagesBuild: { - (params?: Octokit.ReposGetLatestPagesBuildParams): Promise< - Octokit.Response + /** + * 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)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)" in the GitHub Help documentation. + */ + create: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateParamsDeprecatedPermission + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.TeamsCreateParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - - getPagesBuild: { - (params?: Octokit.ReposGetPagesBuildParams): Promise< - Octokit.Response - >; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://developer.github.com/v3/teams/discussions/#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://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. + * @deprecated octokit.teams.createDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy + */ + createDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsCreateDiscussionParams + ): Promise>; 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). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a comment`](https://developer.github.com/v3/teams/discussion_comments/#create-a-comment) endpoint. * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + * 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. + * @deprecated octokit.teams.createDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy */ - listReleases: { - (params?: Octokit.ReposListReleasesParams): Promise< - Octokit.Response + createDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateDiscussionCommentParams + ): 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). + * 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. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments`. */ - getRelease: { - (params?: Octokit.ReposGetReleaseParams): Promise< - Octokit.Response + createDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateDiscussionCommentInOrgParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * View the latest published full release for the repository. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a comment`](https://developer.github.com/v3/teams/discussion_comments/#create-a-comment) endpoint. * - * 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. + * 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. + * @deprecated octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy */ - getLatestRelease: { - (params?: Octokit.ReposGetLatestReleaseParams): Promise< - Octokit.Response + createDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateDiscussionCommentLegacyParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Get a published release with the specified tag. + * 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. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions`. */ - getReleaseByTag: { - (params?: Octokit.ReposGetReleaseByTagParams): Promise< - Octokit.Response - >; + createDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateDiscussionInOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Users with push access to the repository can create a release. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://developer.github.com/v3/teams/discussions/#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://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. + * @deprecated octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy */ - createRelease: { - (params?: Octokit.ReposCreateReleaseParams): Promise< - Octokit.Response - >; + createDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsCreateDiscussionLegacyParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Users with push access to the repository can edit a release. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete team`](https://developer.github.com/v3/teams/#delete-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * @deprecated octokit.teams.delete() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy */ - updateRelease: { - (params?: Octokit.ReposUpdateReleaseParams): Promise< - Octokit.Response + delete: { + (params?: Octokit.RequestOptions & Octokit.TeamsDeleteParams): Promise< + Octokit.AnyResponse >; endpoint: Octokit.Endpoint; }; /** - * Users with push access to the repository can delete a release. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://developer.github.com/v3/teams/discussions/#delete-a-discussion) 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/). + * @deprecated octokit.teams.deleteDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy */ - deleteRelease: { - (params?: Octokit.ReposDeleteReleaseParams): Promise< - Octokit.Response - >; + deleteDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsDeleteDiscussionParams + ): Promise; endpoint: Octokit.Endpoint; }; - - listAssetsForRelease: { - (params?: Octokit.ReposListAssetsForReleaseParams): Promise< - Octokit.Response - >; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a comment`](https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment) 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/). + * @deprecated octokit.teams.deleteDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy + */ + deleteDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsDeleteDiscussionCommentParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * This endpoint makes use of [a Hypermedia relation](https://developer.github.com/v3/#hypermedia) to determine which URL to access. This endpoint is provided by a URI template in [the release's API response](https://developer.github.com/v3/repos/releases/#get-a-single-release). You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. - * - * The asset data is expected in its raw binary form, rather than JSON. 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. - * - * Send the raw binary content of the asset as the request body. + * 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/). * - * This may leave an empty asset with a state of `"new"`. It can be safely deleted. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. */ - uploadReleaseAsset: { - (params?: Octokit.ReposUploadReleaseAssetParams): Promise< - Octokit.AnyResponse - >; + deleteDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsDeleteDiscussionCommentInOrgParams + ): 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a comment`](https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment) 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/). + * @deprecated octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy */ - getReleaseAsset: { - (params?: Octokit.ReposGetReleaseAssetParams): Promise< - Octokit.Response - >; + deleteDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsDeleteDiscussionCommentLegacyParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * Users with push access to the repository can edit a release asset. + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number`. */ - updateReleaseAsset: { - (params?: Octokit.ReposUpdateReleaseAssetParams): Promise< - Octokit.Response - >; + deleteDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsDeleteDiscussionInOrgParams + ): Promise; endpoint: Octokit.Endpoint; }; - - deleteReleaseAsset: { - (params?: Octokit.ReposDeleteReleaseAssetParams): Promise< - Octokit.Response - >; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://developer.github.com/v3/teams/discussions/#delete-a-discussion) 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/). + * @deprecated octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy + */ + deleteDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsDeleteDiscussionLegacyParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * * `total` - The Total number of commits authored by the contributor. + * To delete a team, the authenticated user must be an organization owner or team maintainer. * - * Weekly Hash (`weeks` array): + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id`. * - * * `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 + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. */ - getContributorsStats: { - (params?: Octokit.ReposGetContributorsStatsParams): Promise< - Octokit.Response - >; + deleteInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsDeleteInOrgParams + ): Promise; 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`. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete team`](https://developer.github.com/v3/teams/#delete-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * @deprecated octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy */ - getCommitActivityStats: { - (params?: Octokit.ReposGetCommitActivityStatsParams): Promise< - Octokit.Response - >; + deleteLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsDeleteLegacyParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [`Get team by name`](https://developer.github.com/v3/teams/#get-team-by-name) endpoint. + * @deprecated octokit.teams.get() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy */ - getCodeFrequencyStats: { - (params?: Octokit.ReposGetCodeFrequencyStatsParams): Promise< - Octokit.Response + get: { + (params?: Octokit.RequestOptions & Octokit.TeamsGetParams): Promise< + Octokit.Response >; 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`. + * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. * - * The array order is oldest week (index 0) to most recent week. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id`. */ - getParticipationStats: { - (params?: Octokit.ReposGetParticipationStatsParams): Promise< - Octokit.Response + getByName: { + (params?: Octokit.RequestOptions & Octokit.TeamsGetByNameParams): 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 + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single discussion`](https://developer.github.com/v3/teams/discussions/#get-a-single-discussion) endpoint. * - * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + * Get 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/). + * @deprecated octokit.teams.getDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy */ - getPunchCardStats: { - (params?: Octokit.ReposGetPunchCardStatsParams): Promise< - Octokit.Response - >; + getDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetDiscussionParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Users with push access in a repository can create commit statuses for a given SHA. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single comment`](https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment) endpoint. * - * 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. + * 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/). + * @deprecated octokit.teams.getDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy */ - createStatus: { - (params?: Octokit.ReposCreateStatusParams): Promise< - Octokit.Response - >; + getDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsGetDiscussionCommentParams + ): 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. + * 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/). * - * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. */ - listStatusesForRef: { - (params?: Octokit.ReposListStatusesForRefParams): Promise< - Octokit.Response + getDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsGetDiscussionCommentInOrgParams + ): 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single comment`](https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment) endpoint. * - * Additionally, a combined `state` is returned. The `state` is one of: - * - * * **failure** if any of the contexts report as `error` or `failure` - * * **pending** if there are no statuses or a context is `pending` - * * **success** if the latest status for all contexts is `success` + * Get 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/). + * @deprecated octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy */ - getCombinedStatusForRef: { - (params?: Octokit.ReposGetCombinedStatusForRefParams): Promise< - Octokit.Response + getDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsGetDiscussionCommentLegacyParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Get the top 10 referrers over the last 14 days. + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number`. */ - getTopReferrers: { - (params?: Octokit.ReposGetTopReferrersParams): Promise< - Octokit.Response - >; + getDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetDiscussionInOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Get the top 10 popular contents over the last 14 days. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get a single discussion`](https://developer.github.com/v3/teams/discussions/#get-a-single-discussion) 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/). + * @deprecated octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy */ - getTopPaths: { - (params?: Octokit.ReposGetTopPathsParams): Promise< - Octokit.Response - >; + getDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetDiscussionLegacyParams + ): Promise>; 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [`Get team by name`](https://developer.github.com/v3/teams/#get-team-by-name) endpoint. + * @deprecated octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy */ - getViews: { - (params?: Octokit.ReposGetViewsParams): Promise< - Octokit.Response + getLegacy: { + (params?: Octokit.RequestOptions & Octokit.TeamsGetLegacyParams): Promise< + Octokit.Response >; 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. + * The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + * @deprecated octokit.teams.getMember() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy */ - getClones: { - (params?: Octokit.ReposGetClonesParams): Promise< - Octokit.Response + getMember: { + (params?: Octokit.RequestOptions & Octokit.TeamsGetMemberParams): Promise< + Octokit.AnyResponse >; endpoint: Octokit.Endpoint; }; - }; - scim: {}; - search: { /** - * 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. + * The "Get team member" endpoint (described below) is deprecated. * - * You can search for multiple topics by adding more `topic:` instances, and including the `mercy-preview` header. For example: + * We recommend using the [Get team membership](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint instead. It allows you to get both active and pending memberships. * - * 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. + * To list members in a team, the team must be visible to the authenticated user. + * @deprecated octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy */ - repos: { - (params?: Octokit.SearchReposParams): Promise; + getMemberLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetMemberLegacyParams + ): Promise; 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). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get team membership`](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint. * - * **Considerations for commit search** + * Team members will include the members of child teams. * - * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * To get a user's membership with a team, the team must be visible to the authenticated user. * - * 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: + * **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). + * @deprecated octokit.teams.getMembership() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy */ - commits: { - (params?: Octokit.SearchCommitsParams): Promise; + getMembership: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetMembershipParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * 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** + * Team members will include the members of child teams. * - * 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. + * To get a user's membership with a team, the team must be visible to the authenticated user. * - * 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: + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/memberships/:username`. * - * 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. + * **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). */ - code: { - (params?: Octokit.SearchCodeParams): Promise; + getMembershipInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetMembershipInOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Find issues by state and keyword. This method returns up to 100 results [per page](https://developer.github.com/v3/#pagination). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Get team membership`](https://developer.github.com/v3/teams/members/#get-team-membership) endpoint. * - * 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). + * Team members will include the members of child teams. * - * Let's say you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * To get a user's membership with a team, the team must be visible to the authenticated user. * - * 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. + * **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). + * @deprecated octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy */ - issuesAndPullRequests: { - (params?: Octokit.SearchIssuesAndPullRequestsParams): Promise< - Octokit.AnyResponse + getMembershipLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsGetMembershipLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * Lists all teams in an organization that are visible to the authenticated user. + */ + list: { + (params?: Octokit.RequestOptions & Octokit.TeamsListParams): 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). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://developer.github.com/v3/teams/#list-child-teams) endpoint. * - * 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.teams.listChild() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy */ - issues: { - (params?: Octokit.SearchIssuesParams): Promise; + listChild: { + (params?: Octokit.RequestOptions & Octokit.TeamsListChildParams): 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: + * Lists the child teams of the team requested by `:team_slug`. * - * 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. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/teams`. */ - users: { - (params?: Octokit.SearchUsersParams): Promise; + listChildInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListChildInOrgParams + ): Promise>; 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). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://developer.github.com/v3/teams/#list-child-teams) endpoint. * - * 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. + * @deprecated octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy + */ + listChildLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListChildLegacyParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List comments`](https://developer.github.com/v3/teams/discussion_comments/#list-comments) endpoint. * - * 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: + * 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/). + * @deprecated octokit.teams.listDiscussionComments() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy + */ + listDiscussionComments: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListDiscussionCommentsParams + ): Promise>; + + 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/). * - * 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:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments`. + */ + listDiscussionCommentsInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListDiscussionCommentsInOrgParams + ): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List comments`](https://developer.github.com/v3/teams/discussion_comments/#list-comments) endpoint. * - * **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. + * 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/). + * @deprecated octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy */ - topics: { - (params?: Octokit.SearchTopicsParams): Promise; + listDiscussionCommentsLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListDiscussionCommentsLegacyParams + ): Promise< + Octokit.Response + >; 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). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://developer.github.com/v3/teams/discussions/#list-discussions) endpoint. * - * 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. + * 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/). + * @deprecated octokit.teams.listDiscussions() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy */ - labels: { - (params?: Octokit.SearchLabelsParams): Promise; + listDiscussions: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListDiscussionsParams + ): Promise>; endpoint: Octokit.Endpoint; }; - }; - teams: { - list: { - (params?: Octokit.TeamsListParams): Promise< - Octokit.Response - >; + /** + * 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/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions`. + */ + listDiscussionsInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListDiscussionsInOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; - - get: { - (params?: Octokit.TeamsGetParams): Promise< - Octokit.Response - >; + /** + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://developer.github.com/v3/teams/discussions/#list-discussions) 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/). + * @deprecated octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy + */ + listDiscussionsLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListDiscussionsLegacyParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`. + * 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/). */ - getByName: { - (params?: Octokit.TeamsGetByNameParams): Promise< - Octokit.Response + listForAuthenticatedUser: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListForAuthenticatedUserParams + ): Promise< + Octokit.Response >; 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)." + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://developer.github.com/v3/teams/members/#list-team-members) endpoint. + * + * Team members will include the members of child teams. + * @deprecated octokit.teams.listMembers() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy */ - create: { - (params?: Octokit.TeamsCreateParams): Promise< - Octokit.Response - >; + listMembers: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListMembersParams + ): 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. + * Team members will include the members of child teams. * - * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + * To list members in a team, the team must be visible to the authenticated user. */ - update: { - (params?: Octokit.TeamsUpdateParams): Promise< - Octokit.Response - >; + listMembersInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListMembersInOrgParams + ): Promise>; 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://developer.github.com/v3/teams/members/#list-team-members) endpoint. * - * 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. + * Team members will include the members of child teams. + * @deprecated octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy */ - delete: { - (params?: Octokit.TeamsDeleteParams): Promise< - Octokit.Response - >; + listMembersLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListMembersLegacyParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * At this time, the `hellcat-preview` media type is required to use this endpoint. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://developer.github.com/v3/teams/members/#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * @deprecated octokit.teams.listPendingInvitations() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy */ - listChild: { - (params?: Octokit.TeamsListChildParams): Promise; + listPendingInvitations: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListPendingInvitationsParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * **Note**: If you pass the `hellcat-preview` media type, the response will include any repositories inherited through a parent team. + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/invitations`. */ - listRepos: { - (params?: Octokit.TeamsListReposParams): Promise< - Octokit.Response + listPendingInvitationsInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListPendingInvitationsInOrgParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * **Note**: If you pass the `hellcat-preview` media type, repositories inherited through a parent team will be checked. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://developer.github.com/v3/teams/members/#list-pending-team-invitations) endpoint. * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://developer.github.com/v3/media/) via the `Accept` header: + * 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`. + * @deprecated octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy */ - checkManagesRepo: { - (params?: Octokit.TeamsCheckManagesRepoParams): Promise< - Octokit.AnyResponse + listPendingInvitationsLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsListPendingInvitationsLegacyParams + ): Promise< + Octokit.Response >; 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://developer.github.com/v3/teams/#list-team-projects) endpoint. * - * 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)." + * Lists the organization projects for a team. + * @deprecated octokit.teams.listProjects() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy */ - addOrUpdateRepo: { - (params?: Octokit.TeamsAddOrUpdateRepoParams): Promise< - Octokit.Response - >; + listProjects: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListProjectsParams + ): 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. + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/projects`. */ - removeRepo: { - (params?: Octokit.TeamsRemoveRepoParams): Promise< - Octokit.Response - >; + listProjectsInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListProjectsInOrgParams + ): 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/). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://developer.github.com/v3/teams/#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + * @deprecated octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy */ - listForAuthenticatedUser: { - (params?: Octokit.TeamsListForAuthenticatedUserParams): Promise< - Octokit.Response - >; + listProjectsLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListProjectsLegacyParams + ): 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team repos`](https://developer.github.com/v3/teams/#list-team-repos) endpoint. + * @deprecated octokit.teams.listRepos() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy */ - listProjects: { - (params?: Octokit.TeamsListProjectsParams): Promise< - Octokit.Response + listRepos: { + (params?: Octokit.RequestOptions & Octokit.TeamsListReposParams): Promise< + Octokit.Response >; 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. + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/repos`. */ - reviewProject: { - (params?: Octokit.TeamsReviewProjectParams): Promise< - Octokit.Response - >; + listReposInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListReposInOrgParams + ): 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team repos`](https://developer.github.com/v3/teams/#list-team-repos) endpoint. + * @deprecated octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy */ - addOrUpdateProject: { - (params?: Octokit.TeamsAddOrUpdateProjectParams): Promise< - Octokit.Response - >; + listReposLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsListReposLegacyParams + ): 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. + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://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-legacy */ - removeProject: { - (params?: Octokit.TeamsRemoveProjectParams): Promise< - Octokit.Response - >; + removeMember: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveMemberParams + ): Promise; 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/). + * The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy */ - listDiscussionComments: { - (params?: Octokit.TeamsListDiscussionCommentsParams): Promise< - Octokit.Response - >; + removeMemberLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveMemberLegacyParams + ): 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/). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team membership`](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMembership() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy */ - getDiscussionComment: { - (params?: Octokit.TeamsGetDiscussionCommentParams): Promise< - Octokit.Response - >; + removeMembership: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveMembershipParams + ): 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/). + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. * - * 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. + * 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/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/memberships/:username`. */ - createDiscussionComment: { - (params?: Octokit.TeamsCreateDiscussionCommentParams): Promise< - Octokit.Response - >; + removeMembershipInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsRemoveMembershipInOrgParams + ): 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/). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team membership`](https://developer.github.com/v3/teams/members/#remove-team-membership) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://help.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * @deprecated octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy */ - updateDiscussionComment: { - (params?: Octokit.TeamsUpdateDiscussionCommentParams): Promise< - Octokit.Response - >; + removeMembershipLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsRemoveMembershipLegacyParams + ): 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/). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team project`](https://developer.github.com/v3/teams/#remove-team-project) 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. + * @deprecated octokit.teams.removeProject() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy */ - deleteDiscussionComment: { - (params?: Octokit.TeamsDeleteDiscussionCommentParams): Promise< - Octokit.Response - >; + removeProject: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveProjectParams + ): 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/). + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/projects/:project_id`. */ - listDiscussions: { - (params?: Octokit.TeamsListDiscussionsParams): Promise< - Octokit.Response - >; + removeProjectInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveProjectInOrgParams + ): Promise; 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/). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team project`](https://developer.github.com/v3/teams/#remove-team-project) 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. + * @deprecated octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy */ - getDiscussion: { - (params?: Octokit.TeamsGetDiscussionParams): Promise< - Octokit.Response - >; + removeProjectLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveProjectLegacyParams + ): Promise; 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/). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team repository`](https://developer.github.com/v3/teams/#remove-team-repository) 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. + * 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. + * @deprecated octokit.teams.removeRepo() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy */ - createDiscussion: { - (params?: Octokit.TeamsCreateDiscussionParams): Promise< - Octokit.Response - >; + removeRepo: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveRepoParams + ): Promise; 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/). + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/:org_id/team/:team_id/repos/:owner/:repo`. */ - updateDiscussion: { - (params?: Octokit.TeamsUpdateDiscussionParams): Promise< - Octokit.Response - >; + removeRepoInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveRepoInOrgParams + ): Promise; 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/). + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Remove team repository`](https://developer.github.com/v3/teams/#remove-team-repository) 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. + * @deprecated octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy */ - deleteDiscussion: { - (params?: Octokit.TeamsDeleteDiscussionParams): Promise< - Octokit.Response - >; + removeRepoLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsRemoveRepoLegacyParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * If you pass the `hellcat-preview` media type, team members will include the members of child teams. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Review a team project`](https://developer.github.com/v3/teams/#review-a-team-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * @deprecated octokit.teams.reviewProject() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy */ - listMembers: { - (params?: Octokit.TeamsListMembersParams): Promise< - Octokit.Response - >; + reviewProject: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsReviewProjectParams + ): 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. + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. * - * To list members in a team, the team must be visible to the authenticated user. + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/projects/:project_id`. */ - getMember: { - (params?: Octokit.TeamsGetMemberParams): Promise; + reviewProjectInOrg: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsReviewProjectInOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * 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/)." + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Review a team project`](https://developer.github.com/v3/teams/#review-a-team-project) 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)." + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * @deprecated octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy */ - addMember: { - (params?: Octokit.TeamsAddMemberParams): Promise< - Octokit.Response - >; + reviewProjectLegacy: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsReviewProjectLegacyParams + ): Promise>; 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit team`](https://developer.github.com/v3/teams/#edit-team) 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 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. + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://help.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + * @deprecated octokit.teams.update() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy */ - removeMember: { - (params?: Octokit.TeamsRemoveMemberParams): Promise< - Octokit.Response + update: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateParamsDeprecatedPermission + ): Promise>; + (params?: Octokit.RequestOptions & Octokit.TeamsUpdateParams): Promise< + Octokit.Response >; 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a discussion`](https://developer.github.com/v3/teams/discussions/#edit-a-discussion) endpoint. * - * **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). + * 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/). + * @deprecated octokit.teams.updateDiscussion() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy */ - getMembership: { - (params?: Octokit.TeamsGetMembershipParams): Promise; + updateDiscussion: { + ( + params?: Octokit.RequestOptions & Octokit.TeamsUpdateDiscussionParams + ): 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. - * - * 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/)." + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a comment`](https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment) endpoint. * - * 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. + * 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/). + * @deprecated octokit.teams.updateDiscussionComment() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy */ - addOrUpdateMembership: { - (params?: Octokit.TeamsAddOrUpdateMembershipParams): Promise< - Octokit.AnyResponse + updateDiscussionComment: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateDiscussionCommentParams + ): 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. - * - * 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. + * 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/). * - * **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:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number`. */ - removeMembership: { - (params?: Octokit.TeamsRemoveMembershipParams): Promise< - Octokit.Response + updateDiscussionCommentInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateDiscussionCommentInOrgParams + ): 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`. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a comment`](https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment) 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/). + * @deprecated octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy */ - listPendingInvitations: { - (params?: Octokit.TeamsListPendingInvitationsParams): Promise< - Octokit.Response + updateDiscussionCommentLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateDiscussionCommentLegacyParams + ): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - }; - users: { /** - * 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). + * 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/). * - * 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/)". + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id/discussions/:discussion_number`. */ - getByUsername: { - (params?: Octokit.UsersGetByUsernameParams): Promise< - Octokit.Response - >; + updateDiscussionInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateDiscussionInOrgParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** - * Lists public and private profile information when authenticated through basic auth or OAuth with the `user` scope. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit a discussion`](https://developer.github.com/v3/teams/discussions/#edit-a-discussion) endpoint. * - * Lists public profile information when authenticated through OAuth without the `user` scope. + * 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/). + * @deprecated octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy */ - getAuthenticated: { - (params?: Octokit.EmptyParams): Promise; + updateDiscussionLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateDiscussionLegacyParams + ): Promise>; 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. + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/:org_id/team/:team_id`. */ - updateAuthenticated: { - (params?: Octokit.UsersUpdateAuthenticatedParams): Promise< - Octokit.Response - >; + updateInOrg: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateInOrgParamsDeprecatedPermission + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.TeamsUpdateInOrgParams + ): 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. + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Edit team`](https://developer.github.com/v3/teams/#edit-team) endpoint. * - * 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: + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + * @deprecated octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy */ - getContextForUser: { - (params?: Octokit.UsersGetContextForUserParams): Promise< - Octokit.Response - >; + updateLegacy: { + ( + params?: Octokit.RequestOptions & + Octokit.TeamsUpdateLegacyParamsDeprecatedPermission + ): Promise>; + ( + params?: Octokit.RequestOptions & Octokit.TeamsUpdateLegacyParams + ): Promise>; endpoint: Octokit.Endpoint; }; + }; + users: { /** - * 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. + * This endpoint is accessible with the `user` scope. */ - list: { - (params?: Octokit.UsersListParams): Promise< - Octokit.Response + addEmails: { + (params?: Octokit.RequestOptions & Octokit.UsersAddEmailsParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; - /** - * List the users you've blocked on your personal account. - */ - listBlocked: { - (params?: Octokit.EmptyParams): Promise< - Octokit.Response + + block: { + (params?: Octokit.RequestOptions & Octokit.UsersBlockParams): Promise< + Octokit.AnyResponse >; endpoint: Octokit.Endpoint; @@ -31834,195 +41759,260 @@ declare class Octokit { * If the user is not blocked: */ checkBlocked: { - (params?: Octokit.UsersCheckBlockedParams): Promise< - Octokit.Response - >; + ( + params?: Octokit.RequestOptions & Octokit.UsersCheckBlockedParams + ): Promise; endpoint: Octokit.Endpoint; }; - block: { - (params?: Octokit.UsersBlockParams): Promise< - Octokit.Response - >; + checkFollowing: { + ( + params?: Octokit.RequestOptions & Octokit.UsersCheckFollowingParams + ): Promise; endpoint: Octokit.Endpoint; }; - unblock: { - (params?: Octokit.UsersUnblockParams): Promise< - Octokit.Response - >; + checkFollowingForUser: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersCheckFollowingForUserParams + ): Promise; 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. + * 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/). */ - listEmails: { - (params?: Octokit.UsersListEmailsParams): Promise< - Octokit.Response - >; + createGpgKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersCreateGpgKeyParams + ): 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. + * 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/). */ - listPublicEmails: { - (params?: Octokit.UsersListPublicEmailsParams): Promise< - Octokit.Response - >; + createPublicKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersCreatePublicKeyParams + ): Promise>; endpoint: Octokit.Endpoint; }; /** * This endpoint is accessible with the `user` scope. */ - addEmails: { - (params?: Octokit.UsersAddEmailsParams): Promise< - Octokit.Response - >; + deleteEmails: { + ( + params?: Octokit.RequestOptions & Octokit.UsersDeleteEmailsParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * This endpoint is accessible with the `user` scope. + * 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/). */ - deleteEmails: { - (params?: Octokit.UsersDeleteEmailsParams): Promise< - Octokit.Response - >; + deleteGpgKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersDeleteGpgKeyParams + ): Promise; endpoint: Octokit.Endpoint; }; /** - * Sets the visibility for your primary email addresses. + * 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/). */ - togglePrimaryEmailVisibility: { - (params?: Octokit.UsersTogglePrimaryEmailVisibilityParams): Promise< - Octokit.Response - >; + deletePublicKey: { + ( + params?: Octokit.RequestOptions & Octokit.UsersDeletePublicKeyParams + ): Promise; endpoint: Octokit.Endpoint; }; - - listFollowersForUser: { - (params?: Octokit.UsersListFollowersForUserParams): Promise< - Octokit.Response + /** + * 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; }; - - listFollowersForAuthenticatedUser: { - (params?: Octokit.UsersListFollowersForAuthenticatedUserParams): Promise< - Octokit.Response + /** + * 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; }; - - listFollowingForUser: { - (params?: Octokit.UsersListFollowingForUserParams): Promise< - Octokit.Response - >; + /** + * 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; }; - - listFollowingForAuthenticatedUser: { - (params?: Octokit.UsersListFollowingForAuthenticatedUserParams): Promise< - Octokit.Response - >; + /** + * 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; }; - - checkFollowing: { - (params?: Octokit.UsersCheckFollowingParams): Promise< - Octokit.AnyResponse + /** + * 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; }; - - checkFollowingForUser: { - (params?: Octokit.UsersCheckFollowingForUserParams): Promise< - Octokit.AnyResponse - >; + /** + * 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; }; /** - * 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)." + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + * 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. */ - follow: { - (params?: Octokit.UsersFollowParams): Promise< - Octokit.Response + list: { + (params?: Octokit.RequestOptions & Octokit.UsersListParams): Promise< + Octokit.Response >; 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. + * List the users you've blocked on your personal account. */ - unfollow: { - (params?: Octokit.UsersUnfollowParams): Promise< - Octokit.Response + listBlocked: { + (params?: Octokit.RequestOptions & Octokit.EmptyParams): Promise< + Octokit.Response >; endpoint: Octokit.Endpoint; }; /** - * Lists the GPG keys for a user. This information is accessible by anyone. + * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ - listGpgKeysForUser: { - (params?: Octokit.UsersListGpgKeysForUserParams): Promise< - Octokit.Response + 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.UsersListGpgKeysParams): Promise< - Octokit.Response - >; + ( + params?: Octokit.RequestOptions & Octokit.UsersListGpgKeysParams + ): 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/). + * Lists the GPG keys for a user. This information is accessible by anyone. */ - getGpgKey: { - (params?: Octokit.UsersGetGpgKeyParams): Promise< - Octokit.Response - >; + listGpgKeysForUser: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListGpgKeysForUserParams + ): 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/). + * 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. */ - createGpgKey: { - (params?: Octokit.UsersCreateGpgKeyParams): Promise< - Octokit.Response - >; + listPublicEmails: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListPublicEmailsParams + ): 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/). + * 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/). */ - deleteGpgKey: { - (params?: Octokit.UsersDeleteGpgKeyParams): Promise< - Octokit.Response - >; + listPublicKeys: { + ( + params?: Octokit.RequestOptions & Octokit.UsersListPublicKeysParams + ): Promise>; endpoint: Octokit.Endpoint; }; @@ -32030,53 +42020,53 @@ declare class Octokit { * Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ listPublicKeysForUser: { - (params?: Octokit.UsersListPublicKeysForUserParams): Promise< - Octokit.Response - >; + ( + params?: Octokit.RequestOptions & + Octokit.UsersListPublicKeysForUserParams + ): 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/). + * Sets the visibility for your primary email addresses. */ - listPublicKeys: { - (params?: Octokit.UsersListPublicKeysParams): Promise< - Octokit.Response + togglePrimaryEmailVisibility: { + ( + params?: Octokit.RequestOptions & + Octokit.UsersTogglePrimaryEmailVisibilityParams + ): 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.UsersGetPublicKeyParams): Promise< - Octokit.Response + + unblock: { + (params?: Octokit.RequestOptions & Octokit.UsersUnblockParams): Promise< + Octokit.AnyResponse >; 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/). + * Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ - createPublicKey: { - (params?: Octokit.UsersCreatePublicKeyParams): Promise< - Octokit.Response + unfollow: { + (params?: Octokit.RequestOptions & Octokit.UsersUnfollowParams): Promise< + Octokit.AnyResponse >; 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/). + * **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. */ - deletePublicKey: { - (params?: Octokit.UsersDeletePublicKeyParams): Promise< - Octokit.Response - >; + 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 index 51359a1..a2d3069 100644 --- a/node_modules/@octokit/rest/index.js +++ b/node_modules/@octokit/rest/index.js @@ -1,16 +1,43 @@ -const Octokit = require('./lib/core') +const { requestLog } = require("@octokit/plugin-request-log"); +const { + restEndpointMethods +} = require("@octokit/plugin-rest-endpoint-methods"); + +const Core = 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/normalize-git-reference-responses'), - 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) + require("./plugins/authentication"), + require("./plugins/authentication-deprecated"), // deprecated: remove in v17 + requestLog, + require("./plugins/pagination"), + restEndpointMethods, + require("./plugins/validate"), + + require("octokit-pagination-methods") // deprecated: remove in v17 +]; + +const OctokitRest = Core.plugin(CORE_PLUGINS); + +function DeprecatedOctokit(options) { + const warn = + options && options.log && options.log.warn + ? options.log.warn + : console.warn; + warn( + '[@octokit/rest] `const Octokit = require("@octokit/rest")` is deprecated. Use `const { Octokit } = require("@octokit/rest")` instead' + ); + return new OctokitRest(options); +} + +const Octokit = Object.assign(DeprecatedOctokit, { + Octokit: OctokitRest +}); + +Object.keys(OctokitRest).forEach(key => { + /* istanbul ignore else */ + if (OctokitRest.hasOwnProperty(key)) { + Octokit[key] = OctokitRest[key]; + } +}); + +module.exports = Octokit; diff --git a/node_modules/@octokit/rest/lib/constructor.js b/node_modules/@octokit/rest/lib/constructor.js index a62cea1..d83cf6b 100644 --- a/node_modules/@octokit/rest/lib/constructor.js +++ b/node_modules/@octokit/rest/lib/constructor.js @@ -1,26 +1,29 @@ -module.exports = Octokit +module.exports = Octokit; -const { request } = require('@octokit/request') -const Hook = require('before-after-hook') +const { request } = require("@octokit/request"); +const Hook = require("before-after-hook"); -const parseClientOptions = require('./parse-client-options') +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) +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)) + plugins.forEach(pluginFunction => pluginFunction(api, options)); - return api + return api; } diff --git a/node_modules/@octokit/rest/lib/core.js b/node_modules/@octokit/rest/lib/core.js index 23df1a6..4943ffa 100644 --- a/node_modules/@octokit/rest/lib/core.js +++ b/node_modules/@octokit/rest/lib/core.js @@ -1,3 +1,3 @@ -const factory = require('./factory') +const factory = require("./factory"); -module.exports = factory() +module.exports = factory(); diff --git a/node_modules/@octokit/rest/lib/factory.js b/node_modules/@octokit/rest/lib/factory.js index c56b3e7..5dc2065 100644 --- a/node_modules/@octokit/rest/lib/factory.js +++ b/node_modules/@octokit/rest/lib/factory.js @@ -1,10 +1,10 @@ -module.exports = factory +module.exports = factory; -const Octokit = require('./constructor') -const registerPlugin = require('./register-plugin') +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 +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 index 42e4ab8..c7c097d 100644 --- a/node_modules/@octokit/rest/lib/parse-client-options.js +++ b/node_modules/@octokit/rest/lib/parse-client-options.js @@ -1,21 +1,25 @@ -module.exports = parseOptions +module.exports = parseOptions; -const { Deprecation } = require('deprecation') -const { getUserAgent } = require('universal-user-agent') -const once = require('once') +const { Deprecation } = require("deprecation"); +const { getUserAgent } = require("universal-user-agent"); +const once = require("once"); -const pkg = require('../package.json') +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)) +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) { +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 - }, {}) + newObj[key.toLowerCase()] = options.headers[key]; + return newObj; + }, {}); } const clientDefaults = { @@ -23,42 +27,63 @@ function parseOptions (options, log, hook) { request: options.request || {}, mediaType: { previews: [], - format: '' + format: "" } - } + }; if (options.baseUrl) { - clientDefaults.baseUrl = options.baseUrl + clientDefaults.baseUrl = options.baseUrl; } if (options.userAgent) { - clientDefaults.headers['user-agent'] = options.userAgent + clientDefaults.headers["user-agent"] = options.userAgent; } if (options.previews) { - clientDefaults.mediaType.previews = 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 + 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 + 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')) + 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()}` + const userAgentOption = clientDefaults.headers["user-agent"]; + const defaultUserAgent = `octokit.js/${pkg.version} ${getUserAgent()}`; - clientDefaults.headers['user-agent'] = [userAgentOption, defaultUserAgent].filter(Boolean).join(' ') + clientDefaults.headers["user-agent"] = [userAgentOption, defaultUserAgent] + .filter(Boolean) + .join(" "); - clientDefaults.request.hook = hook.bind(null, 'request') + clientDefaults.request.hook = hook.bind(null, "request"); - return clientDefaults + return clientDefaults; } diff --git a/node_modules/@octokit/rest/lib/register-plugin.js b/node_modules/@octokit/rest/lib/register-plugin.js index c644c29..c1ae775 100644 --- a/node_modules/@octokit/rest/lib/register-plugin.js +++ b/node_modules/@octokit/rest/lib/register-plugin.js @@ -1,7 +1,9 @@ -module.exports = registerPlugin +module.exports = registerPlugin; -const factory = require('./factory') +const factory = require("./factory"); -function registerPlugin (plugins, pluginFunction) { - return factory(plugins.includes(pluginFunction) ? plugins : plugins.concat(pluginFunction)) +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/dist-src/browser.js b/node_modules/@octokit/rest/node_modules/universal-user-agent/dist-src/browser.js index 6f52232..49160f9 100644 --- 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 @@ -1,3 +1,8 @@ export function getUserAgent() { - return navigator.userAgent; + try { + return navigator.userAgent; + } + catch (e) { + return ""; + } } 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 index 11ec79b..debfd6a 100644 --- 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 @@ -1,5 +1,10 @@ function getUserAgent() { - return navigator.userAgent; + try { + return navigator.userAgent; + } + catch (e) { + return ""; + } } export { getUserAgent }; 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 index 549407e..71d4e0f 100644 --- 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 @@ -1 +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 +{"version":3,"file":"index.js","sources":["../dist-src/browser.js"],"sourcesContent":["export function getUserAgent() {\n try {\n return navigator.userAgent;\n }\n catch (e) {\n return \"\";\n }\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAG;IAC3B,IAAI;QACA,OAAO,SAAS,CAAC,SAAS,CAAC;KAC9B;IACD,OAAO,CAAC,EAAE;QACN,OAAO,uBAAuB,CAAC;KAClC;CACJ;;;;"} \ 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 index 4a43790..1df134d 100644 --- a/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json @@ -1,7 +1,7 @@ { "name": "universal-user-agent", "description": "Get a user agent string in both browser and node", - "version": "4.0.0", + "version": "4.0.1", "license": "ISC", "files": [ "dist-*/", @@ -17,21 +17,17 @@ "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", + "@pika/plugin-build-node": "^0.9.1", + "@pika/plugin-ts-standard-pkg": "^0.9.1", + "@types/jest": "^25.1.0", "jest": "^24.9.0", "prettier": "^1.18.2", - "semantic-release": "^15.9.15", - "ts-jest": "^24.0.2", + "semantic-release": "^17.0.0", + "ts-jest": "^25.1.0", "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 index b2bb039..a878a0d 100644 --- a/node_modules/@octokit/rest/package.json +++ b/node_modules/@octokit/rest/package.json @@ -1,6 +1,6 @@ { "name": "@octokit/rest", - "version": "16.28.9", + "version": "16.43.2", "publishConfig": { "access": "public" }, @@ -32,7 +32,11 @@ ], "repository": "https://github.com/octokit/rest.js", "dependencies": { - "@octokit/request": "^5.0.0", + "@octokit/auth-token": "^2.4.0", + "@octokit/plugin-paginate-rest": "^1.1.1", + "@octokit/plugin-request-log": "^1.0.0", + "@octokit/plugin-rest-endpoint-methods": "2.4.0", + "@octokit/request": "^5.2.0", "@octokit/request-error": "^1.0.2", "atob-lite": "^2.0.0", "before-after-hook": "^2.0.0", @@ -47,31 +51,32 @@ }, "devDependencies": { "@gimenete/type-writer": "^0.1.3", - "@octokit/fixtures-server": "^5.0.1", - "@octokit/routes": "20.9.2", - "@types/node": "^12.0.0", + "@octokit/auth": "^1.1.1", + "@octokit/fixtures-server": "^5.0.6", + "@octokit/graphql": "^4.2.0", + "@types/node": "^13.1.0", "bundlesize": "^0.18.0", "chai": "^4.1.2", - "compression-webpack-plugin": "^3.0.0", - "coveralls": "^3.0.0", + "compression-webpack-plugin": "^3.1.0", + "cypress": "^4.0.0", "glob": "^7.1.2", - "http-proxy-agent": "^2.1.0", + "http-proxy-agent": "^4.0.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": "^10.0.0", + "lolex": "^6.0.0", + "mkdirp": "^1.0.0", + "mocha": "^7.0.1", + "mustache": "^4.0.0", + "nock": "^11.3.3", "npm-run-all": "^4.1.2", - "nyc": "^14.0.0", + "nyc": "^15.0.0", "prettier": "^1.14.2", - "proxy": "^0.2.4", - "semantic-release": "^15.0.0", - "sinon": "^7.2.4", + "proxy": "^1.0.0", + "semantic-release": "^17.0.0", + "sinon": "^8.0.0", "sinon-chai": "^3.0.0", "sort-keys": "^4.0.0", - "standard": "^14.0.2", "string-to-arraybuffer": "^1.0.0", "string-to-jsdoc-comment": "^1.0.0", "typescript": "^3.3.1", @@ -82,18 +87,21 @@ "types": "index.d.ts", "scripts": { "coverage": "nyc report --reporter=html && open coverage/index.html", - "pretest": "standard", + "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", - "test:memory": "mocha test/memory-test", "build": "npm-run-all build:*", - "build:ts": "node scripts/generate-types", + "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", - "generate-routes": "node scripts/generate-routes", + "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", "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", @@ -123,29 +131,10 @@ } ] }, - "standard": { - "globals": [ - "describe", - "before", - "beforeEach", - "afterEach", - "after", - "it", - "expect", - "cy" - ], - "ignore": [ - "/docs" - ] - }, "bundlesize": [ { "path": "./dist/octokit-rest.min.js.gz", "maxSize": "33 kB" } ] - -,"_resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.28.9.tgz" -,"_integrity": "sha512-IKGnX+Tvzt7XHhs8f4ajqxyJvYAMNX5nWfoJm4CQj8LZToMiaJgutf5KxxpxoC3y5w7JTJpW5rnWnF4TsIvCLA==" -,"_from": "@octokit/rest@16.28.9" -} \ 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 index 07b75f8..86ce9e9 100644 --- a/node_modules/@octokit/rest/plugins/authentication-deprecated/authenticate.js +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/authenticate.js @@ -1,41 +1,52 @@ -module.exports = authenticate +module.exports = authenticate; -const { Deprecation } = require('deprecation') -const once = require('once') +const { Deprecation } = require("deprecation"); +const once = require("once"); -const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)) +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.')) +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 + state.auth = false; + return; } switch (options.type) { - case 'basic': + case "basic": if (!options.username || !options.password) { - throw new Error('Basic authentication requires both a username and password to be set') + throw new Error( + "Basic authentication requires both a username and password to be set" + ); } - break + break; - case 'oauth': + case "oauth": if (!options.token && !(options.key && options.secret)) { - throw new Error('OAuth2 authentication requires a token or key & secret to be set') + throw new Error( + "OAuth2 authentication requires a token or key & secret to be set" + ); } - break + break; - case 'token': - case 'app': + case "token": + case "app": if (!options.token) { - throw new Error('Token authentication requires a token to be set') + throw new Error("Token authentication requires a token to be set"); } - break + break; default: - throw new Error("Invalid authentication type, must be 'basic', 'oauth', 'token' or 'app'") + throw new Error( + "Invalid authentication type, must be 'basic', 'oauth', 'token' or 'app'" + ); } - state.auth = options + 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 index 357fbbb..dbb83ab 100644 --- a/node_modules/@octokit/rest/plugins/authentication-deprecated/before-request.js +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/before-request.js @@ -1,40 +1,43 @@ -module.exports = authenticationBeforeRequest +module.exports = authenticationBeforeRequest; -const btoa = require('btoa-lite') -const uniq = require('lodash.uniq') +const btoa = require("btoa-lite"); +const uniq = require("lodash.uniq"); -function authenticationBeforeRequest (state, options) { +function authenticationBeforeRequest(state, options) { if (!state.auth.type) { - return + 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 === "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 === "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 + 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 ? '?' : '&' + options.url += options.url.indexOf("?") === -1 ? "?" : "&"; if (state.auth.token) { - options.url += `access_token=${encodeURIComponent(state.auth.token)}` - return + 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}` + 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 index 6793b30..7e0cc4f 100644 --- a/node_modules/@octokit/rest/plugins/authentication-deprecated/index.js +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/index.js @@ -1,26 +1,31 @@ -module.exports = authenticationPlugin +module.exports = authenticationPlugin; -const { Deprecation } = require('deprecation') -const once = require('once') +const { Deprecation } = require("deprecation"); +const once = require("once"); -const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)) +const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)); -const authenticate = require('./authenticate') -const beforeRequest = require('./before-request') -const requestError = require('./request-error') +const authenticate = require("./authenticate"); +const beforeRequest = require("./before-request"); +const requestError = require("./request-error"); -function authenticationPlugin (octokit, options) { +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 + 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)) + }; + 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 index 0132592..d2e7baa 100644 --- a/node_modules/@octokit/rest/plugins/authentication-deprecated/request-error.js +++ b/node_modules/@octokit/rest/plugins/authentication-deprecated/request-error.js @@ -1,39 +1,55 @@ -module.exports = authenticationRequestError +module.exports = authenticationRequestError; -const { RequestError } = require('@octokit/request-error') +const { RequestError } = require("@octokit/request-error"); -function authenticationRequestError (state, error, options) { +function authenticationRequestError(state, error, options) { /* istanbul ignore next */ - if (!error.headers) throw error + if (!error.headers) throw error; - const otpRequired = /required/.test(error.headers['x-github-otp'] || '') + const otpRequired = /required/.test(error.headers["x-github-otp"] || ""); // handle "2FA required" error only if (error.status !== 401 || !otpRequired) { - throw error + 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 ( + 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 - }) + 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() + return state.auth.on2fa(); }) - .then((oneTimePassword) => { + .then(oneTimePassword => { const newOptions = Object.assign(options, { - headers: Object.assign({ 'x-github-otp': oneTimePassword }, options.headers) - }) - return state.octokit.request(newOptions) - }) + 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 index 7d29694..aae5daa 100644 --- a/node_modules/@octokit/rest/plugins/authentication/before-request.js +++ b/node_modules/@octokit/rest/plugins/authentication/before-request.js @@ -1,30 +1,22 @@ -module.exports = authenticationBeforeRequest +module.exports = authenticationBeforeRequest; -const btoa = require('btoa-lite') +const btoa = require("btoa-lite"); -const withAuthorizationPrefix = require('./with-authorization-prefix') +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 +function authenticationBeforeRequest(state, options) { + if (typeof state.auth === "string") { + options.headers.authorization = withAuthorizationPrefix(state.auth); + return; } if (state.auth.username) { - const hash = btoa(`${state.auth.username}:${state.auth.password}`) - options.headers.authorization = `Basic ${hash}` + const hash = btoa(`${state.auth.username}:${state.auth.password}`); + options.headers.authorization = `Basic ${hash}`; if (state.otp) { - options.headers['x-github-otp'] = state.otp + options.headers["x-github-otp"] = state.otp; } - return + return; } if (state.auth.clientId) { @@ -39,23 +31,23 @@ function authenticationBeforeRequest (state, options) { // 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 + 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 + 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() + return state.auth(); }) - .then((authorization) => { - options.headers.authorization = withAuthorizationPrefix(authorization) - }) + .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 index ea9056a..6dcb859 100644 --- a/node_modules/@octokit/rest/plugins/authentication/index.js +++ b/node_modules/@octokit/rest/plugins/authentication/index.js @@ -1,21 +1,76 @@ -module.exports = authenticationPlugin +module.exports = authenticationPlugin; -const beforeRequest = require('./before-request') -const requestError = require('./request-error') -const validate = require('./validate') +const { createTokenAuth } = require("@octokit/auth-token"); +const { Deprecation } = require("deprecation"); +const once = require("once"); -function authenticationPlugin (octokit, options) { +const beforeRequest = require("./before-request"); +const requestError = require("./request-error"); +const validate = require("./validate"); +const withAuthorizationPrefix = require("./with-authorization-prefix"); + +const deprecateAuthBasic = once((log, deprecation) => log.warn(deprecation)); +const deprecateAuthObject = once((log, deprecation) => log.warn(deprecation)); + +function authenticationPlugin(octokit, options) { + // If `options.authStrategy` is set then use it and pass in `options.auth` + if (options.authStrategy) { + const auth = options.authStrategy(options.auth); + octokit.hook.wrap("request", auth.hook); + octokit.auth = auth; + return; + } + + // If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `octokit.auth()` method is a no-op and no request hook is registred. if (!options.auth) { - return + octokit.auth = () => + Promise.resolve({ + type: "unauthenticated" + }); + return; + } + + const isBasicAuthString = + typeof options.auth === "string" && + /^basic/.test(withAuthorizationPrefix(options.auth)); + + // If only `options.auth` is set to a string, use the default token authentication strategy. + if (typeof options.auth === "string" && !isBasicAuthString) { + const auth = createTokenAuth(options.auth); + octokit.hook.wrap("request", auth.hook); + octokit.auth = auth; + return; } - validate(options.auth) + // Otherwise log a deprecation message + const [deprecationMethod, deprecationMessapge] = isBasicAuthString + ? [ + deprecateAuthBasic, + 'Setting the "new Octokit({ auth })" option to a Basic Auth string is deprecated. Use https://github.com/octokit/auth-basic.js instead. See (https://octokit.github.io/rest.js/#authentication)' + ] + : [ + deprecateAuthObject, + 'Setting the "new Octokit({ auth })" option to an object without also setting the "authStrategy" option is deprecated and will be removed in v17. See (https://octokit.github.io/rest.js/#authentication)' + ]; + deprecationMethod( + octokit.log, + new Deprecation("[@octokit/rest] " + deprecationMessapge) + ); + + octokit.auth = () => + Promise.resolve({ + type: "deprecated", + message: deprecationMessapge + }); + + 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)) + 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 index 6b1a0cf..9c67d55 100644 --- a/node_modules/@octokit/rest/plugins/authentication/request-error.js +++ b/node_modules/@octokit/rest/plugins/authentication/request-error.js @@ -1,47 +1,61 @@ -module.exports = authenticationRequestError +module.exports = authenticationRequestError; -const { RequestError } = require('@octokit/request-error') +const { RequestError } = require("@octokit/request-error"); -function authenticationRequestError (state, error, options) { - if (!error.headers) throw error +function authenticationRequestError(state, error, options) { + if (!error.headers) throw error; - const otpRequired = /required/.test(error.headers['x-github-otp'] || '') + const otpRequired = /required/.test(error.headers["x-github-otp"] || ""); // handle "2FA required" error only if (error.status !== 401 || !otpRequired) { - throw error + throw error; } - if (error.status === 401 && otpRequired && error.request && error.request.headers['x-github-otp']) { + if ( + error.status === 401 && + otpRequired && + error.request && + error.request.headers["x-github-otp"] + ) { if (state.otp) { - delete state.otp // no longer valid, request again + 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 - }) + 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 - }) + 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() + return state.auth.on2fa(); }) - .then((oneTimePassword) => { + .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 + 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 index 1f0c000..abf8377 100644 --- a/node_modules/@octokit/rest/plugins/authentication/validate.js +++ b/node_modules/@octokit/rest/plugins/authentication/validate.js @@ -1,21 +1,21 @@ -module.exports = validateAuth +module.exports = validateAuth; -function validateAuth (auth) { - if (typeof auth === 'string') { - return +function validateAuth(auth) { + if (typeof auth === "string") { + return; } - if (typeof auth === 'function') { - return + if (typeof auth === "function") { + return; } if (auth.username && auth.password) { - return + return; } if (auth.clientId && auth.clientSecret) { - return + return; } - throw new Error(`Invalid "auth" option: ${JSON.stringify(auth)}`) + 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 index 7750de9..122cab7 100644 --- a/node_modules/@octokit/rest/plugins/authentication/with-authorization-prefix.js +++ b/node_modules/@octokit/rest/plugins/authentication/with-authorization-prefix.js @@ -1,23 +1,23 @@ -module.exports = withAuthorizationPrefix +module.exports = withAuthorizationPrefix; -const atob = require('atob-lite') +const atob = require("atob-lite"); -const REGEX_IS_BASIC_AUTH = /^[\w-]+:/ +const REGEX_IS_BASIC_AUTH = /^[\w-]+:/; -function withAuthorizationPrefix (authorization) { +function withAuthorizationPrefix(authorization) { if (/^(basic|bearer|token) /i.test(authorization)) { - return authorization + return authorization; } try { if (REGEX_IS_BASIC_AUTH.test(atob(authorization))) { - return `basic ${authorization}` + return `basic ${authorization}`; } - } catch (error) { } + } catch (error) {} if (authorization.split(/\./).length === 3) { - return `bearer ${authorization}` + return `bearer ${authorization}`; } - return `token ${authorization}` + return `token ${authorization}`; } diff --git a/node_modules/@octokit/rest/plugins/log/index.js b/node_modules/@octokit/rest/plugins/log/index.js deleted file mode 100644 index 6e56f38..0000000 --- a/node_modules/@octokit/rest/plugins/log/index.js +++ /dev/null @@ -1,22 +0,0 @@ -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/normalize-git-reference-responses/index.js b/node_modules/@octokit/rest/plugins/normalize-git-reference-responses/index.js deleted file mode 100644 index 1110519..0000000 --- a/node_modules/@octokit/rest/plugins/normalize-git-reference-responses/index.js +++ /dev/null @@ -1,53 +0,0 @@ -module.exports = octokitRestNormalizeGitReferenceResponses - -const { RequestError } = require('@octokit/request-error') - -function octokitRestNormalizeGitReferenceResponses (octokit) { - octokit.hook.wrap('request', (request, options) => { - const isGetOrListRefRequest = /\/repos\/:?\w+\/:?\w+\/git\/refs\/:?\w+/.test(options.url) - - if (!isGetOrListRefRequest) { - return request(options) - } - - const isGetRefRequest = 'ref' in options - - return request(options) - .then(response => { - // request single reference - if (isGetRefRequest) { - if (Array.isArray(response.data)) { - throw new RequestError(`More than one reference found for "${options.ref}"`, 404, { - request: options - }) - } - - // ✅ received single reference - return response - } - - // request list of references - if (!Array.isArray(response.data)) { - response.data = [response.data] - } - - return response - }) - - .catch(error => { - if (isGetRefRequest) { - throw error - } - - if (error.status === 404) { - return { - status: 200, - headers: error.headers, - data: [] - } - } - - throw error - }) - }) -} diff --git a/node_modules/@octokit/rest/plugins/pagination/index.js b/node_modules/@octokit/rest/plugins/pagination/index.js index 4aa4d0b..f5a3f7b 100644 --- a/node_modules/@octokit/rest/plugins/pagination/index.js +++ b/node_modules/@octokit/rest/plugins/pagination/index.js @@ -1,9 +1,7 @@ -module.exports = paginatePlugin +module.exports = paginatePlugin; -const iterator = require('./iterator') -const paginate = require('./paginate') +const { paginateRest } = require("@octokit/plugin-paginate-rest"); -function paginatePlugin (octokit) { - octokit.paginate = paginate.bind(null, octokit) - octokit.paginate.iterator = iterator.bind(null, octokit) +function paginatePlugin(octokit) { + Object.assign(octokit, paginateRest(octokit)); } diff --git a/node_modules/@octokit/rest/plugins/pagination/iterator.js b/node_modules/@octokit/rest/plugins/pagination/iterator.js deleted file mode 100644 index 9c0d56f..0000000 --- a/node_modules/@octokit/rest/plugins/pagination/iterator.js +++ /dev/null @@ -1,31 +0,0 @@ -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 deleted file mode 100644 index 36f61b7..0000000 --- a/node_modules/@octokit/rest/plugins/pagination/normalize-paginated-list-response.js +++ /dev/null @@ -1,91 +0,0 @@ -/** - * Some “list” response that can be paginated have a different response structure - * - * They have a `total_count` key in the response (search also has `incomplete_results`, - * /installation/repositories also has `repository_selection`), as well as a key with - * the list of the items which name varies from endpoint to endpoint: - * - * - 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`) - * - * 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/ - -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) - ) { - 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 deleted file mode 100644 index 044cb4a..0000000 --- a/node_modules/@octokit/rest/plugins/pagination/paginate.js +++ /dev/null @@ -1,34 +0,0 @@ -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 deleted file mode 100644 index 728fb46..0000000 --- a/node_modules/@octokit/rest/plugins/register-endpoints/index.js +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 9af74b5..0000000 --- a/node_modules/@octokit/rest/plugins/register-endpoints/register-endpoints.js +++ /dev/null @@ -1,87 +0,0 @@ -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 deleted file mode 100644 index 529ae19..0000000 --- a/node_modules/@octokit/rest/plugins/rest-api-endpoints/index.js +++ /dev/null @@ -1,13 +0,0 @@ -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 deleted file mode 100644 index 377a7b3..0000000 --- a/node_modules/@octokit/rest/plugins/rest-api-endpoints/routes.json +++ /dev/null @@ -1,11284 +0,0 @@ -{ - "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": { - "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/refs/: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" - }, - "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" - }, - "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" - }, - "page": { - "type": "integer" - }, - "per_page": { - "type": "integer" - } - }, - "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" - }, - "page": { - "type": "integer" - }, - "per_page": { - "type": "integer" - } - }, - "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" - }, - "page": { - "type": "integer" - }, - "per_page": { - "type": "integer" - }, - "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" - }, - "page": { - "type": "integer" - }, - "per_page": { - "type": "integer" - }, - "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" - }, - "number": { - "alias": "pull_number", - "deprecated": true, - "type": "integer" - }, - "owner": { - "required": true, - "type": "string" - }, - "path": { - "required": true, - "type": "string" - }, - "position": { - "required": true, - "type": "integer" - }, - "pull_number": { - "required": true, - "type": "integer" - }, - "repo": { - "required": true, - "type": "string" - } - }, - "url": "/repos/:owner/:repo/pulls/:pull_number/comments" - }, - "createCommentReply": { - "method": "POST", - "params": { - "body": { - "required": true, - "type": "string" - }, - "in_reply_to": { - "required": true, - "type": "integer" - }, - "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/comments" - }, - "createFromIssue": { - "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" - }, - "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" - }, - "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" - }, - "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" - }, - "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": "commit_sha", - "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": "\"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.", - "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" - }, - "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" - }, - "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" - }, - "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": { - "method": "GET", - "params": { - "branch": { - "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/branches/:branch/protection/restrictions/teams" - }, - "listProtectedBranchUserRestrictions": { - "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" - }, - "listTopics": { - "method": "GET", - "params": { - "owner": { - "required": true, - "type": "string" - }, - "repo": { - "required": true, - "type": "string" - } - }, - "url": "/repos/:owner/:repo/topics" - }, - "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" - }, - "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" - }, - "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": { - "headers": { - "accept": "application/vnd.github.mister-fantastic-preview+json" - }, - "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.teams": { - "type": "string[]" - }, - "restrictions.users": { - "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": { - "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": { - "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": { - "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": { - "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 index 71caab3..9954751 100644 --- a/node_modules/@octokit/rest/plugins/validate/index.js +++ b/node_modules/@octokit/rest/plugins/validate/index.js @@ -1,7 +1,7 @@ -module.exports = octokitValidate +module.exports = octokitValidate; -const validate = require('./validate') +const validate = require("./validate"); -function octokitValidate (octokit) { - octokit.hook.before('request', validate.bind(null, octokit)) +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 index fac9908..00b3008 100644 --- a/node_modules/@octokit/rest/plugins/validate/validate.js +++ b/node_modules/@octokit/rest/plugins/validate/validate.js @@ -1,113 +1,151 @@ -'use strict' +"use strict"; -module.exports = validate +module.exports = validate; -const { RequestError } = require('@octokit/request-error') -const get = require('lodash.get') -const set = require('lodash.set') +const { RequestError } = require("@octokit/request-error"); +const get = require("lodash.get"); +const set = require("lodash.set"); -function validate (octokit, options) { +function validate(octokit, options) { if (!options.request.validate) { - return + return; } - const { validate: params } = options.request + const { validate: params } = options.request; Object.keys(params).forEach(parameterName => { - const parameter = get(params, parameterName) + const parameter = get(params, parameterName); - const expectedType = parameter.type - let parentParameterName - let parentValue - let parentParamIsPresent = true - let parentParameterIsArray = false + const expectedType = parameter.type; + let parentParameterName; + let parentValue; + let parentParamIsPresent = true; + let parentParameterIsArray = false; if (/\./.test(parameterName)) { - parentParameterName = parameterName.replace(/\.[^.]+$/, '') - parentParameterIsArray = parentParameterName.slice(-2) === '[]' + parentParameterName = parameterName.replace(/\.[^.]+$/, ""); + parentParameterIsArray = parentParameterName.slice(-2) === "[]"; if (parentParameterIsArray) { - parentParameterName = parentParameterName.slice(0, -2) + parentParameterName = parentParameterName.slice(0, -2); } - parentValue = get(options, parentParameterName) - parentParamIsPresent = parentParameterName === 'headers' || (typeof parentValue === 'object' && parentValue !== null) + 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)] + ? (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 valueIsPresent = typeof value !== "undefined"; + const valueIsNull = value === null; const currentParameterName = parentParameterIsArray ? parameterName.replace(/\[\]/, `[${i}]`) - : parameterName + : parameterName; if (!parameter.required && !valueIsPresent) { - return + return; } // if the parent parameter is of type object but allows null // then the child parameters can be ignored if (!parentParamIsPresent) { - return + return; } if (parameter.allowNull && valueIsNull) { - return + return; } if (!parameter.allowNull && valueIsNull) { - throw new RequestError(`'${currentParameterName}' cannot be null`, 400, { - request: options - }) + 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 - }) + 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 (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 - }) + throw new RequestError( + `Invalid value for parameter '${currentParameterName}': ${JSON.stringify( + unparsedValue + )} is NaN`, + 400, + { + request: options + } + ); } } - if (parameter.enum && parameter.enum.indexOf(value) === -1) { - throw new RequestError(`Invalid value for parameter '${currentParameterName}': ${JSON.stringify(value)}`, 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) + const regex = new RegExp(parameter.validation); if (!regex.test(value)) { - throw new RequestError(`Invalid value for parameter '${currentParameterName}': ${JSON.stringify(value)}`, 400, { - request: options - }) + throw new RequestError( + `Invalid value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); } } - if (expectedType === 'object' && typeof value === 'string') { + if (expectedType === "object" && typeof value === "string") { try { - value = JSON.parse(value) + value = JSON.parse(value); } catch (exception) { - throw new RequestError(`JSON parse error of value for parameter '${currentParameterName}': ${JSON.stringify(value)}`, 400, { - request: options - }) + throw new RequestError( + `JSON parse error of value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); } } - set(options, parameter.mapTo || currentParameterName, value) - }) - }) + set(options, parameter.mapTo || currentParameterName, value); + }); + }); - return options + return options; } 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..c48ce42 --- /dev/null +++ b/node_modules/@octokit/types/README.md @@ -0,0 +1,65 @@ +# types.ts + +> Shared TypeScript definitions for Octokit projects + +[![@latest](https://img.shields.io/npm/v/@octokit/types.svg)](https://www.npmjs.com/package/@octokit/types) +[![Build Status](https://github.com/octokit/types.ts/workflows/Test/badge.svg)](https://github.com/octokit/types.ts/actions?workflow=Test) + + + +- [Usage](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "@octokit/types"; + +type listUserReposParameters = + Endpoints["GET /repos/{owner}/{repo}"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/{owner}/{repo}"]["response"]; + +async function listRepos( + options: listUserReposParameters +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/node_modules/@octokit/types/dist-node/index.js b/node_modules/@octokit/types/dist-node/index.js new file mode 100644 index 0000000..b3c252b --- /dev/null +++ b/node_modules/@octokit/types/dist-node/index.js @@ -0,0 +1,8 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const VERSION = "6.41.0"; + +exports.VERSION = VERSION; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/types/dist-node/index.js.map b/node_modules/@octokit/types/dist-node/index.js.map new file mode 100644 index 0000000..2d148d3 --- /dev/null +++ b/node_modules/@octokit/types/dist-node/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":["VERSION"],"mappings":";;;;MAAaA,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/types/dist-src/AuthInterface.js b/node_modules/@octokit/types/dist-src/AuthInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/AuthInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/EndpointDefaults.js b/node_modules/@octokit/types/dist-src/EndpointDefaults.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/EndpointDefaults.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/EndpointInterface.js b/node_modules/@octokit/types/dist-src/EndpointInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/EndpointInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/EndpointOptions.js b/node_modules/@octokit/types/dist-src/EndpointOptions.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/EndpointOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Fetch.js b/node_modules/@octokit/types/dist-src/Fetch.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Fetch.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js b/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/GetResponseTypeFromEndpointMethod.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/OctokitResponse.js b/node_modules/@octokit/types/dist-src/OctokitResponse.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/OctokitResponse.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestError.js b/node_modules/@octokit/types/dist-src/RequestError.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestError.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestHeaders.js b/node_modules/@octokit/types/dist-src/RequestHeaders.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestHeaders.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestInterface.js b/node_modules/@octokit/types/dist-src/RequestInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestMethod.js b/node_modules/@octokit/types/dist-src/RequestMethod.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestMethod.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestOptions.js b/node_modules/@octokit/types/dist-src/RequestOptions.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestParameters.js b/node_modules/@octokit/types/dist-src/RequestParameters.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestParameters.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/RequestRequestOptions.js b/node_modules/@octokit/types/dist-src/RequestRequestOptions.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/RequestRequestOptions.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/ResponseHeaders.js b/node_modules/@octokit/types/dist-src/ResponseHeaders.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/ResponseHeaders.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Route.js b/node_modules/@octokit/types/dist-src/Route.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Route.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Signal.js b/node_modules/@octokit/types/dist-src/Signal.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Signal.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/StrategyInterface.js b/node_modules/@octokit/types/dist-src/StrategyInterface.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/StrategyInterface.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/Url.js b/node_modules/@octokit/types/dist-src/Url.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/Url.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/VERSION.js b/node_modules/@octokit/types/dist-src/VERSION.js new file mode 100644 index 0000000..45a11b8 --- /dev/null +++ b/node_modules/@octokit/types/dist-src/VERSION.js @@ -0,0 +1 @@ +export const VERSION = "6.41.0"; diff --git a/node_modules/@octokit/types/dist-src/generated/Endpoints.js b/node_modules/@octokit/types/dist-src/generated/Endpoints.js new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@octokit/types/dist-src/generated/Endpoints.js @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@octokit/types/dist-src/index.js b/node_modules/@octokit/types/dist-src/index.js new file mode 100644 index 0000000..004ae9b --- /dev/null +++ b/node_modules/@octokit/types/dist-src/index.js @@ -0,0 +1,21 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestError"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 0000000..8b39d61 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +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 { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 0000000..a2c2307 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +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 declare type EndpointDefaults = RequestParameters & { + baseUrl: Url; + method: RequestMethod; + url?: Url; + headers: RequestHeaders & { + accept: string; + "user-agent": string; + }; + mediaType: { + format: string; + previews: string[]; + }; +}; diff --git a/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 0000000..d7b4009 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import { EndpointDefaults } from "./EndpointDefaults"; +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 `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + merge: { + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * + */ + (route: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ +

(options: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * Stateless method to turn endpoint options into request options. + * Calling `endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + * + * @param {object} options `method`, `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + parse: (options: O) => RequestOptions & Pick; +} diff --git a/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 0000000..b1b91f1 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import { RequestMethod } from "./RequestMethod"; +import { Url } from "./Url"; +import { RequestParameters } from "./RequestParameters"; +export declare type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 0000000..cbbd5e8 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export declare type Fetch = any; diff --git a/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 0000000..70e1a8d --- /dev/null +++ b/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +declare type Unwrap = T extends Promise ? U : T; +declare type AnyFunction = (...args: any[]) => any; +export declare type GetResponseTypeFromEndpointMethod = Unwrap>; +export declare type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 0000000..28fdfb8 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import { ResponseHeaders } from "./ResponseHeaders"; +import { Url } from "./Url"; +export declare type OctokitResponse = { + headers: ResponseHeaders; + /** + * http response code + */ + status: S; + /** + * URL of response after all redirects + */ + url: Url; + /** + * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference + */ + data: T; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@octokit/types/dist-types/RequestError.d.ts new file mode 100644 index 0000000..89174e6 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestError.d.ts @@ -0,0 +1,11 @@ +export declare type RequestError = { + name: string; + status: number; + documentation_url: string; + errors?: Array<{ + resource: string; + code: string; + field: string; + message?: string; + }>; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 0000000..ac5aae0 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export declare type RequestHeaders = { + /** + * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option instead. + */ + accept?: string; + /** + * Use `authorization` to send authenticated request, remember `token ` / `bearer ` prefixes. Example: `token 1234567890abcdef1234567890abcdef12345678` + */ + authorization?: string; + /** + * `user-agent` is set do a default and can be overwritten as needed. + */ + "user-agent"?: string; + [header: string]: string | number | undefined; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 0000000..851811f --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import { EndpointInterface } from "./EndpointInterface"; +import { OctokitResponse } from "./OctokitResponse"; +import { RequestParameters } from "./RequestParameters"; +import { Route } from "./Route"; +import { Endpoints } from "./generated/Endpoints"; +export interface RequestInterface { + /** + * Sends a request based on endpoint options + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 0000000..e999c8d --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export declare type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 0000000..97e2181 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +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 declare type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 0000000..b056a0e --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,45 @@ +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 declare 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]: unknown; +}; diff --git a/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 0000000..8f5c43a --- /dev/null +++ b/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,26 @@ +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 declare type RequestRequestOptions = { + /** + * Node only. Useful for custom proxy, certificate, or dns lookup. + * + * @see https://nodejs.org/api/http.html#http_class_http_agent + */ + agent?: unknown; + /** + * 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/dist-types/ResponseHeaders.d.ts b/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 0000000..c8fbe43 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,20 @@ +export declare type ResponseHeaders = { + "cache-control"?: string; + "content-length"?: number; + "content-type"?: string; + date?: string; + etag?: string; + "last-modified"?: string; + link?: string; + location?: string; + server?: string; + status?: string; + vary?: string; + "x-github-mediatype"?: string; + "x-github-request-id"?: string; + "x-oauth-scopes"?: string; + "x-ratelimit-limit"?: string; + "x-ratelimit-remaining"?: string; + "x-ratelimit-reset"?: string; + [header: string]: string | number | undefined; +}; diff --git a/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 0000000..dcaac75 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Route.d.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 declare type Route = string; diff --git a/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@octokit/types/dist-types/Signal.d.ts new file mode 100644 index 0000000..4ebcf24 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Signal.d.ts @@ -0,0 +1,6 @@ +/** + * Abort signal + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal + */ +export declare type Signal = any; diff --git a/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 0000000..405cbd2 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import { AuthInterface } from "./AuthInterface"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 0000000..3e69916 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/Url.d.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/{org}'`, `https://example.com/foo/bar` + */ +export declare type Url = string; diff --git a/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 0000000..dc24575 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "6.41.0"; diff --git a/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 0000000..3fe7cf8 --- /dev/null +++ b/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,3571 @@ +import { paths } from "@octokit/openapi-types"; +import { OctokitResponse } from "../OctokitResponse"; +import { RequestHeaders } from "../RequestHeaders"; +import { RequestRequestOptions } from "../RequestRequestOptions"; +declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; +declare type ExtractParameters = "parameters" extends keyof T ? UnionToIntersection<{ + [K in keyof T["parameters"]]: T["parameters"][K]; +}[keyof T["parameters"]]> : {}; +declare type ExtractRequestBody = "requestBody" extends keyof T ? "content" extends keyof T["requestBody"] ? "application/json" extends keyof T["requestBody"]["content"] ? T["requestBody"]["content"]["application/json"] : { + data: { + [K in keyof T["requestBody"]["content"]]: T["requestBody"]["content"][K]; + }[keyof T["requestBody"]["content"]]; +} : "application/json" extends keyof T["requestBody"] ? T["requestBody"]["application/json"] : { + data: { + [K in keyof T["requestBody"]]: T["requestBody"][K]; + }[keyof T["requestBody"]]; +} : {}; +declare type ToOctokitParameters = ExtractParameters & ExtractRequestBody; +declare type RequiredPreview = T extends string ? { + mediaType: { + previews: [T, ...string[]]; + }; +} : {}; +declare type Operation = { + parameters: ToOctokitParameters & RequiredPreview; + request: { + method: Method extends keyof MethodsMap ? MethodsMap[Method] : never; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; + }; + response: ExtractOctokitResponse; +}; +declare type MethodsMap = { + delete: "DELETE"; + get: "GET"; + patch: "PATCH"; + post: "POST"; + put: "PUT"; +}; +declare type SuccessStatuses = 200 | 201 | 202 | 204; +declare type RedirectStatuses = 301 | 302; +declare type EmptyResponseStatuses = 201 | 204; +declare type KnownJsonResponseTypes = "application/json" | "application/scim+json" | "text/html"; +declare type SuccessResponseDataType = { + [K in SuccessStatuses & keyof Responses]: GetContentKeyIfPresent extends never ? never : OctokitResponse, K>; +}[SuccessStatuses & keyof Responses]; +declare type RedirectResponseDataType = { + [K in RedirectStatuses & keyof Responses]: OctokitResponse; +}[RedirectStatuses & keyof Responses]; +declare type EmptyResponseDataType = { + [K in EmptyResponseStatuses & keyof Responses]: OctokitResponse; +}[EmptyResponseStatuses & keyof Responses]; +declare type GetContentKeyIfPresent = "content" extends keyof T ? DataType : DataType; +declare type DataType = { + [K in KnownJsonResponseTypes & keyof T]: T[K]; +}[KnownJsonResponseTypes & keyof T]; +declare type ExtractOctokitResponse = "responses" extends keyof R ? SuccessResponseDataType extends never ? RedirectResponseDataType extends never ? EmptyResponseDataType : RedirectResponseDataType : SuccessResponseDataType : unknown; +export interface Endpoints { + /** + * @see https://docs.github.com/rest/reference/apps#delete-an-installation-for-the-authenticated-app + */ + "DELETE /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#unsuspend-an-app-installation + */ + "DELETE /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "delete">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#delete-a-grant + */ + "DELETE /applications/grants/{grant_id}": Operation<"/applications/grants/{grant_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#delete-an-app-authorization + */ + "DELETE /applications/{client_id}/grant": Operation<"/applications/{client_id}/grant", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#delete-an-app-token + */ + "DELETE /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "delete">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#delete-an-authorization + */ + "DELETE /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#disable-a-selected-organization-for-github-actions-in-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-self-hosted-runner-from-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/gists#delete-a-gist + */ + "DELETE /gists/{gist_id}": Operation<"/gists/{gist_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/gists#delete-a-gist-comment + */ + "DELETE /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/gists#unstar-a-gist + */ + "DELETE /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#revoke-an-installation-access-token + */ + "DELETE /installation/token": Operation<"/installation/token", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#delete-a-thread-subscription + */ + "DELETE /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#disable-a-selected-repository-for-github-actions-in-an-organization + */ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#unblock-a-user-from-an-organization + */ + "DELETE /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-a-saml-sso-authorization-for-an-organization + */ + "DELETE /orgs/{org}/credential-authorizations/{credential_id}": Operation<"/orgs/{org}/credential-authorizations/{credential_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/dependabot#delete-an-organization-secret + */ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#delete-an-organization-webhook + */ + "DELETE /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#cancel-an-organization-invitation + */ + "DELETE /orgs/{org}/invitations/{invitation_id}": Operation<"/orgs/{org}/invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-an-organization-member + */ + "DELETE /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces + */ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-organization-membership-for-a-user + */ + "DELETE /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#delete-an-organization-migration-archive + */ + "DELETE /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#unlock-an-organization-repository + */ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-outside-collaborator-from-an-organization + */ + "DELETE /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/orgs#remove-public-organization-membership-for-the-authenticated-user + */ + "DELETE /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-comment + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-team-discussion-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#unlink-external-idp-group-team-connection + */ + "DELETE /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user + */ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#remove-a-repository-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#delete-a-project-card + */ + "DELETE /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#delete-a-project-column + */ + "DELETE /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#delete-a-project + */ + "DELETE /projects/{project_id}": Operation<"/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/projects#remove-project-collaborator + */ + "DELETE /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-repository + */ + "DELETE /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-artifact + */ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id + */ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}": Operation<"/repos/{owner}/{repo}/actions/caches/{cache_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/cache#delete-github-actions-caches-for-a-repository-using-a-cache-key + */ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}": Operation<"/repos/{owner}/{repo}/actions/caches", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-workflow-run + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-workflow-run-logs + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/v3/repos#delete-autolink + */ + "DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-automated-security-fixes + */ + "DELETE /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-admin-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-pull-request-review-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-commit-signature-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-status-check-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-status-check-contexts + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-app-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-team-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-user-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "delete">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#remove-a-repository-collaborator + */ + "DELETE /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-commit-comment + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-a-commit-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-file + */ + "DELETE /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "delete">; + /** + * @see https://docs.github.com/rest/reference/dependabot#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-deployment + */ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-an-environment + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/git#delete-a-reference + */ + "DELETE /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-repository-webhook + */ + "DELETE /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#cancel-an-import + */ + "DELETE /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-repository-invitation + */ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-an-issue-comment + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-an-issue-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-assignees-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-all-labels-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-a-label-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#unlock-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-an-issue-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-deploy-key + */ + "DELETE /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-a-label + */ + "DELETE /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-git-lfs-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/lfs": Operation<"/repos/{owner}/{repo}/lfs", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#delete-a-milestone + */ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-github-pages-site + */ + "DELETE /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "delete">; + /** + * @see https://docs.github.com/rest/reference/pulls#delete-a-review-comment-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/pulls#remove-requested-reviewers-from-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "delete">; + /** + * @see https://docs.github.com/rest/reference/pulls#delete-a-pending-review-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-release-asset + */ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-a-release + */ + "DELETE /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/reactions/#delete-a-release-reaction + */ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#delete-a-repository-subscription + */ + "DELETE /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#delete-tag-protection-state-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}": Operation<"/repos/{owner}/{repo}/tags/protection/{tag_protection_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#disable-vulnerability-alerts + */ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "delete">; + /** + * @see https://docs.github.com/rest/reference/actions#delete-an-environment-secret + */ + "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-group-from-an-enterprise + */ + "DELETE /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#delete-a-scim-user-from-an-enterprise + */ + "DELETE /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/scim#delete-a-scim-user-from-an-organization + */ + "DELETE /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#delete-a-team-legacy + */ + "DELETE /teams/{team_id}": Operation<"/teams/{team_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#delete-a-discussion-comment-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-member-legacy + */ + "DELETE /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user-legacy + */ + "DELETE /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#remove-a-project-from-a-team-legacy + */ + "DELETE /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/teams/#remove-a-repository-from-a-team-legacy + */ + "DELETE /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#unblock-a-user + */ + "DELETE /user/blocks/{username}": Operation<"/user/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#delete-a-secret-for-the-authenticated-user + */ + "DELETE /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret + */ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/codespaces#delete-a-codespace-for-the-authenticated-user + */ + "DELETE /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-an-email-address-for-the-authenticated-user + */ + "DELETE /user/emails": Operation<"/user/emails", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#unfollow-a-user + */ + "DELETE /user/following/{username}": Operation<"/user/following/{username}", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-a-gpg-key-for-the-authenticated-user + */ + "DELETE /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/apps#remove-a-repository-from-an-app-installation + */ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/interactions#remove-interaction-restrictions-from-your-public-repositories + */ + "DELETE /user/interaction-limits": Operation<"/user/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/reference/users#delete-a-public-ssh-key-for-the-authenticated-user + */ + "DELETE /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#delete-a-user-migration-archive + */ + "DELETE /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "delete">; + /** + * @see https://docs.github.com/rest/reference/migrations#unlock-a-user-repository + */ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/user/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/repos#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/activity#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/reference/packages#delete-a-package-version-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/overview/resources-in-the-rest-api#root-endpoint + */ + "GET /": Operation<"/", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-the-authenticated-app + */ + "GET /app": Operation<"/app", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-webhook-configuration-for-an-app + */ + "GET /app/hook/config": Operation<"/app/hook/config", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-deliveries-for-an-app-webhook + */ + "GET /app/hook/deliveries": Operation<"/app/hook/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-delivery-for-an-app-webhook + */ + "GET /app/hook/deliveries/{delivery_id}": Operation<"/app/hook/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app + */ + "GET /app/installations": Operation<"/app/installations", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-an-installation-for-the-authenticated-app + */ + "GET /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-grants + */ + "GET /applications/grants": Operation<"/applications/grants", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-grant + */ + "GET /applications/grants/{grant_id}": Operation<"/applications/grants/{grant_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps/#get-an-app + */ + "GET /apps/{app_slug}": Operation<"/apps/{app_slug}", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations + */ + "GET /authorizations": Operation<"/authorizations", "get">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-a-single-authorization + */ + "GET /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/codes-of-conduct#get-all-codes-of-conduct + */ + "GET /codes_of_conduct": Operation<"/codes_of_conduct", "get">; + /** + * @see https://docs.github.com/rest/reference/codes-of-conduct#get-a-code-of-conduct + */ + "GET /codes_of_conduct/{key}": Operation<"/codes_of_conduct/{key}", "get">; + /** + * @see https://docs.github.com/rest/reference/emojis#get-emojis + */ + "GET /emojis": Operation<"/emojis", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-github-enterprise-server-statistics + */ + "GET /enterprise-installation/{enterprise_or_org}/server-statistics": Operation<"/enterprise-installation/{enterprise_or_org}/server-statistics", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-cache-usage-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/cache/usage": Operation<"/enterprises/{enterprise}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions": Operation<"/enterprises/{enterprise}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-organizations-enabled-for-github-actions-in-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/organizations": Operation<"/enterprises/{enterprise}/actions/permissions/organizations", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/selected-actions": Operation<"/enterprises/{enterprise}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/permissions/workflow": Operation<"/enterprises/{enterprise}/actions/permissions/workflow", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups": Operation<"/enterprises/{enterprise}/actions/runner-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-group-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners": Operation<"/enterprises/{enterprise}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/downloads": Operation<"/enterprises/{enterprise}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-enterprise + */ + "GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise + */ + "GET /enterprises/{enterprise}/audit-log": Operation<"/enterprises/{enterprise}/audit-log", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/code-scanning/alerts": Operation<"/enterprises/{enterprise}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/secret-scanning/alerts": Operation<"/enterprises/{enterprise}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/actions": Operation<"/enterprises/{enterprise}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#export-advanced-security-active-committers-data-for-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/advanced-security": Operation<"/enterprises/{enterprise}/settings/billing/advanced-security", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/packages": Operation<"/enterprises/{enterprise}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-enterprise + */ + "GET /enterprises/{enterprise}/settings/billing/shared-storage": Operation<"/enterprises/{enterprise}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events + */ + "GET /events": Operation<"/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-feeds + */ + "GET /feeds": Operation<"/feeds", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gists-for-the-authenticated-user + */ + "GET /gists": Operation<"/gists", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-public-gists + */ + "GET /gists/public": Operation<"/gists/public", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-starred-gists + */ + "GET /gists/starred": Operation<"/gists/starred", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#get-a-gist + */ + "GET /gists/{gist_id}": Operation<"/gists/{gist_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-comments + */ + "GET /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#get-a-gist-comment + */ + "GET /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-commits + */ + "GET /gists/{gist_id}/commits": Operation<"/gists/{gist_id}/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gist-forks + */ + "GET /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#check-if-a-gist-is-starred + */ + "GET /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#get-a-gist-revision + */ + "GET /gists/{gist_id}/{sha}": Operation<"/gists/{gist_id}/{sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/gitignore#get-all-gitignore-templates + */ + "GET /gitignore/templates": Operation<"/gitignore/templates", "get">; + /** + * @see https://docs.github.com/rest/reference/gitignore#get-a-gitignore-template + */ + "GET /gitignore/templates/{name}": Operation<"/gitignore/templates/{name}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-app-installation + */ + "GET /installation/repositories": Operation<"/installation/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": Operation<"/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/licenses#get-all-commonly-used-licenses + */ + "GET /licenses": Operation<"/licenses", "get">; + /** + * @see https://docs.github.com/rest/reference/licenses#get-a-license + */ + "GET /licenses/{license}": Operation<"/licenses/{license}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/{account_id}": Operation<"/marketplace_listing/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans + */ + "GET /marketplace_listing/plans": Operation<"/marketplace_listing/plans", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/{plan_id}/accounts": Operation<"/marketplace_listing/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/{account_id}": Operation<"/marketplace_listing/stubbed/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": Operation<"/marketplace_listing/stubbed/plans", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": Operation<"/marketplace_listing/stubbed/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/rest/reference/meta#get-github-meta-information + */ + "GET /meta": Operation<"/meta", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-network-of-repositories + */ + "GET /networks/{owner}/{repo}/events": Operation<"/networks/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user + */ + "GET /notifications": Operation<"/notifications", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-thread + */ + "GET /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "get">; + /** + * @see https://docs.github.com/rest/reference/meta#get-octocat + */ + "GET /octocat": Operation<"/octocat", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations + */ + "GET /organizations": Operation<"/organizations", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-custom-repository-roles-in-an-organization + */ + "GET /organizations/{organization_id}/custom_roles": Operation<"/organizations/{organization_id}/custom_roles", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-in-organization + * @deprecated "org_id" is now "org" + */ + "GET /orgs/{org_id}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization + */ + "GET /orgs/{org}": Operation<"/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage": Operation<"/orgs/{org}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repositories-with-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage-by-repository": Operation<"/orgs/{org}/actions/cache/usage-by-repository", "get">; + /** + * @see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-an-organization + */ + "GET /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "GET /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions + */ + "GET /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runner-groups-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/runners": Operation<"/orgs/{org}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-an-organization + */ + "GET /orgs/{org}/actions/runners/downloads": Operation<"/orgs/{org}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-organization-secrets + */ + "GET /orgs/{org}/actions/secrets": Operation<"/orgs/{org}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-organization-public-key + */ + "GET /orgs/{org}/actions/secrets/public-key": Operation<"/orgs/{org}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-audit-log + */ + "GET /orgs/{org}/audit-log": Operation<"/orgs/{org}/audit-log", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-users-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks": Operation<"/orgs/{org}/blocks", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-if-a-user-is-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-by-organization + */ + "GET /orgs/{org}/code-scanning/alerts": Operation<"/orgs/{org}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-in-organization + */ + "GET /orgs/{org}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-saml-sso-authorizations-for-an-organization + */ + "GET /orgs/{org}/credential-authorizations": Operation<"/orgs/{org}/credential-authorizations", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-organization-secrets + */ + "GET /orgs/{org}/dependabot/secrets": Operation<"/orgs/{org}/dependabot/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key + */ + "GET /orgs/{org}/dependabot/secrets/public-key": Operation<"/orgs/{org}/dependabot/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-organization-events + */ + "GET /orgs/{org}/events": Operation<"/orgs/{org}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#external-idp-group-info-for-an-organization + */ + "GET /orgs/{org}/external-group/{group_id}": Operation<"/orgs/{org}/external-group/{group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-external-idp-groups-for-an-organization + */ + "GET /orgs/{org}/external-groups": Operation<"/orgs/{org}/external-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-failed-organization-invitations + */ + "GET /orgs/{org}/failed_invitations": Operation<"/orgs/{org}/failed_invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-webhooks + */ + "GET /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-configuration-for-an-organization + */ + "GET /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-deliveries-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-a-webhook-delivery-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-an-organization-installation-for-the-authenticated-app + */ + "GET /orgs/{org}/installation": Operation<"/orgs/{org}/installation", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-app-installations-for-an-organization + */ + "GET /orgs/{org}/installations": Operation<"/orgs/{org}/installations", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-pending-organization-invitations + */ + "GET /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-invitation-teams + */ + "GET /orgs/{org}/invitations/{invitation_id}/teams": Operation<"/orgs/{org}/invitations/{invitation_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/{org}/issues": Operation<"/orgs/{org}/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-members + */ + "GET /orgs/{org}/members": Operation<"/orgs/{org}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-organization-membership-for-a-user + */ + "GET /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-organization-membership-for-a-user + */ + "GET /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-organization-migrations + */ + "GET /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-an-organization-migration-status + */ + "GET /orgs/{org}/migrations/{migration_id}": Operation<"/orgs/{org}/migrations/{migration_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#download-an-organization-migration-archive + */ + "GET /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-in-an-organization-migration + */ + "GET /orgs/{org}/migrations/{migration_id}/repositories": Operation<"/orgs/{org}/migrations/{migration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-outside-collaborators-for-an-organization + */ + "GET /orgs/{org}/outside_collaborators": Operation<"/orgs/{org}/outside_collaborators", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-an-organization + */ + "GET /orgs/{org}/packages": Operation<"/orgs/{org}/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-organization-projects + */ + "GET /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-public-organization-members + */ + "GET /orgs/{org}/public_members": Operation<"/orgs/{org}/public_members", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#check-public-organization-membership-for-a-user + */ + "GET /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-organization-repositories + */ + "GET /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/secret-scanning/alerts": Operation<"/orgs/{org}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/actions": Operation<"/orgs/{org}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-advanced-security-active-committers-for-an-organization + */ + "GET /orgs/{org}/settings/billing/advanced-security": Operation<"/orgs/{org}/settings/billing/advanced-security", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/packages": Operation<"/orgs/{org}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/shared-storage": Operation<"/orgs/{org}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-an-organization + */ + "GET /orgs/{org}/team-sync/groups": Operation<"/orgs/{org}/team-sync/groups", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-teams + */ + "GET /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-team-by-name + */ + "GET /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions + */ + "GET /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-external-idp-group-team-connection + */ + "GET /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations + */ + "GET /orgs/{org}/teams/{team_slug}/invitations": Operation<"/orgs/{org}/teams/{team_slug}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members + */ + "GET /orgs/{org}/teams/{team_slug}/members": Operation<"/orgs/{org}/teams/{team_slug}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user + */ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-projects + */ + "GET /orgs/{org}/teams/{team_slug}/projects": Operation<"/orgs/{org}/teams/{team_slug}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project + */ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-repositories + */ + "GET /orgs/{org}/teams/{team_slug}/repos": Operation<"/orgs/{org}/teams/{team_slug}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository + */ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team + */ + "GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-child-teams + */ + "GET /orgs/{org}/teams/{team_slug}/teams": Operation<"/orgs/{org}/teams/{team_slug}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-a-project-card + */ + "GET /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-a-project-column + */ + "GET /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-cards + */ + "GET /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-a-project + */ + "GET /projects/{project_id}": Operation<"/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-collaborators + */ + "GET /projects/{project_id}/collaborators": Operation<"/projects/{project_id}/collaborators", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#get-project-permission-for-a-user + */ + "GET /projects/{project_id}/collaborators/{username}/permission": Operation<"/projects/{project_id}/collaborators/{username}/permission", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-project-columns + */ + "GET /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "get">; + /** + * @see https://docs.github.com/rest/reference/rate-limit#get-rate-limit-status-for-the-authenticated-user + */ + "GET /rate_limit": Operation<"/rate_limit", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository + */ + "GET /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-artifacts-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/artifacts": Operation<"/repos/{owner}/{repo}/actions/artifacts", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-cache-usage-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/cache/usage": Operation<"/repos/{owner}/{repo}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/caches": Operation<"/repos/{owner}/{repo}/actions/caches", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-job-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-job-logs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/actions/oidc#get-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-github-actions-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-workflow-access-level-to-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-allowed-actions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-default-workflow-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-self-hosted-runners-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners": Operation<"/repos/{owner}/{repo}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-runner-applications-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/downloads": Operation<"/repos/{owner}/{repo}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runs": Operation<"/repos/{owner}/{repo}/actions/runs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-the-review-history-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approvals", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-run-artifacts + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-workflow-run-attempt-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-jobs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#download-workflow-run-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-pending-deployments-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-workflow-run-usage + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/actions/secrets": Operation<"/repos/{owner}/{repo}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/actions/secrets/public-key": Operation<"/repos/{owner}/{repo}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-repository-workflows + */ + "GET /repos/{owner}/{repo}/actions/workflows": Operation<"/repos/{owner}/{repo}/actions/workflows", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-a-workflow + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-workflow-runs + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-workflow-usage + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-assignees + */ + "GET /repos/{owner}/{repo}/assignees": Operation<"/repos/{owner}/{repo}/assignees", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#check-if-a-user-can-be-assigned + */ + "GET /repos/{owner}/{repo}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/assignees/{assignee}", "get">; + /** + * @see https://docs.github.com/v3/repos#list-autolinks + */ + "GET /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "get">; + /** + * @see https://docs.github.com/v3/repos#get-autolink + */ + "GET /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-branches + */ + "GET /repos/{owner}/{repo}/branches": Operation<"/repos/{owner}/{repo}/branches", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}": Operation<"/repos/{owner}/{repo}/branches/{branch}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-admin-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-pull-request-review-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-commit-signature-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-status-checks-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-status-check-contexts + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-access-restrictions + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-apps-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-teams-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-users-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#get-a-check-run + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-run-annotations + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#get-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts": Operation<"/repos/{owner}/{repo}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-alert + * @deprecated "alert_id" is now "alert_number" + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses": Operation<"/repos/{owner}/{repo}/code-scanning/analyses", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-recent-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-codeowners-errors + */ + "GET /repos/{owner}/{repo}/codeowners/errors": Operation<"/repos/{owner}/{repo}/codeowners/errors", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-devcontainers-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces/devcontainers": Operation<"/repos/{owner}/{repo}/codespaces/devcontainers", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-available-machine-types-for-a-repository + */ + "GET /repos/{owner}/{repo}/codespaces/machines": Operation<"/repos/{owner}/{repo}/codespaces/machines", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#preview-attributes-for-a-new-codespace + */ + "GET /repos/{owner}/{repo}/codespaces/new": Operation<"/repos/{owner}/{repo}/codespaces/new", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/codespaces/secrets": Operation<"/repos/{owner}/{repo}/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key": Operation<"/repos/{owner}/{repo}/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-collaborators + */ + "GET /repos/{owner}/{repo}/collaborators": Operation<"/repos/{owner}/{repo}/collaborators", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#check-if-a-user-is-a-repository-collaborator + */ + "GET /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-permissions-for-a-user + */ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission": Operation<"/repos/{owner}/{repo}/collaborators/{username}/permission", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/comments": Operation<"/repos/{owner}/{repo}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commits + */ + "GET /repos/{owner}/{repo}/commits": Operation<"/repos/{owner}/{repo}/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-branches-for-head-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-comments + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-pull-requests-associated-with-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/pulls", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{ref}": Operation<"/repos/{owner}/{repo}/commits/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-runs-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-runs", "get">; + /** + * @see https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-suites", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-combined-status-for-a-specific-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/status": Operation<"/repos/{owner}/{repo}/commits/{ref}/status", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-commit-statuses-for-a-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses": Operation<"/repos/{owner}/{repo}/commits/{ref}/statuses", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-community-profile-metrics + */ + "GET /repos/{owner}/{repo}/community/profile": Operation<"/repos/{owner}/{repo}/community/profile", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{basehead}": Operation<"/repos/{owner}/{repo}/compare/{basehead}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{base}...{head}": Operation<"/repos/{owner}/{repo}/compare/{base}...{head}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-content + */ + "GET /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-contributors + */ + "GET /repos/{owner}/{repo}/contributors": Operation<"/repos/{owner}/{repo}/contributors", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/dependabot/secrets": Operation<"/repos/{owner}/{repo}/dependabot/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key": Operation<"/repos/{owner}/{repo}/dependabot/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/dependabot#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/dependency-graph#get-a-diff-of-the-dependencies-between-commits + */ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}": Operation<"/repos/{owner}/{repo}/dependency-graph/compare/{basehead}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployments + */ + "GET /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deployment + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deployment-statuses + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deployment-status + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-environments + */ + "GET /repos/{owner}/{repo}/environments": Operation<"/repos/{owner}/{repo}/environments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-events + */ + "GET /repos/{owner}/{repo}/events": Operation<"/repos/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-forks + */ + "GET /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-blob + */ + "GET /repos/{owner}/{repo}/git/blobs/{file_sha}": Operation<"/repos/{owner}/{repo}/git/blobs/{file_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-commit + */ + "GET /repos/{owner}/{repo}/git/commits/{commit_sha}": Operation<"/repos/{owner}/{repo}/git/commits/{commit_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#list-matching-references + */ + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}": Operation<"/repos/{owner}/{repo}/git/matching-refs/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-reference + */ + "GET /repos/{owner}/{repo}/git/ref/{ref}": Operation<"/repos/{owner}/{repo}/git/ref/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-tag + */ + "GET /repos/{owner}/{repo}/git/tags/{tag_sha}": Operation<"/repos/{owner}/{repo}/git/tags/{tag_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/git#get-a-tree + */ + "GET /repos/{owner}/{repo}/git/trees/{tree_sha}": Operation<"/repos/{owner}/{repo}/git/trees/{tree_sha}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-webhooks + */ + "GET /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-webhook-configuration-for-a-repository + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deliveries-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-delivery-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-an-import-status + */ + "GET /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-commit-authors + */ + "GET /repos/{owner}/{repo}/import/authors": Operation<"/repos/{owner}/{repo}/import/authors", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-large-files + */ + "GET /repos/{owner}/{repo}/import/large_files": Operation<"/repos/{owner}/{repo}/import/large_files", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-repository-installation-for-the-authenticated-app + */ + "GET /repos/{owner}/{repo}/installation": Operation<"/repos/{owner}/{repo}/installation", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-a-repository + */ + "GET /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations + */ + "GET /repos/{owner}/{repo}/invitations": Operation<"/repos/{owner}/{repo}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-repository-issues + */ + "GET /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/comments": Operation<"/repos/{owner}/{repo}/issues/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/events": Operation<"/repos/{owner}/{repo}/issues/events", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-an-issue-event + */ + "GET /repos/{owner}/{repo}/issues/events/{event_id}": Operation<"/repos/{owner}/{repo}/issues/events/{event_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-comments + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-issue-events + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/events": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-timeline-events-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/timeline", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-deploy-keys + */ + "GET /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-deploy-key + */ + "GET /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-a-repository + */ + "GET /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-a-label + */ + "GET /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-languages + */ + "GET /repos/{owner}/{repo}/languages": Operation<"/repos/{owner}/{repo}/languages", "get">; + /** + * @see https://docs.github.com/rest/reference/licenses/#get-the-license-for-a-repository + */ + "GET /repos/{owner}/{repo}/license": Operation<"/repos/{owner}/{repo}/license", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-milestones + */ + "GET /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#get-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-labels-for-issues-in-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-github-pages-site + */ + "GET /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-github-pages-builds + */ + "GET /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-latest-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/latest": Operation<"/repos/{owner}/{repo}/pages/builds/latest", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-github-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/{build_id}": Operation<"/repos/{owner}/{repo}/pages/builds/{build_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-dns-health-check-for-github-pages + */ + "GET /repos/{owner}/{repo}/pages/health": Operation<"/repos/{owner}/{repo}/pages/health", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-repository-projects + */ + "GET /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests + */ + "GET /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-in-a-repository + */ + "GET /repos/{owner}/{repo}/pulls/comments": Operation<"/repos/{owner}/{repo}/pulls/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#get-a-review-comment-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#get-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-review-comments-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-commits-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-pull-requests-files + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/files", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#check-if-a-pull-request-has-been-merged + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-requested-reviewers-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-reviews-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#get-a-review-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/pulls#list-comments-for-a-pull-request-review + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-readme + */ + "GET /repos/{owner}/{repo}/readme": Operation<"/repos/{owner}/{repo}/readme", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-repository-directory-readme + */ + "GET /repos/{owner}/{repo}/readme/{dir}": Operation<"/repos/{owner}/{repo}/readme/{dir}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-releases + */ + "GET /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release-asset + */ + "GET /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-latest-release + */ + "GET /repos/{owner}/{repo}/releases/latest": Operation<"/repos/{owner}/{repo}/releases/latest", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release-by-tag-name + */ + "GET /repos/{owner}/{repo}/releases/tags/{tag}": Operation<"/repos/{owner}/{repo}/releases/tags/{tag}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-release-assets + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#get-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#list-locations-for-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-stargazers + */ + "GET /repos/{owner}/{repo}/stargazers": Operation<"/repos/{owner}/{repo}/stargazers", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-weekly-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/code_frequency": Operation<"/repos/{owner}/{repo}/stats/code_frequency", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-last-year-of-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/commit_activity": Operation<"/repos/{owner}/{repo}/stats/commit_activity", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-contributor-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/contributors": Operation<"/repos/{owner}/{repo}/stats/contributors", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-weekly-commit-count + */ + "GET /repos/{owner}/{repo}/stats/participation": Operation<"/repos/{owner}/{repo}/stats/participation", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-the-hourly-commit-count-for-each-day + */ + "GET /repos/{owner}/{repo}/stats/punch_card": Operation<"/repos/{owner}/{repo}/stats/punch_card", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-watchers + */ + "GET /repos/{owner}/{repo}/subscribers": Operation<"/repos/{owner}/{repo}/subscribers", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#get-a-repository-subscription + */ + "GET /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-tags + */ + "GET /repos/{owner}/{repo}/tags": Operation<"/repos/{owner}/{repo}/tags", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-tag-protection-state-of-a-repository + */ + "GET /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + */ + "GET /repos/{owner}/{repo}/tarball/{ref}": Operation<"/repos/{owner}/{repo}/tarball/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-teams + */ + "GET /repos/{owner}/{repo}/teams": Operation<"/repos/{owner}/{repo}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-all-repository-topics + */ + "GET /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-repository-clones + */ + "GET /repos/{owner}/{repo}/traffic/clones": Operation<"/repos/{owner}/{repo}/traffic/clones", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-top-referral-paths + */ + "GET /repos/{owner}/{repo}/traffic/popular/paths": Operation<"/repos/{owner}/{repo}/traffic/popular/paths", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-top-referral-sources + */ + "GET /repos/{owner}/{repo}/traffic/popular/referrers": Operation<"/repos/{owner}/{repo}/traffic/popular/referrers", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#get-page-views + */ + "GET /repos/{owner}/{repo}/traffic/views": Operation<"/repos/{owner}/{repo}/traffic/views", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#download-a-repository-archive + */ + "GET /repos/{owner}/{repo}/zipball/{ref}": Operation<"/repos/{owner}/{repo}/zipball/{ref}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-public-repositories + */ + "GET /repositories": Operation<"/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#list-environment-secrets + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-environment-public-key + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/actions#get-an-environment-secret + */ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-provisioned-scim-groups-for-an-enterprise + */ + "GET /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-group + */ + "GET /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#list-scim-provisioned-identities-for-an-enterprise + */ + "GET /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "get">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#get-scim-provisioning-information-for-an-enterprise-user + */ + "GET /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/scim#list-scim-provisioned-identities + */ + "GET /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "get">; + /** + * @see https://docs.github.com/rest/reference/scim#get-scim-provisioning-information-for-a-user + */ + "GET /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-code + */ + "GET /search/code": Operation<"/search/code", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-commits + */ + "GET /search/commits": Operation<"/search/commits", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-issues-and-pull-requests + */ + "GET /search/issues": Operation<"/search/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-labels + */ + "GET /search/labels": Operation<"/search/labels", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-repositories + */ + "GET /search/repositories": Operation<"/search/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-topics + */ + "GET /search/topics": Operation<"/search/topics", "get">; + /** + * @see https://docs.github.com/rest/reference/search#search-users + */ + "GET /search/users": Operation<"/search/users", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#get-a-team-legacy + */ + "GET /teams/{team_id}": Operation<"/teams/{team_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussions-legacy + */ + "GET /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-discussion-comments-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-a-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/reactions/#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-pending-team-invitations-legacy + */ + "GET /teams/{team_id}/invitations": Operation<"/teams/{team_id}/invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-team-members-legacy + */ + "GET /teams/{team_id}/members": Operation<"/teams/{team_id}/members", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-member-legacy + */ + "GET /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user-legacy + */ + "GET /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#list-team-projects-legacy + */ + "GET /teams/{team_id}/projects": Operation<"/teams/{team_id}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-project-legacy + */ + "GET /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#list-team-repositories-legacy + */ + "GET /teams/{team_id}/repos": Operation<"/teams/{team_id}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#check-team-permissions-for-a-repository-legacy + */ + "GET /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team-legacy + */ + "GET /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "get">; + /** + * @see https://docs.github.com/rest/reference/teams/#list-child-teams-legacy + */ + "GET /teams/{team_id}/teams": Operation<"/teams/{team_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-the-authenticated-user + */ + "GET /user": Operation<"/user", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-users-blocked-by-the-authenticated-user + */ + "GET /user/blocks": Operation<"/user/blocks", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user + */ + "GET /user/blocks/{username}": Operation<"/user/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-codespaces-for-the-authenticated-user + */ + "GET /user/codespaces": Operation<"/user/codespaces", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-secrets-for-the-authenticated-user + */ + "GET /user/codespaces/secrets": Operation<"/user/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-public-key-for-the-authenticated-user + */ + "GET /user/codespaces/secrets/public-key": Operation<"/user/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-secret-for-the-authenticated-user + */ + "GET /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-selected-repositories-for-a-user-secret + */ + "GET /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#get-a-codespace-for-the-authenticated-user + */ + "GET /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "get">; + /** + * @see + */ + "GET /user/codespaces/{codespace_name}/exports/{export_id}": Operation<"/user/codespaces/{codespace_name}/exports/{export_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/codespaces#list-machine-types-for-a-codespace + */ + "GET /user/codespaces/{codespace_name}/machines": Operation<"/user/codespaces/{codespace_name}/machines", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user + */ + "GET /user/emails": Operation<"/user/emails", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-the-authenticated-user + */ + "GET /user/followers": Operation<"/user/followers", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-the-authenticated-user-follows + */ + "GET /user/following": Operation<"/user/following", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-person-is-followed-by-the-authenticated-user + */ + "GET /user/following/{username}": Operation<"/user/following/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-the-authenticated-user + */ + "GET /user/gpg_keys": Operation<"/user/gpg_keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-gpg-key-for-the-authenticated-user + */ + "GET /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token + */ + "GET /user/installations": Operation<"/user/installations", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-repositories-accessible-to-the-user-access-token + */ + "GET /user/installations/{installation_id}/repositories": Operation<"/user/installations/{installation_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories + */ + "GET /user/interaction-limits": Operation<"/user/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/reference/issues#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": Operation<"/user/issues", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user + */ + "GET /user/keys": Operation<"/user/keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-public-ssh-key-for-the-authenticated-user + */ + "GET /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": Operation<"/user/marketplace_purchases", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": Operation<"/user/marketplace_purchases/stubbed", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user + */ + "GET /user/memberships/orgs": Operation<"/user/memberships/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user + */ + "GET /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-user-migrations + */ + "GET /user/migrations": Operation<"/user/migrations", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#get-a-user-migration-status + */ + "GET /user/migrations/{migration_id}": Operation<"/user/migrations/{migration_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#download-a-user-migration-archive + */ + "GET /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "get">; + /** + * @see https://docs.github.com/rest/reference/migrations#list-repositories-for-a-user-migration + */ + "GET /user/migrations/{migration_id}/repositories": Operation<"/user/migrations/{migration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-the-authenticated-user + */ + "GET /user/orgs": Operation<"/user/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-the-authenticated-user + */ + "GET /user/packages": Operation<"/user/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions": Operation<"/user/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-email-addresses-for-the-authenticated-user + */ + "GET /user/public_emails": Operation<"/user/public_emails", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": Operation<"/user/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repository-invitations-for-the-authenticated-user + */ + "GET /user/repository_invitations": Operation<"/user/repository_invitations", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": Operation<"/user/starred", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": Operation<"/user/subscriptions", "get">; + /** + * @see https://docs.github.com/rest/reference/teams#list-teams-for-the-authenticated-user + */ + "GET /user/teams": Operation<"/user/teams", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-users + */ + "GET /users": Operation<"/users", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-a-user + */ + "GET /users/{username}": Operation<"/users/{username}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-for-the-authenticated-user + */ + "GET /users/{username}/events": Operation<"/users/{username}/events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-organization-events-for-the-authenticated-user + */ + "GET /users/{username}/events/orgs/{org}": Operation<"/users/{username}/events/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-for-a-user + */ + "GET /users/{username}/events/public": Operation<"/users/{username}/events/public", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-followers-of-a-user + */ + "GET /users/{username}/followers": Operation<"/users/{username}/followers", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-the-people-a-user-follows + */ + "GET /users/{username}/following": Operation<"/users/{username}/following", "get">; + /** + * @see https://docs.github.com/rest/reference/users#check-if-a-user-follows-another-user + */ + "GET /users/{username}/following/{target_user}": Operation<"/users/{username}/following/{target_user}", "get">; + /** + * @see https://docs.github.com/rest/reference/gists#list-gists-for-a-user + */ + "GET /users/{username}/gists": Operation<"/users/{username}/gists", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-gpg-keys-for-a-user + */ + "GET /users/{username}/gpg_keys": Operation<"/users/{username}/gpg_keys", "get">; + /** + * @see https://docs.github.com/rest/reference/users#get-contextual-information-for-a-user + */ + "GET /users/{username}/hovercard": Operation<"/users/{username}/hovercard", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#get-a-user-installation-for-the-authenticated-app + */ + "GET /users/{username}/installation": Operation<"/users/{username}/installation", "get">; + /** + * @see https://docs.github.com/rest/reference/users#list-public-keys-for-a-user + */ + "GET /users/{username}/keys": Operation<"/users/{username}/keys", "get">; + /** + * @see https://docs.github.com/rest/reference/orgs#list-organizations-for-a-user + */ + "GET /users/{username}/orgs": Operation<"/users/{username}/orgs", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#list-packages-for-user + */ + "GET /users/{username}/packages": Operation<"/users/{username}/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-all-package-versions-for-a-package-owned-by-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/reference/packages#get-a-package-version-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/reference/projects#list-user-projects + */ + "GET /users/{username}/projects": Operation<"/users/{username}/projects", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-events-received-by-the-authenticated-user + */ + "GET /users/{username}/received_events": Operation<"/users/{username}/received_events", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-public-events-received-by-a-user + */ + "GET /users/{username}/received_events/public": Operation<"/users/{username}/received_events/public", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#list-repositories-for-a-user + */ + "GET /users/{username}/repos": Operation<"/users/{username}/repos", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-actions-billing-for-a-user + */ + "GET /users/{username}/settings/billing/actions": Operation<"/users/{username}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-github-packages-billing-for-a-user + */ + "GET /users/{username}/settings/billing/packages": Operation<"/users/{username}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/reference/billing#get-shared-storage-billing-for-a-user + */ + "GET /users/{username}/settings/billing/shared-storage": Operation<"/users/{username}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-starred-by-a-user + */ + "GET /users/{username}/starred": Operation<"/users/{username}/starred", "get">; + /** + * @see https://docs.github.com/rest/reference/activity#list-repositories-watched-by-a-user + */ + "GET /users/{username}/subscriptions": Operation<"/users/{username}/subscriptions", "get">; + /** + * @see + */ + "GET /zen": Operation<"/zen", "get">; + /** + * @see https://docs.github.com/rest/reference/apps#update-a-webhook-configuration-for-an-app + */ + "PATCH /app/hook/config": Operation<"/app/hook/config", "patch">; + /** + * @see https://docs.github.com/rest/reference/apps#reset-a-token + */ + "PATCH /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "patch">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#update-an-existing-authorization + */ + "PATCH /authorizations/{authorization_id}": Operation<"/authorizations/{authorization_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/actions#update-a-self-hosted-runner-group-for-an-enterprise + */ + "PATCH /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/gists/#update-a-gist + */ + "PATCH /gists/{gist_id}": Operation<"/gists/{gist_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/gists#update-a-gist-comment + */ + "PATCH /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-a-thread-as-read + */ + "PATCH /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs/#update-an-organization + */ + "PATCH /orgs/{org}": Operation<"/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization + */ + "PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-an-organization-webhook + */ + "PATCH /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-a-webhook-configuration-for-an-organization + */ + "PATCH /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-team + */ + "PATCH /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#link-external-idp-group-team-connection + */ + "PATCH /orgs/{org}/teams/{team_slug}/external-groups": Operation<"/orgs/{org}/teams/{team_slug}/external-groups", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections + */ + "PATCH /orgs/{org}/teams/{team_slug}/team-sync/group-mappings": Operation<"/orgs/{org}/teams/{team_slug}/team-sync/group-mappings", "patch">; + /** + * @see https://docs.github.com/rest/reference/projects#update-a-project-card + */ + "PATCH /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/projects#update-a-project-column + */ + "PATCH /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/projects#update-a-project + */ + "PATCH /projects/{project_id}": Operation<"/projects/{project_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos/#update-a-repository + */ + "PATCH /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-pull-request-review-protection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-status-check-protection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "patch">; + /** + * @see https://docs.github.com/rest/reference/checks#update-a-check-run + */ + "PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites + */ + "PATCH /repos/{owner}/{repo}/check-suites/preferences": Operation<"/repos/{owner}/{repo}/check-suites/preferences", "patch">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#update-a-code-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-commit-comment + */ + "PATCH /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/git#update-a-reference + */ + "PATCH /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-repository-webhook + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-webhook-configuration-for-a-repository + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#update-an-import + */ + "PATCH /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#map-a-commit-author + */ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}": Operation<"/repos/{owner}/{repo}/import/authors/{author_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/migrations#update-git-lfs-preference + */ + "PATCH /repos/{owner}/{repo}/import/lfs": Operation<"/repos/{owner}/{repo}/import/lfs", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-repository-invitation + */ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-an-issue-comment + */ + "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues/#update-an-issue + */ + "PATCH /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-a-label + */ + "PATCH /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "patch">; + /** + * @see https://docs.github.com/rest/reference/issues#update-a-milestone + */ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/pulls#update-a-review-comment-for-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/pulls/#update-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-release-asset + */ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#update-a-release + */ + "PATCH /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/secret-scanning#update-a-secret-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-group + */ + "PATCH /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#update-an-attribute-for-a-scim-enterprise-user + */ + "PATCH /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user + */ + "PATCH /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams/#update-a-team-legacy + */ + "PATCH /teams/{team_id}": Operation<"/teams/{team_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#update-a-discussion-comment-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections-legacy + */ + "PATCH /teams/{team_id}/team-sync/group-mappings": Operation<"/teams/{team_id}/team-sync/group-mappings", "patch">; + /** + * @see https://docs.github.com/rest/reference/users/#update-the-authenticated-user + */ + "PATCH /user": Operation<"/user", "patch">; + /** + * @see https://docs.github.com/rest/reference/codespaces#update-a-codespace-for-the-authenticated-user + */ + "PATCH /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "patch">; + /** + * @see https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user + */ + "PATCH /user/email/visibility": Operation<"/user/email/visibility", "patch">; + /** + * @see https://docs.github.com/rest/reference/orgs#update-an-organization-membership-for-the-authenticated-user + */ + "PATCH /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/reference/repos#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/apps#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/{code}/conversions": Operation<"/app-manifests/{code}/conversions", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#redeliver-a-delivery-for-an-app-webhook + */ + "POST /app/hook/deliveries/{delivery_id}/attempts": Operation<"/app/hook/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/reference/apps/#create-an-installation-access-token-for-an-app + */ + "POST /app/installations/{installation_id}/access_tokens": Operation<"/app/installations/{installation_id}/access_tokens", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#check-a-token + */ + "POST /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#create-a-scoped-access-token + */ + "POST /applications/{client_id}/token/scoped": Operation<"/applications/{client_id}/token/scoped", "post">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#create-a-new-authorization + */ + "POST /authorizations": Operation<"/authorizations", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-self-hosted-runner-group-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runner-groups": Operation<"/enterprises/{enterprise}/actions/runner-groups", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runners/registration-token": Operation<"/enterprises/{enterprise}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runners/remove-token": Operation<"/enterprises/{enterprise}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-enterprise + */ + "POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/gists#create-a-gist + */ + "POST /gists": Operation<"/gists", "post">; + /** + * @see https://docs.github.com/rest/reference/gists#create-a-gist-comment + */ + "POST /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/gists#fork-a-gist + */ + "POST /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "post">; + /** + * @see https://docs.github.com/rest/reference/markdown#render-a-markdown-document + */ + "POST /markdown": Operation<"/markdown", "post">; + /** + * @see https://docs.github.com/rest/reference/markdown#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": Operation<"/markdown/raw", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-self-hosted-runner-group-for-an-organization + */ + "POST /orgs/{org}/actions/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/registration-token": Operation<"/orgs/{org}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/remove-token": Operation<"/orgs/{org}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization + */ + "POST /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#create-an-organization-webhook + */ + "POST /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#redeliver-a-delivery-for-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#ping-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/pings": Operation<"/orgs/{org}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/reference/orgs#create-an-organization-invitation + */ + "POST /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces + */ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop", "post">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-an-organization-migration + */ + "POST /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-an-organization + */ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-an-organization + */ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-an-organization-project + */ + "POST /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-an-organization-repository + */ + "POST /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-team + */ + "POST /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#move-a-project-card + */ + "POST /projects/columns/cards/{card_id}/moves": Operation<"/projects/columns/cards/{card_id}/moves", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-project-card + */ + "POST /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#move-a-project-column + */ + "POST /projects/columns/{column_id}/moves": Operation<"/projects/columns/{column_id}/moves", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-project-column + */ + "POST /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#re-run-job-for-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-registration-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/registration-token": Operation<"/repos/{owner}/{repo}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-remove-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/remove-token": Operation<"/repos/{owner}/{repo}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#approve-a-workflow-run-for-a-fork-pull-request + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approve", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#cancel-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/cancel", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#review-pending-deployments-for-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#re-run-a-workflow + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#re-run-workflow-failed-jobs + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs", "post">; + /** + * @see https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event + */ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", "post">; + /** + * @see https://docs.github.com/v3/repos#create-an-autolink + */ + "POST /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#set-admin-branch-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-commit-signature-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-status-check-contexts + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-app-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-team-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#add-user-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#rename-a-branch + */ + "POST /repos/{owner}/{repo}/branches/{branch}/rename": Operation<"/repos/{owner}/{repo}/branches/{branch}/rename", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#create-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs": Operation<"/repos/{owner}/{repo}/check-runs", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#rerequest-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#create-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites": Operation<"/repos/{owner}/{repo}/check-suites", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#rerequest-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", "post">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#upload-a-sarif-file + */ + "POST /repos/{owner}/{repo}/code-scanning/sarifs": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-a-codespace-in-a-repository + */ + "POST /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-commit-comment + */ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-commit-comment + */ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/dependency-graph#create-a-snapshot-of-dependencies-for-a-repository + */ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots": Operation<"/repos/{owner}/{repo}/dependency-graph/snapshots", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deployment + */ + "POST /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deployment-status + */ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-dispatch-event + */ + "POST /repos/{owner}/{repo}/dispatches": Operation<"/repos/{owner}/{repo}/dispatches", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-fork + */ + "POST /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-blob + */ + "POST /repos/{owner}/{repo}/git/blobs": Operation<"/repos/{owner}/{repo}/git/blobs", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-commit + */ + "POST /repos/{owner}/{repo}/git/commits": Operation<"/repos/{owner}/{repo}/git/commits", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-reference + */ + "POST /repos/{owner}/{repo}/git/refs": Operation<"/repos/{owner}/{repo}/git/refs", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-tag-object + */ + "POST /repos/{owner}/{repo}/git/tags": Operation<"/repos/{owner}/{repo}/git/tags", "post">; + /** + * @see https://docs.github.com/rest/reference/git#create-a-tree + */ + "POST /repos/{owner}/{repo}/git/trees": Operation<"/repos/{owner}/{repo}/git/trees", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#redeliver-a-delivery-for-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#ping-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/pings": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#test-the-push-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/tests": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/tests", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-an-issue + */ + "POST /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#add-assignees-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#add-labels-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-deploy-key + */ + "POST /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-a-label + */ + "POST /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#sync-a-fork-branch-with-the-upstream-repository + */ + "POST /repos/{owner}/{repo}/merge-upstream": Operation<"/repos/{owner}/{repo}/merge-upstream", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#merge-a-branch + */ + "POST /repos/{owner}/{repo}/merges": Operation<"/repos/{owner}/{repo}/merges", "post">; + /** + * @see https://docs.github.com/rest/reference/issues#create-a-milestone + */ + "POST /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-github-pages-site + */ + "POST /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#request-a-github-pages-build + */ + "POST /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-repository-project + */ + "POST /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-a-codespace-from-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/codespaces", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-review-comment-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-reply-for-a-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#request-reviewers-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#create-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#submit-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-release + */ + "POST /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#generate-release-notes + */ + "POST /repos/{owner}/{repo}/releases/generate-notes": Operation<"/repos/{owner}/{repo}/releases/generate-notes", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-release + */ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-commit-status + */ + "POST /repos/{owner}/{repo}/statuses/{sha}": Operation<"/repos/{owner}/{repo}/statuses/{sha}", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-tag-protection-state-for-a-repository + */ + "POST /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#transfer-a-repository + */ + "POST /repos/{owner}/{repo}/transfer": Operation<"/repos/{owner}/{repo}/transfer", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-using-a-template + */ + "POST /repos/{template_owner}/{template_repo}/generate": Operation<"/repos/{template_owner}/{template_repo}/generate", "post">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#provision-a-scim-enterprise-group-and-invite-users + */ + "POST /scim/v2/enterprises/{enterprise}/Groups": Operation<"/scim/v2/enterprises/{enterprise}/Groups", "post">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#provision-and-invite-a-scim-enterprise-user + */ + "POST /scim/v2/enterprises/{enterprise}/Users": Operation<"/scim/v2/enterprises/{enterprise}/Users", "post">; + /** + * @see https://docs.github.com/rest/reference/scim#provision-and-invite-a-scim-user + */ + "POST /scim/v2/organizations/{org}/Users": Operation<"/scim/v2/organizations/{org}/Users", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-legacy + */ + "POST /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "post">; + /** + * @see https://docs.github.com/rest/reference/teams#create-a-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/reactions/#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces": Operation<"/user/codespaces", "post">; + /** + * @see + */ + "POST /user/codespaces/{codespace_name}/exports": Operation<"/user/codespaces/{codespace_name}/exports", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#start-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/start": Operation<"/user/codespaces/{codespace_name}/start", "post">; + /** + * @see https://docs.github.com/rest/reference/codespaces#stop-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/stop": Operation<"/user/codespaces/{codespace_name}/stop", "post">; + /** + * @see https://docs.github.com/rest/reference/users#add-an-email-address-for-the-authenticated-user + */ + "POST /user/emails": Operation<"/user/emails", "post">; + /** + * @see https://docs.github.com/rest/reference/users#create-a-gpg-key-for-the-authenticated-user + */ + "POST /user/gpg_keys": Operation<"/user/gpg_keys", "post">; + /** + * @see https://docs.github.com/rest/reference/users#create-a-public-ssh-key-for-the-authenticated-user + */ + "POST /user/keys": Operation<"/user/keys", "post">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-a-user-migration + */ + "POST /user/migrations": Operation<"/user/migrations", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-the-authenticated-user + */ + "POST /user/packages/{package_type}/{package_name}/restore{?token}": Operation<"/user/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-the-authenticated-user + */ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/projects#create-a-user-project + */ + "POST /user/projects": Operation<"/user/projects", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": Operation<"/user/repos", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/users/{username}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/packages#restore-a-package-version-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/reference/repos#upload-a-release-asset + */ + "POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "post">; + /** + * @see https://docs.github.com/rest/reference/apps#suspend-an-app-installation + */ + "PUT /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "put">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app + */ + "PUT /authorizations/clients/{client_id}": Operation<"/authorizations/clients/{client_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app-and-fingerprint + */ + "PUT /authorizations/clients/{client_id}/{fingerprint}": Operation<"/authorizations/clients/{client_id}/{fingerprint}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions/oidc#set-actions-oidc-custom-issuer-policy-for-enterprise + */ + "PUT /enterprises/{enterprise}/actions/oidc/customization/issuer": Operation<"/enterprises/{enterprise}/actions/oidc/customization/issuer", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions": Operation<"/enterprises/{enterprise}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-selected-organizations-enabled-for-github-actions-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/organizations": Operation<"/enterprises/{enterprise}/actions/permissions/organizations", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#enable-a-selected-organization-for-github-actions-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/permissions/organizations/{org_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/selected-actions": Operation<"/enterprises/{enterprise}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-default-workflow-permissions-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/permissions/workflow": Operation<"/enterprises/{enterprise}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-organization-access-to-a-self-hosted-runner-group-in-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels": Operation<"/enterprises/{enterprise}/actions/runners/{runner_id}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/gists#star-a-gist + */ + "PUT /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-notifications-as-read + */ + "PUT /notifications": Operation<"/notifications", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#set-a-thread-subscription + */ + "PUT /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "put">; + /** + * @see https://docs.github.com/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization + */ + "PUT /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#enable-a-selected-repository-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-default-workflow-permissions + */ + "PUT /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-repository-acess-to-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-organization + */ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#block-a-user-from-an-organization + */ + "PUT /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-an-organization + */ + "PUT /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#set-organization-membership-for-a-user + */ + "PUT /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator + */ + "PUT /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/orgs#set-public-organization-membership-for-the-authenticated-user + */ + "PUT /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user + */ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-repository-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/reference/projects#add-project-collaborator + */ + "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-github-actions-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-workflow-access-to-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-allowed-actions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-default-workflow-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#disable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#enable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#enable-automated-security-fixes + */ + "PUT /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#update-branch-protection + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-status-check-contexts + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-app-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-team-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#set-user-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#add-a-repository-collaborator + */ + "PUT /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#create-or-update-file-contents + */ + "PUT /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#create-or-update-an-environment + */ + "PUT /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/migrations#start-an-import + */ + "PUT /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/issues#set-labels-for-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/issues#lock-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#enable-git-lfs-for-a-repository + */ + "PUT /repos/{owner}/{repo}/lfs": Operation<"/repos/{owner}/{repo}/lfs", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#mark-repository-notifications-as-read + */ + "PUT /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#update-information-about-a-github-pages-site + */ + "PUT /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#merge-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#update-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#dismiss-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", "put">; + /** + * @see https://docs.github.com/rest/reference/pulls#update-a-pull-request-branch + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/update-branch", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#set-a-repository-subscription + */ + "PUT /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#replace-all-repository-topics + */ + "PUT /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "put">; + /** + * @see https://docs.github.com/rest/reference/repos#enable-vulnerability-alerts + */ + "PUT /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-an-environment-secret + */ + "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-group + */ + "PUT /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": Operation<"/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/enterprise-admin#set-scim-information-for-a-provisioned-enterprise-user + */ + "PUT /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": Operation<"/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/scim#set-scim-information-for-a-provisioned-user + */ + "PUT /scim/v2/organizations/{org}/Users/{scim_user_id}": Operation<"/scim/v2/organizations/{org}/Users/{scim_user_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-team-member-legacy + */ + "PUT /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user-legacy + */ + "PUT /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-project-permissions-legacy + */ + "PUT /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/teams/#add-or-update-team-repository-permissions-legacy + */ + "PUT /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/reference/users#block-a-user + */ + "PUT /user/blocks/{username}": Operation<"/user/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#create-or-update-a-secret-for-the-authenticated-user + */ + "PUT /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#set-selected-repositories-for-a-user-secret + */ + "PUT /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/reference/codespaces#add-a-selected-repository-to-a-user-secret + */ + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/users#follow-a-user + */ + "PUT /user/following/{username}": Operation<"/user/following/{username}", "put">; + /** + * @see https://docs.github.com/rest/reference/apps#add-a-repository-to-an-app-installation + */ + "PUT /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/interactions#set-interaction-restrictions-for-your-public-repositories + */ + "PUT /user/interaction-limits": Operation<"/user/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/reference/activity#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "put">; +} +export {}; diff --git a/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 0000000..004ae9b --- /dev/null +++ b/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,21 @@ +export * from "./AuthInterface"; +export * from "./EndpointDefaults"; +export * from "./EndpointInterface"; +export * from "./EndpointOptions"; +export * from "./Fetch"; +export * from "./OctokitResponse"; +export * from "./RequestError"; +export * from "./RequestHeaders"; +export * from "./RequestInterface"; +export * from "./RequestMethod"; +export * from "./RequestOptions"; +export * from "./RequestParameters"; +export * from "./RequestRequestOptions"; +export * from "./ResponseHeaders"; +export * from "./Route"; +export * from "./Signal"; +export * from "./StrategyInterface"; +export * from "./Url"; +export * from "./VERSION"; +export * from "./GetResponseTypeFromEndpointMethod"; +export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/types/dist-web/index.js b/node_modules/@octokit/types/dist-web/index.js new file mode 100644 index 0000000..b1b47d5 --- /dev/null +++ b/node_modules/@octokit/types/dist-web/index.js @@ -0,0 +1,4 @@ +const VERSION = "6.41.0"; + +export { VERSION }; +//# sourceMappingURL=index.js.map diff --git a/node_modules/@octokit/types/dist-web/index.js.map b/node_modules/@octokit/types/dist-web/index.js.map new file mode 100644 index 0000000..cd0e254 --- /dev/null +++ b/node_modules/@octokit/types/dist-web/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sources":["../dist-src/VERSION.js"],"sourcesContent":["export const VERSION = \"0.0.0-development\";\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"} \ No newline at end of file diff --git a/node_modules/@octokit/types/package.json b/node_modules/@octokit/types/package.json new file mode 100644 index 0000000..960747f --- /dev/null +++ b/node_modules/@octokit/types/package.json @@ -0,0 +1,54 @@ +{ + "name": "@octokit/types", + "description": "Shared TypeScript definitions for Octokit projects", + "version": "6.41.0", + "license": "MIT", + "files": [ + "dist-*/", + "bin/" + ], + "source": "dist-src/index.js", + "types": "dist-types/index.d.ts", + "octokit": { + "openapi-version": "6.8.0" + }, + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "pika": true, + "sideEffects": false, + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "repository": "github:octokit/types.ts", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + }, + "devDependencies": { + "@pika/pack": "^0.3.7", + "@pika/plugin-build-node": "^0.9.0", + "@pika/plugin-build-web": "^0.9.0", + "@pika/plugin-ts-standard-pkg": "^0.9.0", + "@types/node": ">= 8", + "github-openapi-graphql-query": "^2.0.0", + "handlebars": "^4.7.6", + "json-schema-to-typescript": "^11.0.0", + "lodash.set": "^4.3.2", + "npm-run-all": "^4.1.5", + "pascal-case": "^3.1.1", + "pika-plugin-merge-properties": "^1.0.6", + "prettier": "^2.0.0", + "semantic-release": "^19.0.3", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sort-keys": "^4.2.0", + "string-to-jsdoc-comment": "^1.0.0", + "typedoc": "^0.23.0", + "typescript": "^4.0.2" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/node_modules/@types/node/LICENSE b/node_modules/@types/node/LICENSE new file mode 100644 index 0000000..9e841e7 --- /dev/null +++ b/node_modules/@types/node/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. + + 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..0a6d38a --- /dev/null +++ b/node_modules/@types/node/README.md @@ -0,0 +1,15 @@ +# Installation +> `npm install --save @types/node` + +# Summary +This package contains type definitions for node (https://nodejs.org/). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node. + +### Additional Details + * Last updated: Wed, 10 Jun 2026 22:15:09 GMT + * Dependencies: [undici-types](https://npmjs.com/package/undici-types) + +# Credits +These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [Alberto Schiabel](https://github.com/jkomyno), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [David Junger](https://github.com/touffy), [Mohsen Azimi](https://github.com/mohsen1), [Nikita Galkin](https://github.com/galkin), [Sebastian Silbermann](https://github.com/eps1lon), [Wilco Bakker](https://github.com/WilcoBakker), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), [Dmitry Semigradsky](https://github.com/Semigradsky), [René](https://github.com/Renegade334), and [Yagiz Nizipli](https://github.com/anonrig). diff --git a/node_modules/@types/node/assert.d.ts b/node_modules/@types/node/assert.d.ts new file mode 100644 index 0000000..c4cc77e --- /dev/null +++ b/node_modules/@types/node/assert.d.ts @@ -0,0 +1,950 @@ +declare module "node:assert" { + import strict = require("node:assert/strict"); + /** + * An alias of {@link assert.ok}. + * @since v0.5.9 + * @param value The input that is checked for being truthy. + */ + function assert(value: unknown, message?: string | Error): asserts value; + const kOptions: unique symbol; + namespace assert { + type AssertMethodNames = + | "deepEqual" + | "deepStrictEqual" + | "doesNotMatch" + | "doesNotReject" + | "doesNotThrow" + | "equal" + | "fail" + | "ifError" + | "match" + | "notDeepEqual" + | "notDeepStrictEqual" + | "notEqual" + | "notStrictEqual" + | "ok" + | "partialDeepStrictEqual" + | "rejects" + | "strictEqual" + | "throws"; + interface AssertOptions { + /** + * If set to `'full'`, shows the full diff in assertion errors. + * @default 'simple' + */ + diff?: "simple" | "full" | undefined; + /** + * If set to `true`, non-strict methods behave like their + * corresponding strict methods. + * @default true + */ + strict?: boolean | undefined; + /** + * If set to `true`, skips prototype and constructor + * comparison in deep equality checks. + * @since v24.9.0 + * @default false + */ + skipPrototype?: boolean | undefined; + } + interface Assert extends Pick { + readonly [kOptions]: AssertOptions & { strict: false }; + } + interface AssertStrict extends Pick { + readonly [kOptions]: AssertOptions & { strict: true }; + } + /** + * The `Assert` class allows creating independent assertion instances with custom options. + * @since v24.6.0 + */ + var Assert: { + /** + * Creates a new assertion instance. The `diff` option controls the verbosity of diffs in assertion error messages. + * + * ```js + * const { Assert } = require('node:assert'); + * const assertInstance = new Assert({ diff: 'full' }); + * assertInstance.deepStrictEqual({ a: 1 }, { a: 2 }); + * // Shows a full diff in the error message. + * ``` + * + * **Important**: When destructuring assertion methods from an `Assert` instance, + * the methods lose their connection to the instance's configuration options (such + * as `diff`, `strict`, and `skipPrototype` settings). + * The destructured methods will fall back to default behavior instead. + * + * ```js + * const myAssert = new Assert({ diff: 'full' }); + * + * // This works as expected - uses 'full' diff + * myAssert.strictEqual({ a: 1 }, { b: { c: 1 } }); + * + * // This loses the 'full' diff setting - falls back to default 'simple' diff + * const { strictEqual } = myAssert; + * strictEqual({ a: 1 }, { b: { c: 1 } }); + * ``` + * + * The `skipPrototype` option affects all deep equality methods: + * + * ```js + * class Foo { + * constructor(a) { + * this.a = a; + * } + * } + * + * class Bar { + * constructor(a) { + * this.a = a; + * } + * } + * + * const foo = new Foo(1); + * const bar = new Bar(1); + * + * // Default behavior - fails due to different constructors + * const assert1 = new Assert(); + * assert1.deepStrictEqual(foo, bar); // AssertionError + * + * // Skip prototype comparison - passes if properties are equal + * const assert2 = new Assert({ skipPrototype: true }); + * assert2.deepStrictEqual(foo, bar); // OK + * ``` + * + * When destructured, methods lose access to the instance's `this` context and revert to default assertion behavior + * (diff: 'simple', non-strict mode). + * To maintain custom options when using destructured methods, avoid + * destructuring and call methods directly on the instance. + * @since v24.6.0 + */ + new( + options?: AssertOptions & { strict?: true | undefined }, + ): AssertStrict; + new( + options: AssertOptions, + ): Assert; + }; + interface AssertionErrorOptions { + /** + * If provided, the error message is set to this value. + */ + message?: string | undefined; + /** + * The `actual` property on the error instance. + */ + actual?: unknown; + /** + * The `expected` property on the error instance. + */ + expected?: unknown; + /** + * The `operator` property on the error instance. + */ + operator?: string | undefined; + /** + * If provided, the generated stack trace omits frames before this function. + */ + stackStartFn?: Function | undefined; + /** + * If set to `'full'`, shows the full diff in assertion errors. + * @default 'simple' + */ + diff?: "simple" | "full" | undefined; + } + /** + * Indicates the failure of an assertion. All errors thrown by the `node:assert` module will be instances of the `AssertionError` class. + */ + class AssertionError extends Error { + constructor(options: AssertionErrorOptions); + /** + * Set to the `actual` argument for methods such as {@link assert.strictEqual()}. + */ + actual: unknown; + /** + * Set to the `expected` argument for methods such as {@link assert.strictEqual()}. + */ + expected: unknown; + /** + * Indicates if the message was auto-generated (`true`) or not. + */ + generatedMessage: boolean; + /** + * Value is always `ERR_ASSERTION` to show that the error is an assertion error. + */ + code: "ERR_ASSERTION"; + /** + * Set to the passed in operator value. + */ + operator: string; + } + type AssertPredicate = RegExp | (new() => object) | ((thrown: unknown) => boolean) | object | Error; + /** + * Throws an `AssertionError` with the provided error message or a default + * error message. If the `message` parameter is an instance of an `Error` then + * it will be thrown instead of the `AssertionError`. + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.fail(); + * // AssertionError [ERR_ASSERTION]: Failed + * + * assert.fail('boom'); + * // AssertionError [ERR_ASSERTION]: boom + * + * assert.fail(new TypeError('need array')); + * // TypeError: need array + * ``` + * @since v0.1.21 + * @param [message='Failed'] + */ + function fail(message?: string | Error): never; + /** + * Tests if `value` is truthy. It is equivalent to `assert.equal(!!value, true, message)`. + * + * If `value` is not truthy, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is `undefined`, a default + * error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown instead of the `AssertionError`. + * If no arguments are passed in at all `message` will be set to the string:`` 'No value argument passed to `assert.ok()`' ``. + * + * Be aware that in the `repl` the error message will be different to the one + * thrown in a file! See below for further details. + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.ok(true); + * // OK + * assert.ok(1); + * // OK + * + * assert.ok(); + * // AssertionError: No value argument passed to `assert.ok()` + * + * assert.ok(false, 'it\'s false'); + * // AssertionError: it's false + * + * // In the repl: + * assert.ok(typeof 123 === 'string'); + * // AssertionError: false == true + * + * // In a file (e.g. test.js): + * assert.ok(typeof 123 === 'string'); + * // AssertionError: The expression evaluated to a falsy value: + * // + * // assert.ok(typeof 123 === 'string') + * + * assert.ok(false); + * // AssertionError: The expression evaluated to a falsy value: + * // + * // assert.ok(false) + * + * assert.ok(0); + * // AssertionError: The expression evaluated to a falsy value: + * // + * // assert.ok(0) + * ``` + * + * ```js + * import assert from 'node:assert/strict'; + * + * // Using `assert()` works the same: + * assert(2 + 2 > 5);; + * // AssertionError: The expression evaluated to a falsy value: + * // + * // assert(2 + 2 > 5) + * ``` + * @since v0.1.21 + */ + function ok(value: unknown, message?: string | Error): asserts value; + /** + * **Strict assertion mode** + * + * An alias of {@link strictEqual}. + * + * **Legacy assertion mode** + * + * > Stability: 3 - Legacy: Use {@link strictEqual} instead. + * + * Tests shallow, coercive equality between the `actual` and `expected` parameters + * using the [`==` operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Equality). `NaN` is specially handled + * and treated as being identical if both sides are `NaN`. + * + * ```js + * import assert from 'node:assert'; + * + * assert.equal(1, 1); + * // OK, 1 == 1 + * assert.equal(1, '1'); + * // OK, 1 == '1' + * assert.equal(NaN, NaN); + * // OK + * + * assert.equal(1, 2); + * // AssertionError: 1 == 2 + * assert.equal({ a: { b: 1 } }, { a: { b: 1 } }); + * // AssertionError: { a: { b: 1 } } == { a: { b: 1 } } + * ``` + * + * If the values are not equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default + * error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown instead of the `AssertionError`. + * @since v0.1.21 + */ + function equal(actual: unknown, expected: unknown, message?: string | Error): void; + /** + * **Strict assertion mode** + * + * An alias of {@link notStrictEqual}. + * + * **Legacy assertion mode** + * + * > Stability: 3 - Legacy: Use {@link notStrictEqual} instead. + * + * Tests shallow, coercive inequality with the [`!=` operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Inequality). `NaN` is + * specially handled and treated as being identical if both sides are `NaN`. + * + * ```js + * import assert from 'node:assert'; + * + * assert.notEqual(1, 2); + * // OK + * + * assert.notEqual(1, 1); + * // AssertionError: 1 != 1 + * + * assert.notEqual(1, '1'); + * // AssertionError: 1 != '1' + * ``` + * + * If the values are equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default error + * message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown instead of the `AssertionError`. + * @since v0.1.21 + */ + function notEqual(actual: unknown, expected: unknown, message?: string | Error): void; + /** + * **Strict assertion mode** + * + * An alias of {@link deepStrictEqual}. + * + * **Legacy assertion mode** + * + * > Stability: 3 - Legacy: Use {@link deepStrictEqual} instead. + * + * Tests for deep equality between the `actual` and `expected` parameters. Consider + * using {@link deepStrictEqual} instead. {@link deepEqual} can have + * surprising results. + * + * _Deep equality_ means that the enumerable "own" properties of child objects + * are also recursively evaluated by the following rules. + * @since v0.1.21 + */ + function deepEqual(actual: unknown, expected: unknown, message?: string | Error): void; + /** + * **Strict assertion mode** + * + * An alias of {@link notDeepStrictEqual}. + * + * **Legacy assertion mode** + * + * > Stability: 3 - Legacy: Use {@link notDeepStrictEqual} instead. + * + * Tests for any deep inequality. Opposite of {@link deepEqual}. + * + * ```js + * import assert from 'node:assert'; + * + * const obj1 = { + * a: { + * b: 1, + * }, + * }; + * const obj2 = { + * a: { + * b: 2, + * }, + * }; + * const obj3 = { + * a: { + * b: 1, + * }, + * }; + * const obj4 = { __proto__: obj1 }; + * + * assert.notDeepEqual(obj1, obj1); + * // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } } + * + * assert.notDeepEqual(obj1, obj2); + * // OK + * + * assert.notDeepEqual(obj1, obj3); + * // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } } + * + * assert.notDeepEqual(obj1, obj4); + * // OK + * ``` + * + * If the values are deeply equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default + * error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown + * instead of the `AssertionError`. + * @since v0.1.21 + */ + function notDeepEqual(actual: unknown, expected: unknown, message?: string | Error): void; + /** + * Tests strict equality between the `actual` and `expected` parameters as + * determined by [`Object.is()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is). + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.strictEqual(1, 2); + * // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal: + * // + * // 1 !== 2 + * + * assert.strictEqual(1, 1); + * // OK + * + * assert.strictEqual('Hello foobar', 'Hello World!'); + * // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal: + * // + actual - expected + * // + * // + 'Hello foobar' + * // - 'Hello World!' + * // ^ + * + * const apples = 1; + * const oranges = 2; + * assert.strictEqual(apples, oranges, `apples ${apples} !== oranges ${oranges}`); + * // AssertionError [ERR_ASSERTION]: apples 1 !== oranges 2 + * + * assert.strictEqual(1, '1', new TypeError('Inputs are not identical')); + * // TypeError: Inputs are not identical + * ``` + * + * If the values are not strictly equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a + * default error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown + * instead of the `AssertionError`. + * @since v0.1.21 + */ + function strictEqual(actual: unknown, expected: T, message?: string | Error): asserts actual is T; + /** + * Tests strict inequality between the `actual` and `expected` parameters as + * determined by [`Object.is()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is). + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.notStrictEqual(1, 2); + * // OK + * + * assert.notStrictEqual(1, 1); + * // AssertionError [ERR_ASSERTION]: Expected "actual" to be strictly unequal to: + * // + * // 1 + * + * assert.notStrictEqual(1, '1'); + * // OK + * ``` + * + * If the values are strictly equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a + * default error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown + * instead of the `AssertionError`. + * @since v0.1.21 + */ + function notStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void; + /** + * Tests for deep equality between the `actual` and `expected` parameters. + * "Deep" equality means that the enumerable "own" properties of child objects + * are recursively evaluated also by the following rules. + * @since v1.2.0 + */ + function deepStrictEqual(actual: unknown, expected: T, message?: string | Error): asserts actual is T; + /** + * Tests for deep strict inequality. Opposite of {@link deepStrictEqual}. + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.notDeepStrictEqual({ a: 1 }, { a: '1' }); + * // OK + * ``` + * + * If the values are deeply and strictly equal, an `AssertionError` is thrown + * with a `message` property set equal to the value of the `message` parameter. If + * the `message` parameter is undefined, a default error message is assigned. If + * the `message` parameter is an instance of an `Error` then it will be thrown + * instead of the `AssertionError`. + * @since v1.2.0 + */ + function notDeepStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void; + /** + * Expects the function `fn` to throw an error. + * + * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes), + * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), a validation function, + * a validation object where each property will be tested for strict deep equality, + * or an instance of error where each property will be tested for strict deep + * equality including the non-enumerable `message` and `name` properties. When + * using an object, it is also possible to use a regular expression, when + * validating against a string property. See below for examples. + * + * If specified, `message` will be appended to the message provided by the `AssertionError` if the `fn` call fails to throw or in case the error validation + * fails. + * + * Custom validation object/error instance: + * + * ```js + * import assert from 'node:assert/strict'; + * + * const err = new TypeError('Wrong value'); + * err.code = 404; + * err.foo = 'bar'; + * err.info = { + * nested: true, + * baz: 'text', + * }; + * err.reg = /abc/i; + * + * assert.throws( + * () => { + * throw err; + * }, + * { + * name: 'TypeError', + * message: 'Wrong value', + * info: { + * nested: true, + * baz: 'text', + * }, + * // Only properties on the validation object will be tested for. + * // Using nested objects requires all properties to be present. Otherwise + * // the validation is going to fail. + * }, + * ); + * + * // Using regular expressions to validate error properties: + * assert.throws( + * () => { + * throw err; + * }, + * { + * // The `name` and `message` properties are strings and using regular + * // expressions on those will match against the string. If they fail, an + * // error is thrown. + * name: /^TypeError$/, + * message: /Wrong/, + * foo: 'bar', + * info: { + * nested: true, + * // It is not possible to use regular expressions for nested properties! + * baz: 'text', + * }, + * // The `reg` property contains a regular expression and only if the + * // validation object contains an identical regular expression, it is going + * // to pass. + * reg: /abc/i, + * }, + * ); + * + * // Fails due to the different `message` and `name` properties: + * assert.throws( + * () => { + * const otherErr = new Error('Not found'); + * // Copy all enumerable properties from `err` to `otherErr`. + * for (const [key, value] of Object.entries(err)) { + * otherErr[key] = value; + * } + * throw otherErr; + * }, + * // The error's `message` and `name` properties will also be checked when using + * // an error as validation object. + * err, + * ); + * ``` + * + * Validate instanceof using constructor: + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.throws( + * () => { + * throw new Error('Wrong value'); + * }, + * Error, + * ); + * ``` + * + * Validate error message using [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions): + * + * Using a regular expression runs `.toString` on the error object, and will + * therefore also include the error name. + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.throws( + * () => { + * throw new Error('Wrong value'); + * }, + * /^Error: Wrong value$/, + * ); + * ``` + * + * Custom error validation: + * + * The function must return `true` to indicate all internal validations passed. + * It will otherwise fail with an `AssertionError`. + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.throws( + * () => { + * throw new Error('Wrong value'); + * }, + * (err) => { + * assert(err instanceof Error); + * assert(/value/.test(err)); + * // Avoid returning anything from validation functions besides `true`. + * // Otherwise, it's not clear what part of the validation failed. Instead, + * // throw an error about the specific validation that failed (as done in this + * // example) and add as much helpful debugging information to that error as + * // possible. + * return true; + * }, + * 'unexpected error', + * ); + * ``` + * + * `error` cannot be a string. If a string is provided as the second + * argument, then `error` is assumed to be omitted and the string will be used for `message` instead. This can lead to easy-to-miss mistakes. Using the same + * message as the thrown error message is going to result in an `ERR_AMBIGUOUS_ARGUMENT` error. Please read the example below carefully if using + * a string as the second argument gets considered: + * + * ```js + * import assert from 'node:assert/strict'; + * + * function throwingFirst() { + * throw new Error('First'); + * } + * + * function throwingSecond() { + * throw new Error('Second'); + * } + * + * function notThrowing() {} + * + * // The second argument is a string and the input function threw an Error. + * // The first case will not throw as it does not match for the error message + * // thrown by the input function! + * assert.throws(throwingFirst, 'Second'); + * // In the next example the message has no benefit over the message from the + * // error and since it is not clear if the user intended to actually match + * // against the error message, Node.js throws an `ERR_AMBIGUOUS_ARGUMENT` error. + * assert.throws(throwingSecond, 'Second'); + * // TypeError [ERR_AMBIGUOUS_ARGUMENT] + * + * // The string is only used (as message) in case the function does not throw: + * assert.throws(notThrowing, 'Second'); + * // AssertionError [ERR_ASSERTION]: Missing expected exception: Second + * + * // If it was intended to match for the error message do this instead: + * // It does not throw because the error messages match. + * assert.throws(throwingSecond, /Second$/); + * + * // If the error message does not match, an AssertionError is thrown. + * assert.throws(throwingFirst, /Second$/); + * // AssertionError [ERR_ASSERTION] + * ``` + * + * Due to the confusing error-prone notation, avoid a string as the second + * argument. + * @since v0.1.21 + */ + function throws(block: () => unknown, message?: string | Error): void; + function throws(block: () => unknown, error: AssertPredicate, message?: string | Error): void; + /** + * Asserts that the function `fn` does not throw an error. + * + * Using `assert.doesNotThrow()` is actually not useful because there + * is no benefit in catching an error and then rethrowing it. Instead, consider + * adding a comment next to the specific code path that should not throw and keep + * error messages as expressive as possible. + * + * When `assert.doesNotThrow()` is called, it will immediately call the `fn` function. + * + * If an error is thrown and it is the same type as that specified by the `error` parameter, then an `AssertionError` is thrown. If the error is of a + * different type, or if the `error` parameter is undefined, the error is + * propagated back to the caller. + * + * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes), + * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), or a validation + * function. See {@link throws} for more details. + * + * The following, for instance, will throw the `TypeError` because there is no + * matching error type in the assertion: + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.doesNotThrow( + * () => { + * throw new TypeError('Wrong value'); + * }, + * SyntaxError, + * ); + * ``` + * + * However, the following will result in an `AssertionError` with the message + * 'Got unwanted exception...': + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.doesNotThrow( + * () => { + * throw new TypeError('Wrong value'); + * }, + * TypeError, + * ); + * ``` + * + * If an `AssertionError` is thrown and a value is provided for the `message` parameter, the value of `message` will be appended to the `AssertionError` message: + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.doesNotThrow( + * () => { + * throw new TypeError('Wrong value'); + * }, + * /Wrong value/, + * 'Whoops', + * ); + * // Throws: AssertionError: Got unwanted exception: Whoops + * ``` + * @since v0.1.21 + */ + function doesNotThrow(block: () => unknown, message?: string | Error): void; + function doesNotThrow(block: () => unknown, error: AssertPredicate, message?: string | Error): void; + /** + * Throws `value` if `value` is not `undefined` or `null`. This is useful when + * testing the `error` argument in callbacks. The stack trace contains all frames + * from the error passed to `ifError()` including the potential new frames for `ifError()` itself. + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.ifError(null); + * // OK + * assert.ifError(0); + * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: 0 + * assert.ifError('error'); + * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: 'error' + * assert.ifError(new Error()); + * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: Error + * + * // Create some random error frames. + * let err; + * (function errorFrame() { + * err = new Error('test error'); + * })(); + * + * (function ifErrorFrame() { + * assert.ifError(err); + * })(); + * // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: test error + * // at ifErrorFrame + * // at errorFrame + * ``` + * @since v0.1.97 + */ + function ifError(value: unknown): asserts value is null | undefined; + /** + * Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately + * calls the function and awaits the returned promise to complete. It will then + * check that the promise is rejected. + * + * If `asyncFn` is a function and it throws an error synchronously, `assert.rejects()` will return a rejected `Promise` with that error. If the + * function does not return a promise, `assert.rejects()` will return a rejected `Promise` with an [ERR_INVALID_RETURN_VALUE](https://nodejs.org/docs/latest-v25.x/api/errors.html#err_invalid_return_value) + * error. In both cases the error handler is skipped. + * + * Besides the async nature to await the completion behaves identically to {@link throws}. + * + * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes), + * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), a validation function, + * an object where each property will be tested for, or an instance of error where + * each property will be tested for including the non-enumerable `message` and `name` properties. + * + * If specified, `message` will be the message provided by the `{@link AssertionError}` if the `asyncFn` fails to reject. + * + * ```js + * import assert from 'node:assert/strict'; + * + * await assert.rejects( + * async () => { + * throw new TypeError('Wrong value'); + * }, + * { + * name: 'TypeError', + * message: 'Wrong value', + * }, + * ); + * ``` + * + * ```js + * import assert from 'node:assert/strict'; + * + * await assert.rejects( + * async () => { + * throw new TypeError('Wrong value'); + * }, + * (err) => { + * assert.strictEqual(err.name, 'TypeError'); + * assert.strictEqual(err.message, 'Wrong value'); + * return true; + * }, + * ); + * ``` + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.rejects( + * Promise.reject(new Error('Wrong value')), + * Error, + * ).then(() => { + * // ... + * }); + * ``` + * + * `error` cannot be a string. If a string is provided as the second argument, then `error` is assumed to + * be omitted and the string will be used for `message` instead. This can lead to easy-to-miss mistakes. Please read the + * example in {@link throws} carefully if using a string as the second argument gets considered. + * @since v10.0.0 + */ + function rejects(block: (() => Promise) | Promise, message?: string | Error): Promise; + function rejects( + block: (() => Promise) | Promise, + error: AssertPredicate, + message?: string | Error, + ): Promise; + /** + * Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately + * calls the function and awaits the returned promise to complete. It will then + * check that the promise is not rejected. + * + * If `asyncFn` is a function and it throws an error synchronously, `assert.doesNotReject()` will return a rejected `Promise` with that error. If + * the function does not return a promise, `assert.doesNotReject()` will return a + * rejected `Promise` with an [ERR_INVALID_RETURN_VALUE](https://nodejs.org/docs/latest-v25.x/api/errors.html#err_invalid_return_value) error. In both cases + * the error handler is skipped. + * + * Using `assert.doesNotReject()` is actually not useful because there is little + * benefit in catching a rejection and then rejecting it again. Instead, consider + * adding a comment next to the specific code path that should not reject and keep + * error messages as expressive as possible. + * + * If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes), + * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), or a validation + * function. See {@link throws} for more details. + * + * Besides the async nature to await the completion behaves identically to {@link doesNotThrow}. + * + * ```js + * import assert from 'node:assert/strict'; + * + * await assert.doesNotReject( + * async () => { + * throw new TypeError('Wrong value'); + * }, + * SyntaxError, + * ); + * ``` + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.doesNotReject(Promise.reject(new TypeError('Wrong value'))) + * .then(() => { + * // ... + * }); + * ``` + * @since v10.0.0 + */ + function doesNotReject( + block: (() => Promise) | Promise, + message?: string | Error, + ): Promise; + function doesNotReject( + block: (() => Promise) | Promise, + error: AssertPredicate, + message?: string | Error, + ): Promise; + /** + * Expects the `string` input to match the regular expression. + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.match('I will fail', /pass/); + * // AssertionError [ERR_ASSERTION]: The input did not match the regular ... + * + * assert.match(123, /pass/); + * // AssertionError [ERR_ASSERTION]: The "string" argument must be of type string. + * + * assert.match('I will pass', /pass/); + * // OK + * ``` + * + * If the values do not match, or if the `string` argument is of another type than `string`, an `{@link AssertionError}` is thrown with a `message` property set equal + * to the value of the `message` parameter. If the `message` parameter is + * undefined, a default error message is assigned. If the `message` parameter is an + * instance of an [Error](https://nodejs.org/docs/latest-v25.x/api/errors.html#class-error) then it will be thrown instead of the `{@link AssertionError}`. + * @since v13.6.0, v12.16.0 + */ + function match(value: string, regExp: RegExp, message?: string | Error): void; + /** + * Expects the `string` input not to match the regular expression. + * + * ```js + * import assert from 'node:assert/strict'; + * + * assert.doesNotMatch('I will fail', /fail/); + * // AssertionError [ERR_ASSERTION]: The input was expected to not match the ... + * + * assert.doesNotMatch(123, /pass/); + * // AssertionError [ERR_ASSERTION]: The "string" argument must be of type string. + * + * assert.doesNotMatch('I will pass', /different/); + * // OK + * ``` + * + * If the values do match, or if the `string` argument is of another type than `string`, an `{@link AssertionError}` is thrown with a `message` property set equal + * to the value of the `message` parameter. If the `message` parameter is + * undefined, a default error message is assigned. If the `message` parameter is an + * instance of an [Error](https://nodejs.org/docs/latest-v25.x/api/errors.html#class-error) then it will be thrown instead of the `{@link AssertionError}`. + * @since v13.6.0, v12.16.0 + */ + function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void; + /** + * Tests for partial deep equality between the `actual` and `expected` parameters. + * "Deep" equality means that the enumerable "own" properties of child objects + * are recursively evaluated also by the following rules. "Partial" equality means + * that only properties that exist on the `expected` parameter are going to be + * compared. + * + * This method always passes the same test cases as `assert.deepStrictEqual()`, + * behaving as a super set of it. + * @since v22.13.0 + */ + function partialDeepStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void; + } + namespace assert { + export { strict }; + } + export = assert; +} +declare module "assert" { + import assert = require("node:assert"); + export = assert; +} diff --git a/node_modules/@types/node/assert/strict.d.ts b/node_modules/@types/node/assert/strict.d.ts new file mode 100644 index 0000000..7a9dcf5 --- /dev/null +++ b/node_modules/@types/node/assert/strict.d.ts @@ -0,0 +1,59 @@ +declare module "node:assert/strict" { + import { + Assert, + AssertionError, + AssertionErrorOptions, + AssertOptions, + AssertPredicate, + AssertStrict, + deepStrictEqual, + doesNotMatch, + doesNotReject, + doesNotThrow, + fail, + ifError, + match, + notDeepStrictEqual, + notStrictEqual, + ok, + partialDeepStrictEqual, + rejects, + strictEqual, + throws, + } from "node:assert"; + function strict(value: unknown, message?: string | Error): asserts value; + namespace strict { + export { + Assert, + AssertionError, + AssertionErrorOptions, + AssertOptions, + AssertPredicate, + AssertStrict, + deepStrictEqual, + deepStrictEqual as deepEqual, + doesNotMatch, + doesNotReject, + doesNotThrow, + fail, + ifError, + match, + notDeepStrictEqual, + notDeepStrictEqual as notDeepEqual, + notStrictEqual, + notStrictEqual as notEqual, + ok, + partialDeepStrictEqual, + rejects, + strict, + strictEqual, + strictEqual as equal, + throws, + }; + } + export = strict; +} +declare module "assert/strict" { + import strict = require("node:assert/strict"); + export = strict; +} 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..ac857ad --- /dev/null +++ b/node_modules/@types/node/async_hooks.d.ts @@ -0,0 +1,711 @@ +declare module "node:async_hooks" { + /** + * ```js + * import { executionAsyncId } from 'node:async_hooks'; + * import fs from 'node:fs'; + * + * console.log(executionAsyncId()); // 1 - bootstrap + * const path = '.'; + * fs.open(path, 'r', (err, fd) => { + * console.log(executionAsyncId()); // 6 - open() + * }); + * ``` + * + * The ID returned from `executionAsyncId()` is related to execution timing, not + * causality (which is covered by `triggerAsyncId()`): + * + * ```js + * const server = net.createServer((conn) => { + * // Returns the ID of the server, not of the new connection, because the + * // callback runs in the execution scope of the server's MakeCallback(). + * async_hooks.executionAsyncId(); + * + * }).listen(port, () => { + * // Returns the ID of a TickObject (process.nextTick()) because all + * // callbacks passed to .listen() are wrapped in a nextTick(). + * async_hooks.executionAsyncId(); + * }); + * ``` + * + * Promise contexts may not get precise `executionAsyncIds` by default. + * See the section on [promise execution tracking](https://nodejs.org/docs/latest-v25.x/api/async_hooks.html#promise-execution-tracking). + * @since v8.1.0 + * @return The `asyncId` of the current execution context. Useful to track when something calls. + */ + function executionAsyncId(): number; + /** + * Resource objects returned by `executionAsyncResource()` are most often internal + * Node.js handle objects with undocumented APIs. Using any functions or properties + * on the object is likely to crash your application and should be avoided. + * + * Using `executionAsyncResource()` in the top-level execution context will + * return an empty object as there is no handle or request object to use, + * but having an object representing the top-level can be helpful. + * + * ```js + * import { open } from 'node:fs'; + * import { executionAsyncId, executionAsyncResource } from 'node:async_hooks'; + * + * console.log(executionAsyncId(), executionAsyncResource()); // 1 {} + * open(new URL(import.meta.url), 'r', (err, fd) => { + * console.log(executionAsyncId(), executionAsyncResource()); // 7 FSReqWrap + * }); + * ``` + * + * This can be used to implement continuation local storage without the + * use of a tracking `Map` to store the metadata: + * + * ```js + * import { createServer } from 'node:http'; + * import { + * executionAsyncId, + * executionAsyncResource, + * createHook, + * } from 'node:async_hooks'; + * const sym = Symbol('state'); // Private symbol to avoid pollution + * + * createHook({ + * init(asyncId, type, triggerAsyncId, resource) { + * const cr = executionAsyncResource(); + * if (cr) { + * resource[sym] = cr[sym]; + * } + * }, + * }).enable(); + * + * const server = createServer((req, res) => { + * executionAsyncResource()[sym] = { state: req.url }; + * setTimeout(function() { + * res.end(JSON.stringify(executionAsyncResource()[sym])); + * }, 100); + * }).listen(3000); + * ``` + * @since v13.9.0, v12.17.0 + * @return The resource representing the current execution. Useful to store data within the resource. + */ + function executionAsyncResource(): object; + /** + * ```js + * const server = net.createServer((conn) => { + * // The resource that caused (or triggered) this callback to be called + * // was that of the new connection. Thus the return value of triggerAsyncId() + * // is the asyncId of "conn". + * async_hooks.triggerAsyncId(); + * + * }).listen(port, () => { + * // Even though all callbacks passed to .listen() are wrapped in a nextTick() + * // the callback itself exists because the call to the server's .listen() + * // was made. So the return value would be the ID of the server. + * async_hooks.triggerAsyncId(); + * }); + * ``` + * + * Promise contexts may not get valid `triggerAsyncId`s by default. See + * the section on [promise execution tracking](https://nodejs.org/docs/latest-v25.x/api/async_hooks.html#promise-execution-tracking). + * @return The ID of the resource responsible for calling the callback that is currently being executed. + */ + function triggerAsyncId(): number; + interface HookCallbacks { + /** + * The [`init` callback](https://nodejs.org/docs/latest-v25.x/api/async_hooks.html#initasyncid-type-triggerasyncid-resource). + */ + init?(asyncId: number, type: string, triggerAsyncId: number, resource: object): void; + /** + * The [`before` callback](https://nodejs.org/docs/latest-v25.x/api/async_hooks.html#beforeasyncid). + */ + before?(asyncId: number): void; + /** + * The [`after` callback](https://nodejs.org/docs/latest-v25.x/api/async_hooks.html#afterasyncid). + */ + after?(asyncId: number): void; + /** + * The [`promiseResolve` callback](https://nodejs.org/docs/latest-v25.x/api/async_hooks.html#promiseresolveasyncid). + */ + promiseResolve?(asyncId: number): void; + /** + * The [`destroy` callback](https://nodejs.org/docs/latest-v25.x/api/async_hooks.html#destroyasyncid). + */ + destroy?(asyncId: number): void; + /** + * Whether the hook should track `Promise`s. Cannot be `false` if + * `promiseResolve` is set. + * @default true + */ + trackPromises?: boolean | undefined; + } + 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. + * + * The callbacks `init()`/`before()`/`after()`/`destroy()` are called for the + * respective asynchronous event during a resource's lifetime. + * + * All callbacks are optional. For example, if only resource cleanup needs to + * be tracked, then only the `destroy` callback needs to be passed. The + * specifics of all functions that can be passed to `callbacks` is in the + * [Hook Callbacks](https://nodejs.org/docs/latest-v25.x/api/async_hooks.html#hook-callbacks) section. + * + * ```js + * import { createHook } from 'node:async_hooks'; + * + * const asyncHook = createHook({ + * init(asyncId, type, triggerAsyncId, resource) { }, + * destroy(asyncId) { }, + * }); + * ``` + * + * The callbacks will be inherited via the prototype chain: + * + * ```js + * class MyAsyncCallbacks { + * init(asyncId, type, triggerAsyncId, resource) { } + * destroy(asyncId) {} + * } + * + * class MyAddedCallbacks extends MyAsyncCallbacks { + * before(asyncId) { } + * after(asyncId) { } + * } + * + * const asyncHook = async_hooks.createHook(new MyAddedCallbacks()); + * ``` + * + * Because promises are asynchronous resources whose lifecycle is tracked + * via the async hooks mechanism, the `init()`, `before()`, `after()`, and + * `destroy()` callbacks _must not_ be async functions that return promises. + * @since v8.1.0 + * @param options The [Hook Callbacks](https://nodejs.org/docs/latest-v25.x/api/async_hooks.html#hook-callbacks) to register + * @returns 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 | undefined; + /** + * 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 | undefined; + } + /** + * The class `AsyncResource` is designed to be extended by the embedder's async + * resources. Using this, users can easily trigger the lifetime events of their + * own resources. + * + * The `init` hook will trigger when an `AsyncResource` is instantiated. + * + * The following is an overview of the `AsyncResource` API. + * + * ```js + * import { AsyncResource, executionAsyncId } from 'node:async_hooks'; + * + * // AsyncResource() is meant to be extended. Instantiating a + * // new AsyncResource() also triggers init. If triggerAsyncId is omitted then + * // async_hook.executionAsyncId() is used. + * const asyncResource = new AsyncResource( + * type, { triggerAsyncId: executionAsyncId(), requireManualDestroy: false }, + * ); + * + * // Run a function in the execution context of the resource. This will + * // * establish the context of the resource + * // * trigger the AsyncHooks before callbacks + * // * call the provided function `fn` with the supplied arguments + * // * trigger the AsyncHooks after callbacks + * // * restore the original execution context + * asyncResource.runInAsyncScope(fn, thisArg, ...args); + * + * // Call AsyncHooks destroy callbacks. + * asyncResource.emitDestroy(); + * + * // Return the unique ID assigned to the AsyncResource instance. + * asyncResource.asyncId(); + * + * // Return the trigger ID for the AsyncResource instance. + * asyncResource.triggerAsyncId(); + * ``` + */ + 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 v9.3.0) + */ + constructor(type: string, triggerAsyncId?: number | AsyncResourceOptions); + /** + * Binds the given function to the current execution context. + * @since v14.8.0, v12.19.0 + * @param fn The function to bind to the current execution context. + * @param type An optional name to associate with the underlying `AsyncResource`. + */ + static bind any, ThisArg>( + fn: Func, + type?: string, + thisArg?: ThisArg, + ): Func; + /** + * Binds the given function to execute to this `AsyncResource`'s scope. + * @since v14.8.0, v12.19.0 + * @param fn The function to bind to the current `AsyncResource`. + */ + bind any>(fn: Func): Func; + /** + * 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. + * @since v9.6.0 + * @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 all `destroy` hooks. This should only ever be called once. An error will + * be thrown if it is called more than once. This **must** be manually called. If + * the resource is left to be collected by the GC then the `destroy` hooks will + * never be called. + * @return A reference to `asyncResource`. + */ + emitDestroy(): this; + /** + * @return The unique `asyncId` assigned to the resource. + */ + asyncId(): number; + /** + * @return The same `triggerAsyncId` that is passed to the `AsyncResource` constructor. + */ + triggerAsyncId(): number; + } + interface AsyncLocalStorageOptions { + /** + * The default value to be used when no store is provided. + */ + defaultValue?: any; + /** + * A name for the `AsyncLocalStorage` value. + */ + name?: string | undefined; + } + /** + * This class creates stores that stay coherent through asynchronous operations. + * + * While you can create your own implementation on top of the `node:async_hooks` module, `AsyncLocalStorage` should be preferred as it is a performant and memory + * safe implementation that involves significant optimizations that are non-obvious + * to implement. + * + * The following example uses `AsyncLocalStorage` to build a simple logger + * that assigns IDs to incoming HTTP requests and includes them in messages + * logged within each request. + * + * ```js + * import http from 'node:http'; + * import { AsyncLocalStorage } from 'node:async_hooks'; + * + * const asyncLocalStorage = new AsyncLocalStorage(); + * + * function logWithId(msg) { + * const id = asyncLocalStorage.getStore(); + * console.log(`${id !== undefined ? id : '-'}:`, msg); + * } + * + * let idSeq = 0; + * http.createServer((req, res) => { + * asyncLocalStorage.run(idSeq++, () => { + * logWithId('start'); + * // Imagine any chain of async operations here + * setImmediate(() => { + * logWithId('finish'); + * res.end(); + * }); + * }); + * }).listen(8080); + * + * http.get('http://localhost:8080'); + * http.get('http://localhost:8080'); + * // Prints: + * // 0: start + * // 0: finish + * // 1: start + * // 1: finish + * ``` + * + * Each instance of `AsyncLocalStorage` maintains an independent storage context. + * Multiple instances can safely exist simultaneously without risk of interfering + * with each other's data. + * @since v13.10.0, v12.17.0 + */ + class AsyncLocalStorage { + /** + * Creates a new instance of `AsyncLocalStorage`. Store is only provided within a + * `run()` call or after an `enterWith()` call. + */ + constructor(options?: AsyncLocalStorageOptions); + /** + * Binds the given function to the current execution context. + * @since v19.8.0 + * @param fn The function to bind to the current execution context. + * @return A new function that calls `fn` within the captured execution context. + */ + static bind any>(fn: Func): Func; + /** + * Captures the current execution context and returns a function that accepts a + * function as an argument. Whenever the returned function is called, it + * calls the function passed to it within the captured context. + * + * ```js + * const asyncLocalStorage = new AsyncLocalStorage(); + * const runInAsyncScope = asyncLocalStorage.run(123, () => AsyncLocalStorage.snapshot()); + * const result = asyncLocalStorage.run(321, () => runInAsyncScope(() => asyncLocalStorage.getStore())); + * console.log(result); // returns 123 + * ``` + * + * AsyncLocalStorage.snapshot() can replace the use of AsyncResource for simple + * async context tracking purposes, for example: + * + * ```js + * class Foo { + * #runInAsyncScope = AsyncLocalStorage.snapshot(); + * + * get() { return this.#runInAsyncScope(() => asyncLocalStorage.getStore()); } + * } + * + * const foo = asyncLocalStorage.run(123, () => new Foo()); + * console.log(asyncLocalStorage.run(321, () => foo.get())); // returns 123 + * ``` + * @since v19.8.0 + * @return A new function with the signature `(fn: (...args) : R, ...args) : R`. + */ + static snapshot(): (fn: (...args: TArgs) => R, ...args: TArgs) => R; + /** + * Disables the instance of `AsyncLocalStorage`. All subsequent calls + * to `asyncLocalStorage.getStore()` will return `undefined` until `asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again. + * + * When calling `asyncLocalStorage.disable()`, all current contexts linked to the + * instance will be exited. + * + * Calling `asyncLocalStorage.disable()` is required before the `asyncLocalStorage` can be garbage collected. This does not apply to stores + * provided by the `asyncLocalStorage`, as those objects are garbage collected + * along with the corresponding async resources. + * + * Use this method when the `asyncLocalStorage` is not in use anymore + * in the current process. + * @since v13.10.0, v12.17.0 + * @experimental + */ + disable(): void; + /** + * Returns the current store. + * If called outside of an asynchronous context initialized by + * calling `asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()`, it + * returns `undefined`. + * @since v13.10.0, v12.17.0 + */ + getStore(): T | undefined; + /** + * The name of the `AsyncLocalStorage` instance if provided. + * @since v24.0.0 + */ + readonly name: string; + /** + * Runs a function synchronously within a context and returns its + * return value. The store is not accessible outside of the callback function. + * The store is accessible to any asynchronous operations created within the + * callback. + * + * The optional `args` are passed to the callback function. + * + * If the callback function throws an error, the error is thrown by `run()` too. + * The stacktrace is not impacted by this call and the context is exited. + * + * Example: + * + * ```js + * const store = { id: 2 }; + * try { + * asyncLocalStorage.run(store, () => { + * asyncLocalStorage.getStore(); // Returns the store object + * setTimeout(() => { + * asyncLocalStorage.getStore(); // Returns the store object + * }, 200); + * throw new Error(); + * }); + * } catch (e) { + * asyncLocalStorage.getStore(); // Returns undefined + * // The error will be caught here + * } + * ``` + * @since v13.10.0, v12.17.0 + */ + run(store: T, callback: () => R): R; + run(store: T, callback: (...args: TArgs) => R, ...args: TArgs): R; + /** + * Runs a function synchronously outside of a context and returns its + * return value. The store is not accessible within the callback function or + * the asynchronous operations created within the callback. Any `getStore()` call done within the callback function will always return `undefined`. + * + * The optional `args` are passed to the callback function. + * + * If the callback function throws an error, the error is thrown by `exit()` too. + * The stacktrace is not impacted by this call and the context is re-entered. + * + * Example: + * + * ```js + * // Within a call to run + * try { + * asyncLocalStorage.getStore(); // Returns the store object or value + * asyncLocalStorage.exit(() => { + * asyncLocalStorage.getStore(); // Returns undefined + * throw new Error(); + * }); + * } catch (e) { + * asyncLocalStorage.getStore(); // Returns the same object or value + * // The error will be caught here + * } + * ``` + * @since v13.10.0, v12.17.0 + * @experimental + */ + exit(callback: (...args: TArgs) => R, ...args: TArgs): R; + /** + * Creates a disposable scope that enters the given store and automatically + * restores the previous store value when the scope is disposed. This method is + * designed to work with JavaScript's explicit resource management (`using` syntax). + * + * Example: + * + * ```js + * import { AsyncLocalStorage } from 'node:async_hooks'; + * + * const asyncLocalStorage = new AsyncLocalStorage(); + * + * { + * using _ = asyncLocalStorage.withScope('my-store'); + * console.log(asyncLocalStorage.getStore()); // Prints: my-store + * } + * + * console.log(asyncLocalStorage.getStore()); // Prints: undefined + * ``` + * + * The `withScope()` method is particularly useful for managing context in + * synchronous code where you want to ensure the previous store value is restored + * when exiting a block, even if an error is thrown. + * + * ```js + * import { AsyncLocalStorage } from 'node:async_hooks'; + * + * const asyncLocalStorage = new AsyncLocalStorage(); + * + * try { + * using _ = asyncLocalStorage.withScope('my-store'); + * console.log(asyncLocalStorage.getStore()); // Prints: my-store + * throw new Error('test'); + * } catch (e) { + * // Store is automatically restored even after error + * console.log(asyncLocalStorage.getStore()); // Prints: undefined + * } + * ``` + * + * **Important:** When using `withScope()` in async functions before the first + * `await`, be aware that the scope change will affect the caller's context. The + * synchronous portion of an async function (before the first `await`) runs + * immediately when called, and when it reaches the first `await`, it returns the + * promise to the caller. At that point, the scope change becomes visible in the + * caller's context and will persist in subsequent synchronous code until something + * else changes the scope value. For async operations, prefer using `run()` which + * properly isolates context across async boundaries. + * + * ```js + * import { AsyncLocalStorage } from 'node:async_hooks'; + * + * const asyncLocalStorage = new AsyncLocalStorage(); + * + * async function example() { + * using _ = asyncLocalStorage.withScope('my-store'); + * console.log(asyncLocalStorage.getStore()); // Prints: my-store + * await someAsyncOperation(); // Function pauses here and returns promise + * console.log(asyncLocalStorage.getStore()); // Prints: my-store + * } + * + * // Calling without await + * example(); // Synchronous portion runs, then pauses at first await + * // After the promise is returned, the scope 'my-store' is now active in caller! + * console.log(asyncLocalStorage.getStore()); // Prints: my-store (unexpected!) + * ``` + * @since v25.9.0 + * @experimental + */ + withScope(store: T): RunScope; + /** + * Transitions into the context for the remainder of the current + * synchronous execution and then persists the store through any following + * asynchronous calls. + * + * Example: + * + * ```js + * const store = { id: 1 }; + * // Replaces previous store with the given store object + * asyncLocalStorage.enterWith(store); + * asyncLocalStorage.getStore(); // Returns the store object + * someAsyncOperation(() => { + * asyncLocalStorage.getStore(); // Returns the same object + * }); + * ``` + * + * This transition will continue for the _entire_ synchronous execution. + * This means that if, for example, the context is entered within an event + * handler subsequent event handlers will also run within that context unless + * specifically bound to another context with an `AsyncResource`. That is why `run()` should be preferred over `enterWith()` unless there are strong reasons + * to use the latter method. + * + * ```js + * const store = { id: 1 }; + * + * emitter.on('my-event', () => { + * asyncLocalStorage.enterWith(store); + * }); + * emitter.on('my-event', () => { + * asyncLocalStorage.getStore(); // Returns the same object + * }); + * + * asyncLocalStorage.getStore(); // Returns undefined + * emitter.emit('my-event'); + * asyncLocalStorage.getStore(); // Returns the same object + * ``` + * @since v13.11.0, v12.17.0 + * @experimental + */ + enterWith(store: T): void; + } + /** + * A disposable scope returned by `asyncLocalStorage.withScope()` that + * automatically restores the previous store value when disposed. This class + * implements the [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management) protocol and is designed to work + * with JavaScript's `using` syntax. + * + * The scope automatically restores the previous store value when the `using` block + * exits, whether through normal completion or by throwing an error. + * @since v25.9.0 + * @experimental + */ + interface RunScope extends Disposable { + /** + * Explicitly ends the scope and restores the previous store value. This method + * is idempotent: calling it multiple times has the same effect as calling it once. + * + * The `[Symbol.dispose]()` method defers to `dispose()`. + * + * If `withScope()` is called without the `using` keyword, `dispose()` must be + * called manually to restore the previous store value. Forgetting to call + * `dispose()` will cause the store value to persist for the remainder of the + * current execution context: + * + * ```js + * import { AsyncLocalStorage } from 'node:async_hooks'; + * + * const storage = new AsyncLocalStorage(); + * + * // Without using, the scope must be disposed manually + * const scope = storage.withScope('my-store'); + * // storage.getStore() === 'my-store' here + * + * scope.dispose(); // Restore previous value + * // storage.getStore() === undefined here + * ``` + * @since v25.9.0 + */ + dispose(): void; + } + /** + * @since v17.2.0, v16.14.0 + * @return A map of provider types to the corresponding numeric id. + * This map contains all the event types that might be emitted by the `async_hooks.init()` event. + */ + namespace asyncWrapProviders { + const NONE: number; + const DIRHANDLE: number; + const DNSCHANNEL: number; + const ELDHISTOGRAM: number; + const FILEHANDLE: number; + const FILEHANDLECLOSEREQ: number; + const FIXEDSIZEBLOBCOPY: number; + const FSEVENTWRAP: number; + const FSREQCALLBACK: number; + const FSREQPROMISE: number; + const GETADDRINFOREQWRAP: number; + const GETNAMEINFOREQWRAP: number; + const HEAPSNAPSHOT: number; + const HTTP2SESSION: number; + const HTTP2STREAM: number; + const HTTP2PING: number; + const HTTP2SETTINGS: number; + const HTTPINCOMINGMESSAGE: number; + const HTTPCLIENTREQUEST: number; + const JSSTREAM: number; + const JSUDPWRAP: number; + const MESSAGEPORT: number; + const PIPECONNECTWRAP: number; + const PIPESERVERWRAP: number; + const PIPEWRAP: number; + const PROCESSWRAP: number; + const PROMISE: number; + const QUERYWRAP: number; + const SHUTDOWNWRAP: number; + const SIGNALWRAP: number; + const STATWATCHER: number; + const STREAMPIPE: number; + const TCPCONNECTWRAP: number; + const TCPSERVERWRAP: number; + const TCPWRAP: number; + const TTYWRAP: number; + const UDPSENDWRAP: number; + const UDPWRAP: number; + const SIGINTWATCHDOG: number; + const WORKER: number; + const WORKERHEAPSNAPSHOT: number; + const WRITEWRAP: number; + const ZLIB: number; + const CHECKPRIMEREQUEST: number; + const PBKDF2REQUEST: number; + const KEYPAIRGENREQUEST: number; + const KEYGENREQUEST: number; + const KEYEXPORTREQUEST: number; + const CIPHERREQUEST: number; + const DERIVEBITSREQUEST: number; + const HASHREQUEST: number; + const RANDOMBYTESREQUEST: number; + const RANDOMPRIMEREQUEST: number; + const SCRYPTREQUEST: number; + const SIGNREQUEST: number; + const TLSWRAP: number; + const VERIFYREQUEST: number; + } +} +declare module "async_hooks" { + export * from "node:async_hooks"; +} diff --git a/node_modules/@types/node/buffer.buffer.d.ts b/node_modules/@types/node/buffer.buffer.d.ts new file mode 100644 index 0000000..a6c4b25 --- /dev/null +++ b/node_modules/@types/node/buffer.buffer.d.ts @@ -0,0 +1,466 @@ +declare module "node:buffer" { + type ImplicitArrayBuffer> = T extends + { valueOf(): infer V extends ArrayBufferLike } ? V : T; + global { + interface BufferConstructor { + // see buffer.d.ts for implementation shared with all TypeScript versions + + /** + * 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. + */ + new(str: string, encoding?: BufferEncoding): Buffer; + /** + * 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()`). + */ + new(size: number): Buffer; + /** + * 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. + */ + new(array: ArrayLike): Buffer; + /** + * 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. + */ + new(arrayBuffer: TArrayBuffer): Buffer; + /** + * Allocates a new `Buffer` using an `array` of bytes in the range `0` – `255`. + * Array entries outside that range will be truncated to fit into it. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Creates a new Buffer containing the UTF-8 bytes of the string 'buffer'. + * const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]); + * ``` + * + * If `array` is an `Array`-like object (that is, one with a `length` property of + * type `number`), it is treated as if it is an array, unless it is a `Buffer` or + * a `Uint8Array`. This means all other `TypedArray` variants get treated as an + * `Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use + * `Buffer.copyBytesFrom()`. + * + * A `TypeError` will be thrown if `array` is not an `Array` or another type + * appropriate for `Buffer.from()` variants. + * + * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal + * `Buffer` pool like `Buffer.allocUnsafe()` does. + * @since v5.10.0 + */ + from(array: WithImplicitCoercion>): Buffer; + /** + * This creates a view of the `ArrayBuffer` without copying the underlying + * memory. For example, 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`'s underlying `ArrayBuffer`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const arr = new Uint16Array(2); + * + * arr[0] = 5000; + * arr[1] = 4000; + * + * // Shares memory with `arr`. + * const buf = Buffer.from(arr.buffer); + * + * console.log(buf); + * // Prints: + * + * // Changing the original Uint16Array changes the Buffer also. + * arr[1] = 6000; + * + * console.log(buf); + * // Prints: + * ``` + * + * The optional `byteOffset` and `length` arguments specify a memory range within + * the `arrayBuffer` that will be shared by the `Buffer`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const ab = new ArrayBuffer(10); + * const buf = Buffer.from(ab, 0, 2); + * + * console.log(buf.length); + * // Prints: 2 + * ``` + * + * A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer` or a + * `SharedArrayBuffer` or another type appropriate for `Buffer.from()` + * variants. + * + * It is important to remember that a backing `ArrayBuffer` can cover a range + * of memory that extends beyond the bounds of a `TypedArray` view. A new + * `Buffer` created using the `buffer` property of a `TypedArray` may extend + * beyond the range of the `TypedArray`: + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const arrA = Uint8Array.from([0x63, 0x64, 0x65, 0x66]); // 4 elements + * const arrB = new Uint8Array(arrA.buffer, 1, 2); // 2 elements + * console.log(arrA.buffer === arrB.buffer); // true + * + * const buf = Buffer.from(arrB.buffer); + * console.log(buf); + * // Prints: + * ``` + * @since v5.10.0 + * @param arrayBuffer An `ArrayBuffer`, `SharedArrayBuffer`, for example the + * `.buffer` property of a `TypedArray`. + * @param byteOffset Index of first byte to expose. **Default:** `0`. + * @param length Number of bytes to expose. **Default:** + * `arrayBuffer.byteLength - byteOffset`. + */ + from>( + arrayBuffer: TArrayBuffer, + byteOffset?: number, + length?: number, + ): Buffer>; + /** + * Creates a new `Buffer` containing `string`. The `encoding` parameter identifies + * the character encoding to be used when converting `string` into bytes. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf1 = Buffer.from('this is a tést'); + * const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex'); + * + * console.log(buf1.toString()); + * // Prints: this is a tést + * console.log(buf2.toString()); + * // Prints: this is a tést + * console.log(buf1.toString('latin1')); + * // Prints: this is a tést + * ``` + * + * A `TypeError` will be thrown if `string` is not a string or another type + * appropriate for `Buffer.from()` variants. + * + * `Buffer.from(string)` may also use the internal `Buffer` pool like + * `Buffer.allocUnsafe()` does. + * @since v5.10.0 + * @param string A string to encode. + * @param encoding The encoding of `string`. **Default:** `'utf8'`. + */ + from(string: WithImplicitCoercion, encoding?: BufferEncoding): Buffer; + from(arrayOrString: WithImplicitCoercion | string>): Buffer; + /** + * Creates a new Buffer using the passed {data} + * @param values to create a new Buffer + */ + of(...items: number[]): Buffer; + /** + * Returns a new `Buffer` which is the result of concatenating all the `Buffer` instances in the `list` together. + * + * If the list has no items, or if the `totalLength` is 0, then a new zero-length `Buffer` is returned. + * + * If `totalLength` is not provided, it is calculated from the `Buffer` instances + * in `list` by adding their lengths. + * + * If `totalLength` is provided, it must be an unsigned integer. If the + * combined length of the `Buffer`s in `list` exceeds `totalLength`, the result is + * truncated to `totalLength`. If the combined length of the `Buffer`s in `list` is + * less than `totalLength`, the remaining space is filled with zeros. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Create a single `Buffer` from a list of three `Buffer` instances. + * + * const buf1 = Buffer.alloc(10); + * const buf2 = Buffer.alloc(14); + * const buf3 = Buffer.alloc(18); + * const totalLength = buf1.length + buf2.length + buf3.length; + * + * console.log(totalLength); + * // Prints: 42 + * + * const bufA = Buffer.concat([buf1, buf2, buf3], totalLength); + * + * console.log(bufA); + * // Prints: + * console.log(bufA.length); + * // Prints: 42 + * ``` + * + * `Buffer.concat()` may also use the internal `Buffer` pool like `Buffer.allocUnsafe()` does. + * @since v0.7.11 + * @param list List of `Buffer` or {@link Uint8Array} instances to concatenate. + * @param totalLength Total length of the `Buffer` instances in `list` when concatenated. + */ + concat(list: readonly Uint8Array[], totalLength?: number): Buffer; + /** + * Copies the underlying memory of `view` into a new `Buffer`. + * + * ```js + * const u16 = new Uint16Array([0, 0xffff]); + * const buf = Buffer.copyBytesFrom(u16, 1, 1); + * u16[1] = 0; + * console.log(buf.length); // 2 + * console.log(buf[0]); // 255 + * console.log(buf[1]); // 255 + * ``` + * @since v19.8.0 + * @param view The {TypedArray} to copy. + * @param [offset=0] The starting offset within `view`. + * @param [length=view.length - offset] The number of elements from `view` to copy. + */ + copyBytesFrom(view: NodeJS.TypedArray, offset?: number, length?: number): Buffer; + /** + * Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the`Buffer` will be zero-filled. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.alloc(5); + * + * console.log(buf); + * // Prints: + * ``` + * + * If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown. + * + * If `fill` is specified, the allocated `Buffer` will be initialized by calling `buf.fill(fill)`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.alloc(5, 'a'); + * + * console.log(buf); + * // Prints: + * ``` + * + * If both `fill` and `encoding` are specified, the allocated `Buffer` will be + * initialized by calling `buf.fill(fill, encoding)`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); + * + * console.log(buf); + * // Prints: + * ``` + * + * Calling `Buffer.alloc()` can be measurably slower than the alternative `Buffer.allocUnsafe()` but ensures that the newly created `Buffer` instance + * contents will never contain sensitive data from previous allocations, including + * data that might not have been allocated for `Buffer`s. + * + * A `TypeError` will be thrown if `size` is not a number. + * @since v5.10.0 + * @param size The desired length of the new `Buffer`. + * @param [fill=0] A value to pre-fill the new `Buffer` with. + * @param [encoding='utf8'] If `fill` is a string, this is its encoding. + */ + alloc(size: number, fill?: string | Uint8Array | number, encoding?: BufferEncoding): Buffer; + /** + * Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown. + * + * The underlying memory for `Buffer` instances created in this way is _not_ + * _initialized_. The contents of the newly created `Buffer` are unknown and _may contain sensitive data_. Use `Buffer.alloc()` instead to initialize`Buffer` instances with zeroes. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(10); + * + * console.log(buf); + * // Prints (contents may vary): + * + * buf.fill(0); + * + * console.log(buf); + * // Prints: + * ``` + * + * A `TypeError` will be thrown if `size` is not a number. + * + * The `Buffer` module pre-allocates an internal `Buffer` instance of + * size `Buffer.poolSize` that is used as a pool for the fast allocation of new `Buffer` instances created using `Buffer.allocUnsafe()`, `Buffer.from(array)`, + * and `Buffer.concat()` only when `size` is less than `Buffer.poolSize >>> 1` (floor of `Buffer.poolSize` divided by two). + * + * Use of this pre-allocated internal memory pool is a key difference between + * calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`. + * Specifically, `Buffer.alloc(size, fill)` will _never_ use the internal `Buffer`pool, while `Buffer.allocUnsafe(size).fill(fill)`_will_ use the internal`Buffer` pool if `size` is less + * than or equal to half `Buffer.poolSize`. The + * difference is subtle but can be important when an application requires the + * additional performance that `Buffer.allocUnsafe()` provides. + * @since v5.10.0 + * @param size The desired length of the new `Buffer`. + */ + allocUnsafe(size: number): Buffer; + /** + * Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown. A zero-length `Buffer` is created if + * `size` is 0. + * + * The underlying memory for `Buffer` instances created in this way is _not_ + * _initialized_. The contents of the newly created `Buffer` are unknown and _may contain sensitive data_. Use `buf.fill(0)` to initialize + * such `Buffer` instances with zeroes. + * + * When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances, + * allocations under 4 KiB are sliced from a single pre-allocated `Buffer`. This + * allows applications to avoid the garbage collection overhead of creating many + * individually allocated `Buffer` instances. This approach improves both + * performance and memory usage by eliminating the need to track and clean up as + * many individual `ArrayBuffer` objects. + * + * However, in the case where a developer may need to retain a small chunk of + * memory from a pool for an indeterminate amount of time, it may be appropriate + * to create an un-pooled `Buffer` instance using `Buffer.allocUnsafeSlow()` and + * then copying out the relevant bits. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Need to keep around a few small chunks of memory. + * const store = []; + * + * socket.on('readable', () => { + * let data; + * while (null !== (data = readable.read())) { + * // Allocate for retained data. + * const sb = Buffer.allocUnsafeSlow(10); + * + * // Copy the data into the new allocation. + * data.copy(sb, 0, 0, 10); + * + * store.push(sb); + * } + * }); + * ``` + * + * A `TypeError` will be thrown if `size` is not a number. + * @since v5.12.0 + * @param size The desired length of the new `Buffer`. + */ + allocUnsafeSlow(size: number): Buffer; + } + interface Buffer extends Uint8Array { + // see buffer.d.ts for implementation shared with all TypeScript versions + + /** + * 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 not compatible with the `Uint8Array.prototype.slice()`, + * which is a superclass of `Buffer`. To copy the slice, use`Uint8Array.prototype.slice()`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from('buffer'); + * + * const copiedBuf = Uint8Array.prototype.slice.call(buf); + * copiedBuf[0]++; + * console.log(copiedBuf.toString()); + * // Prints: cuffer + * + * console.log(buf.toString()); + * // Prints: buffer + * + * // With buf.slice(), the original buffer is modified. + * const notReallyCopiedBuf = buf.slice(); + * notReallyCopiedBuf[0]++; + * console.log(notReallyCopiedBuf.toString()); + * // Prints: cuffer + * console.log(buf.toString()); + * // Also prints: cuffer (!) + * ``` + * @since v0.3.0 + * @deprecated Use `subarray` instead. + * @param [start=0] Where the new `Buffer` will start. + * @param [end=buf.length] Where the new `Buffer` will end (not inclusive). + */ + slice(start?: 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. + * + * Specifying `end` greater than `buf.length` will return the same result as + * that of `end` equal to `buf.length`. + * + * This method is inherited from [`TypedArray.prototype.subarray()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray). + * + * Modifying the new `Buffer` slice will modify the memory in the original `Buffer`because the allocated memory of the two objects overlap. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Create a `Buffer` with the ASCII alphabet, take a slice, and modify one byte + * // from the original `Buffer`. + * + * const buf1 = Buffer.allocUnsafe(26); + * + * for (let i = 0; i < 26; i++) { + * // 97 is the decimal ASCII value for 'a'. + * buf1[i] = i + 97; + * } + * + * const buf2 = buf1.subarray(0, 3); + * + * console.log(buf2.toString('ascii', 0, buf2.length)); + * // Prints: abc + * + * buf1[0] = 33; + * + * console.log(buf2.toString('ascii', 0, buf2.length)); + * // Prints: !bc + * ``` + * + * Specifying negative indexes causes the slice to be generated relative to the + * end of `buf` rather than the beginning. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from('buffer'); + * + * console.log(buf.subarray(-6, -1).toString()); + * // Prints: buffe + * // (Equivalent to buf.subarray(0, 5).) + * + * console.log(buf.subarray(-6, -2).toString()); + * // Prints: buff + * // (Equivalent to buf.subarray(0, 4).) + * + * console.log(buf.subarray(-5, -2).toString()); + * // Prints: uff + * // (Equivalent to buf.subarray(1, 4).) + * ``` + * @since v3.0.0 + * @param [start=0] Where the new `Buffer` will start. + * @param [end=buf.length] Where the new `Buffer` will end (not inclusive). + */ + subarray(start?: number, end?: number): Buffer; + } + // TODO: remove globals in future version + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedBuffer = Buffer; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type AllowSharedBuffer = Buffer; + } +} diff --git a/node_modules/@types/node/buffer.d.ts b/node_modules/@types/node/buffer.d.ts new file mode 100644 index 0000000..7cff31f --- /dev/null +++ b/node_modules/@types/node/buffer.d.ts @@ -0,0 +1,1765 @@ +declare module "node:buffer" { + import { ReadableStream } from "node:stream/web"; + /** + * This function returns `true` if `input` contains only valid UTF-8-encoded data, + * including the case in which `input` is empty. + * + * Throws if the `input` is a detached array buffer. + * @since v19.4.0, v18.14.0 + * @param input The input to validate. + */ + export function isUtf8(input: ArrayBuffer | NodeJS.TypedArray): boolean; + /** + * This function returns `true` if `input` contains only valid ASCII-encoded data, + * including the case in which `input` is empty. + * + * Throws if the `input` is a detached array buffer. + * @since v19.6.0, v18.15.0 + * @param input The input to validate. + */ + export function isAscii(input: ArrayBuffer | NodeJS.TypedArray): boolean; + export let INSPECT_MAX_BYTES: number; + export const kMaxLength: number; + export const kStringMaxLength: number; + export const constants: { + MAX_LENGTH: number; + MAX_STRING_LENGTH: number; + }; + export type TranscodeEncoding = + | "ascii" + | "utf8" + | "utf-8" + | "utf16le" + | "utf-16le" + | "ucs2" + | "ucs-2" + | "latin1" + | "binary"; + /** + * Re-encodes the given `Buffer` or `Uint8Array` instance from one character + * encoding to another. Returns a new `Buffer` instance. + * + * Throws if the `fromEnc` or `toEnc` specify invalid character encodings or if + * conversion from `fromEnc` to `toEnc` is not permitted. + * + * Encodings supported by `buffer.transcode()` are: `'ascii'`, `'utf8'`, `'utf16le'`, `'ucs2'`, `'latin1'`, and `'binary'`. + * + * The transcoding process will use substitution characters if a given byte + * sequence cannot be adequately represented in the target encoding. For instance: + * + * ```js + * import { Buffer, transcode } from 'node:buffer'; + * + * const newBuf = transcode(Buffer.from('€'), 'utf8', 'ascii'); + * console.log(newBuf.toString('ascii')); + * // Prints: '?' + * ``` + * + * Because the Euro (`€`) sign is not representable in US-ASCII, it is replaced + * with `?` in the transcoded `Buffer`. + * @since v7.1.0 + * @param source A `Buffer` or `Uint8Array` instance. + * @param fromEnc The current encoding. + * @param toEnc To target encoding. + */ + export function transcode( + source: Uint8Array, + fromEnc: TranscodeEncoding, + toEnc: TranscodeEncoding, + ): NonSharedBuffer; + /** + * Resolves a `'blob:nodedata:...'` an associated `Blob` object registered using + * a prior call to `URL.createObjectURL()`. + * @since v16.7.0 + * @param id A `'blob:nodedata:...` URL string returned by a prior call to `URL.createObjectURL()`. + */ + export function resolveObjectURL(id: string): Blob | undefined; + export { type AllowSharedBuffer, Buffer, type NonSharedBuffer }; + /** @deprecated This alias will be removed in a future version. Use the canonical `BlobPropertyBag` instead. */ + // TODO: remove in future major + export interface BlobOptions extends BlobPropertyBag {} + /** @deprecated This alias will be removed in a future version. Use the canonical `FilePropertyBag` instead. */ + export interface FileOptions extends FilePropertyBag {} + export type WithImplicitCoercion = + | T + | { valueOf(): T } + | (T extends string ? { [Symbol.toPrimitive](hint: "string"): T } : never); + global { + namespace NodeJS { + export { BufferEncoding }; + } + // Buffer class + type BufferEncoding = + | "ascii" + | "utf8" + | "utf-8" + | "utf16le" + | "utf-16le" + | "ucs2" + | "ucs-2" + | "base64" + | "base64url" + | "latin1" + | "binary" + | "hex"; + /** + * 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'|'base64url'|'binary'(deprecated)|'hex' + */ + interface BufferConstructor { + // see buffer.buffer.d.ts for implementation specific to TypeScript 5.7 and later + // see ts5.6/buffer.buffer.d.ts for implementation specific to TypeScript 5.6 and earlier + + /** + * Returns `true` if `obj` is a `Buffer`, `false` otherwise. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * Buffer.isBuffer(Buffer.alloc(10)); // true + * Buffer.isBuffer(Buffer.from('foo')); // true + * Buffer.isBuffer('a string'); // false + * Buffer.isBuffer([]); // false + * Buffer.isBuffer(new Uint8Array(1024)); // false + * ``` + * @since v0.1.101 + */ + isBuffer(obj: any): obj is Buffer; + /** + * Returns `true` if `encoding` is the name of a supported character encoding, + * or `false` otherwise. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * console.log(Buffer.isEncoding('utf8')); + * // Prints: true + * + * console.log(Buffer.isEncoding('hex')); + * // Prints: true + * + * console.log(Buffer.isEncoding('utf/8')); + * // Prints: false + * + * console.log(Buffer.isEncoding('')); + * // Prints: false + * ``` + * @since v0.9.1 + * @param encoding A character encoding name to check. + */ + isEncoding(encoding: string): encoding is BufferEncoding; + /** + * Returns the byte length of a string when encoded using `encoding`. + * This is not the same as [`String.prototype.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length), which does not account + * for the encoding that is used to convert the string into bytes. + * + * For `'base64'`, `'base64url'`, and `'hex'`, this function assumes valid input. + * For strings that contain non-base64/hex-encoded data (e.g. whitespace), the + * return value might be greater than the length of a `Buffer` created from the + * string. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const str = '\u00bd + \u00bc = \u00be'; + * + * console.log(`${str}: ${str.length} characters, ` + + * `${Buffer.byteLength(str, 'utf8')} bytes`); + * // Prints: ½ + ¼ = ¾: 9 characters, 12 bytes + * ``` + * + * When `string` is a + * `Buffer`/[`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView)/[`TypedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/- + * Reference/Global_Objects/TypedArray)/[`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)/[`SharedArrayBuffer`](https://develop- + * er.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer), the byte length as reported by `.byteLength`is returned. + * @since v0.1.90 + * @param string A value to calculate the length of. + * @param [encoding='utf8'] If `string` is a string, this is its encoding. + * @return The number of bytes contained within `string`. + */ + byteLength( + string: string | NodeJS.ArrayBufferView | ArrayBufferLike, + encoding?: BufferEncoding, + ): number; + /** + * Compares `buf1` to `buf2`, typically for the purpose of sorting arrays of `Buffer` instances. This is equivalent to calling `buf1.compare(buf2)`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf1 = Buffer.from('1234'); + * const buf2 = Buffer.from('0123'); + * const arr = [buf1, buf2]; + * + * console.log(arr.sort(Buffer.compare)); + * // Prints: [ , ] + * // (This result is equal to: [buf2, buf1].) + * ``` + * @since v0.11.13 + * @return Either `-1`, `0`, or `1`, depending on the result of the comparison. See `compare` for details. + */ + compare(buf1: Uint8Array, buf2: Uint8Array): -1 | 0 | 1; + /** + * This is the size (in bytes) of pre-allocated internal `Buffer` instances used + * for pooling. This value may be modified. + * @since v0.11.3 + */ + poolSize: number; + } + interface Buffer { + // see buffer.buffer.d.ts for implementation specific to TypeScript 5.7 and later + // see ts5.6/buffer.buffer.d.ts for implementation specific to TypeScript 5.6 and earlier + + /** + * Writes `string` to `buf` at `offset` according to the character encoding in`encoding`. The `length` parameter is the number of bytes to write. If `buf` did + * not contain enough space to fit the entire string, only part of `string` will be + * written. However, partially encoded characters will not be written. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.alloc(256); + * + * const len = buf.write('\u00bd + \u00bc = \u00be', 0); + * + * console.log(`${len} bytes: ${buf.toString('utf8', 0, len)}`); + * // Prints: 12 bytes: ½ + ¼ = ¾ + * + * const buffer = Buffer.alloc(10); + * + * const length = buffer.write('abcd', 8); + * + * console.log(`${length} bytes: ${buffer.toString('utf8', 8, 10)}`); + * // Prints: 2 bytes : ab + * ``` + * @since v0.1.90 + * @param string String to write to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write `string`. + * @param [length=buf.length - offset] Maximum number of bytes to write (written bytes will not exceed `buf.length - offset`). + * @param [encoding='utf8'] The character encoding of `string`. + * @return Number of bytes written. + */ + write(string: string, encoding?: BufferEncoding): number; + write(string: string, offset: number, encoding?: BufferEncoding): number; + write(string: string, offset: number, length: number, encoding?: BufferEncoding): number; + /** + * Decodes `buf` to a string according to the specified character encoding in`encoding`. `start` and `end` may be passed to decode only a subset of `buf`. + * + * If `encoding` is `'utf8'` and a byte sequence in the input is not valid UTF-8, + * then each invalid byte is replaced with the replacement character `U+FFFD`. + * + * The maximum length of a string instance (in UTF-16 code units) is available + * as {@link constants.MAX_STRING_LENGTH}. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf1 = Buffer.allocUnsafe(26); + * + * for (let i = 0; i < 26; i++) { + * // 97 is the decimal ASCII value for 'a'. + * buf1[i] = i + 97; + * } + * + * console.log(buf1.toString('utf8')); + * // Prints: abcdefghijklmnopqrstuvwxyz + * console.log(buf1.toString('utf8', 0, 5)); + * // Prints: abcde + * + * const buf2 = Buffer.from('tést'); + * + * console.log(buf2.toString('hex')); + * // Prints: 74c3a97374 + * console.log(buf2.toString('utf8', 0, 3)); + * // Prints: té + * console.log(buf2.toString(undefined, 0, 3)); + * // Prints: té + * ``` + * @since v0.1.90 + * @param [encoding='utf8'] The character encoding to use. + * @param [start=0] The byte offset to start decoding at. + * @param [end=buf.length] The byte offset to stop decoding at (not inclusive). + */ + toString(encoding?: BufferEncoding, start?: number, end?: number): string; + /** + * Returns a JSON representation of `buf`. [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) implicitly calls + * this function when stringifying a `Buffer` instance. + * + * `Buffer.from()` accepts objects in the format returned from this method. + * In particular, `Buffer.from(buf.toJSON())` works like `Buffer.from(buf)`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5]); + * const json = JSON.stringify(buf); + * + * console.log(json); + * // Prints: {"type":"Buffer","data":[1,2,3,4,5]} + * + * const copy = JSON.parse(json, (key, value) => { + * return value && value.type === 'Buffer' ? + * Buffer.from(value) : + * value; + * }); + * + * console.log(copy); + * // Prints: + * ``` + * @since v0.9.2 + */ + toJSON(): { + type: "Buffer"; + data: number[]; + }; + /** + * Returns `true` if both `buf` and `otherBuffer` have exactly the same bytes,`false` otherwise. Equivalent to `buf.compare(otherBuffer) === 0`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf1 = Buffer.from('ABC'); + * const buf2 = Buffer.from('414243', 'hex'); + * const buf3 = Buffer.from('ABCD'); + * + * console.log(buf1.equals(buf2)); + * // Prints: true + * console.log(buf1.equals(buf3)); + * // Prints: false + * ``` + * @since v0.11.13 + * @param otherBuffer A `Buffer` or {@link Uint8Array} with which to compare `buf`. + */ + equals(otherBuffer: Uint8Array): boolean; + /** + * Compares `buf` with `target` and returns a number indicating whether `buf`comes before, after, or is the same as `target` in sort order. + * Comparison is based on the actual sequence of bytes in each `Buffer`. + * + * * `0` is returned if `target` is the same as `buf` + * * `1` is returned if `target` should come _before_`buf` when sorted. + * * `-1` is returned if `target` should come _after_`buf` when sorted. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf1 = Buffer.from('ABC'); + * const buf2 = Buffer.from('BCD'); + * const buf3 = Buffer.from('ABCD'); + * + * console.log(buf1.compare(buf1)); + * // Prints: 0 + * console.log(buf1.compare(buf2)); + * // Prints: -1 + * console.log(buf1.compare(buf3)); + * // Prints: -1 + * console.log(buf2.compare(buf1)); + * // Prints: 1 + * console.log(buf2.compare(buf3)); + * // Prints: 1 + * console.log([buf1, buf2, buf3].sort(Buffer.compare)); + * // Prints: [ , , ] + * // (This result is equal to: [buf1, buf3, buf2].) + * ``` + * + * The optional `targetStart`, `targetEnd`, `sourceStart`, and `sourceEnd` arguments can be used to limit the comparison to specific ranges within `target` and `buf` respectively. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf1 = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8, 9]); + * const buf2 = Buffer.from([5, 6, 7, 8, 9, 1, 2, 3, 4]); + * + * console.log(buf1.compare(buf2, 5, 9, 0, 4)); + * // Prints: 0 + * console.log(buf1.compare(buf2, 0, 6, 4)); + * // Prints: -1 + * console.log(buf1.compare(buf2, 5, 6, 5)); + * // Prints: 1 + * ``` + * + * `ERR_OUT_OF_RANGE` is thrown if `targetStart < 0`, `sourceStart < 0`, `targetEnd > target.byteLength`, or `sourceEnd > source.byteLength`. + * @since v0.11.13 + * @param target A `Buffer` or {@link Uint8Array} with which to compare `buf`. + * @param [targetStart=0] The offset within `target` at which to begin comparison. + * @param [targetEnd=target.length] The offset within `target` at which to end comparison (not inclusive). + * @param [sourceStart=0] The offset within `buf` at which to begin comparison. + * @param [sourceEnd=buf.length] The offset within `buf` at which to end comparison (not inclusive). + */ + compare( + target: Uint8Array, + targetStart?: number, + targetEnd?: number, + sourceStart?: number, + sourceEnd?: number, + ): -1 | 0 | 1; + /** + * Copies data from a region of `buf` to a region in `target`, even if the `target`memory region overlaps with `buf`. + * + * [`TypedArray.prototype.set()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set) performs the same operation, and is available + * for all TypedArrays, including Node.js `Buffer`s, although it takes + * different function arguments. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Create two `Buffer` instances. + * const buf1 = Buffer.allocUnsafe(26); + * const buf2 = Buffer.allocUnsafe(26).fill('!'); + * + * for (let i = 0; i < 26; i++) { + * // 97 is the decimal ASCII value for 'a'. + * buf1[i] = i + 97; + * } + * + * // Copy `buf1` bytes 16 through 19 into `buf2` starting at byte 8 of `buf2`. + * buf1.copy(buf2, 8, 16, 20); + * // This is equivalent to: + * // buf2.set(buf1.subarray(16, 20), 8); + * + * console.log(buf2.toString('ascii', 0, 25)); + * // Prints: !!!!!!!!qrst!!!!!!!!!!!!! + * ``` + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Create a `Buffer` and copy data from one region to an overlapping region + * // within the same `Buffer`. + * + * const buf = Buffer.allocUnsafe(26); + * + * for (let i = 0; i < 26; i++) { + * // 97 is the decimal ASCII value for 'a'. + * buf[i] = i + 97; + * } + * + * buf.copy(buf, 0, 4, 10); + * + * console.log(buf.toString()); + * // Prints: efghijghijklmnopqrstuvwxyz + * ``` + * @since v0.1.90 + * @param target A `Buffer` or {@link Uint8Array} to copy into. + * @param [targetStart=0] The offset within `target` at which to begin writing. + * @param [sourceStart=0] The offset within `buf` from which to begin copying. + * @param [sourceEnd=buf.length] The offset within `buf` at which to stop copying (not inclusive). + * @return The number of bytes copied. + */ + copy(target: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as big-endian. + * + * `value` is interpreted and written as a two's complement signed integer. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(8); + * + * buf.writeBigInt64BE(0x0102030405060708n, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v12.0.0, v10.20.0 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`. + * @return `offset` plus the number of bytes written. + */ + writeBigInt64BE(value: bigint, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as little-endian. + * + * `value` is interpreted and written as a two's complement signed integer. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(8); + * + * buf.writeBigInt64LE(0x0102030405060708n, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v12.0.0, v10.20.0 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`. + * @return `offset` plus the number of bytes written. + */ + writeBigInt64LE(value: bigint, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as big-endian. + * + * This function is also available under the `writeBigUint64BE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(8); + * + * buf.writeBigUInt64BE(0xdecafafecacefaden, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v12.0.0, v10.20.0 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`. + * @return `offset` plus the number of bytes written. + */ + writeBigUInt64BE(value: bigint, offset?: number): number; + /** + * @alias Buffer.writeBigUInt64BE + * @since v14.10.0, v12.19.0 + */ + writeBigUint64BE(value: bigint, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as little-endian + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(8); + * + * buf.writeBigUInt64LE(0xdecafafecacefaden, 0); + * + * console.log(buf); + * // Prints: + * ``` + * + * This function is also available under the `writeBigUint64LE` alias. + * @since v12.0.0, v10.20.0 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`. + * @return `offset` plus the number of bytes written. + */ + writeBigUInt64LE(value: bigint, offset?: number): number; + /** + * @alias Buffer.writeBigUInt64LE + * @since v14.10.0, v12.19.0 + */ + writeBigUint64LE(value: bigint, offset?: number): number; + /** + * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as little-endian. Supports up to 48 bits of accuracy. Behavior is undefined + * when `value` is anything other than an unsigned integer. + * + * This function is also available under the `writeUintLE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(6); + * + * buf.writeUIntLE(0x1234567890ab, 0, 6); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.5 + * @param value Number to be written to `buf`. + * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`. + * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`. + * @return `offset` plus the number of bytes written. + */ + writeUIntLE(value: number, offset: number, byteLength: number): number; + /** + * @alias Buffer.writeUIntLE + * @since v14.9.0, v12.19.0 + */ + writeUintLE(value: number, offset: number, byteLength: number): number; + /** + * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as big-endian. Supports up to 48 bits of accuracy. Behavior is undefined + * when `value` is anything other than an unsigned integer. + * + * This function is also available under the `writeUintBE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(6); + * + * buf.writeUIntBE(0x1234567890ab, 0, 6); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.5 + * @param value Number to be written to `buf`. + * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`. + * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`. + * @return `offset` plus the number of bytes written. + */ + writeUIntBE(value: number, offset: number, byteLength: number): number; + /** + * @alias Buffer.writeUIntBE + * @since v14.9.0, v12.19.0 + */ + writeUintBE(value: number, offset: number, byteLength: number): number; + /** + * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as little-endian. Supports up to 48 bits of accuracy. Behavior is undefined + * when `value` is anything other than a signed integer. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(6); + * + * buf.writeIntLE(0x1234567890ab, 0, 6); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.11.15 + * @param value Number to be written to `buf`. + * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`. + * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`. + * @return `offset` plus the number of bytes written. + */ + writeIntLE(value: number, offset: number, byteLength: number): number; + /** + * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as big-endian. Supports up to 48 bits of accuracy. Behavior is undefined when`value` is anything other than a + * signed integer. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(6); + * + * buf.writeIntBE(0x1234567890ab, 0, 6); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.11.15 + * @param value Number to be written to `buf`. + * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`. + * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`. + * @return `offset` plus the number of bytes written. + */ + writeIntBE(value: number, offset: number, byteLength: number): number; + /** + * Reads an unsigned, big-endian 64-bit integer from `buf` at the specified`offset`. + * + * This function is also available under the `readBigUint64BE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff]); + * + * console.log(buf.readBigUInt64BE(0)); + * // Prints: 4294967295n + * ``` + * @since v12.0.0, v10.20.0 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`. + */ + readBigUInt64BE(offset?: number): bigint; + /** + * @alias Buffer.readBigUInt64BE + * @since v14.10.0, v12.19.0 + */ + readBigUint64BE(offset?: number): bigint; + /** + * Reads an unsigned, little-endian 64-bit integer from `buf` at the specified`offset`. + * + * This function is also available under the `readBigUint64LE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff]); + * + * console.log(buf.readBigUInt64LE(0)); + * // Prints: 18446744069414584320n + * ``` + * @since v12.0.0, v10.20.0 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`. + */ + readBigUInt64LE(offset?: number): bigint; + /** + * @alias Buffer.readBigUInt64LE + * @since v14.10.0, v12.19.0 + */ + readBigUint64LE(offset?: number): bigint; + /** + * Reads a signed, big-endian 64-bit integer from `buf` at the specified `offset`. + * + * Integers read from a `Buffer` are interpreted as two's complement signed + * values. + * @since v12.0.0, v10.20.0 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`. + */ + readBigInt64BE(offset?: number): bigint; + /** + * Reads a signed, little-endian 64-bit integer from `buf` at the specified`offset`. + * + * Integers read from a `Buffer` are interpreted as two's complement signed + * values. + * @since v12.0.0, v10.20.0 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`. + */ + readBigInt64LE(offset?: number): bigint; + /** + * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as an unsigned, little-endian integer supporting + * up to 48 bits of accuracy. + * + * This function is also available under the `readUintLE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); + * + * console.log(buf.readUIntLE(0, 6).toString(16)); + * // Prints: ab9078563412 + * ``` + * @since v0.11.15 + * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`. + * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`. + */ + readUIntLE(offset: number, byteLength: number): number; + /** + * @alias Buffer.readUIntLE + * @since v14.9.0, v12.19.0 + */ + readUintLE(offset: number, byteLength: number): number; + /** + * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as an unsigned big-endian integer supporting + * up to 48 bits of accuracy. + * + * This function is also available under the `readUintBE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); + * + * console.log(buf.readUIntBE(0, 6).toString(16)); + * // Prints: 1234567890ab + * console.log(buf.readUIntBE(1, 6).toString(16)); + * // Throws ERR_OUT_OF_RANGE. + * ``` + * @since v0.11.15 + * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`. + * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`. + */ + readUIntBE(offset: number, byteLength: number): number; + /** + * @alias Buffer.readUIntBE + * @since v14.9.0, v12.19.0 + */ + readUintBE(offset: number, byteLength: number): number; + /** + * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as a little-endian, two's complement signed value + * supporting up to 48 bits of accuracy. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); + * + * console.log(buf.readIntLE(0, 6).toString(16)); + * // Prints: -546f87a9cbee + * ``` + * @since v0.11.15 + * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`. + * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`. + */ + readIntLE(offset: number, byteLength: number): number; + /** + * Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as a big-endian, two's complement signed value + * supporting up to 48 bits of accuracy. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); + * + * console.log(buf.readIntBE(0, 6).toString(16)); + * // Prints: 1234567890ab + * console.log(buf.readIntBE(1, 6).toString(16)); + * // Throws ERR_OUT_OF_RANGE. + * console.log(buf.readIntBE(1, 0).toString(16)); + * // Throws ERR_OUT_OF_RANGE. + * ``` + * @since v0.11.15 + * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`. + * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`. + */ + readIntBE(offset: number, byteLength: number): number; + /** + * Reads an unsigned 8-bit integer from `buf` at the specified `offset`. + * + * This function is also available under the `readUint8` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([1, -2]); + * + * console.log(buf.readUInt8(0)); + * // Prints: 1 + * console.log(buf.readUInt8(1)); + * // Prints: 254 + * console.log(buf.readUInt8(2)); + * // Throws ERR_OUT_OF_RANGE. + * ``` + * @since v0.5.0 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 1`. + */ + readUInt8(offset?: number): number; + /** + * @alias Buffer.readUInt8 + * @since v14.9.0, v12.19.0 + */ + readUint8(offset?: number): number; + /** + * Reads an unsigned, little-endian 16-bit integer from `buf` at the specified `offset`. + * + * This function is also available under the `readUint16LE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0x12, 0x34, 0x56]); + * + * console.log(buf.readUInt16LE(0).toString(16)); + * // Prints: 3412 + * console.log(buf.readUInt16LE(1).toString(16)); + * // Prints: 5634 + * console.log(buf.readUInt16LE(2).toString(16)); + * // Throws ERR_OUT_OF_RANGE. + * ``` + * @since v0.5.5 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`. + */ + readUInt16LE(offset?: number): number; + /** + * @alias Buffer.readUInt16LE + * @since v14.9.0, v12.19.0 + */ + readUint16LE(offset?: number): number; + /** + * Reads an unsigned, big-endian 16-bit integer from `buf` at the specified`offset`. + * + * This function is also available under the `readUint16BE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0x12, 0x34, 0x56]); + * + * console.log(buf.readUInt16BE(0).toString(16)); + * // Prints: 1234 + * console.log(buf.readUInt16BE(1).toString(16)); + * // Prints: 3456 + * ``` + * @since v0.5.5 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`. + */ + readUInt16BE(offset?: number): number; + /** + * @alias Buffer.readUInt16BE + * @since v14.9.0, v12.19.0 + */ + readUint16BE(offset?: number): number; + /** + * Reads an unsigned, little-endian 32-bit integer from `buf` at the specified`offset`. + * + * This function is also available under the `readUint32LE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78]); + * + * console.log(buf.readUInt32LE(0).toString(16)); + * // Prints: 78563412 + * console.log(buf.readUInt32LE(1).toString(16)); + * // Throws ERR_OUT_OF_RANGE. + * ``` + * @since v0.5.5 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. + */ + readUInt32LE(offset?: number): number; + /** + * @alias Buffer.readUInt32LE + * @since v14.9.0, v12.19.0 + */ + readUint32LE(offset?: number): number; + /** + * Reads an unsigned, big-endian 32-bit integer from `buf` at the specified`offset`. + * + * This function is also available under the `readUint32BE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78]); + * + * console.log(buf.readUInt32BE(0).toString(16)); + * // Prints: 12345678 + * ``` + * @since v0.5.5 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. + */ + readUInt32BE(offset?: number): number; + /** + * @alias Buffer.readUInt32BE + * @since v14.9.0, v12.19.0 + */ + readUint32BE(offset?: number): number; + /** + * Reads a signed 8-bit integer from `buf` at the specified `offset`. + * + * Integers read from a `Buffer` are interpreted as two's complement signed values. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([-1, 5]); + * + * console.log(buf.readInt8(0)); + * // Prints: -1 + * console.log(buf.readInt8(1)); + * // Prints: 5 + * console.log(buf.readInt8(2)); + * // Throws ERR_OUT_OF_RANGE. + * ``` + * @since v0.5.0 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 1`. + */ + readInt8(offset?: number): number; + /** + * Reads a signed, little-endian 16-bit integer from `buf` at the specified`offset`. + * + * Integers read from a `Buffer` are interpreted as two's complement signed values. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0, 5]); + * + * console.log(buf.readInt16LE(0)); + * // Prints: 1280 + * console.log(buf.readInt16LE(1)); + * // Throws ERR_OUT_OF_RANGE. + * ``` + * @since v0.5.5 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`. + */ + readInt16LE(offset?: number): number; + /** + * Reads a signed, big-endian 16-bit integer from `buf` at the specified `offset`. + * + * Integers read from a `Buffer` are interpreted as two's complement signed values. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0, 5]); + * + * console.log(buf.readInt16BE(0)); + * // Prints: 5 + * ``` + * @since v0.5.5 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`. + */ + readInt16BE(offset?: number): number; + /** + * Reads a signed, little-endian 32-bit integer from `buf` at the specified`offset`. + * + * Integers read from a `Buffer` are interpreted as two's complement signed values. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0, 0, 0, 5]); + * + * console.log(buf.readInt32LE(0)); + * // Prints: 83886080 + * console.log(buf.readInt32LE(1)); + * // Throws ERR_OUT_OF_RANGE. + * ``` + * @since v0.5.5 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. + */ + readInt32LE(offset?: number): number; + /** + * Reads a signed, big-endian 32-bit integer from `buf` at the specified `offset`. + * + * Integers read from a `Buffer` are interpreted as two's complement signed values. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([0, 0, 0, 5]); + * + * console.log(buf.readInt32BE(0)); + * // Prints: 5 + * ``` + * @since v0.5.5 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. + */ + readInt32BE(offset?: number): number; + /** + * Reads a 32-bit, little-endian float from `buf` at the specified `offset`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([1, 2, 3, 4]); + * + * console.log(buf.readFloatLE(0)); + * // Prints: 1.539989614439558e-36 + * console.log(buf.readFloatLE(1)); + * // Throws ERR_OUT_OF_RANGE. + * ``` + * @since v0.11.15 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. + */ + readFloatLE(offset?: number): number; + /** + * Reads a 32-bit, big-endian float from `buf` at the specified `offset`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([1, 2, 3, 4]); + * + * console.log(buf.readFloatBE(0)); + * // Prints: 2.387939260590663e-38 + * ``` + * @since v0.11.15 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. + */ + readFloatBE(offset?: number): number; + /** + * Reads a 64-bit, little-endian double from `buf` at the specified `offset`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); + * + * console.log(buf.readDoubleLE(0)); + * // Prints: 5.447603722011605e-270 + * console.log(buf.readDoubleLE(1)); + * // Throws ERR_OUT_OF_RANGE. + * ``` + * @since v0.11.15 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 8`. + */ + readDoubleLE(offset?: number): number; + /** + * Reads a 64-bit, big-endian double from `buf` at the specified `offset`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); + * + * console.log(buf.readDoubleBE(0)); + * // Prints: 8.20788039913184e-304 + * ``` + * @since v0.11.15 + * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 8`. + */ + readDoubleBE(offset?: number): number; + reverse(): this; + /** + * Interprets `buf` as an array of unsigned 16-bit integers and swaps the + * byte order _in-place_. Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 2. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]); + * + * console.log(buf1); + * // Prints: + * + * buf1.swap16(); + * + * console.log(buf1); + * // Prints: + * + * const buf2 = Buffer.from([0x1, 0x2, 0x3]); + * + * buf2.swap16(); + * // Throws ERR_INVALID_BUFFER_SIZE. + * ``` + * + * One convenient use of `buf.swap16()` is to perform a fast in-place conversion + * between UTF-16 little-endian and UTF-16 big-endian: + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from('This is little-endian UTF-16', 'utf16le'); + * buf.swap16(); // Convert to big-endian UTF-16 text. + * ``` + * @since v5.10.0 + * @return A reference to `buf`. + */ + swap16(): this; + /** + * Interprets `buf` as an array of unsigned 32-bit integers and swaps the + * byte order _in-place_. Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 4. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]); + * + * console.log(buf1); + * // Prints: + * + * buf1.swap32(); + * + * console.log(buf1); + * // Prints: + * + * const buf2 = Buffer.from([0x1, 0x2, 0x3]); + * + * buf2.swap32(); + * // Throws ERR_INVALID_BUFFER_SIZE. + * ``` + * @since v5.10.0 + * @return A reference to `buf`. + */ + swap32(): this; + /** + * Interprets `buf` as an array of 64-bit numbers and swaps byte order _in-place_. + * Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 8. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]); + * + * console.log(buf1); + * // Prints: + * + * buf1.swap64(); + * + * console.log(buf1); + * // Prints: + * + * const buf2 = Buffer.from([0x1, 0x2, 0x3]); + * + * buf2.swap64(); + * // Throws ERR_INVALID_BUFFER_SIZE. + * ``` + * @since v6.3.0 + * @return A reference to `buf`. + */ + swap64(): this; + /** + * Writes `value` to `buf` at the specified `offset`. `value` must be a + * valid unsigned 8-bit integer. Behavior is undefined when `value` is anything + * other than an unsigned 8-bit integer. + * + * This function is also available under the `writeUint8` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(4); + * + * buf.writeUInt8(0x3, 0); + * buf.writeUInt8(0x4, 1); + * buf.writeUInt8(0x23, 2); + * buf.writeUInt8(0x42, 3); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.0 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 1`. + * @return `offset` plus the number of bytes written. + */ + writeUInt8(value: number, offset?: number): number; + /** + * @alias Buffer.writeUInt8 + * @since v14.9.0, v12.19.0 + */ + writeUint8(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as little-endian. The `value` must be a valid unsigned 16-bit integer. Behavior is undefined when `value` is + * anything other than an unsigned 16-bit integer. + * + * This function is also available under the `writeUint16LE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(4); + * + * buf.writeUInt16LE(0xdead, 0); + * buf.writeUInt16LE(0xbeef, 2); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.5 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`. + * @return `offset` plus the number of bytes written. + */ + writeUInt16LE(value: number, offset?: number): number; + /** + * @alias Buffer.writeUInt16LE + * @since v14.9.0, v12.19.0 + */ + writeUint16LE(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as big-endian. The `value` must be a valid unsigned 16-bit integer. Behavior is undefined when `value`is anything other than an + * unsigned 16-bit integer. + * + * This function is also available under the `writeUint16BE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(4); + * + * buf.writeUInt16BE(0xdead, 0); + * buf.writeUInt16BE(0xbeef, 2); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.5 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`. + * @return `offset` plus the number of bytes written. + */ + writeUInt16BE(value: number, offset?: number): number; + /** + * @alias Buffer.writeUInt16BE + * @since v14.9.0, v12.19.0 + */ + writeUint16BE(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as little-endian. The `value` must be a valid unsigned 32-bit integer. Behavior is undefined when `value` is + * anything other than an unsigned 32-bit integer. + * + * This function is also available under the `writeUint32LE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(4); + * + * buf.writeUInt32LE(0xfeedface, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.5 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. + * @return `offset` plus the number of bytes written. + */ + writeUInt32LE(value: number, offset?: number): number; + /** + * @alias Buffer.writeUInt32LE + * @since v14.9.0, v12.19.0 + */ + writeUint32LE(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as big-endian. The `value` must be a valid unsigned 32-bit integer. Behavior is undefined when `value`is anything other than an + * unsigned 32-bit integer. + * + * This function is also available under the `writeUint32BE` alias. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(4); + * + * buf.writeUInt32BE(0xfeedface, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.5 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. + * @return `offset` plus the number of bytes written. + */ + writeUInt32BE(value: number, offset?: number): number; + /** + * @alias Buffer.writeUInt32BE + * @since v14.9.0, v12.19.0 + */ + writeUint32BE(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset`. `value` must be a valid + * signed 8-bit integer. Behavior is undefined when `value` is anything other than + * a signed 8-bit integer. + * + * `value` is interpreted and written as a two's complement signed integer. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(2); + * + * buf.writeInt8(2, 0); + * buf.writeInt8(-2, 1); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.0 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 1`. + * @return `offset` plus the number of bytes written. + */ + writeInt8(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as little-endian. The `value` must be a valid signed 16-bit integer. Behavior is undefined when `value` is + * anything other than a signed 16-bit integer. + * + * The `value` is interpreted and written as a two's complement signed integer. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(2); + * + * buf.writeInt16LE(0x0304, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.5 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`. + * @return `offset` plus the number of bytes written. + */ + writeInt16LE(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as big-endian. The `value` must be a valid signed 16-bit integer. Behavior is undefined when `value` is + * anything other than a signed 16-bit integer. + * + * The `value` is interpreted and written as a two's complement signed integer. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(2); + * + * buf.writeInt16BE(0x0102, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.5 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`. + * @return `offset` plus the number of bytes written. + */ + writeInt16BE(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as little-endian. The `value` must be a valid signed 32-bit integer. Behavior is undefined when `value` is + * anything other than a signed 32-bit integer. + * + * The `value` is interpreted and written as a two's complement signed integer. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(4); + * + * buf.writeInt32LE(0x05060708, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.5 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. + * @return `offset` plus the number of bytes written. + */ + writeInt32LE(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as big-endian. The `value` must be a valid signed 32-bit integer. Behavior is undefined when `value` is + * anything other than a signed 32-bit integer. + * + * The `value` is interpreted and written as a two's complement signed integer. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(4); + * + * buf.writeInt32BE(0x01020304, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.5.5 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. + * @return `offset` plus the number of bytes written. + */ + writeInt32BE(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as little-endian. Behavior is + * undefined when `value` is anything other than a JavaScript number. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(4); + * + * buf.writeFloatLE(0xcafebabe, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.11.15 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. + * @return `offset` plus the number of bytes written. + */ + writeFloatLE(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as big-endian. Behavior is + * undefined when `value` is anything other than a JavaScript number. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(4); + * + * buf.writeFloatBE(0xcafebabe, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.11.15 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. + * @return `offset` plus the number of bytes written. + */ + writeFloatBE(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as little-endian. The `value` must be a JavaScript number. Behavior is undefined when `value` is anything + * other than a JavaScript number. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(8); + * + * buf.writeDoubleLE(123.456, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.11.15 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 8`. + * @return `offset` plus the number of bytes written. + */ + writeDoubleLE(value: number, offset?: number): number; + /** + * Writes `value` to `buf` at the specified `offset` as big-endian. The `value` must be a JavaScript number. Behavior is undefined when `value` is anything + * other than a JavaScript number. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(8); + * + * buf.writeDoubleBE(123.456, 0); + * + * console.log(buf); + * // Prints: + * ``` + * @since v0.11.15 + * @param value Number to be written to `buf`. + * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 8`. + * @return `offset` plus the number of bytes written. + */ + writeDoubleBE(value: number, offset?: number): number; + /** + * Fills `buf` with the specified `value`. If the `offset` and `end` are not given, + * the entire `buf` will be filled: + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Fill a `Buffer` with the ASCII character 'h'. + * + * const b = Buffer.allocUnsafe(50).fill('h'); + * + * console.log(b.toString()); + * // Prints: hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh + * + * // Fill a buffer with empty string + * const c = Buffer.allocUnsafe(5).fill(''); + * + * console.log(c.fill('')); + * // Prints: + * ``` + * + * `value` is coerced to a `uint32` value if it is not a string, `Buffer`, or + * integer. If the resulting integer is greater than `255` (decimal), `buf` will be + * filled with `value & 255`. + * + * If the final write of a `fill()` operation falls on a multi-byte character, + * then only the bytes of that character that fit into `buf` are written: + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Fill a `Buffer` with character that takes up two bytes in UTF-8. + * + * console.log(Buffer.allocUnsafe(5).fill('\u0222')); + * // Prints: + * ``` + * + * If `value` contains invalid characters, it is truncated; if no valid + * fill data remains, an exception is thrown: + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(5); + * + * console.log(buf.fill('a')); + * // Prints: + * console.log(buf.fill('aazz', 'hex')); + * // Prints: + * console.log(buf.fill('zz', 'hex')); + * // Throws an exception. + * ``` + * @since v0.5.0 + * @param value The value with which to fill `buf`. Empty value (string, Uint8Array, Buffer) is coerced to `0`. + * @param [offset=0] Number of bytes to skip before starting to fill `buf`. + * @param [end=buf.length] Where to stop filling `buf` (not inclusive). + * @param [encoding='utf8'] The encoding for `value` if `value` is a string. + * @return A reference to `buf`. + */ + fill(value: string | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): this; + fill(value: string | Uint8Array | number, offset: number, encoding: BufferEncoding): this; + fill(value: string | Uint8Array | number, encoding: BufferEncoding): this; + /** + * If `value` is: + * + * * a string, `value` is interpreted according to the character encoding in `encoding`. + * * a `Buffer` or [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array), `value` will be used in its entirety. + * To compare a partial `Buffer`, use `buf.subarray`. + * * a number, `value` will be interpreted as an unsigned 8-bit integer + * value between `0` and `255`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from('this is a buffer'); + * + * console.log(buf.indexOf('this')); + * // Prints: 0 + * console.log(buf.indexOf('is')); + * // Prints: 2 + * console.log(buf.indexOf(Buffer.from('a buffer'))); + * // Prints: 8 + * console.log(buf.indexOf(97)); + * // Prints: 8 (97 is the decimal ASCII value for 'a') + * console.log(buf.indexOf(Buffer.from('a buffer example'))); + * // Prints: -1 + * console.log(buf.indexOf(Buffer.from('a buffer example').slice(0, 8))); + * // Prints: 8 + * + * const utf16Buffer = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'utf16le'); + * + * console.log(utf16Buffer.indexOf('\u03a3', 0, 'utf16le')); + * // Prints: 4 + * console.log(utf16Buffer.indexOf('\u03a3', -4, 'utf16le')); + * // Prints: 6 + * ``` + * + * If `value` is not a string, number, or `Buffer`, this method will throw a `TypeError`. If `value` is a number, it will be coerced to a valid byte value, + * an integer between 0 and 255. + * + * If `byteOffset` is not a number, it will be coerced to a number. If the result + * of coercion is `NaN` or `0`, then the entire buffer will be searched. This + * behavior matches [`String.prototype.indexOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf). + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const b = Buffer.from('abcdef'); + * + * // Passing a value that's a number, but not a valid byte. + * // Prints: 2, equivalent to searching for 99 or 'c'. + * console.log(b.indexOf(99.9)); + * console.log(b.indexOf(256 + 99)); + * + * // Passing a byteOffset that coerces to NaN or 0. + * // Prints: 1, searching the whole buffer. + * console.log(b.indexOf('b', undefined)); + * console.log(b.indexOf('b', {})); + * console.log(b.indexOf('b', null)); + * console.log(b.indexOf('b', [])); + * ``` + * + * If `value` is an empty string or empty `Buffer` and `byteOffset` is less + * than `buf.length`, `byteOffset` will be returned. If `value` is empty and`byteOffset` is at least `buf.length`, `buf.length` will be returned. + * @since v1.5.0 + * @param value What to search for. + * @param [byteOffset=0] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`. + * @param [encoding='utf8'] If `value` is a string, this is the encoding used to determine the binary representation of the string that will be searched for in `buf`. + * @return The index of the first occurrence of `value` in `buf`, or `-1` if `buf` does not contain `value`. + */ + indexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; + indexOf(value: string | number | Uint8Array, encoding: BufferEncoding): number; + /** + * Identical to `buf.indexOf()`, except the last occurrence of `value` is found + * rather than the first occurrence. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from('this buffer is a buffer'); + * + * console.log(buf.lastIndexOf('this')); + * // Prints: 0 + * console.log(buf.lastIndexOf('buffer')); + * // Prints: 17 + * console.log(buf.lastIndexOf(Buffer.from('buffer'))); + * // Prints: 17 + * console.log(buf.lastIndexOf(97)); + * // Prints: 15 (97 is the decimal ASCII value for 'a') + * console.log(buf.lastIndexOf(Buffer.from('yolo'))); + * // Prints: -1 + * console.log(buf.lastIndexOf('buffer', 5)); + * // Prints: 5 + * console.log(buf.lastIndexOf('buffer', 4)); + * // Prints: -1 + * + * const utf16Buffer = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'utf16le'); + * + * console.log(utf16Buffer.lastIndexOf('\u03a3', undefined, 'utf16le')); + * // Prints: 6 + * console.log(utf16Buffer.lastIndexOf('\u03a3', -5, 'utf16le')); + * // Prints: 4 + * ``` + * + * If `value` is not a string, number, or `Buffer`, this method will throw a `TypeError`. If `value` is a number, it will be coerced to a valid byte value, + * an integer between 0 and 255. + * + * If `byteOffset` is not a number, it will be coerced to a number. Any arguments + * that coerce to `NaN`, like `{}` or `undefined`, will search the whole buffer. + * This behavior matches [`String.prototype.lastIndexOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf). + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const b = Buffer.from('abcdef'); + * + * // Passing a value that's a number, but not a valid byte. + * // Prints: 2, equivalent to searching for 99 or 'c'. + * console.log(b.lastIndexOf(99.9)); + * console.log(b.lastIndexOf(256 + 99)); + * + * // Passing a byteOffset that coerces to NaN. + * // Prints: 1, searching the whole buffer. + * console.log(b.lastIndexOf('b', undefined)); + * console.log(b.lastIndexOf('b', {})); + * + * // Passing a byteOffset that coerces to 0. + * // Prints: -1, equivalent to passing 0. + * console.log(b.lastIndexOf('b', null)); + * console.log(b.lastIndexOf('b', [])); + * ``` + * + * If `value` is an empty string or empty `Buffer`, `byteOffset` will be returned. + * @since v6.0.0 + * @param value What to search for. + * @param [byteOffset=buf.length - 1] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`. + * @param [encoding='utf8'] If `value` is a string, this is the encoding used to determine the binary representation of the string that will be searched for in `buf`. + * @return The index of the last occurrence of `value` in `buf`, or `-1` if `buf` does not contain `value`. + */ + lastIndexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; + lastIndexOf(value: string | number | Uint8Array, encoding: BufferEncoding): number; + /** + * Equivalent to `buf.indexOf() !== -1`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from('this is a buffer'); + * + * console.log(buf.includes('this')); + * // Prints: true + * console.log(buf.includes('is')); + * // Prints: true + * console.log(buf.includes(Buffer.from('a buffer'))); + * // Prints: true + * console.log(buf.includes(97)); + * // Prints: true (97 is the decimal ASCII value for 'a') + * console.log(buf.includes(Buffer.from('a buffer example'))); + * // Prints: false + * console.log(buf.includes(Buffer.from('a buffer example').slice(0, 8))); + * // Prints: true + * console.log(buf.includes('this', 4)); + * // Prints: false + * ``` + * @since v5.3.0 + * @param value What to search for. + * @param [byteOffset=0] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`. + * @param [encoding='utf8'] If `value` is a string, this is its encoding. + * @return `true` if `value` was found in `buf`, `false` otherwise. + */ + includes(value: string | number | Buffer, byteOffset?: number, encoding?: BufferEncoding): boolean; + includes(value: string | number | Buffer, encoding: BufferEncoding): boolean; + } + var Buffer: BufferConstructor; + } + // #region web types + export type BlobPart = NodeJS.BufferSource | Blob | string; + export interface BlobPropertyBag { + endings?: "native" | "transparent"; + type?: string; + } + export interface FilePropertyBag extends BlobPropertyBag { + lastModified?: number; + } + export interface Blob { + readonly size: number; + readonly type: string; + arrayBuffer(): Promise; + bytes(): Promise; + slice(start?: number, end?: number, contentType?: string): Blob; + stream(): ReadableStream; + text(): Promise; + } + export var Blob: { + prototype: Blob; + new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob; + }; + export interface File extends Blob { + readonly lastModified: number; + readonly name: string; + readonly webkitRelativePath: string; + } + export var File: { + prototype: File; + new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File; + }; + export import atob = globalThis.atob; + export import btoa = globalThis.btoa; + // #endregion +} +declare module "buffer" { + export * from "node: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..e3964ab --- /dev/null +++ b/node_modules/@types/node/child_process.d.ts @@ -0,0 +1,1366 @@ +declare module "node:child_process" { + import { NonSharedBuffer } from "node:buffer"; + import * as dgram from "node:dgram"; + import { Abortable, EventEmitter, InternalEventEmitter } from "node:events"; + import * as net from "node:net"; + import { Readable, Stream, Writable } from "node:stream"; + import { URL } from "node:url"; + type Serializable = string | object | number | boolean | bigint; + type SendHandle = net.Socket | net.Server | dgram.Socket | undefined; + interface ChildProcessEventMap { + "close": [code: number | null, signal: NodeJS.Signals | null]; + "disconnect": []; + "error": [err: Error]; + "exit": [code: number | null, signal: NodeJS.Signals | null]; + "message": [message: Serializable, sendHandle: SendHandle]; + "spawn": []; + } + /** + * Instances of the `ChildProcess` represent spawned child processes. + * + * Instances of `ChildProcess` are not intended to be created directly. Rather, + * use the {@link spawn}, {@link exec},{@link execFile}, or {@link fork} methods to create + * instances of `ChildProcess`. + * @since v2.2.0 + */ + class ChildProcess implements EventEmitter { + /** + * A `Writable Stream` that represents the child process's `stdin`. + * + * If a child process waits to read all of its input, the child will not continue + * until this stream has been closed via `end()`. + * + * If the child was spawned with `stdio[0]` set to anything other than `'pipe'`, + * then this will be `null`. + * + * `subprocess.stdin` is an alias for `subprocess.stdio[0]`. Both properties will + * refer to the same value. + * + * The `subprocess.stdin` property can be `null` or `undefined` if the child process could not be successfully spawned. + * @since v0.1.90 + */ + stdin: Writable | null; + /** + * A `Readable Stream` that represents the child process's `stdout`. + * + * If the child was spawned with `stdio[1]` set to anything other than `'pipe'`, + * then this will be `null`. + * + * `subprocess.stdout` is an alias for `subprocess.stdio[1]`. Both properties will + * refer to the same value. + * + * ```js + * import { spawn } from 'node:child_process'; + * + * const subprocess = spawn('ls'); + * + * subprocess.stdout.on('data', (data) => { + * console.log(`Received chunk ${data}`); + * }); + * ``` + * + * The `subprocess.stdout` property can be `null` or `undefined` if the child process could not be successfully spawned. + * @since v0.1.90 + */ + stdout: Readable | null; + /** + * A `Readable Stream` that represents the child process's `stderr`. + * + * If the child was spawned with `stdio[2]` set to anything other than `'pipe'`, + * then this will be `null`. + * + * `subprocess.stderr` is an alias for `subprocess.stdio[2]`. Both properties will + * refer to the same value. + * + * The `subprocess.stderr` property can be `null` or `undefined` if the child process could not be successfully spawned. + * @since v0.1.90 + */ + stderr: Readable | null; + /** + * The `subprocess.channel` property is a reference to the child's IPC channel. If + * no IPC channel exists, this property is `undefined`. + * @since v7.1.0 + */ + readonly channel?: Control | null; + /** + * A sparse array of pipes to the child process, corresponding with positions in + * the `stdio` option passed to {@link spawn} that have been set + * to the value `'pipe'`. `subprocess.stdio[0]`, `subprocess.stdio[1]`, and `subprocess.stdio[2]` are also available as `subprocess.stdin`, `subprocess.stdout`, and `subprocess.stderr`, + * respectively. + * + * In the following example, only the child's fd `1` (stdout) is configured as a + * pipe, so only the parent's `subprocess.stdio[1]` is a stream, all other values + * in the array are `null`. + * + * ```js + * import assert from 'node:assert'; + * import fs from 'node:fs'; + * import child_process from 'node:child_process'; + * + * const subprocess = child_process.spawn('ls', { + * stdio: [ + * 0, // Use parent's stdin for child. + * 'pipe', // Pipe child's stdout to parent. + * fs.openSync('err.out', 'w'), // Direct child's stderr to a file. + * ], + * }); + * + * assert.strictEqual(subprocess.stdio[0], null); + * assert.strictEqual(subprocess.stdio[0], subprocess.stdin); + * + * assert(subprocess.stdout); + * assert.strictEqual(subprocess.stdio[1], subprocess.stdout); + * + * assert.strictEqual(subprocess.stdio[2], null); + * assert.strictEqual(subprocess.stdio[2], subprocess.stderr); + * ``` + * + * The `subprocess.stdio` property can be `undefined` if the child process could + * not be successfully spawned. + * @since v0.7.10 + */ + readonly stdio: [ + Writable | null, + // stdin + Readable | null, + // stdout + Readable | null, + // stderr + Readable | Writable | null | undefined, + // extra + Readable | Writable | null | undefined, // extra + ]; + /** + * The `subprocess.killed` property indicates whether the child process + * successfully received a signal from `subprocess.kill()`. The `killed` property + * does not indicate that the child process has been terminated. + * @since v0.5.10 + */ + readonly killed: boolean; + /** + * Returns the process identifier (PID) of the child process. If the child process + * fails to spawn due to errors, then the value is `undefined` and `error` is + * emitted. + * + * ```js + * import { spawn } from 'node:child_process'; + * const grep = spawn('grep', ['ssh']); + * + * console.log(`Spawned child pid: ${grep.pid}`); + * grep.stdin.end(); + * ``` + * @since v0.1.90 + */ + readonly pid?: number | undefined; + /** + * The `subprocess.connected` property indicates whether it is still possible to + * send and receive messages from a child process. When `subprocess.connected` is `false`, it is no longer possible to send or receive messages. + * @since v0.7.2 + */ + readonly connected: boolean; + /** + * The `subprocess.exitCode` property indicates the exit code of the child process. + * If the child process is still running, the field will be `null`. + * + * When the child process is terminated by a signal, `subprocess.exitCode` will be + * `null` and `subprocess.signalCode` will be set. To get the corresponding + * POSIX exit code, use + * `util.convertProcessSignalToExitCode(subprocess.signalCode)`. + */ + readonly exitCode: number | null; + /** + * The `subprocess.signalCode` property indicates the signal received by + * the child process if any, else `null`. + */ + readonly signalCode: NodeJS.Signals | null; + /** + * The `subprocess.spawnargs` property represents the full list of command-line + * arguments the child process was launched with. + */ + readonly spawnargs: string[]; + /** + * The `subprocess.spawnfile` property indicates the executable file name of + * the child process that is launched. + * + * For {@link fork}, its value will be equal to `process.execPath`. + * For {@link spawn}, its value will be the name of + * the executable file. + * For {@link exec}, its value will be the name of the shell + * in which the child process is launched. + */ + readonly spawnfile: string; + /** + * The `subprocess.kill()` method sends a signal to the child process. If no + * argument is given, the process will be sent the `'SIGTERM'` signal. See [`signal(7)`](http://man7.org/linux/man-pages/man7/signal.7.html) for a list of available signals. This function + * returns `true` if [`kill(2)`](http://man7.org/linux/man-pages/man2/kill.2.html) succeeds, and `false` otherwise. + * + * ```js + * import { spawn } from 'node:child_process'; + * const grep = spawn('grep', ['ssh']); + * + * grep.on('close', (code, signal) => { + * console.log( + * `child process terminated due to receipt of signal ${signal}`); + * }); + * + * // Send SIGHUP to process. + * grep.kill('SIGHUP'); + * ``` + * + * The `ChildProcess` object may emit an `'error'` event if the signal + * cannot be delivered. Sending a signal to a child process that has already exited + * is not an error but may have unforeseen consequences. Specifically, if the + * process identifier (PID) has been reassigned to another process, the signal will + * be delivered to that process instead which can have unexpected results. + * + * While the function is called `kill`, the signal delivered to the child process + * may not actually terminate the process. + * + * See [`kill(2)`](http://man7.org/linux/man-pages/man2/kill.2.html) for reference. + * + * On Windows, where POSIX signals do not exist, the `signal` argument will be + * ignored, and the process will be killed forcefully and abruptly (similar to `'SIGKILL'`). + * See `Signal Events` for more details. + * + * On Linux, child processes of child processes will not be terminated + * when attempting to kill their parent. This is likely to happen when running a + * new process in a shell or with the use of the `shell` option of `ChildProcess`: + * + * ```js + * 'use strict'; + * import { spawn } from 'node:child_process'; + * + * const subprocess = spawn( + * 'sh', + * [ + * '-c', + * `node -e "setInterval(() => { + * console.log(process.pid, 'is alive') + * }, 500);"`, + * ], { + * stdio: ['inherit', 'inherit', 'inherit'], + * }, + * ); + * + * setTimeout(() => { + * subprocess.kill(); // Does not terminate the Node.js process in the shell. + * }, 2000); + * ``` + * @since v0.1.90 + */ + kill(signal?: NodeJS.Signals | number): boolean; + /** + * Calls {@link ChildProcess.kill} with `'SIGTERM'`. + * @since v20.5.0 + */ + [Symbol.dispose](): void; + /** + * When an IPC channel has been established between the parent and child ( + * i.e. when using {@link fork}), the `subprocess.send()` method can + * be used to send messages to the child process. When the child process is a + * Node.js instance, these messages can be received via the `'message'` event. + * + * The message goes through serialization and parsing. The resulting + * message might not be the same as what is originally sent. + * + * For example, in the parent script: + * + * ```js + * import cp from 'node:child_process'; + * const n = cp.fork(`${__dirname}/sub.js`); + * + * n.on('message', (m) => { + * console.log('PARENT got message:', m); + * }); + * + * // Causes the child to print: CHILD got message: { hello: 'world' } + * n.send({ hello: 'world' }); + * ``` + * + * And then the child script, `'sub.js'` might look like this: + * + * ```js + * process.on('message', (m) => { + * console.log('CHILD got message:', m); + * }); + * + * // Causes the parent to print: PARENT got message: { foo: 'bar', baz: null } + * process.send({ foo: 'bar', baz: NaN }); + * ``` + * + * Child Node.js processes will have a `process.send()` method of their own + * that allows the child to send messages back to the parent. + * + * There is a special case when sending a `{cmd: 'NODE_foo'}` message. Messages + * containing a `NODE_` prefix in the `cmd` property are reserved for use within + * Node.js core and will not be emitted in the child's `'message'` event. Rather, such messages are emitted using the `'internalMessage'` event and are consumed internally by Node.js. + * Applications should avoid using such messages or listening for `'internalMessage'` events as it is subject to change without notice. + * + * The optional `sendHandle` argument that may be passed to `subprocess.send()` is + * for passing a TCP server or socket object to the child process. The child will + * receive the object as the second argument passed to the callback function + * registered on the `'message'` event. Any data that is received and buffered in + * the socket will not be sent to the child. Sending IPC sockets is not supported on Windows. + * + * The optional `callback` is a function that is invoked after the message is + * sent but before the child may have received it. The function is called with a + * single argument: `null` on success, or an `Error` object on failure. + * + * If no `callback` function is provided and the message cannot be sent, an `'error'` event will be emitted by the `ChildProcess` object. This can + * happen, for instance, when the child process has already exited. + * + * `subprocess.send()` will return `false` if the channel has closed or when the + * backlog of unsent messages exceeds a threshold that makes it unwise to send + * more. Otherwise, the method returns `true`. The `callback` function can be + * used to implement flow control. + * + * #### Example: sending a server object + * + * The `sendHandle` argument can be used, for instance, to pass the handle of + * a TCP server object to the child process as illustrated in the example below: + * + * ```js + * import { createServer } from 'node:net'; + * import { fork } from 'node:child_process'; + * const subprocess = fork('subprocess.js'); + * + * // Open up the server object and send the handle. + * const server = createServer(); + * server.on('connection', (socket) => { + * socket.end('handled by parent'); + * }); + * server.listen(1337, () => { + * subprocess.send('server', server); + * }); + * ``` + * + * The child would then receive the server object as: + * + * ```js + * process.on('message', (m, server) => { + * if (m === 'server') { + * server.on('connection', (socket) => { + * socket.end('handled by child'); + * }); + * } + * }); + * ``` + * + * Once the server is now shared between the parent and child, some connections + * can be handled by the parent and some by the child. + * + * While the example above uses a server created using the `node:net` module, `node:dgram` module servers use exactly the same workflow with the exceptions of + * listening on a `'message'` event instead of `'connection'` and using `server.bind()` instead of `server.listen()`. This is, however, only + * supported on Unix platforms. + * + * #### Example: sending a socket object + * + * Similarly, the `sendHandler` argument can be used to pass the handle of a + * socket to the child process. The example below spawns two children that each + * handle connections with "normal" or "special" priority: + * + * ```js + * import { createServer } from 'node:net'; + * import { fork } from 'node:child_process'; + * const normal = fork('subprocess.js', ['normal']); + * const special = fork('subprocess.js', ['special']); + * + * // Open up the server and send sockets to child. Use pauseOnConnect to prevent + * // the sockets from being read before they are sent to the child process. + * const server = createServer({ pauseOnConnect: true }); + * server.on('connection', (socket) => { + * + * // If this is special priority... + * if (socket.remoteAddress === '74.125.127.100') { + * special.send('socket', socket); + * return; + * } + * // This is normal priority. + * normal.send('socket', socket); + * }); + * server.listen(1337); + * ``` + * + * The `subprocess.js` would receive the socket handle as the second argument + * passed to the event callback function: + * + * ```js + * process.on('message', (m, socket) => { + * if (m === 'socket') { + * if (socket) { + * // Check that the client socket exists. + * // It is possible for the socket to be closed between the time it is + * // sent and the time it is received in the child process. + * socket.end(`Request handled with ${process.argv[2]} priority`); + * } + * } + * }); + * ``` + * + * Do not use `.maxConnections` on a socket that has been passed to a subprocess. + * The parent cannot track when the socket is destroyed. + * + * Any `'message'` handlers in the subprocess should verify that `socket` exists, + * as the connection may have been closed during the time it takes to send the + * connection to the child. + * @since v0.5.9 + * @param sendHandle `undefined`, or a [`net.Socket`](https://nodejs.org/docs/latest-v25.x/api/net.html#class-netsocket), [`net.Server`](https://nodejs.org/docs/latest-v25.x/api/net.html#class-netserver), or [`dgram.Socket`](https://nodejs.org/docs/latest-v25.x/api/dgram.html#class-dgramsocket) object. + * @param options The `options` argument, if present, is an object used to parameterize the sending of certain types of handles. `options` supports the following properties: + */ + send(message: Serializable, callback?: (error: Error | null) => void): boolean; + send(message: Serializable, sendHandle?: SendHandle, callback?: (error: Error | null) => void): boolean; + send( + message: Serializable, + sendHandle?: SendHandle, + options?: MessageOptions, + callback?: (error: Error | null) => void, + ): boolean; + /** + * Closes the IPC channel between parent and child, allowing the child to exit + * gracefully once there are no other connections keeping it alive. After calling + * this method the `subprocess.connected` and `process.connected` properties in + * both the parent and child (respectively) will be set to `false`, and it will be + * no longer possible to pass messages between the processes. + * + * The `'disconnect'` event will be emitted when there are no messages in the + * process of being received. This will most often be triggered immediately after + * calling `subprocess.disconnect()`. + * + * When the child process is a Node.js instance (e.g. spawned using {@link fork}), the `process.disconnect()` method can be invoked + * within the child process to close the IPC channel as well. + * @since v0.7.2 + */ + disconnect(): void; + /** + * By default, the parent will wait for the detached child to exit. To prevent the + * parent from waiting for a given `subprocess` to exit, use the `subprocess.unref()` method. Doing so will cause the parent's event loop to not + * include the child in its reference count, allowing the parent to exit + * independently of the child, unless there is an established IPC channel between + * the child and the parent. + * + * ```js + * import { spawn } from 'node:child_process'; + * + * const subprocess = spawn(process.argv[0], ['child_program.js'], { + * detached: true, + * stdio: 'ignore', + * }); + * + * subprocess.unref(); + * ``` + * @since v0.7.10 + */ + unref(): void; + /** + * Calling `subprocess.ref()` after making a call to `subprocess.unref()` will + * restore the removed reference count for the child process, forcing the parent + * to wait for the child to exit before exiting itself. + * + * ```js + * import { spawn } from 'node:child_process'; + * + * const subprocess = spawn(process.argv[0], ['child_program.js'], { + * detached: true, + * stdio: 'ignore', + * }); + * + * subprocess.unref(); + * subprocess.ref(); + * ``` + * @since v0.7.10 + */ + ref(): void; + } + interface ChildProcess extends InternalEventEmitter {} + // return this object when stdio option is undefined or not specified + interface ChildProcessWithoutNullStreams extends ChildProcess { + stdin: Writable; + stdout: Readable; + stderr: Readable; + readonly stdio: [ + Writable, + Readable, + 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 + 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 Control extends EventEmitter { + ref(): void; + unref(): void; + } + interface MessageOptions { + keepOpen?: boolean | undefined; + } + type IOType = "overlapped" | "pipe" | "ignore" | "inherit"; + type StdioOptions = IOType | Array; + type SerializationType = "json" | "advanced"; + interface MessagingOptions extends Abortable { + /** + * Specify the kind of serialization used for sending messages between processes. + * @default 'json' + */ + serialization?: SerializationType | undefined; + /** + * The signal value to be used when the spawned process will be killed by the abort signal. + * @default 'SIGTERM' + */ + killSignal?: NodeJS.Signals | number | undefined; + /** + * In milliseconds the maximum amount of time the process is allowed to run. + */ + timeout?: number | undefined; + } + interface ProcessEnvOptions { + uid?: number | undefined; + gid?: number | undefined; + cwd?: string | URL | undefined; + env?: NodeJS.ProcessEnv | undefined; + } + interface CommonOptions extends ProcessEnvOptions { + /** + * @default false + */ + windowsHide?: boolean | undefined; + /** + * @default 0 + */ + timeout?: number | undefined; + } + interface CommonSpawnOptions extends CommonOptions, MessagingOptions, Abortable { + argv0?: string | undefined; + /** + * Can be set to 'pipe', 'inherit', 'overlapped', or 'ignore', or an array of these strings. + * If passed as an array, the first element is used for `stdin`, the second for + * `stdout`, and the third for `stderr`. A fourth element can be used to + * specify the `stdio` behavior beyond the standard streams. See + * {@link ChildProcess.stdio} for more information. + * + * @default 'pipe' + */ + stdio?: StdioOptions | undefined; + shell?: boolean | string | undefined; + windowsVerbatimArguments?: boolean | undefined; + } + interface SpawnOptions extends CommonSpawnOptions { + detached?: boolean | undefined; + } + interface SpawnOptionsWithoutStdio extends SpawnOptions { + stdio?: StdioPipeNamed | StdioPipe[] | undefined; + } + type StdioNull = "inherit" | "ignore" | Stream; + type StdioPipeNamed = "pipe" | "overlapped"; + type StdioPipe = undefined | null | StdioPipeNamed; + interface SpawnOptionsWithStdioTuple< + Stdin extends StdioNull | StdioPipe, + Stdout extends StdioNull | StdioPipe, + Stderr extends StdioNull | StdioPipe, + > extends SpawnOptions { + stdio: [Stdin, Stdout, Stderr]; + } + /** + * The `child_process.spawn()` method spawns a new process using the given `command`, with command-line arguments in `args`. If omitted, `args` defaults + * to an empty array. + * + * **If the `shell` option is enabled, do not pass unsanitized user input to this** + * **function. Any input containing shell metacharacters may be used to trigger** + * **arbitrary command execution.** + * + * A third argument may be used to specify additional options, with these defaults: + * + * ```js + * const defaults = { + * cwd: undefined, + * env: process.env, + * }; + * ``` + * + * Use `cwd` to specify the working directory from which the process is spawned. + * If not given, the default is to inherit the current working directory. If given, + * but the path does not exist, the child process emits an `ENOENT` error + * and exits immediately. `ENOENT` is also emitted when the command + * does not exist. + * + * Use `env` to specify environment variables that will be visible to the new + * process, the default is `process.env`. + * + * `undefined` values in `env` will be ignored. + * + * Example of running `ls -lh /usr`, capturing `stdout`, `stderr`, and the + * exit code: + * + * ```js + * import { spawn } from 'node:child_process'; + * import { once } from 'node:events'; + * const ls = spawn('ls', ['-lh', '/usr']); + * + * ls.stdout.on('data', (data) => { + * console.log(`stdout: ${data}`); + * }); + * + * ls.stderr.on('data', (data) => { + * console.error(`stderr: ${data}`); + * }); + * + * const [code] = await once(ls, 'close'); + * console.log(`child process exited with code ${code}`); + * ``` + * + * Example: A very elaborate way to run `ps ax | grep ssh` + * + * ```js + * import { spawn } from 'node:child_process'; + * const ps = spawn('ps', ['ax']); + * const grep = spawn('grep', ['ssh']); + * + * ps.stdout.on('data', (data) => { + * grep.stdin.write(data); + * }); + * + * ps.stderr.on('data', (data) => { + * console.error(`ps stderr: ${data}`); + * }); + * + * ps.on('close', (code) => { + * if (code !== 0) { + * console.log(`ps process exited with code ${code}`); + * } + * grep.stdin.end(); + * }); + * + * grep.stdout.on('data', (data) => { + * console.log(data.toString()); + * }); + * + * grep.stderr.on('data', (data) => { + * console.error(`grep stderr: ${data}`); + * }); + * + * grep.on('close', (code) => { + * if (code !== 0) { + * console.log(`grep process exited with code ${code}`); + * } + * }); + * ``` + * + * Example of checking for failed `spawn`: + * + * ```js + * import { spawn } from 'node:child_process'; + * const subprocess = spawn('bad_command'); + * + * subprocess.on('error', (err) => { + * console.error('Failed to start subprocess.'); + * }); + * ``` + * + * Certain platforms (macOS, Linux) will use the value of `argv[0]` for the process + * title while others (Windows, SunOS) will use `command`. + * + * Node.js overwrites `argv[0]` with `process.execPath` on startup, so `process.argv[0]` in a Node.js child process will not match the `argv0` parameter passed to `spawn` from the parent. Retrieve + * it with the `process.argv0` property instead. + * + * If the `signal` option is enabled, calling `.abort()` on the corresponding `AbortController` is similar to calling `.kill()` on the child process except + * the error passed to the callback will be an `AbortError`: + * + * ```js + * import { spawn } from 'node:child_process'; + * const controller = new AbortController(); + * const { signal } = controller; + * const grep = spawn('grep', ['ssh'], { signal }); + * grep.on('error', (err) => { + * // This will be called with err being an AbortError if the controller aborts + * }); + * controller.abort(); // Stops the child process + * ``` + * @since v0.1.90 + * @param command The command to run. + * @param args List of string arguments. + */ + 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?: readonly string[], + options?: SpawnOptionsWithoutStdio, + ): ChildProcessWithoutNullStreams; + function spawn( + command: string, + args: readonly string[], + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: readonly string[], + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: readonly string[], + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: readonly string[], + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: readonly string[], + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: readonly string[], + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: readonly string[], + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: readonly string[], + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn(command: string, args: readonly string[], options: SpawnOptions): ChildProcess; + interface ExecOptions extends CommonOptions { + shell?: string | undefined; + signal?: AbortSignal | undefined; + maxBuffer?: number | undefined; + killSignal?: NodeJS.Signals | number | undefined; + encoding?: string | null | undefined; + } + interface ExecOptionsWithStringEncoding extends ExecOptions { + encoding?: BufferEncoding | undefined; + } + interface ExecOptionsWithBufferEncoding extends ExecOptions { + encoding: "buffer" | null; // specify `null`. + } + // TODO: Just Plain Wrong™ (see also nodejs/node#57392) + interface ExecException extends Error { + cmd?: string; + killed?: boolean; + code?: number; + signal?: NodeJS.Signals; + stdout?: string; + stderr?: string; + } + /** + * Spawns a shell then executes the `command` within that shell, buffering any + * generated output. The `command` string passed to the exec function is processed + * directly by the shell and special characters (vary based on [shell](https://en.wikipedia.org/wiki/List_of_command-line_interpreters)) + * need to be dealt with accordingly: + * + * ```js + * import { exec } from 'node:child_process'; + * + * exec('"/path/to/test file/test.sh" arg1 arg2'); + * // Double quotes are used so that the space in the path is not interpreted as + * // a delimiter of multiple arguments. + * + * exec('echo "The \\$HOME variable is $HOME"'); + * // The $HOME variable is escaped in the first instance, but not in the second. + * ``` + * + * **Never pass unsanitized user input to this function. Any input containing shell** + * **metacharacters may be used to trigger arbitrary command execution.** + * + * If a `callback` function is provided, it is called with the arguments `(error, stdout, stderr)`. On success, `error` will be `null`. On error, `error` will be an instance of `Error`. The + * `error.code` property will be + * the exit code of the process. By convention, any exit code other than `0` indicates an error. `error.signal` will be the signal that terminated the + * process. + * + * The `stdout` and `stderr` arguments passed to the callback will contain the + * stdout and stderr output of the child process. By default, Node.js will decode + * the output as UTF-8 and pass strings to the callback. The `encoding` option + * can be used to specify the character encoding used to decode the stdout and + * stderr output. If `encoding` is `'buffer'`, or an unrecognized character + * encoding, `Buffer` objects will be passed to the callback instead. + * + * ```js + * import { exec } from 'node:child_process'; + * exec('cat *.js missing_file | wc -l', (error, stdout, stderr) => { + * if (error) { + * console.error(`exec error: ${error}`); + * return; + * } + * console.log(`stdout: ${stdout}`); + * console.error(`stderr: ${stderr}`); + * }); + * ``` + * + * 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. + * + * Unlike the [`exec(3)`](http://man7.org/linux/man-pages/man3/exec.3.html) POSIX system call, `child_process.exec()` does not replace + * the existing process and uses a shell to execute the command. + * + * If this method is invoked as its `util.promisify()` ed version, it returns + * a `Promise` for an `Object` with `stdout` and `stderr` properties. The returned `ChildProcess` instance is attached to the `Promise` as a `child` property. In + * case of an error (including any error resulting in an exit code other than 0), a + * rejected promise is returned, with the same `error` object given in the + * callback, but with two additional properties `stdout` and `stderr`. + * + * ```js + * import util from 'node:util'; + * import child_process from 'node:child_process'; + * const exec = util.promisify(child_process.exec); + * + * async function lsExample() { + * const { stdout, stderr } = await exec('ls'); + * console.log('stdout:', stdout); + * console.error('stderr:', stderr); + * } + * lsExample(); + * ``` + * + * If the `signal` option is enabled, calling `.abort()` on the corresponding `AbortController` is similar to calling `.kill()` on the child process except + * the error passed to the callback will be an `AbortError`: + * + * ```js + * import { exec } from 'node:child_process'; + * const controller = new AbortController(); + * const { signal } = controller; + * const child = exec('grep ssh', { signal }, (error) => { + * console.error(error); // an AbortError + * }); + * controller.abort(); + * ``` + * @since v0.1.90 + * @param command The command to run, with space-separated arguments. + * @param callback called with the output when process terminates. + */ + 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: ExecOptionsWithBufferEncoding, + callback?: (error: ExecException | null, stdout: NonSharedBuffer, stderr: NonSharedBuffer) => void, + ): ChildProcess; + // `options` with well-known or absent `encoding` means stdout/stderr are definitely `string`. + function exec( + command: string, + options: ExecOptionsWithStringEncoding, + 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: ExecOptions | undefined | null, + callback?: ( + error: ExecException | null, + stdout: string | NonSharedBuffer, + stderr: string | NonSharedBuffer, + ) => void, + ): ChildProcess; + interface PromiseWithChild extends Promise { + child: ChildProcess; + } + namespace exec { + function __promisify__(command: string): PromiseWithChild<{ + stdout: string; + stderr: string; + }>; + function __promisify__( + command: string, + options: ExecOptionsWithBufferEncoding, + ): PromiseWithChild<{ + stdout: NonSharedBuffer; + stderr: NonSharedBuffer; + }>; + function __promisify__( + command: string, + options: ExecOptionsWithStringEncoding, + ): PromiseWithChild<{ + stdout: string; + stderr: string; + }>; + function __promisify__( + command: string, + options: ExecOptions | undefined | null, + ): PromiseWithChild<{ + stdout: string | NonSharedBuffer; + stderr: string | NonSharedBuffer; + }>; + } + interface ExecFileOptions extends CommonOptions, Abortable { + maxBuffer?: number | undefined; + killSignal?: NodeJS.Signals | number | undefined; + windowsVerbatimArguments?: boolean | undefined; + shell?: boolean | string | undefined; + signal?: AbortSignal | undefined; + encoding?: string | null | undefined; + } + interface ExecFileOptionsWithStringEncoding extends ExecFileOptions { + encoding?: BufferEncoding | undefined; + } + interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions { + encoding: "buffer" | null; + } + /** @deprecated Use `ExecFileOptions` instead. */ + interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions {} + // TODO: execFile exceptions can take many forms... this accurately describes none of them + type ExecFileException = + & Omit + & Omit + & { code?: string | number | null }; + /** + * The `child_process.execFile()` function is similar to {@link exec} except that it does not spawn a shell by default. Rather, the specified + * executable `file` is spawned directly as a new process making it slightly more + * efficient than {@link exec}. + * + * The same options as {@link exec} are supported. Since a shell is + * not spawned, behaviors such as I/O redirection and file globbing are not + * supported. + * + * ```js + * import { execFile } from 'node:child_process'; + * const child = execFile('node', ['--version'], (error, stdout, stderr) => { + * if (error) { + * throw error; + * } + * console.log(stdout); + * }); + * ``` + * + * The `stdout` and `stderr` arguments passed to the callback will contain the + * stdout and stderr output of the child process. By default, Node.js will decode + * the output as UTF-8 and pass strings to the callback. The `encoding` option + * can be used to specify the character encoding used to decode the stdout and + * stderr output. If `encoding` is `'buffer'`, or an unrecognized character + * encoding, `Buffer` objects will be passed to the callback instead. + * + * If this method is invoked as its `util.promisify()` ed version, it returns + * a `Promise` for an `Object` with `stdout` and `stderr` properties. The returned `ChildProcess` instance is attached to the `Promise` as a `child` property. In + * case of an error (including any error resulting in an exit code other than 0), a + * rejected promise is returned, with the same `error` object given in the + * callback, but with two additional properties `stdout` and `stderr`. + * + * ```js + * import util from 'node:util'; + * import child_process from 'node:child_process'; + * const execFile = util.promisify(child_process.execFile); + * async function getVersion() { + * const { stdout } = await execFile('node', ['--version']); + * console.log(stdout); + * } + * getVersion(); + * ``` + * + * **If the `shell` option is enabled, do not pass unsanitized user input to this** + * **function. Any input containing shell metacharacters may be used to trigger** + * **arbitrary command execution.** + * + * If the `signal` option is enabled, calling `.abort()` on the corresponding `AbortController` is similar to calling `.kill()` on the child process except + * the error passed to the callback will be an `AbortError`: + * + * ```js + * import { execFile } from 'node:child_process'; + * const controller = new AbortController(); + * const { signal } = controller; + * const child = execFile('node', ['--version'], { signal }, (error) => { + * console.error(error); // an AbortError + * }); + * controller.abort(); + * ``` + * @since v0.1.91 + * @param file The name or path of the executable file to run. + * @param args List of string arguments. + * @param callback Called with the output when process terminates. + */ + // no `options` definitely means stdout/stderr are `string`. + function execFile( + file: string, + callback?: (error: ExecFileException | null, stdout: string, stderr: string) => void, + ): ChildProcess; + function execFile( + file: string, + args: readonly string[] | undefined | null, + callback?: (error: ExecFileException | 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: ExecFileException | null, stdout: NonSharedBuffer, stderr: NonSharedBuffer) => void, + ): ChildProcess; + function execFile( + file: string, + args: readonly string[] | undefined | null, + options: ExecFileOptionsWithBufferEncoding, + callback?: (error: ExecFileException | null, stdout: NonSharedBuffer, stderr: NonSharedBuffer) => void, + ): ChildProcess; + // `options` with well-known or absent `encoding` means stdout/stderr are definitely `string`. + function execFile( + file: string, + options: ExecFileOptionsWithStringEncoding, + callback?: (error: ExecFileException | null, stdout: string, stderr: string) => void, + ): ChildProcess; + function execFile( + file: string, + args: readonly string[] | undefined | null, + options: ExecFileOptionsWithStringEncoding, + callback?: (error: ExecFileException | null, stdout: string, stderr: string) => void, + ): ChildProcess; + // fallback if nothing else matches. Worst case is always `string | Buffer`. + function execFile( + file: string, + options: ExecFileOptions | undefined | null, + callback: + | (( + error: ExecFileException | null, + stdout: string | NonSharedBuffer, + stderr: string | NonSharedBuffer, + ) => void) + | undefined + | null, + ): ChildProcess; + function execFile( + file: string, + args: readonly string[] | undefined | null, + options: ExecFileOptions | undefined | null, + callback: + | (( + error: ExecFileException | null, + stdout: string | NonSharedBuffer, + stderr: string | NonSharedBuffer, + ) => void) + | undefined + | null, + ): ChildProcess; + namespace execFile { + function __promisify__(file: string): PromiseWithChild<{ + stdout: string; + stderr: string; + }>; + function __promisify__( + file: string, + args: readonly string[] | undefined | null, + ): PromiseWithChild<{ + stdout: string; + stderr: string; + }>; + function __promisify__( + file: string, + options: ExecFileOptionsWithBufferEncoding, + ): PromiseWithChild<{ + stdout: NonSharedBuffer; + stderr: NonSharedBuffer; + }>; + function __promisify__( + file: string, + args: readonly string[] | undefined | null, + options: ExecFileOptionsWithBufferEncoding, + ): PromiseWithChild<{ + stdout: NonSharedBuffer; + stderr: NonSharedBuffer; + }>; + function __promisify__( + file: string, + options: ExecFileOptionsWithStringEncoding, + ): PromiseWithChild<{ + stdout: string; + stderr: string; + }>; + function __promisify__( + file: string, + args: readonly string[] | undefined | null, + options: ExecFileOptionsWithStringEncoding, + ): PromiseWithChild<{ + stdout: string; + stderr: string; + }>; + function __promisify__( + file: string, + options: ExecFileOptions | undefined | null, + ): PromiseWithChild<{ + stdout: string | NonSharedBuffer; + stderr: string | NonSharedBuffer; + }>; + function __promisify__( + file: string, + args: readonly string[] | undefined | null, + options: ExecFileOptions | undefined | null, + ): PromiseWithChild<{ + stdout: string | NonSharedBuffer; + stderr: string | NonSharedBuffer; + }>; + } + interface ForkOptions extends ProcessEnvOptions, MessagingOptions, Abortable { + execPath?: string | undefined; + execArgv?: string[] | undefined; + silent?: boolean | undefined; + /** + * Can be set to 'pipe', 'inherit', 'overlapped', or 'ignore', or an array of these strings. + * If passed as an array, the first element is used for `stdin`, the second for + * `stdout`, and the third for `stderr`. A fourth element can be used to + * specify the `stdio` behavior beyond the standard streams. See + * {@link ChildProcess.stdio} for more information. + * + * @default 'pipe' + */ + stdio?: StdioOptions | undefined; + detached?: boolean | undefined; + windowsVerbatimArguments?: boolean | undefined; + } + /** + * The `child_process.fork()` method is a special case of {@link spawn} used specifically to spawn new Node.js processes. + * Like {@link spawn}, a `ChildProcess` object is returned. The + * returned `ChildProcess` will have an additional communication channel + * built-in that allows messages to be passed back and forth between the parent and + * child. See `subprocess.send()` for details. + * + * Keep in mind that spawned Node.js child processes are + * independent of the parent with exception of the IPC communication channel + * that is established between the two. Each process has its own memory, with + * their own V8 instances. Because of the additional resource allocations + * required, spawning a large number of child Node.js processes is not + * recommended. + * + * By default, `child_process.fork()` will spawn new Node.js instances using the `process.execPath` of the parent process. The `execPath` property in the `options` object allows for an alternative + * execution path to be used. + * + * Node.js processes launched with a custom `execPath` will communicate with the + * parent process using the file descriptor (fd) identified using the + * environment variable `NODE_CHANNEL_FD` on the child process. + * + * Unlike the [`fork(2)`](http://man7.org/linux/man-pages/man2/fork.2.html) POSIX system call, `child_process.fork()` does not clone the + * current process. + * + * The `shell` option available in {@link spawn} is not supported by `child_process.fork()` and will be ignored if set. + * + * If the `signal` option is enabled, calling `.abort()` on the corresponding `AbortController` is similar to calling `.kill()` on the child process except + * the error passed to the callback will be an `AbortError`: + * + * ```js + * if (process.argv[2] === 'child') { + * setTimeout(() => { + * console.log(`Hello from ${process.argv[2]}!`); + * }, 1_000); + * } else { + * import { fork } from 'node:child_process'; + * const controller = new AbortController(); + * const { signal } = controller; + * const child = fork(__filename, ['child'], { signal }); + * child.on('error', (err) => { + * // This will be called with err being an AbortError if the controller aborts + * }); + * controller.abort(); // Stops the child process + * } + * ``` + * @since v0.5.0 + * @param modulePath The module to run in the child. + * @param args List of string arguments. + */ + function fork(modulePath: string | URL, options?: ForkOptions): ChildProcess; + function fork(modulePath: string | URL, args?: readonly string[], options?: ForkOptions): ChildProcess; + interface SpawnSyncOptions extends CommonSpawnOptions { + input?: string | NodeJS.ArrayBufferView | undefined; + maxBuffer?: number | undefined; + encoding?: BufferEncoding | "buffer" | null | undefined; + } + interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions { + encoding: BufferEncoding; + } + interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions { + encoding?: "buffer" | null | undefined; + } + interface SpawnSyncReturns { + pid: number; + output: Array; + stdout: T; + stderr: T; + status: number | null; + signal: NodeJS.Signals | null; + error?: Error; + } + /** + * The `child_process.spawnSync()` method is generally identical to {@link spawn} with the exception that the function will not return + * until the child process has fully closed. When a timeout has been encountered + * and `killSignal` is sent, the method won't return until the process has + * completely exited. If the process intercepts and handles the `SIGTERM` signal + * and doesn't exit, the parent process will wait until the child process has + * exited. + * + * **If the `shell` option is enabled, do not pass unsanitized user input to this** + * **function. Any input containing shell metacharacters may be used to trigger** + * **arbitrary command execution.** + * @since v0.11.12 + * @param command The command to run. + * @param args List of string arguments. + */ + 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: readonly string[]): SpawnSyncReturns; + function spawnSync( + command: string, + args: readonly string[], + options: SpawnSyncOptionsWithStringEncoding, + ): SpawnSyncReturns; + function spawnSync( + command: string, + args: readonly string[], + options: SpawnSyncOptionsWithBufferEncoding, + ): SpawnSyncReturns; + function spawnSync( + command: string, + args?: readonly string[], + options?: SpawnSyncOptions, + ): SpawnSyncReturns; + interface CommonExecOptions extends CommonOptions { + input?: string | NodeJS.ArrayBufferView | undefined; + /** + * Can be set to 'pipe', 'inherit, or 'ignore', or an array of these strings. + * If passed as an array, the first element is used for `stdin`, the second for + * `stdout`, and the third for `stderr`. A fourth element can be used to + * specify the `stdio` behavior beyond the standard streams. See + * {@link ChildProcess.stdio} for more information. + * + * @default 'pipe' + */ + stdio?: StdioOptions | undefined; + killSignal?: NodeJS.Signals | number | undefined; + maxBuffer?: number | undefined; + encoding?: BufferEncoding | "buffer" | null | undefined; + } + interface ExecSyncOptions extends CommonExecOptions { + shell?: string | undefined; + } + interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions { + encoding: BufferEncoding; + } + interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions { + encoding?: "buffer" | null | undefined; + } + /** + * The `child_process.execSync()` method is generally identical to {@link exec} with the exception that the method will not return + * until the child process has fully closed. When a timeout has been encountered + * and `killSignal` is sent, the method won't return until the process has + * completely exited. If the child process intercepts and handles the `SIGTERM` signal and doesn't exit, the parent process will wait until the child process + * has exited. + * + * If the process times out or has a non-zero exit code, this method will throw. + * The `Error` object will contain the entire result from {@link spawnSync}. + * + * **Never pass unsanitized user input to this function. Any input containing shell** + * **metacharacters may be used to trigger arbitrary command execution.** + * @since v0.11.12 + * @param command The command to run. + * @return The stdout from the command. + */ + function execSync(command: string): NonSharedBuffer; + function execSync(command: string, options: ExecSyncOptionsWithStringEncoding): string; + function execSync(command: string, options: ExecSyncOptionsWithBufferEncoding): NonSharedBuffer; + function execSync(command: string, options?: ExecSyncOptions): string | NonSharedBuffer; + interface ExecFileSyncOptions extends CommonExecOptions { + shell?: boolean | string | undefined; + } + interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions { + encoding: BufferEncoding; + } + interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions { + encoding?: "buffer" | null | undefined; // specify `null`. + } + /** + * The `child_process.execFileSync()` method is generally identical to {@link execFile} with the exception that the method will not + * return until the child process has fully closed. When a timeout has been + * encountered and `killSignal` is sent, the method won't return until the process + * has completely exited. + * + * If the child process intercepts and handles the `SIGTERM` signal and + * does not exit, the parent process will still wait until the child process has + * exited. + * + * If the process times out or has a non-zero exit code, this method will throw an `Error` that will include the full result of the underlying {@link spawnSync}. + * + * **If the `shell` option is enabled, do not pass unsanitized user input to this** + * **function. Any input containing shell metacharacters may be used to trigger** + * **arbitrary command execution.** + * @since v0.11.12 + * @param file The name or path of the executable file to run. + * @param args List of string arguments. + * @return The stdout from the command. + */ + function execFileSync(file: string): NonSharedBuffer; + function execFileSync(file: string, options: ExecFileSyncOptionsWithStringEncoding): string; + function execFileSync(file: string, options: ExecFileSyncOptionsWithBufferEncoding): NonSharedBuffer; + function execFileSync(file: string, options?: ExecFileSyncOptions): string | NonSharedBuffer; + function execFileSync(file: string, args: readonly string[]): NonSharedBuffer; + function execFileSync( + file: string, + args: readonly string[], + options: ExecFileSyncOptionsWithStringEncoding, + ): string; + function execFileSync( + file: string, + args: readonly string[], + options: ExecFileSyncOptionsWithBufferEncoding, + ): NonSharedBuffer; + function execFileSync( + file: string, + args?: readonly string[], + options?: ExecFileSyncOptions, + ): string | NonSharedBuffer; +} +declare module "child_process" { + export * from "node:child_process"; +} diff --git a/node_modules/@types/node/cluster.d.ts b/node_modules/@types/node/cluster.d.ts new file mode 100644 index 0000000..80f55ae --- /dev/null +++ b/node_modules/@types/node/cluster.d.ts @@ -0,0 +1,432 @@ +declare module "node:cluster" { + import * as child_process from "node:child_process"; + import { EventEmitter, InternalEventEmitter } from "node:events"; + class Worker implements EventEmitter { + constructor(options?: cluster.WorkerOptions); + /** + * Each new worker is given its own unique id, this id is stored in the `id`. + * + * While a worker is alive, this is the key that indexes it in `cluster.workers`. + * @since v0.8.0 + */ + id: number; + /** + * All workers are created using [`child_process.fork()`](https://nodejs.org/docs/latest-v25.x/api/child_process.html#child_processforkmodulepath-args-options), the returned object + * from this function is stored as `.process`. In a worker, the global `process` is stored. + * + * See: [Child Process module](https://nodejs.org/docs/latest-v25.x/api/child_process.html#child_processforkmodulepath-args-options). + * + * Workers will call `process.exit(0)` if the `'disconnect'` event occurs + * on `process` and `.exitedAfterDisconnect` is not `true`. This protects against + * accidental disconnection. + * @since v0.7.0 + */ + process: child_process.ChildProcess; + /** + * Send a message to a worker or primary, optionally with a handle. + * + * In the primary, this sends a message to a specific worker. It is identical to [`ChildProcess.send()`](https://nodejs.org/docs/latest-v25.x/api/child_process.html#subprocesssendmessage-sendhandle-options-callback). + * + * In a worker, this sends a message to the primary. It is identical to `process.send()`. + * + * This example will echo back all messages from the primary: + * + * ```js + * if (cluster.isPrimary) { + * const worker = cluster.fork(); + * worker.send('hi there'); + * + * } else if (cluster.isWorker) { + * process.on('message', (msg) => { + * process.send(msg); + * }); + * } + * ``` + * @since v0.7.0 + * @param options The `options` argument, if present, is an object used to parameterize the sending of certain types of handles. + */ + send(message: child_process.Serializable, callback?: (error: Error | null) => void): boolean; + send( + message: child_process.Serializable, + sendHandle: child_process.SendHandle, + callback?: (error: Error | null) => void, + ): boolean; + send( + message: child_process.Serializable, + sendHandle: child_process.SendHandle, + options?: child_process.MessageOptions, + callback?: (error: Error | null) => void, + ): boolean; + /** + * This function will kill the worker. In the primary worker, it does this by + * disconnecting the `worker.process`, and once disconnected, killing with `signal`. In the worker, it does it by killing the process with `signal`. + * + * The `kill()` function kills the worker process without waiting for a graceful + * disconnect, it has the same behavior as `worker.process.kill()`. + * + * This method is aliased as `worker.destroy()` for backwards compatibility. + * + * In a worker, `process.kill()` exists, but it is not this function; + * it is [`kill()`](https://nodejs.org/docs/latest-v25.x/api/process.html#processkillpid-signal). + * @since v0.9.12 + * @param [signal='SIGTERM'] Name of the kill signal to send to the worker process. + */ + kill(signal?: string): void; + destroy(signal?: string): void; + /** + * In a worker, this function will close all servers, wait for the `'close'` event + * on those servers, and then disconnect the IPC channel. + * + * In the primary, an internal message is sent to the worker causing it to call `.disconnect()` on itself. + * + * Causes `.exitedAfterDisconnect` to be set. + * + * After a server is closed, it will no longer accept new connections, + * but connections may be accepted by any other listening worker. Existing + * connections will be allowed to close as usual. When no more connections exist, + * see `server.close()`, the IPC channel to the worker will close allowing it + * to die gracefully. + * + * The above applies _only_ to server connections, client connections are not + * automatically closed by workers, and disconnect does not wait for them to close + * before exiting. + * + * In a worker, `process.disconnect` exists, but it is not this function; + * it is `disconnect()`. + * + * Because long living server connections may block workers from disconnecting, it + * may be useful to send a message, so application specific actions may be taken to + * close them. It also may be useful to implement a timeout, killing a worker if + * the `'disconnect'` event has not been emitted after some time. + * + * ```js + * import net from 'node:net'; + * + * if (cluster.isPrimary) { + * const worker = cluster.fork(); + * let timeout; + * + * worker.on('listening', (address) => { + * worker.send('shutdown'); + * worker.disconnect(); + * timeout = setTimeout(() => { + * worker.kill(); + * }, 2000); + * }); + * + * worker.on('disconnect', () => { + * clearTimeout(timeout); + * }); + * + * } else if (cluster.isWorker) { + * const server = net.createServer((socket) => { + * // Connections never end + * }); + * + * server.listen(8000); + * + * process.on('message', (msg) => { + * if (msg === 'shutdown') { + * // Initiate graceful close of any connections to server + * } + * }); + * } + * ``` + * @since v0.7.7 + * @return A reference to `worker`. + */ + disconnect(): this; + /** + * This function returns `true` if the worker is connected to its primary via its + * IPC channel, `false` otherwise. A worker is connected to its primary after it + * has been created. It is disconnected after the `'disconnect'` event is emitted. + * @since v0.11.14 + */ + isConnected(): boolean; + /** + * This function returns `true` if the worker's process has terminated (either + * because of exiting or being signaled). Otherwise, it returns `false`. + * + * ```js + * import cluster from 'node:cluster'; + * import http from 'node:http'; + * import { availableParallelism } from 'node:os'; + * import process from 'node:process'; + * + * const numCPUs = availableParallelism(); + * + * if (cluster.isPrimary) { + * console.log(`Primary ${process.pid} is running`); + * + * // Fork workers. + * for (let i = 0; i < numCPUs; i++) { + * cluster.fork(); + * } + * + * cluster.on('fork', (worker) => { + * console.log('worker is dead:', worker.isDead()); + * }); + * + * cluster.on('exit', (worker, code, signal) => { + * console.log('worker is dead:', worker.isDead()); + * }); + * } else { + * // Workers can share any TCP connection. In this case, it is an HTTP server. + * http.createServer((req, res) => { + * res.writeHead(200); + * res.end(`Current process\n ${process.pid}`); + * process.kill(process.pid); + * }).listen(8000); + * } + * ``` + * @since v0.11.14 + */ + isDead(): boolean; + /** + * This property is `true` if the worker exited due to `.disconnect()`. + * If the worker exited any other way, it is `false`. If the + * worker has not exited, it is `undefined`. + * + * The boolean `worker.exitedAfterDisconnect` allows distinguishing between + * voluntary and accidental exit, the primary may choose not to respawn a worker + * based on this value. + * + * ```js + * cluster.on('exit', (worker, code, signal) => { + * if (worker.exitedAfterDisconnect === true) { + * console.log('Oh, it was just voluntary – no need to worry'); + * } + * }); + * + * // kill worker + * worker.kill(); + * ``` + * @since v6.0.0 + */ + exitedAfterDisconnect: boolean; + } + interface Worker extends InternalEventEmitter {} + type _Worker = Worker; + namespace cluster { + interface Worker extends _Worker {} + interface WorkerOptions { + id?: number | undefined; + process?: child_process.ChildProcess | undefined; + state?: string | undefined; + } + interface WorkerEventMap { + "disconnect": []; + "error": [error: Error]; + "exit": [code: number, signal: string]; + "listening": [address: Address]; + "message": [message: any, handle: child_process.SendHandle]; + "online": []; + } + interface ClusterSettings { + /** + * List of string arguments passed to the Node.js executable. + * @default process.execArgv + */ + execArgv?: string[] | undefined; + /** + * File path to worker file. + * @default process.argv[1] + */ + exec?: string | undefined; + /** + * String arguments passed to worker. + * @default process.argv.slice(2) + */ + args?: readonly string[] | undefined; + /** + * Whether or not to send output to parent's stdio. + * @default false + */ + silent?: boolean | undefined; + /** + * Configures the stdio of forked processes. Because the cluster module relies on IPC to function, this configuration must + * contain an `'ipc'` entry. When this option is provided, it overrides `silent`. See [`child_prcess.spawn()`](https://nodejs.org/docs/latest-v25.x/api/child_process.html#child_processspawncommand-args-options)'s + * [`stdio`](https://nodejs.org/docs/latest-v25.x/api/child_process.html#optionsstdio). + */ + stdio?: any[] | undefined; + /** + * Sets the user identity of the process. (See [`setuid(2)`](https://man7.org/linux/man-pages/man2/setuid.2.html).) + */ + uid?: number | undefined; + /** + * Sets the group identity of the process. (See [`setgid(2)`](https://man7.org/linux/man-pages/man2/setgid.2.html).) + */ + gid?: number | undefined; + /** + * Sets inspector port of worker. This can be a number, or a function that takes no arguments and returns a number. + * By default each worker gets its own port, incremented from the primary's `process.debugPort`. + */ + inspectPort?: number | (() => number) | undefined; + /** + * Specify the kind of serialization used for sending messages between processes. Possible values are `'json'` and `'advanced'`. + * See [Advanced serialization for `child_process`](https://nodejs.org/docs/latest-v25.x/api/child_process.html#advanced-serialization) for more details. + * @default false + */ + serialization?: "json" | "advanced" | undefined; + /** + * Current working directory of the worker process. + * @default undefined (inherits from parent process) + */ + cwd?: string | undefined; + /** + * Hide the forked processes console window that would normally be created on Windows systems. + * @default false + */ + windowsHide?: boolean | undefined; + } + interface Address { + address: string; + port: number; + /** + * The `addressType` is one of: + * + * * `4` (TCPv4) + * * `6` (TCPv6) + * * `-1` (Unix domain socket) + * * `'udp4'` or `'udp6'` (UDPv4 or UDPv6) + */ + addressType: 4 | 6 | -1 | "udp4" | "udp6"; + } + interface ClusterEventMap { + "disconnect": [worker: Worker]; + "exit": [worker: Worker, code: number, signal: string]; + "fork": [worker: Worker]; + "listening": [worker: Worker, address: Address]; + "message": [worker: Worker, message: any, handle: child_process.SendHandle]; + "online": [worker: Worker]; + "setup": [settings: ClusterSettings]; + } + interface Cluster extends InternalEventEmitter { + /** + * A `Worker` object contains all public information and method about a worker. + * In the primary it can be obtained using `cluster.workers`. In a worker + * it can be obtained using `cluster.worker`. + * @since v0.7.0 + */ + Worker: typeof Worker; + disconnect(callback?: () => void): void; + /** + * Spawn a new worker process. + * + * This can only be called from the primary process. + * @param env Key/value pairs to add to worker process environment. + * @since v0.6.0 + */ + fork(env?: any): Worker; + /** @deprecated since v16.0.0 - use isPrimary. */ + readonly isMaster: boolean; + /** + * True if the process is a primary. This is determined by the `process.env.NODE_UNIQUE_ID`. If `process.env.NODE_UNIQUE_ID` + * is undefined, then `isPrimary` is `true`. + * @since v16.0.0 + */ + readonly isPrimary: boolean; + /** + * True if the process is not a primary (it is the negation of `cluster.isPrimary`). + * @since v0.6.0 + */ + readonly isWorker: boolean; + /** + * The scheduling policy, either `cluster.SCHED_RR` for round-robin or `cluster.SCHED_NONE` to leave it to the operating system. This is a + * global setting and effectively frozen once either the first worker is spawned, or [`.setupPrimary()`](https://nodejs.org/docs/latest-v25.x/api/cluster.html#clustersetupprimarysettings) + * is called, whichever comes first. + * + * `SCHED_RR` is the default on all operating systems except Windows. Windows will change to `SCHED_RR` once libuv is able to effectively distribute + * IOCP handles without incurring a large performance hit. + * + * `cluster.schedulingPolicy` can also be set through the `NODE_CLUSTER_SCHED_POLICY` environment variable. Valid values are `'rr'` and `'none'`. + * @since v0.11.2 + */ + schedulingPolicy: number; + /** + * After calling [`.setupPrimary()`](https://nodejs.org/docs/latest-v25.x/api/cluster.html#clustersetupprimarysettings) + * (or [`.fork()`](https://nodejs.org/docs/latest-v25.x/api/cluster.html#clusterforkenv)) this settings object will contain + * the settings, including the default values. + * + * This object is not intended to be changed or set manually. + * @since v0.7.1 + */ + readonly settings: ClusterSettings; + /** @deprecated since v16.0.0 - use [`.setupPrimary()`](https://nodejs.org/docs/latest-v25.x/api/cluster.html#clustersetupprimarysettings) instead. */ + setupMaster(settings?: ClusterSettings): void; + /** + * `setupPrimary` is used to change the default 'fork' behavior. Once called, the settings will be present in `cluster.settings`. + * + * Any settings changes only affect future calls to [`.fork()`](https://nodejs.org/docs/latest-v25.x/api/cluster.html#clusterforkenv) + * and have no effect on workers that are already running. + * + * The only attribute of a worker that cannot be set via `.setupPrimary()` is the `env` passed to + * [`.fork()`](https://nodejs.org/docs/latest-v25.x/api/cluster.html#clusterforkenv). + * + * The defaults above apply to the first call only; the defaults for later calls are the current values at the time of + * `cluster.setupPrimary()` is called. + * + * ```js + * import cluster from 'node:cluster'; + * + * cluster.setupPrimary({ + * exec: 'worker.js', + * args: ['--use', 'https'], + * silent: true, + * }); + * cluster.fork(); // https worker + * cluster.setupPrimary({ + * exec: 'worker.js', + * args: ['--use', 'http'], + * }); + * cluster.fork(); // http worker + * ``` + * + * This can only be called from the primary process. + * @since v16.0.0 + */ + setupPrimary(settings?: ClusterSettings): void; + /** + * A reference to the current worker object. Not available in the primary process. + * + * ```js + * import cluster from 'node:cluster'; + * + * if (cluster.isPrimary) { + * console.log('I am primary'); + * cluster.fork(); + * cluster.fork(); + * } else if (cluster.isWorker) { + * console.log(`I am worker #${cluster.worker.id}`); + * } + * ``` + * @since v0.7.0 + */ + readonly worker?: Worker; + /** + * A hash that stores the active worker objects, keyed by `id` field. This makes it easy to loop through all the workers. It is only available in the primary process. + * + * A worker is removed from `cluster.workers` after the worker has disconnected _and_ exited. The order between these two events cannot be determined in advance. However, it + * is guaranteed that the removal from the `cluster.workers` list happens before the last `'disconnect'` or `'exit'` event is emitted. + * + * ```js + * import cluster from 'node:cluster'; + * + * for (const worker of Object.values(cluster.workers)) { + * worker.send('big announcement to all workers'); + * } + * ``` + * @since v0.7.0 + */ + readonly workers?: NodeJS.Dict; + readonly SCHED_NONE: number; + readonly SCHED_RR: number; + } + } + var cluster: cluster.Cluster; + export = cluster; +} +declare module "cluster" { + import cluster = require("node:cluster"); + export = cluster; +} diff --git a/node_modules/@types/node/compatibility/iterators.d.ts b/node_modules/@types/node/compatibility/iterators.d.ts new file mode 100644 index 0000000..156e785 --- /dev/null +++ b/node_modules/@types/node/compatibility/iterators.d.ts @@ -0,0 +1,21 @@ +// Backwards-compatible iterator interfaces, augmented with iterator helper methods by lib.esnext.iterator in TypeScript 5.6. +// The IterableIterator interface does not contain these methods, which creates assignability issues in places where IteratorObjects +// are expected (eg. DOM-compatible APIs) if lib.esnext.iterator is loaded. +// Also ensures that iterators returned by the Node API, which inherit from Iterator.prototype, correctly expose the iterator helper methods +// if lib.esnext.iterator is loaded. +// TODO: remove once this package no longer supports TS 5.5, and replace NodeJS.BuiltinIteratorReturn with BuiltinIteratorReturn. + +// Placeholders for TS <5.6 +interface IteratorObject {} +interface AsyncIteratorObject {} + +declare namespace NodeJS { + // Populate iterator methods for TS <5.6 + interface Iterator extends globalThis.Iterator {} + interface AsyncIterator extends globalThis.AsyncIterator {} + + // Polyfill for TS 5.6's instrinsic BuiltinIteratorReturn type, required for DOM-compatible iterators + type BuiltinIteratorReturn = ReturnType extends + globalThis.Iterator ? TReturn + : any; +} diff --git a/node_modules/@types/node/console.d.ts b/node_modules/@types/node/console.d.ts new file mode 100644 index 0000000..b7f8833 --- /dev/null +++ b/node_modules/@types/node/console.d.ts @@ -0,0 +1,93 @@ +declare module "node:console" { + import { InspectOptions } from "node:util"; + namespace console { + interface ConsoleOptions { + stdout: NodeJS.WritableStream; + stderr?: NodeJS.WritableStream | undefined; + /** + * Ignore errors when writing to the underlying streams. + * @default true + */ + ignoreErrors?: boolean | undefined; + /** + * Set color support for this `Console` instance. Setting to true enables coloring while inspecting + * values. Setting to `false` disables coloring while inspecting values. Setting to `'auto'` makes color + * support depend on the value of the `isTTY` property and the value returned by `getColorDepth()` on the + * respective stream. This option can not be used, if `inspectOptions.colors` is set as well. + * @default 'auto' + */ + colorMode?: boolean | "auto" | undefined; + /** + * Specifies options that are passed along to + * [`util.inspect()`](https://nodejs.org/docs/latest-v25.x/api/util.html#utilinspectobject-options). + */ + inspectOptions?: InspectOptions | ReadonlyMap | undefined; + /** + * Set group indentation. + * @default 2 + */ + groupIndentation?: number | undefined; + } + interface Console { + readonly Console: { + prototype: Console; + new(stdout: NodeJS.WritableStream, stderr?: NodeJS.WritableStream, ignoreErrors?: boolean): Console; + new(options: ConsoleOptions): Console; + }; + assert(condition?: unknown, ...data: any[]): void; + clear(): void; + count(label?: string): void; + countReset(label?: string): void; + debug(...data: any[]): void; + dir(item?: any, options?: InspectOptions): void; + dirxml(...data: any[]): void; + error(...data: any[]): void; + group(...data: any[]): void; + groupCollapsed(...data: any[]): void; + groupEnd(): void; + info(...data: any[]): void; + log(...data: any[]): void; + table(tabularData?: any, properties?: string[]): void; + time(label?: string): void; + timeEnd(label?: string): void; + timeLog(label?: string, ...data: any[]): void; + trace(...data: any[]): void; + warn(...data: any[]): void; + /** + * This method does not display anything unless used in the inspector. The `console.profile()` + * method starts a JavaScript CPU profile with an optional label until {@link profileEnd} + * is called. The profile is then added to the Profile panel of the inspector. + * + * ```js + * console.profile('MyLabel'); + * // Some code + * console.profileEnd('MyLabel'); + * // Adds the profile 'MyLabel' to the Profiles panel of the inspector. + * ``` + * @since v8.0.0 + */ + 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. See {@link profile} for an example. + * + * If this method is called without a label, the most recently started profile is stopped. + * @since v8.0.0 + */ + profileEnd(label?: string): void; + /** + * This method does not display anything unless used in the inspector. The `console.timeStamp()` + * method adds an event with the label `'label'` to the Timeline panel of the inspector. + * @since v8.0.0 + */ + timeStamp(label?: string): void; + } + } + var console: console.Console; + export = console; +} +declare module "console" { + import console = require("node: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..a271f9a --- /dev/null +++ b/node_modules/@types/node/constants.d.ts @@ -0,0 +1,14 @@ +declare module "node:constants" { + const constants: + & typeof import("node:os").constants.dlopen + & typeof import("node:os").constants.errno + & typeof import("node:os").constants.priority + & typeof import("node:os").constants.signals + & typeof import("node:fs").constants + & typeof import("node:crypto").constants; + export = constants; +} +declare module "constants" { + import constants = require("node:constants"); + export = constants; +} diff --git a/node_modules/@types/node/crypto.d.ts b/node_modules/@types/node/crypto.d.ts new file mode 100644 index 0000000..1933d60 --- /dev/null +++ b/node_modules/@types/node/crypto.d.ts @@ -0,0 +1,4058 @@ +declare module "node:crypto" { + import { NonSharedBuffer } from "node:buffer"; + import * as stream from "node:stream"; + import { PeerCertificate } from "node:tls"; + /** + * SPKAC is a Certificate Signing Request mechanism originally implemented by + * Netscape and was specified formally as part of HTML5's `keygen` element. + * + * `` is deprecated since [HTML 5.2](https://www.w3.org/TR/html52/changes.html#features-removed) and new projects + * should not use this element anymore. + * + * The `node:crypto` module provides the `Certificate` class for working with SPKAC + * data. The most common usage is handling output generated by the HTML5 `` element. Node.js uses [OpenSSL's SPKAC + * implementation](https://www.openssl.org/docs/man3.0/man1/openssl-spkac.html) internally. + * @since v0.11.8 + */ + class Certificate { + /** + * ```js + * const { Certificate } = await import('node:crypto'); + * const spkac = getSpkacSomehow(); + * const challenge = Certificate.exportChallenge(spkac); + * console.log(challenge.toString('utf8')); + * // Prints: the challenge as a UTF8 string + * ``` + * @since v9.0.0 + * @param encoding The `encoding` of the `spkac` string. + * @return The challenge component of the `spkac` data structure, which includes a public key and a challenge. + */ + static exportChallenge(spkac: BinaryLike): NonSharedBuffer; + /** + * ```js + * const { Certificate } = await import('node:crypto'); + * const spkac = getSpkacSomehow(); + * const publicKey = Certificate.exportPublicKey(spkac); + * console.log(publicKey); + * // Prints: the public key as + * ``` + * @since v9.0.0 + * @param encoding The `encoding` of the `spkac` string. + * @return The public key component of the `spkac` data structure, which includes a public key and a challenge. + */ + static exportPublicKey(spkac: BinaryLike, encoding?: string): NonSharedBuffer; + /** + * ```js + * import { Buffer } from 'node:buffer'; + * const { Certificate } = await import('node:crypto'); + * + * const spkac = getSpkacSomehow(); + * console.log(Certificate.verifySpkac(Buffer.from(spkac))); + * // Prints: true or false + * ``` + * @since v9.0.0 + * @param encoding The `encoding` of the `spkac` string. + * @return `true` if the given `spkac` data structure is valid, `false` otherwise. + */ + static verifySpkac(spkac: NodeJS.ArrayBufferView): boolean; + /** + * @deprecated + * @param spkac + * @returns The challenge component of the `spkac` data structure, + * which includes a public key and a challenge. + */ + exportChallenge(spkac: BinaryLike): NonSharedBuffer; + /** + * @deprecated + * @param spkac + * @param encoding The encoding of the spkac string. + * @returns The public key component of the `spkac` data structure, + * which includes a public key and a challenge. + */ + exportPublicKey(spkac: BinaryLike, encoding?: string): NonSharedBuffer; + /** + * @deprecated + * @param spkac + * @returns `true` if the given `spkac` data structure is valid, + * `false` otherwise. + */ + verifySpkac(spkac: NodeJS.ArrayBufferView): boolean; + } + namespace constants { + // https://nodejs.org/dist/latest-v25.x/docs/api/crypto.html#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; + /** Instructs OpenSSL to allow a non-[EC]DHE-based key exchange mode for TLS v1.3 */ + const SSL_OP_ALLOW_NO_DHE_KEX: 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 version identifier 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; + /** Allows initial connection to servers that do not support RI. */ + const SSL_OP_LEGACY_SERVER_CONNECT: number; + /** Instructs OpenSSL to disable support for SSL/TLS compression. */ + const SSL_OP_NO_COMPRESSION: number; + /** Instructs OpenSSL to disable encrypt-then-MAC. */ + const SSL_OP_NO_ENCRYPT_THEN_MAC: number; + const SSL_OP_NO_QUERY_MTU: number; + /** Instructs OpenSSL to disable renegotiation. */ + const SSL_OP_NO_RENEGOTIATION: number; + /** Instructs OpenSSL to always start a new session when performing renegotiation. */ + const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number; + /** Instructs OpenSSL to turn off SSL v2 */ + const SSL_OP_NO_SSLv2: number; + /** Instructs OpenSSL to turn off SSL v3 */ + const SSL_OP_NO_SSLv3: number; + /** Instructs OpenSSL to disable use of RFC4507bis tickets. */ + const SSL_OP_NO_TICKET: number; + /** Instructs OpenSSL to turn off TLS v1 */ + const SSL_OP_NO_TLSv1: number; + /** Instructs OpenSSL to turn off TLS v1.1 */ + const SSL_OP_NO_TLSv1_1: number; + /** Instructs OpenSSL to turn off TLS v1.2 */ + const SSL_OP_NO_TLSv1_2: number; + /** Instructs OpenSSL to turn off TLS v1.3 */ + const SSL_OP_NO_TLSv1_3: number; + /** Instructs OpenSSL server to prioritize ChaCha20-Poly1305 when the client does. This option has no effect if `SSL_OP_CIPHER_SERVER_PREFERENCE` is not enabled. */ + const SSL_OP_PRIORITIZE_CHACHA: 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 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 | undefined; + } + /** @deprecated since v10.0.0 */ + const fips: boolean; + /** + * Creates and returns a `Hash` object that can be used to generate hash digests + * using the given `algorithm`. Optional `options` argument controls stream + * behavior. For XOF hash functions such as `'shake256'`, the `outputLength` option + * can be used to specify the desired output length in bytes. + * + * The `algorithm` is dependent on the available algorithms supported by the + * version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc. + * On recent releases of OpenSSL, `openssl list -digest-algorithms` will + * display the available digest algorithms. + * + * Example: generating the sha256 sum of a file + * + * ```js + * import { + * createReadStream, + * } from 'node:fs'; + * import { argv } from 'node:process'; + * const { + * createHash, + * } = await import('node:crypto'); + * + * const filename = argv[2]; + * + * const hash = createHash('sha256'); + * + * const input = createReadStream(filename); + * input.on('readable', () => { + * // Only one element is going to be produced by the + * // hash stream. + * const data = input.read(); + * if (data) + * hash.update(data); + * else { + * console.log(`${hash.digest('hex')} ${filename}`); + * } + * }); + * ``` + * @since v0.1.92 + * @param options `stream.transform` options + */ + function createHash(algorithm: string, options?: HashOptions): Hash; + /** + * Creates and returns an `Hmac` object that uses the given `algorithm` and `key`. + * Optional `options` argument controls stream behavior. + * + * The `algorithm` is dependent on the available algorithms supported by the + * version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc. + * On recent releases of OpenSSL, `openssl list -digest-algorithms` will + * display the available digest algorithms. + * + * The `key` is the HMAC key used to generate the cryptographic HMAC hash. If it is + * a `KeyObject`, its type must be `secret`. If it is a string, please consider `caveats when using strings as inputs to cryptographic APIs`. If it was + * obtained from a cryptographically secure source of entropy, such as {@link randomBytes} or {@link generateKey}, its length should not + * exceed the block size of `algorithm` (e.g., 512 bits for SHA-256). + * + * Example: generating the sha256 HMAC of a file + * + * ```js + * import { + * createReadStream, + * } from 'node:fs'; + * import { argv } from 'node:process'; + * const { + * createHmac, + * } = await import('node:crypto'); + * + * const filename = argv[2]; + * + * const hmac = createHmac('sha256', 'a secret'); + * + * const input = createReadStream(filename); + * input.on('readable', () => { + * // Only one element is going to be produced by the + * // hash stream. + * const data = input.read(); + * if (data) + * hmac.update(data); + * else { + * console.log(`${hmac.digest('hex')} ${filename}`); + * } + * }); + * ``` + * @since v0.1.94 + * @param options `stream.transform` options + */ + function createHmac(algorithm: string, key: BinaryLike | KeyObject, options?: stream.TransformOptions): Hmac; + // https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings + type BinaryToTextEncoding = "base64" | "base64url" | "hex" | "binary"; + type CharacterEncoding = "utf8" | "utf-8" | "utf16le" | "utf-16le" | "latin1"; + type LegacyCharacterEncoding = "ascii" | "binary" | "ucs2" | "ucs-2"; + type Encoding = BinaryToTextEncoding | CharacterEncoding | LegacyCharacterEncoding; + type ECDHKeyFormat = "compressed" | "uncompressed" | "hybrid"; + /** + * The `Hash` class is a utility for creating hash digests of data. It can be + * used in one of two ways: + * + * * As a `stream` that is both readable and writable, where data is written + * to produce a computed hash digest on the readable side, or + * * Using the `hash.update()` and `hash.digest()` methods to produce the + * computed hash. + * + * The {@link createHash} method is used to create `Hash` instances. `Hash`objects are not to be created directly using the `new` keyword. + * + * Example: Using `Hash` objects as streams: + * + * ```js + * const { + * createHash, + * } = await import('node:crypto'); + * + * const hash = createHash('sha256'); + * + * hash.on('readable', () => { + * // Only one element is going to be produced by the + * // hash stream. + * const data = hash.read(); + * if (data) { + * console.log(data.toString('hex')); + * // Prints: + * // 6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50 + * } + * }); + * + * hash.write('some data to hash'); + * hash.end(); + * ``` + * + * Example: Using `Hash` and piped streams: + * + * ```js + * import { createReadStream } from 'node:fs'; + * import { stdout } from 'node:process'; + * const { createHash } = await import('node:crypto'); + * + * const hash = createHash('sha256'); + * + * const input = createReadStream('test.js'); + * input.pipe(hash).setEncoding('hex').pipe(stdout); + * ``` + * + * Example: Using the `hash.update()` and `hash.digest()` methods: + * + * ```js + * const { + * createHash, + * } = await import('node:crypto'); + * + * const hash = createHash('sha256'); + * + * hash.update('some data to hash'); + * console.log(hash.digest('hex')); + * // Prints: + * // 6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50 + * ``` + * @since v0.1.92 + */ + class Hash extends stream.Transform { + private constructor(); + /** + * Creates a new `Hash` object that contains a deep copy of the internal state + * of the current `Hash` object. + * + * The optional `options` argument controls stream behavior. For XOF hash + * functions such as `'shake256'`, the `outputLength` option can be used to + * specify the desired output length in bytes. + * + * An error is thrown when an attempt is made to copy the `Hash` object after + * its `hash.digest()` method has been called. + * + * ```js + * // Calculate a rolling hash. + * const { + * createHash, + * } = await import('node:crypto'); + * + * const hash = createHash('sha256'); + * + * hash.update('one'); + * console.log(hash.copy().digest('hex')); + * + * hash.update('two'); + * console.log(hash.copy().digest('hex')); + * + * hash.update('three'); + * console.log(hash.copy().digest('hex')); + * + * // Etc. + * ``` + * @since v13.1.0 + * @param options `stream.transform` options + */ + copy(options?: HashOptions): Hash; + /** + * Updates the hash content with the given `data`, the encoding of which + * is given in `inputEncoding`. + * If `encoding` is not provided, and the `data` is a string, an + * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored. + * + * This can be called many times with new data as it is streamed. + * @since v0.1.92 + * @param inputEncoding The `encoding` of the `data` string. + */ + update(data: BinaryLike): Hash; + update(data: string, inputEncoding: Encoding): Hash; + /** + * Calculates the digest of all of the data passed to be hashed (using the `hash.update()` method). + * If `encoding` is provided a string will be returned; otherwise + * a `Buffer` is returned. + * + * The `Hash` object can not be used again after `hash.digest()` method has been + * called. Multiple calls will cause an error to be thrown. + * @since v0.1.92 + * @param encoding The `encoding` of the return value. + */ + digest(): NonSharedBuffer; + digest(encoding: BinaryToTextEncoding): string; + } + /** + * The `Hmac` class is a utility for creating cryptographic HMAC digests. It can + * be used in one of two ways: + * + * * As a `stream` that is both readable and writable, where data is written + * to produce a computed HMAC digest on the readable side, or + * * Using the `hmac.update()` and `hmac.digest()` methods to produce the + * computed HMAC digest. + * + * The {@link createHmac} method is used to create `Hmac` instances. `Hmac`objects are not to be created directly using the `new` keyword. + * + * Example: Using `Hmac` objects as streams: + * + * ```js + * const { + * createHmac, + * } = await import('node:crypto'); + * + * const hmac = createHmac('sha256', 'a secret'); + * + * hmac.on('readable', () => { + * // Only one element is going to be produced by the + * // hash stream. + * const data = hmac.read(); + * if (data) { + * console.log(data.toString('hex')); + * // Prints: + * // 7fd04df92f636fd450bc841c9418e5825c17f33ad9c87c518115a45971f7f77e + * } + * }); + * + * hmac.write('some data to hash'); + * hmac.end(); + * ``` + * + * Example: Using `Hmac` and piped streams: + * + * ```js + * import { createReadStream } from 'node:fs'; + * import { stdout } from 'node:process'; + * const { + * createHmac, + * } = await import('node:crypto'); + * + * const hmac = createHmac('sha256', 'a secret'); + * + * const input = createReadStream('test.js'); + * input.pipe(hmac).pipe(stdout); + * ``` + * + * Example: Using the `hmac.update()` and `hmac.digest()` methods: + * + * ```js + * const { + * createHmac, + * } = await import('node:crypto'); + * + * const hmac = createHmac('sha256', 'a secret'); + * + * hmac.update('some data to hash'); + * console.log(hmac.digest('hex')); + * // Prints: + * // 7fd04df92f636fd450bc841c9418e5825c17f33ad9c87c518115a45971f7f77e + * ``` + * @since v0.1.94 + */ + class Hmac extends stream.Transform { + private constructor(); + /** + * Updates the `Hmac` content with the given `data`, the encoding of which + * is given in `inputEncoding`. + * If `encoding` is not provided, and the `data` is a string, an + * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored. + * + * This can be called many times with new data as it is streamed. + * @since v0.1.94 + * @param inputEncoding The `encoding` of the `data` string. + */ + update(data: BinaryLike): Hmac; + update(data: string, inputEncoding: Encoding): Hmac; + /** + * Calculates the HMAC digest of all of the data passed using `hmac.update()`. + * If `encoding` is + * provided a string is returned; otherwise a `Buffer` is returned; + * + * The `Hmac` object can not be used again after `hmac.digest()` has been + * called. Multiple calls to `hmac.digest()` will result in an error being thrown. + * @since v0.1.94 + * @param encoding The `encoding` of the return value. + */ + digest(): NonSharedBuffer; + digest(encoding: BinaryToTextEncoding): string; + } + type KeyFormat = "pem" | "der" | "jwk"; + type KeyObjectType = "secret" | "public" | "private"; + type PublicKeyExportType = "pkcs1" | "spki"; + type PrivateKeyExportType = "pkcs1" | "pkcs8" | "sec1"; + type KeyExportOptions = + | SymmetricKeyExportOptions + | PublicKeyExportOptions + | PrivateKeyExportOptions + | JwkKeyExportOptions; + interface SymmetricKeyExportOptions { + format?: "buffer" | undefined; + } + interface PublicKeyExportOptions { + type: T; + format: Exclude; + } + interface PrivateKeyExportOptions { + type: T; + format: Exclude; + cipher?: string | undefined; + passphrase?: string | Buffer | undefined; + } + interface JwkKeyExportOptions { + format: "jwk"; + } + interface KeyPairExportOptions< + TPublic extends PublicKeyExportType = PublicKeyExportType, + TPrivate extends PrivateKeyExportType = PrivateKeyExportType, + > { + publicKeyEncoding?: PublicKeyExportOptions | JwkKeyExportOptions | undefined; + privateKeyEncoding?: PrivateKeyExportOptions | JwkKeyExportOptions | undefined; + } + type KeyExportResult = T extends { format: infer F extends KeyFormat } + ? { der: NonSharedBuffer; jwk: webcrypto.JsonWebKey; pem: string }[F] + : Default; + interface KeyPairExportResult { + publicKey: KeyExportResult; + privateKey: KeyExportResult; + } + type KeyPairExportCallback = ( + err: Error | null, + publicKey: KeyExportResult, + privateKey: KeyExportResult, + ) => void; + type MLDSAKeyType = `ml-dsa-${44 | 65 | 87}`; + type MLKEMKeyType = `ml-kem-${1024 | 512 | 768}`; + type SLHDSAKeyType = `slh-dsa-${"sha2" | "shake"}-${128 | 192 | 256}${"f" | "s"}`; + type AsymmetricKeyType = + | "dh" + | "dsa" + | "ec" + | "ed25519" + | "ed448" + | MLDSAKeyType + | MLKEMKeyType + | "rsa-pss" + | "rsa" + | SLHDSAKeyType + | "x25519" + | "x448"; + interface AsymmetricKeyDetails { + /** + * Key size in bits (RSA, DSA). + */ + modulusLength?: number; + /** + * Public exponent (RSA). + */ + publicExponent?: bigint; + /** + * Name of the message digest (RSA-PSS). + */ + hashAlgorithm?: string; + /** + * Name of the message digest used by MGF1 (RSA-PSS). + */ + mgf1HashAlgorithm?: string; + /** + * Minimal salt length in bytes (RSA-PSS). + */ + saltLength?: number; + /** + * Size of q in bits (DSA). + */ + divisorLength?: number; + /** + * Name of the curve (EC). + */ + namedCurve?: string; + } + /** + * Node.js uses a `KeyObject` class to represent a symmetric or asymmetric key, + * and each kind of key exposes different functions. The {@link createSecretKey}, {@link createPublicKey} and {@link createPrivateKey} methods are used to create `KeyObject`instances. `KeyObject` + * objects are not to be created directly using the `new`keyword. + * + * Most applications should consider using the new `KeyObject` API instead of + * passing keys as strings or `Buffer`s due to improved security features. + * + * `KeyObject` instances can be passed to other threads via `postMessage()`. + * The receiver obtains a cloned `KeyObject`, and the `KeyObject` does not need to + * be listed in the `transferList` argument. + * @since v11.6.0 + */ + class KeyObject { + private constructor(); + /** + * Example: Converting a `CryptoKey` instance to a `KeyObject`: + * + * ```js + * const { KeyObject } = await import('node:crypto'); + * const { subtle } = globalThis.crypto; + * + * const key = await subtle.generateKey({ + * name: 'HMAC', + * hash: 'SHA-256', + * length: 256, + * }, true, ['sign', 'verify']); + * + * const keyObject = KeyObject.from(key); + * console.log(keyObject.symmetricKeySize); + * // Prints: 32 (symmetric key size in bytes) + * ``` + * @since v15.0.0 + */ + static from(key: webcrypto.CryptoKey): KeyObject; + /** + * For asymmetric keys, this property represents the type of the key. See the + * supported [asymmetric key types](https://nodejs.org/docs/latest-v25.x/api/crypto.html#asymmetric-key-types). + * + * This property is `undefined` for unrecognized `KeyObject` types and symmetric + * keys. + * @since v11.6.0 + */ + asymmetricKeyType?: AsymmetricKeyType; + /** + * This property exists only on asymmetric keys. Depending on the type of the key, + * this object contains information about the key. None of the information obtained + * through this property can be used to uniquely identify a key or to compromise + * the security of the key. + * + * For RSA-PSS keys, if the key material contains a `RSASSA-PSS-params` sequence, + * the `hashAlgorithm`, `mgf1HashAlgorithm`, and `saltLength` properties will be + * set. + * + * Other key details might be exposed via this API using additional attributes. + * @since v15.7.0 + */ + asymmetricKeyDetails?: AsymmetricKeyDetails; + /** + * For symmetric keys, the following encoding options can be used: + * + * For public keys, the following encoding options can be used: + * + * For private keys, the following encoding options can be used: + * + * The result type depends on the selected encoding format, when PEM the + * result is a string, when DER it will be a buffer containing the data + * encoded as DER, when [JWK](https://tools.ietf.org/html/rfc7517) it will be an object. + * + * When [JWK](https://tools.ietf.org/html/rfc7517) encoding format was selected, all other encoding options are + * ignored. + * + * PKCS#1, SEC1, and PKCS#8 type keys can be encrypted by using a combination of + * the `cipher` and `format` options. The PKCS#8 `type` can be used with any`format` to encrypt any key algorithm (RSA, EC, or DH) by specifying a`cipher`. PKCS#1 and SEC1 can only be + * encrypted by specifying a `cipher`when the PEM `format` is used. For maximum compatibility, use PKCS#8 for + * encrypted private keys. Since PKCS#8 defines its own + * encryption mechanism, PEM-level encryption is not supported when encrypting + * a PKCS#8 key. See [RFC 5208](https://www.rfc-editor.org/rfc/rfc5208.txt) for PKCS#8 encryption and [RFC 1421](https://www.rfc-editor.org/rfc/rfc1421.txt) for + * PKCS#1 and SEC1 encryption. + * @since v11.6.0 + */ + export(options?: T): KeyExportResult; + /** + * Returns `true` or `false` depending on whether the keys have exactly the same + * type, value, and parameters. This method is not [constant time](https://en.wikipedia.org/wiki/Timing_attack). + * @since v17.7.0, v16.15.0 + * @param otherKeyObject A `KeyObject` with which to compare `keyObject`. + */ + equals(otherKeyObject: KeyObject): boolean; + /** + * For secret keys, this property represents the size of the key in bytes. This + * property is `undefined` for asymmetric keys. + * @since v11.6.0 + */ + symmetricKeySize?: number; + /** + * Converts a `KeyObject` instance to a `CryptoKey`. + * @since 22.10.0 + */ + toCryptoKey( + algorithm: + | webcrypto.AlgorithmIdentifier + | webcrypto.RsaHashedImportParams + | webcrypto.EcKeyImportParams + | webcrypto.HmacImportParams, + extractable: boolean, + keyUsages: readonly webcrypto.KeyUsage[], + ): webcrypto.CryptoKey; + /** + * Depending on the type of this `KeyObject`, this property is either`'secret'` for secret (symmetric) keys, `'public'` for public (asymmetric) keys + * or `'private'` for private (asymmetric) keys. + * @since v11.6.0 + */ + 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 CipherOCBTypes = "aes-128-ocb" | "aes-192-ocb" | "aes-256-ocb"; + type CipherChaCha20Poly1305Types = "chacha20-poly1305"; + type BinaryLike = string | NodeJS.ArrayBufferView; + type CipherKey = BinaryLike | KeyObject; + interface CipherCCMOptions extends stream.TransformOptions { + authTagLength: number; + } + interface CipherGCMOptions extends stream.TransformOptions { + authTagLength?: number | undefined; + } + interface CipherOCBOptions extends stream.TransformOptions { + authTagLength: number; + } + interface CipherChaCha20Poly1305Options extends stream.TransformOptions { + /** @default 16 */ + authTagLength?: number | undefined; + } + /** + * Creates and returns a `Cipher` object, with the given `algorithm`, `key` and + * initialization vector (`iv`). + * + * The `options` argument controls stream behavior and is optional except when a + * cipher in CCM or OCB mode (e.g. `'aes-128-ccm'`) is used. In that case, the`authTagLength` option is required and specifies the length of the + * authentication tag in bytes, see `CCM mode`. In GCM mode, the `authTagLength`option is not required but can be used to set the length of the authentication + * tag that will be returned by `getAuthTag()` and defaults to 16 bytes. + * For `chacha20-poly1305`, the `authTagLength` option defaults to 16 bytes. + * + * The `algorithm` is dependent on OpenSSL, examples are `'aes192'`, etc. On + * recent OpenSSL releases, `openssl list -cipher-algorithms` will + * display the available cipher algorithms. + * + * The `key` is the raw key used by the `algorithm` and `iv` is an [initialization vector](https://en.wikipedia.org/wiki/Initialization_vector). Both arguments must be `'utf8'` encoded + * strings,`Buffers`, `TypedArray`, or `DataView`s. The `key` may optionally be + * a `KeyObject` of type `secret`. If the cipher does not need + * an initialization vector, `iv` may be `null`. + * + * When passing strings for `key` or `iv`, please consider `caveats when using strings as inputs to cryptographic APIs`. + * + * Initialization vectors should be unpredictable and unique; ideally, they will be + * cryptographically random. They do not have to be secret: IVs are typically just + * added to ciphertext messages unencrypted. It may sound contradictory that + * something has to be unpredictable and unique, but does not have to be secret; + * remember that an attacker must not be able to predict ahead of time what a + * given IV will be. + * @since v0.1.94 + * @param options `stream.transform` options + */ + function createCipheriv( + algorithm: CipherCCMTypes, + key: CipherKey, + iv: BinaryLike, + options: CipherCCMOptions, + ): CipherCCM; + function createCipheriv( + algorithm: CipherOCBTypes, + key: CipherKey, + iv: BinaryLike, + options: CipherOCBOptions, + ): CipherOCB; + function createCipheriv( + algorithm: CipherGCMTypes, + key: CipherKey, + iv: BinaryLike, + options?: CipherGCMOptions, + ): CipherGCM; + function createCipheriv( + algorithm: CipherChaCha20Poly1305Types, + key: CipherKey, + iv: BinaryLike, + options?: CipherChaCha20Poly1305Options, + ): CipherChaCha20Poly1305; + function createCipheriv( + algorithm: string, + key: CipherKey, + iv: BinaryLike | null, + options?: stream.TransformOptions, + ): Cipheriv; + /** + * Instances of the `Cipheriv` class are used to encrypt data. The class can be + * used in one of two ways: + * + * * As a `stream` that is both readable and writable, where plain unencrypted + * data is written to produce encrypted data on the readable side, or + * * Using the `cipher.update()` and `cipher.final()` methods to produce + * the encrypted data. + * + * The {@link createCipheriv} method is + * used to create `Cipheriv` instances. `Cipheriv` objects are not to be created + * directly using the `new` keyword. + * + * Example: Using `Cipheriv` objects as streams: + * + * ```js + * const { + * scrypt, + * randomFill, + * createCipheriv, + * } = await import('node:crypto'); + * + * const algorithm = 'aes-192-cbc'; + * const password = 'Password used to generate key'; + * + * // First, we'll generate the key. The key length is dependent on the algorithm. + * // In this case for aes192, it is 24 bytes (192 bits). + * scrypt(password, 'salt', 24, (err, key) => { + * if (err) throw err; + * // Then, we'll generate a random initialization vector + * randomFill(new Uint8Array(16), (err, iv) => { + * if (err) throw err; + * + * // Once we have the key and iv, we can create and use the cipher... + * const cipher = createCipheriv(algorithm, key, iv); + * + * let encrypted = ''; + * cipher.setEncoding('hex'); + * + * cipher.on('data', (chunk) => encrypted += chunk); + * cipher.on('end', () => console.log(encrypted)); + * + * cipher.write('some clear text data'); + * cipher.end(); + * }); + * }); + * ``` + * + * Example: Using `Cipheriv` and piped streams: + * + * ```js + * import { + * createReadStream, + * createWriteStream, + * } from 'node:fs'; + * + * import { + * pipeline, + * } from 'node:stream'; + * + * const { + * scrypt, + * randomFill, + * createCipheriv, + * } = await import('node:crypto'); + * + * const algorithm = 'aes-192-cbc'; + * const password = 'Password used to generate key'; + * + * // First, we'll generate the key. The key length is dependent on the algorithm. + * // In this case for aes192, it is 24 bytes (192 bits). + * scrypt(password, 'salt', 24, (err, key) => { + * if (err) throw err; + * // Then, we'll generate a random initialization vector + * randomFill(new Uint8Array(16), (err, iv) => { + * if (err) throw err; + * + * const cipher = createCipheriv(algorithm, key, iv); + * + * const input = createReadStream('test.js'); + * const output = createWriteStream('test.enc'); + * + * pipeline(input, cipher, output, (err) => { + * if (err) throw err; + * }); + * }); + * }); + * ``` + * + * Example: Using the `cipher.update()` and `cipher.final()` methods: + * + * ```js + * const { + * scrypt, + * randomFill, + * createCipheriv, + * } = await import('node:crypto'); + * + * const algorithm = 'aes-192-cbc'; + * const password = 'Password used to generate key'; + * + * // First, we'll generate the key. The key length is dependent on the algorithm. + * // In this case for aes192, it is 24 bytes (192 bits). + * scrypt(password, 'salt', 24, (err, key) => { + * if (err) throw err; + * // Then, we'll generate a random initialization vector + * randomFill(new Uint8Array(16), (err, iv) => { + * if (err) throw err; + * + * const cipher = createCipheriv(algorithm, key, iv); + * + * let encrypted = cipher.update('some clear text data', 'utf8', 'hex'); + * encrypted += cipher.final('hex'); + * console.log(encrypted); + * }); + * }); + * ``` + * @since v0.1.94 + */ + class Cipheriv extends stream.Transform { + private constructor(); + /** + * Updates the cipher with `data`. If the `inputEncoding` argument is given, + * the `data`argument is a string using the specified encoding. If the `inputEncoding`argument is not given, `data` must be a `Buffer`, `TypedArray`, or `DataView`. If `data` is a `Buffer`, + * `TypedArray`, or `DataView`, then `inputEncoding` is ignored. + * + * The `outputEncoding` specifies the output format of the enciphered + * data. If the `outputEncoding`is specified, a string using the specified encoding is returned. If no`outputEncoding` is provided, a `Buffer` is returned. + * + * The `cipher.update()` method can be called multiple times with new data until `cipher.final()` is called. Calling `cipher.update()` after `cipher.final()` will result in an error being + * thrown. + * @since v0.1.94 + * @param inputEncoding The `encoding` of the data. + * @param outputEncoding The `encoding` of the return value. + */ + update(data: BinaryLike): NonSharedBuffer; + update(data: string, inputEncoding: Encoding): NonSharedBuffer; + update(data: NodeJS.ArrayBufferView, inputEncoding: undefined, outputEncoding: Encoding): string; + update(data: string, inputEncoding: Encoding | undefined, outputEncoding: Encoding): string; + /** + * Once the `cipher.final()` method has been called, the `Cipheriv` object can no + * longer be used to encrypt data. Attempts to call `cipher.final()` more than + * once will result in an error being thrown. + * @since v0.1.94 + * @param outputEncoding The `encoding` of the return value. + * @return Any remaining enciphered contents. If `outputEncoding` is specified, a string is returned. If an `outputEncoding` is not provided, a {@link Buffer} is returned. + */ + final(): NonSharedBuffer; + final(outputEncoding: BufferEncoding): string; + /** + * When using block encryption algorithms, the `Cipheriv` class will automatically + * add padding to the input data to the appropriate block size. To disable the + * default padding call `cipher.setAutoPadding(false)`. + * + * When `autoPadding` is `false`, the length of the entire input data must be a + * multiple of the cipher's block size or `cipher.final()` will throw an error. + * Disabling automatic padding is useful for non-standard padding, for instance + * using `0x0` instead of PKCS padding. + * + * The `cipher.setAutoPadding()` method must be called before `cipher.final()`. + * @since v0.7.1 + * @param [autoPadding=true] + * @return for method chaining. + */ + setAutoPadding(autoPadding?: boolean): this; + } + interface CipherCCM extends Cipheriv { + setAAD( + buffer: NodeJS.ArrayBufferView, + options: { + plaintextLength: number; + }, + ): this; + getAuthTag(): NonSharedBuffer; + } + interface CipherGCM extends Cipheriv { + setAAD( + buffer: NodeJS.ArrayBufferView, + options?: { + plaintextLength: number; + }, + ): this; + getAuthTag(): NonSharedBuffer; + } + interface CipherOCB extends Cipheriv { + setAAD( + buffer: NodeJS.ArrayBufferView, + options?: { + plaintextLength: number; + }, + ): this; + getAuthTag(): NonSharedBuffer; + } + interface CipherChaCha20Poly1305 extends Cipheriv { + setAAD( + buffer: NodeJS.ArrayBufferView, + options: { + plaintextLength: number; + }, + ): this; + getAuthTag(): NonSharedBuffer; + } + /** + * Creates and returns a `Decipheriv` object that uses the given `algorithm`, `key` and initialization vector (`iv`). + * + * The `options` argument controls stream behavior and is optional except when a + * cipher in CCM or OCB mode (e.g. `'aes-128-ccm'`) is used. In that case, the `authTagLength` option is required and specifies the length of the + * authentication tag in bytes, see `CCM mode`. In GCM mode, the `authTagLength` option is not required but can be used to restrict accepted authentication tags + * to those with the specified length. + * For `chacha20-poly1305`, the `authTagLength` option defaults to 16 bytes. + * + * The `algorithm` is dependent on OpenSSL, examples are `'aes192'`, etc. On + * recent OpenSSL releases, `openssl list -cipher-algorithms` will + * display the available cipher algorithms. + * + * The `key` is the raw key used by the `algorithm` and `iv` is an [initialization vector](https://en.wikipedia.org/wiki/Initialization_vector). Both arguments must be `'utf8'` encoded + * strings,`Buffers`, `TypedArray`, or `DataView`s. The `key` may optionally be + * a `KeyObject` of type `secret`. If the cipher does not need + * an initialization vector, `iv` may be `null`. + * + * When passing strings for `key` or `iv`, please consider `caveats when using strings as inputs to cryptographic APIs`. + * + * Initialization vectors should be unpredictable and unique; ideally, they will be + * cryptographically random. They do not have to be secret: IVs are typically just + * added to ciphertext messages unencrypted. It may sound contradictory that + * something has to be unpredictable and unique, but does not have to be secret; + * remember that an attacker must not be able to predict ahead of time what a given + * IV will be. + * @since v0.1.94 + * @param options `stream.transform` options + */ + function createDecipheriv( + algorithm: CipherCCMTypes, + key: CipherKey, + iv: BinaryLike, + options: CipherCCMOptions, + ): DecipherCCM; + function createDecipheriv( + algorithm: CipherOCBTypes, + key: CipherKey, + iv: BinaryLike, + options: CipherOCBOptions, + ): DecipherOCB; + function createDecipheriv( + algorithm: CipherGCMTypes, + key: CipherKey, + iv: BinaryLike, + options?: CipherGCMOptions, + ): DecipherGCM; + function createDecipheriv( + algorithm: CipherChaCha20Poly1305Types, + key: CipherKey, + iv: BinaryLike, + options?: CipherChaCha20Poly1305Options, + ): DecipherChaCha20Poly1305; + function createDecipheriv( + algorithm: string, + key: CipherKey, + iv: BinaryLike | null, + options?: stream.TransformOptions, + ): Decipheriv; + /** + * Instances of the `Decipheriv` class are used to decrypt data. The class can be + * used in one of two ways: + * + * * As a `stream` that is both readable and writable, where plain encrypted + * data is written to produce unencrypted data on the readable side, or + * * Using the `decipher.update()` and `decipher.final()` methods to + * produce the unencrypted data. + * + * The {@link createDecipheriv} method is + * used to create `Decipheriv` instances. `Decipheriv` objects are not to be created + * directly using the `new` keyword. + * + * Example: Using `Decipheriv` objects as streams: + * + * ```js + * import { Buffer } from 'node:buffer'; + * const { + * scryptSync, + * createDecipheriv, + * } = await import('node:crypto'); + * + * const algorithm = 'aes-192-cbc'; + * const password = 'Password used to generate key'; + * // Key length is dependent on the algorithm. In this case for aes192, it is + * // 24 bytes (192 bits). + * // Use the async `crypto.scrypt()` instead. + * const key = scryptSync(password, 'salt', 24); + * // The IV is usually passed along with the ciphertext. + * const iv = Buffer.alloc(16, 0); // Initialization vector. + * + * const decipher = createDecipheriv(algorithm, key, iv); + * + * let decrypted = ''; + * decipher.on('readable', () => { + * let chunk; + * while (null !== (chunk = decipher.read())) { + * decrypted += chunk.toString('utf8'); + * } + * }); + * decipher.on('end', () => { + * console.log(decrypted); + * // Prints: some clear text data + * }); + * + * // Encrypted with same algorithm, key and iv. + * const encrypted = + * 'e5f79c5915c02171eec6b212d5520d44480993d7d622a7c4c2da32f6efda0ffa'; + * decipher.write(encrypted, 'hex'); + * decipher.end(); + * ``` + * + * Example: Using `Decipheriv` and piped streams: + * + * ```js + * import { + * createReadStream, + * createWriteStream, + * } from 'node:fs'; + * import { Buffer } from 'node:buffer'; + * const { + * scryptSync, + * createDecipheriv, + * } = await import('node:crypto'); + * + * const algorithm = 'aes-192-cbc'; + * const password = 'Password used to generate key'; + * // Use the async `crypto.scrypt()` instead. + * const key = scryptSync(password, 'salt', 24); + * // The IV is usually passed along with the ciphertext. + * const iv = Buffer.alloc(16, 0); // Initialization vector. + * + * const decipher = createDecipheriv(algorithm, key, iv); + * + * const input = createReadStream('test.enc'); + * const output = createWriteStream('test.js'); + * + * input.pipe(decipher).pipe(output); + * ``` + * + * Example: Using the `decipher.update()` and `decipher.final()` methods: + * + * ```js + * import { Buffer } from 'node:buffer'; + * const { + * scryptSync, + * createDecipheriv, + * } = await import('node:crypto'); + * + * const algorithm = 'aes-192-cbc'; + * const password = 'Password used to generate key'; + * // Use the async `crypto.scrypt()` instead. + * const key = scryptSync(password, 'salt', 24); + * // The IV is usually passed along with the ciphertext. + * const iv = Buffer.alloc(16, 0); // Initialization vector. + * + * const decipher = createDecipheriv(algorithm, key, iv); + * + * // Encrypted using same algorithm, key and iv. + * const encrypted = + * 'e5f79c5915c02171eec6b212d5520d44480993d7d622a7c4c2da32f6efda0ffa'; + * let decrypted = decipher.update(encrypted, 'hex', 'utf8'); + * decrypted += decipher.final('utf8'); + * console.log(decrypted); + * // Prints: some clear text data + * ``` + * @since v0.1.94 + */ + class Decipheriv extends stream.Transform { + private constructor(); + /** + * Updates the decipher with `data`. If the `inputEncoding` argument is given, + * the `data` argument is a string using the specified encoding. If the `inputEncoding` argument is not given, `data` must be a `Buffer`. If `data` is a `Buffer` then `inputEncoding` is + * ignored. + * + * The `outputEncoding` specifies the output format of the enciphered + * data. If the `outputEncoding` is specified, a string using the specified encoding is returned. If no `outputEncoding` is provided, a `Buffer` is returned. + * + * The `decipher.update()` method can be called multiple times with new data until `decipher.final()` is called. Calling `decipher.update()` after `decipher.final()` will result in an error + * being thrown. + * @since v0.1.94 + * @param inputEncoding The `encoding` of the `data` string. + * @param outputEncoding The `encoding` of the return value. + */ + update(data: NodeJS.ArrayBufferView): NonSharedBuffer; + update(data: string, inputEncoding: Encoding): NonSharedBuffer; + update(data: NodeJS.ArrayBufferView, inputEncoding: undefined, outputEncoding: Encoding): string; + update(data: string, inputEncoding: Encoding | undefined, outputEncoding: Encoding): string; + /** + * Once the `decipher.final()` method has been called, the `Decipheriv` object can + * no longer be used to decrypt data. Attempts to call `decipher.final()` more + * than once will result in an error being thrown. + * @since v0.1.94 + * @param outputEncoding The `encoding` of the return value. + * @return Any remaining deciphered contents. If `outputEncoding` is specified, a string is returned. If an `outputEncoding` is not provided, a {@link Buffer} is returned. + */ + final(): NonSharedBuffer; + final(outputEncoding: BufferEncoding): string; + /** + * When data has been encrypted without standard block padding, calling `decipher.setAutoPadding(false)` will disable automatic padding to prevent `decipher.final()` from checking for and + * removing padding. + * + * Turning auto padding off will only work if the input data's length is a + * multiple of the ciphers block size. + * + * The `decipher.setAutoPadding()` method must be called before `decipher.final()`. + * @since v0.7.1 + * @param [autoPadding=true] + * @return for method chaining. + */ + setAutoPadding(auto_padding?: boolean): this; + } + interface DecipherCCM extends Decipheriv { + setAuthTag(buffer: NodeJS.ArrayBufferView): this; + setAAD( + buffer: NodeJS.ArrayBufferView, + options: { + plaintextLength: number; + }, + ): this; + } + interface DecipherGCM extends Decipheriv { + setAuthTag(buffer: NodeJS.ArrayBufferView): this; + setAAD( + buffer: NodeJS.ArrayBufferView, + options?: { + plaintextLength: number; + }, + ): this; + } + interface DecipherOCB extends Decipheriv { + setAuthTag(buffer: NodeJS.ArrayBufferView): this; + setAAD( + buffer: NodeJS.ArrayBufferView, + options?: { + plaintextLength: number; + }, + ): this; + } + interface DecipherChaCha20Poly1305 extends Decipheriv { + setAuthTag(buffer: NodeJS.ArrayBufferView): this; + setAAD( + buffer: NodeJS.ArrayBufferView, + options: { + plaintextLength: number; + }, + ): this; + } + interface PrivateKeyInput { + key: string | Buffer; + format?: KeyFormat | undefined; + type?: PrivateKeyExportType | undefined; + passphrase?: string | Buffer | undefined; + encoding?: string | undefined; + } + interface PublicKeyInput { + key: string | Buffer; + format?: KeyFormat | undefined; + type?: PublicKeyExportType | undefined; + encoding?: string | undefined; + } + /** + * Asynchronously generates a new random secret key of the given `length`. The `type` will determine which validations will be performed on the `length`. + * + * ```js + * const { + * generateKey, + * } = await import('node:crypto'); + * + * generateKey('hmac', { length: 512 }, (err, key) => { + * if (err) throw err; + * console.log(key.export().toString('hex')); // 46e..........620 + * }); + * ``` + * + * The size of a generated HMAC key should not exceed the block size of the + * underlying hash function. See {@link createHmac} for more information. + * @since v15.0.0 + * @param type The intended use of the generated secret key. Currently accepted values are `'hmac'` and `'aes'`. + */ + function generateKey( + type: "hmac" | "aes", + options: { + length: number; + }, + callback: (err: Error | null, key: KeyObject) => void, + ): void; + /** + * Synchronously generates a new random secret key of the given `length`. The `type` will determine which validations will be performed on the `length`. + * + * ```js + * const { + * generateKeySync, + * } = await import('node:crypto'); + * + * const key = generateKeySync('hmac', { length: 512 }); + * console.log(key.export().toString('hex')); // e89..........41e + * ``` + * + * The size of a generated HMAC key should not exceed the block size of the + * underlying hash function. See {@link createHmac} for more information. + * @since v15.0.0 + * @param type The intended use of the generated secret key. Currently accepted values are `'hmac'` and `'aes'`. + */ + function generateKeySync( + type: "hmac" | "aes", + options: { + length: number; + }, + ): KeyObject; + interface JsonWebKeyInput { + key: webcrypto.JsonWebKey; + format: "jwk"; + } + /** + * Creates and returns a new key object containing a private key. If `key` is a + * string or `Buffer`, `format` is assumed to be `'pem'`; otherwise, `key` must be an object with the properties described above. + * + * If the private key is encrypted, a `passphrase` must be specified. The length + * of the passphrase is limited to 1024 bytes. + * @since v11.6.0 + */ + function createPrivateKey(key: PrivateKeyInput | string | Buffer | JsonWebKeyInput): KeyObject; + /** + * Creates and returns a new key object containing a public key. If `key` is a + * string or `Buffer`, `format` is assumed to be `'pem'`; if `key` is a `KeyObject` with type `'private'`, the public key is derived from the given private key; + * otherwise, `key` must be an object with the properties described above. + * + * If the format is `'pem'`, the `'key'` may also be an X.509 certificate. + * + * Because public keys can be derived from private keys, a private key may be + * passed instead of a public key. In that case, this function behaves as if {@link createPrivateKey} had been called, except that the type of the + * returned `KeyObject` will be `'public'` and that the private key cannot be + * extracted from the returned `KeyObject`. Similarly, if a `KeyObject` with type `'private'` is given, a new `KeyObject` with type `'public'` will be returned + * and it will be impossible to extract the private key from the returned object. + * @since v11.6.0 + */ + function createPublicKey(key: PublicKeyInput | string | Buffer | KeyObject | JsonWebKeyInput): KeyObject; + /** + * Creates and returns a new key object containing a secret key for symmetric + * encryption or `Hmac`. + * @since v11.6.0 + * @param encoding The string encoding when `key` is a string. + */ + function createSecretKey(key: NodeJS.ArrayBufferView): KeyObject; + function createSecretKey(key: string, encoding: BufferEncoding): KeyObject; + /** + * Creates and returns a `Sign` object that uses the given `algorithm`. Use {@link getHashes} to obtain the names of the available digest algorithms. + * Optional `options` argument controls the `stream.Writable` behavior. + * + * In some cases, a `Sign` instance can be created using the name of a signature + * algorithm, such as `'RSA-SHA256'`, instead of a digest algorithm. This will use + * the corresponding digest algorithm. This does not work for all signature + * algorithms, such as `'ecdsa-with-SHA256'`, so it is best to always use digest + * algorithm names. + * @since v0.1.92 + * @param options `stream.Writable` options + */ + // TODO: signing algorithm type + function createSign(algorithm: string, options?: stream.WritableOptions): Sign; + type DSAEncoding = "der" | "ieee-p1363"; + interface SigningOptions { + /** + * @see crypto.constants.RSA_PKCS1_PADDING + */ + padding?: number | undefined; + saltLength?: number | undefined; + dsaEncoding?: DSAEncoding | undefined; + context?: ArrayBuffer | NodeJS.ArrayBufferView | undefined; + } + interface SignPrivateKeyInput extends PrivateKeyInput, SigningOptions {} + interface SignKeyObjectInput extends SigningOptions { + key: KeyObject; + } + interface SignJsonWebKeyInput extends JsonWebKeyInput, SigningOptions {} + interface VerifyPublicKeyInput extends PublicKeyInput, SigningOptions {} + interface VerifyKeyObjectInput extends SigningOptions { + key: KeyObject; + } + interface VerifyJsonWebKeyInput extends JsonWebKeyInput, SigningOptions {} + type KeyLike = string | Buffer | KeyObject; + /** + * The `Sign` class is a utility for generating signatures. It can be used in one + * of two ways: + * + * * As a writable `stream`, where data to be signed is written and the `sign.sign()` method is used to generate and return the signature, or + * * Using the `sign.update()` and `sign.sign()` methods to produce the + * signature. + * + * The {@link createSign} method is used to create `Sign` instances. The + * argument is the string name of the hash function to use. `Sign` objects are not + * to be created directly using the `new` keyword. + * + * Example: Using `Sign` and `Verify` objects as streams: + * + * ```js + * const { + * generateKeyPairSync, + * createSign, + * createVerify, + * } = await import('node:crypto'); + * + * const { privateKey, publicKey } = generateKeyPairSync('ec', { + * namedCurve: 'sect239k1', + * }); + * + * const sign = createSign('SHA256'); + * sign.write('some data to sign'); + * sign.end(); + * const signature = sign.sign(privateKey, 'hex'); + * + * const verify = createVerify('SHA256'); + * verify.write('some data to sign'); + * verify.end(); + * console.log(verify.verify(publicKey, signature, 'hex')); + * // Prints: true + * ``` + * + * Example: Using the `sign.update()` and `verify.update()` methods: + * + * ```js + * const { + * generateKeyPairSync, + * createSign, + * createVerify, + * } = await import('node:crypto'); + * + * const { privateKey, publicKey } = generateKeyPairSync('rsa', { + * modulusLength: 2048, + * }); + * + * const sign = createSign('SHA256'); + * sign.update('some data to sign'); + * sign.end(); + * const signature = sign.sign(privateKey); + * + * const verify = createVerify('SHA256'); + * verify.update('some data to sign'); + * verify.end(); + * console.log(verify.verify(publicKey, signature)); + * // Prints: true + * ``` + * @since v0.1.92 + */ + class Sign extends stream.Writable { + private constructor(); + /** + * Updates the `Sign` content with the given `data`, the encoding of which + * is given in `inputEncoding`. + * If `encoding` is not provided, and the `data` is a string, an + * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or`DataView`, then `inputEncoding` is ignored. + * + * This can be called many times with new data as it is streamed. + * @since v0.1.92 + * @param inputEncoding The `encoding` of the `data` string. + */ + update(data: BinaryLike): this; + update(data: string, inputEncoding: Encoding): this; + /** + * Calculates the signature on all the data passed through using either `sign.update()` or `sign.write()`. + * + * If `privateKey` is not a `KeyObject`, this function behaves as if `privateKey` had been passed to {@link createPrivateKey}. If it is an + * object, the following additional properties can be passed: + * + * If `outputEncoding` is provided a string is returned; otherwise a `Buffer` is returned. + * + * The `Sign` object can not be again used after `sign.sign()` method has been + * called. Multiple calls to `sign.sign()` will result in an error being thrown. + * @since v0.1.92 + */ + sign(privateKey: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput): NonSharedBuffer; + sign( + privateKey: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput, + outputFormat: BinaryToTextEncoding, + ): string; + } + /** + * Creates and returns a `Verify` object that uses the given algorithm. + * Use {@link getHashes} to obtain an array of names of the available + * signing algorithms. Optional `options` argument controls the `stream.Writable` behavior. + * + * In some cases, a `Verify` instance can be created using the name of a signature + * algorithm, such as `'RSA-SHA256'`, instead of a digest algorithm. This will use + * the corresponding digest algorithm. This does not work for all signature + * algorithms, such as `'ecdsa-with-SHA256'`, so it is best to always use digest + * algorithm names. + * @since v0.1.92 + * @param options `stream.Writable` options + */ + function createVerify(algorithm: string, options?: stream.WritableOptions): Verify; + /** + * The `Verify` class is a utility for verifying signatures. It can be used in one + * of two ways: + * + * * As a writable `stream` where written data is used to validate against the + * supplied signature, or + * * Using the `verify.update()` and `verify.verify()` methods to verify + * the signature. + * + * The {@link createVerify} method is used to create `Verify` instances. `Verify` objects are not to be created directly using the `new` keyword. + * + * See `Sign` for examples. + * @since v0.1.92 + */ + class Verify extends stream.Writable { + private constructor(); + /** + * Updates the `Verify` content with the given `data`, the encoding of which + * is given in `inputEncoding`. + * If `inputEncoding` is not provided, and the `data` is a string, an + * encoding of `'utf8'` is enforced. If `data` is a `Buffer`, `TypedArray`, or `DataView`, then `inputEncoding` is ignored. + * + * This can be called many times with new data as it is streamed. + * @since v0.1.92 + * @param inputEncoding The `encoding` of the `data` string. + */ + update(data: BinaryLike): Verify; + update(data: string, inputEncoding: Encoding): Verify; + /** + * Verifies the provided data using the given `object` and `signature`. + * + * If `object` is not a `KeyObject`, this function behaves as if `object` had been passed to {@link createPublicKey}. If it is an + * object, the following additional properties can be passed: + * + * The `signature` argument is the previously calculated signature for the data, in + * the `signatureEncoding`. + * If a `signatureEncoding` is specified, the `signature` is expected to be a + * string; otherwise `signature` is expected to be a `Buffer`, `TypedArray`, or `DataView`. + * + * The `verify` object can not be used again after `verify.verify()` has been + * called. Multiple calls to `verify.verify()` will result in an error being + * thrown. + * + * Because public keys can be derived from private keys, a private key may + * be passed instead of a public key. + * @since v0.1.92 + */ + verify( + object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput, + signature: NodeJS.ArrayBufferView, + ): boolean; + verify( + object: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput, + signature: string, + signature_format?: BinaryToTextEncoding, + ): boolean; + } + /** + * Creates a `DiffieHellman` key exchange object using the supplied `prime` and an + * optional specific `generator`. + * + * The `generator` argument can be a number, string, or `Buffer`. If `generator` is not specified, the value `2` is used. + * + * If `primeEncoding` is specified, `prime` is expected to be a string; otherwise + * a `Buffer`, `TypedArray`, or `DataView` is expected. + * + * If `generatorEncoding` is specified, `generator` is expected to be a string; + * otherwise a number, `Buffer`, `TypedArray`, or `DataView` is expected. + * @since v0.11.12 + * @param primeEncoding The `encoding` of the `prime` string. + * @param [generator=2] + * @param generatorEncoding The `encoding` of the `generator` string. + */ + function createDiffieHellman(primeLength: number, generator?: number): DiffieHellman; + function createDiffieHellman( + prime: ArrayBuffer | NodeJS.ArrayBufferView, + generator?: number | ArrayBuffer | NodeJS.ArrayBufferView, + ): DiffieHellman; + function createDiffieHellman( + prime: ArrayBuffer | NodeJS.ArrayBufferView, + generator: string, + generatorEncoding: BinaryToTextEncoding, + ): DiffieHellman; + function createDiffieHellman( + prime: string, + primeEncoding: BinaryToTextEncoding, + generator?: number | ArrayBuffer | NodeJS.ArrayBufferView, + ): DiffieHellman; + function createDiffieHellman( + prime: string, + primeEncoding: BinaryToTextEncoding, + generator: string, + generatorEncoding: BinaryToTextEncoding, + ): DiffieHellman; + /** + * The `DiffieHellman` class is a utility for creating Diffie-Hellman key + * exchanges. + * + * Instances of the `DiffieHellman` class can be created using the {@link createDiffieHellman} function. + * + * ```js + * import assert from 'node:assert'; + * + * const { + * createDiffieHellman, + * } = await import('node:crypto'); + * + * // Generate Alice's keys... + * const alice = createDiffieHellman(2048); + * const aliceKey = alice.generateKeys(); + * + * // Generate Bob's keys... + * const bob = createDiffieHellman(alice.getPrime(), alice.getGenerator()); + * const bobKey = bob.generateKeys(); + * + * // Exchange and generate the secret... + * const aliceSecret = alice.computeSecret(bobKey); + * const bobSecret = bob.computeSecret(aliceKey); + * + * // OK + * assert.strictEqual(aliceSecret.toString('hex'), bobSecret.toString('hex')); + * ``` + * @since v0.5.0 + */ + class DiffieHellman { + private constructor(); + /** + * Generates private and public Diffie-Hellman key values unless they have been + * generated or computed already, and returns + * the public key in the specified `encoding`. This key should be + * transferred to the other party. + * If `encoding` is provided a string is returned; otherwise a `Buffer` is returned. + * + * This function is a thin wrapper around [`DH_generate_key()`](https://www.openssl.org/docs/man3.0/man3/DH_generate_key.html). In particular, + * once a private key has been generated or set, calling this function only updates + * the public key but does not generate a new private key. + * @since v0.5.0 + * @param encoding The `encoding` of the return value. + */ + generateKeys(): NonSharedBuffer; + generateKeys(encoding: BinaryToTextEncoding): string; + /** + * Computes the shared secret using `otherPublicKey` as the other + * party's public key and returns the computed shared secret. The supplied + * key is interpreted using the specified `inputEncoding`, and secret is + * encoded using specified `outputEncoding`. + * If the `inputEncoding` is not + * provided, `otherPublicKey` is expected to be a `Buffer`, `TypedArray`, or `DataView`. + * + * If `outputEncoding` is given a string is returned; otherwise, a `Buffer` is returned. + * @since v0.5.0 + * @param inputEncoding The `encoding` of an `otherPublicKey` string. + * @param outputEncoding The `encoding` of the return value. + */ + computeSecret( + otherPublicKey: NodeJS.ArrayBufferView, + inputEncoding?: null, + outputEncoding?: null, + ): NonSharedBuffer; + computeSecret( + otherPublicKey: string, + inputEncoding: BinaryToTextEncoding, + outputEncoding?: null, + ): NonSharedBuffer; + computeSecret( + otherPublicKey: NodeJS.ArrayBufferView, + inputEncoding: null, + outputEncoding: BinaryToTextEncoding, + ): string; + computeSecret( + otherPublicKey: string, + inputEncoding: BinaryToTextEncoding, + outputEncoding: BinaryToTextEncoding, + ): string; + /** + * Returns the Diffie-Hellman prime in the specified `encoding`. + * If `encoding` is provided a string is + * returned; otherwise a `Buffer` is returned. + * @since v0.5.0 + * @param encoding The `encoding` of the return value. + */ + getPrime(): NonSharedBuffer; + getPrime(encoding: BinaryToTextEncoding): string; + /** + * Returns the Diffie-Hellman generator in the specified `encoding`. + * If `encoding` is provided a string is + * returned; otherwise a `Buffer` is returned. + * @since v0.5.0 + * @param encoding The `encoding` of the return value. + */ + getGenerator(): NonSharedBuffer; + getGenerator(encoding: BinaryToTextEncoding): string; + /** + * Returns the Diffie-Hellman public key in the specified `encoding`. + * If `encoding` is provided a + * string is returned; otherwise a `Buffer` is returned. + * @since v0.5.0 + * @param encoding The `encoding` of the return value. + */ + getPublicKey(): NonSharedBuffer; + getPublicKey(encoding: BinaryToTextEncoding): string; + /** + * Returns the Diffie-Hellman private key in the specified `encoding`. + * If `encoding` is provided a + * string is returned; otherwise a `Buffer` is returned. + * @since v0.5.0 + * @param encoding The `encoding` of the return value. + */ + getPrivateKey(): NonSharedBuffer; + getPrivateKey(encoding: BinaryToTextEncoding): string; + /** + * Sets the Diffie-Hellman public key. If the `encoding` argument is provided, `publicKey` is expected + * to be a string. If no `encoding` is provided, `publicKey` is expected + * to be a `Buffer`, `TypedArray`, or `DataView`. + * @since v0.5.0 + * @param encoding The `encoding` of the `publicKey` string. + */ + setPublicKey(publicKey: NodeJS.ArrayBufferView): void; + setPublicKey(publicKey: string, encoding: BufferEncoding): void; + /** + * Sets the Diffie-Hellman private key. If the `encoding` argument is provided,`privateKey` is expected + * to be a string. If no `encoding` is provided, `privateKey` is expected + * to be a `Buffer`, `TypedArray`, or `DataView`. + * + * This function does not automatically compute the associated public key. Either `diffieHellman.setPublicKey()` or `diffieHellman.generateKeys()` can be + * used to manually provide the public key or to automatically derive it. + * @since v0.5.0 + * @param encoding The `encoding` of the `privateKey` string. + */ + setPrivateKey(privateKey: NodeJS.ArrayBufferView): void; + setPrivateKey(privateKey: string, encoding: BufferEncoding): void; + /** + * A bit field containing any warnings and/or errors resulting from a check + * performed during initialization of the `DiffieHellman` object. + * + * The following values are valid for this property (as defined in `node:constants` module): + * + * * `DH_CHECK_P_NOT_SAFE_PRIME` + * * `DH_CHECK_P_NOT_PRIME` + * * `DH_UNABLE_TO_CHECK_GENERATOR` + * * `DH_NOT_SUITABLE_GENERATOR` + * @since v0.11.12 + */ + verifyError: number; + } + /** + * The `DiffieHellmanGroup` class takes a well-known modp group as its argument. + * It works the same as `DiffieHellman`, except that it does not allow changing its keys after creation. + * In other words, it does not implement `setPublicKey()` or `setPrivateKey()` methods. + * + * ```js + * const { createDiffieHellmanGroup } = await import('node:crypto'); + * const dh = createDiffieHellmanGroup('modp1'); + * ``` + * The name (e.g. `'modp1'`) is taken from [RFC 2412](https://www.rfc-editor.org/rfc/rfc2412.txt) (modp1 and 2) and [RFC 3526](https://www.rfc-editor.org/rfc/rfc3526.txt): + * ```bash + * $ perl -ne 'print "$1\n" if /"(modp\d+)"/' src/node_crypto_groups.h + * modp1 # 768 bits + * modp2 # 1024 bits + * modp5 # 1536 bits + * modp14 # 2048 bits + * modp15 # etc. + * modp16 + * modp17 + * modp18 + * ``` + * @since v0.7.5 + */ + const DiffieHellmanGroup: DiffieHellmanGroupConstructor; + interface DiffieHellmanGroupConstructor { + new(name: string): DiffieHellmanGroup; + (name: string): DiffieHellmanGroup; + readonly prototype: DiffieHellmanGroup; + } + type DiffieHellmanGroup = Omit; + /** + * Creates a predefined `DiffieHellmanGroup` key exchange object. The + * supported groups are listed in the documentation for `DiffieHellmanGroup`. + * + * The returned object mimics the interface of objects created by {@link createDiffieHellman}, but will not allow changing + * the keys (with `diffieHellman.setPublicKey()`, for example). The + * advantage of using this method is that the parties do not have to + * generate nor exchange a group modulus beforehand, saving both processor + * and communication time. + * + * Example (obtaining a shared secret): + * + * ```js + * const { + * getDiffieHellman, + * } = await import('node:crypto'); + * const alice = getDiffieHellman('modp14'); + * const bob = getDiffieHellman('modp14'); + * + * alice.generateKeys(); + * bob.generateKeys(); + * + * const aliceSecret = alice.computeSecret(bob.getPublicKey(), null, 'hex'); + * const bobSecret = bob.computeSecret(alice.getPublicKey(), null, 'hex'); + * + * // aliceSecret and bobSecret should be the same + * console.log(aliceSecret === bobSecret); + * ``` + * @since v0.7.5 + */ + function getDiffieHellman(groupName: string): DiffieHellmanGroup; + /** + * An alias for {@link getDiffieHellman} + * @since v0.9.3 + */ + function createDiffieHellmanGroup(name: string): DiffieHellmanGroup; + /** + * Provides an asynchronous Password-Based Key Derivation Function 2 (PBKDF2) + * implementation. A selected HMAC digest algorithm specified by `digest` is + * applied to derive a key of the requested byte length (`keylen`) from the `password`, `salt` and `iterations`. + * + * The supplied `callback` function is called with two arguments: `err` and `derivedKey`. If an error occurs while deriving the key, `err` will be set; + * otherwise `err` will be `null`. By default, the successfully generated `derivedKey` will be passed to the callback as a `Buffer`. An error will be + * thrown if any of the input arguments specify invalid values or types. + * + * The `iterations` argument must be a number set as high as possible. The + * higher the number of iterations, the more secure the derived key will be, + * but will take a longer amount of time to complete. + * + * The `salt` should be as unique as possible. It is recommended that a salt is + * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details. + * + * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`. + * + * ```js + * const { + * pbkdf2, + * } = await import('node:crypto'); + * + * pbkdf2('secret', 'salt', 100000, 64, 'sha512', (err, derivedKey) => { + * if (err) throw err; + * console.log(derivedKey.toString('hex')); // '3745e48...08d59ae' + * }); + * ``` + * + * An array of supported digest functions can be retrieved using {@link getHashes}. + * + * This API uses libuv's threadpool, which can have surprising and + * negative performance implications for some applications; see the `UV_THREADPOOL_SIZE` documentation for more information. + * @since v0.5.5 + */ + function pbkdf2( + password: BinaryLike, + salt: BinaryLike, + iterations: number, + keylen: number, + digest: string, + callback: (err: Error | null, derivedKey: NonSharedBuffer) => void, + ): void; + /** + * Provides a synchronous Password-Based Key Derivation Function 2 (PBKDF2) + * implementation. A selected HMAC digest algorithm specified by `digest` is + * applied to derive a key of the requested byte length (`keylen`) from the `password`, `salt` and `iterations`. + * + * If an error occurs an `Error` will be thrown, otherwise the derived key will be + * returned as a `Buffer`. + * + * The `iterations` argument must be a number set as high as possible. The + * higher the number of iterations, the more secure the derived key will be, + * but will take a longer amount of time to complete. + * + * The `salt` should be as unique as possible. It is recommended that a salt is + * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details. + * + * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`. + * + * ```js + * const { + * pbkdf2Sync, + * } = await import('node:crypto'); + * + * const key = pbkdf2Sync('secret', 'salt', 100000, 64, 'sha512'); + * console.log(key.toString('hex')); // '3745e48...08d59ae' + * ``` + * + * An array of supported digest functions can be retrieved using {@link getHashes}. + * @since v0.9.3 + */ + function pbkdf2Sync( + password: BinaryLike, + salt: BinaryLike, + iterations: number, + keylen: number, + digest: string, + ): NonSharedBuffer; + /** + * Generates cryptographically strong pseudorandom data. The `size` argument + * is a number indicating the number of bytes to generate. + * + * If a `callback` function is provided, the bytes are generated asynchronously + * and the `callback` function is invoked with two arguments: `err` and `buf`. + * If an error occurs, `err` will be an `Error` object; otherwise it is `null`. The `buf` argument is a `Buffer` containing the generated bytes. + * + * ```js + * // Asynchronous + * const { + * randomBytes, + * } = await import('node:crypto'); + * + * randomBytes(256, (err, buf) => { + * if (err) throw err; + * console.log(`${buf.length} bytes of random data: ${buf.toString('hex')}`); + * }); + * ``` + * + * If the `callback` function is not provided, the random bytes are generated + * synchronously and returned as a `Buffer`. An error will be thrown if + * there is a problem generating the bytes. + * + * ```js + * // Synchronous + * const { + * randomBytes, + * } = await import('node:crypto'); + * + * const buf = randomBytes(256); + * console.log( + * `${buf.length} bytes of random data: ${buf.toString('hex')}`); + * ``` + * + * The `crypto.randomBytes()` method will not complete until there is + * sufficient entropy available. + * This should normally never take longer than a few milliseconds. The only time + * when generating the random bytes may conceivably block for a longer period of + * time is right after boot, when the whole system is still low on entropy. + * + * This API uses libuv's threadpool, which can have surprising and + * negative performance implications for some applications; see the `UV_THREADPOOL_SIZE` documentation for more information. + * + * The asynchronous version of `crypto.randomBytes()` is carried out in a single + * threadpool request. To minimize threadpool task length variation, partition + * large `randomBytes` requests when doing so as part of fulfilling a client + * request. + * @since v0.5.8 + * @param size The number of bytes to generate. The `size` must not be larger than `2**31 - 1`. + * @return if the `callback` function is not provided. + */ + function randomBytes(size: number): NonSharedBuffer; + function randomBytes(size: number, callback: (err: Error | null, buf: NonSharedBuffer) => void): void; + function pseudoRandomBytes(size: number): NonSharedBuffer; + function pseudoRandomBytes(size: number, callback: (err: Error | null, buf: NonSharedBuffer) => void): void; + /** + * Return a random integer `n` such that `min <= n < max`. This + * implementation avoids [modulo bias](https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#Modulo_bias). + * + * The range (`max - min`) must be less than 2**48. `min` and `max` must + * be [safe integers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger). + * + * If the `callback` function is not provided, the random integer is + * generated synchronously. + * + * ```js + * // Asynchronous + * const { + * randomInt, + * } = await import('node:crypto'); + * + * randomInt(3, (err, n) => { + * if (err) throw err; + * console.log(`Random number chosen from (0, 1, 2): ${n}`); + * }); + * ``` + * + * ```js + * // Synchronous + * const { + * randomInt, + * } = await import('node:crypto'); + * + * const n = randomInt(3); + * console.log(`Random number chosen from (0, 1, 2): ${n}`); + * ``` + * + * ```js + * // With `min` argument + * const { + * randomInt, + * } = await import('node:crypto'); + * + * const n = randomInt(1, 7); + * console.log(`The dice rolled: ${n}`); + * ``` + * @since v14.10.0, v12.19.0 + * @param [min=0] Start of random range (inclusive). + * @param max End of random range (exclusive). + * @param callback `function(err, n) {}`. + */ + function randomInt(max: number): number; + function randomInt(min: number, max: number): number; + function randomInt(max: number, callback: (err: Error | null, value: number) => void): void; + function randomInt(min: number, max: number, callback: (err: Error | null, value: number) => void): void; + /** + * Synchronous version of {@link randomFill}. + * + * ```js + * import { Buffer } from 'node:buffer'; + * const { randomFillSync } = await import('node:crypto'); + * + * const buf = Buffer.alloc(10); + * console.log(randomFillSync(buf).toString('hex')); + * + * randomFillSync(buf, 5); + * console.log(buf.toString('hex')); + * + * // The above is equivalent to the following: + * randomFillSync(buf, 5, 5); + * console.log(buf.toString('hex')); + * ``` + * + * Any `ArrayBuffer`, `TypedArray` or `DataView` instance may be passed as`buffer`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * const { randomFillSync } = await import('node:crypto'); + * + * const a = new Uint32Array(10); + * console.log(Buffer.from(randomFillSync(a).buffer, + * a.byteOffset, a.byteLength).toString('hex')); + * + * const b = new DataView(new ArrayBuffer(10)); + * console.log(Buffer.from(randomFillSync(b).buffer, + * b.byteOffset, b.byteLength).toString('hex')); + * + * const c = new ArrayBuffer(10); + * console.log(Buffer.from(randomFillSync(c)).toString('hex')); + * ``` + * @since v7.10.0, v6.13.0 + * @param buffer Must be supplied. The size of the provided `buffer` must not be larger than `2**31 - 1`. + * @param [offset=0] + * @param [size=buffer.length - offset] + * @return The object passed as `buffer` argument. + */ + function randomFillSync(buffer: T, offset?: number, size?: number): T; + /** + * This function is similar to {@link randomBytes} but requires the first + * argument to be a `Buffer` that will be filled. It also + * requires that a callback is passed in. + * + * If the `callback` function is not provided, an error will be thrown. + * + * ```js + * import { Buffer } from 'node:buffer'; + * const { randomFill } = await import('node:crypto'); + * + * const buf = Buffer.alloc(10); + * randomFill(buf, (err, buf) => { + * if (err) throw err; + * console.log(buf.toString('hex')); + * }); + * + * randomFill(buf, 5, (err, buf) => { + * if (err) throw err; + * console.log(buf.toString('hex')); + * }); + * + * // The above is equivalent to the following: + * randomFill(buf, 5, 5, (err, buf) => { + * if (err) throw err; + * console.log(buf.toString('hex')); + * }); + * ``` + * + * Any `ArrayBuffer`, `TypedArray`, or `DataView` instance may be passed as `buffer`. + * + * While this includes instances of `Float32Array` and `Float64Array`, this + * function should not be used to generate random floating-point numbers. The + * result may contain `+Infinity`, `-Infinity`, and `NaN`, and even if the array + * contains finite numbers only, they are not drawn from a uniform random + * distribution and have no meaningful lower or upper bounds. + * + * ```js + * import { Buffer } from 'node:buffer'; + * const { randomFill } = await import('node:crypto'); + * + * const a = new Uint32Array(10); + * randomFill(a, (err, buf) => { + * if (err) throw err; + * console.log(Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength) + * .toString('hex')); + * }); + * + * const b = new DataView(new ArrayBuffer(10)); + * randomFill(b, (err, buf) => { + * if (err) throw err; + * console.log(Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength) + * .toString('hex')); + * }); + * + * const c = new ArrayBuffer(10); + * randomFill(c, (err, buf) => { + * if (err) throw err; + * console.log(Buffer.from(buf).toString('hex')); + * }); + * ``` + * + * This API uses libuv's threadpool, which can have surprising and + * negative performance implications for some applications; see the `UV_THREADPOOL_SIZE` documentation for more information. + * + * The asynchronous version of `crypto.randomFill()` is carried out in a single + * threadpool request. To minimize threadpool task length variation, partition + * large `randomFill` requests when doing so as part of fulfilling a client + * request. + * @since v7.10.0, v6.13.0 + * @param buffer Must be supplied. The size of the provided `buffer` must not be larger than `2**31 - 1`. + * @param [offset=0] + * @param [size=buffer.length - offset] + * @param callback `function(err, buf) {}`. + */ + 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 { + cost?: number | undefined; + blockSize?: number | undefined; + parallelization?: number | undefined; + N?: number | undefined; + r?: number | undefined; + p?: number | undefined; + maxmem?: number | undefined; + } + /** + * Provides an asynchronous [scrypt](https://en.wikipedia.org/wiki/Scrypt) implementation. Scrypt is a password-based + * key derivation function that is designed to be expensive computationally and + * memory-wise in order to make brute-force attacks unrewarding. + * + * The `salt` should be as unique as possible. It is recommended that a salt is + * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details. + * + * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`. + * + * The `callback` function is called with two arguments: `err` and `derivedKey`. `err` is an exception object when key derivation fails, otherwise `err` is `null`. `derivedKey` is passed to the + * callback as a `Buffer`. + * + * An exception is thrown when any of the input arguments specify invalid values + * or types. + * + * ```js + * const { + * scrypt, + * } = await import('node:crypto'); + * + * // Using the factory defaults. + * scrypt('password', 'salt', 64, (err, derivedKey) => { + * if (err) throw err; + * console.log(derivedKey.toString('hex')); // '3745e48...08d59ae' + * }); + * // Using a custom N parameter. Must be a power of two. + * scrypt('password', 'salt', 64, { N: 1024 }, (err, derivedKey) => { + * if (err) throw err; + * console.log(derivedKey.toString('hex')); // '3745e48...aa39b34' + * }); + * ``` + * @since v10.5.0 + */ + function scrypt( + password: BinaryLike, + salt: BinaryLike, + keylen: number, + callback: (err: Error | null, derivedKey: NonSharedBuffer) => void, + ): void; + function scrypt( + password: BinaryLike, + salt: BinaryLike, + keylen: number, + options: ScryptOptions, + callback: (err: Error | null, derivedKey: NonSharedBuffer) => void, + ): void; + /** + * Provides a synchronous [scrypt](https://en.wikipedia.org/wiki/Scrypt) implementation. Scrypt is a password-based + * key derivation function that is designed to be expensive computationally and + * memory-wise in order to make brute-force attacks unrewarding. + * + * The `salt` should be as unique as possible. It is recommended that a salt is + * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details. + * + * When passing strings for `password` or `salt`, please consider `caveats when using strings as inputs to cryptographic APIs`. + * + * An exception is thrown when key derivation fails, otherwise the derived key is + * returned as a `Buffer`. + * + * An exception is thrown when any of the input arguments specify invalid values + * or types. + * + * ```js + * const { + * scryptSync, + * } = await import('node:crypto'); + * // Using the factory defaults. + * + * const key1 = scryptSync('password', 'salt', 64); + * console.log(key1.toString('hex')); // '3745e48...08d59ae' + * // Using a custom N parameter. Must be a power of two. + * const key2 = scryptSync('password', 'salt', 64, { N: 1024 }); + * console.log(key2.toString('hex')); // '3745e48...aa39b34' + * ``` + * @since v10.5.0 + */ + function scryptSync( + password: BinaryLike, + salt: BinaryLike, + keylen: number, + options?: ScryptOptions, + ): NonSharedBuffer; + interface RsaPublicKey { + key: KeyLike; + padding?: number | undefined; + } + interface RsaPrivateKey { + key: KeyLike; + passphrase?: string | undefined; + /** + * @default 'sha1' + */ + oaepHash?: string | undefined; + oaepLabel?: NodeJS.TypedArray | undefined; + padding?: number | undefined; + } + /** + * Encrypts the content of `buffer` with `key` and returns a new `Buffer` with encrypted content. The returned data can be decrypted using + * the corresponding private key, for example using {@link privateDecrypt}. + * + * If `key` is not a `KeyObject`, this function behaves as if `key` had been passed to {@link createPublicKey}. If it is an + * object, the `padding` property can be passed. Otherwise, this function uses `RSA_PKCS1_OAEP_PADDING`. + * + * Because RSA public keys can be derived from private keys, a private key may + * be passed instead of a public key. + * @since v0.11.14 + */ + function publicEncrypt( + key: RsaPublicKey | RsaPrivateKey | KeyLike, + buffer: NodeJS.ArrayBufferView | string, + ): NonSharedBuffer; + /** + * Decrypts `buffer` with `key`.`buffer` was previously encrypted using + * the corresponding private key, for example using {@link privateEncrypt}. + * + * If `key` is not a `KeyObject`, this function behaves as if `key` had been passed to {@link createPublicKey}. If it is an + * object, the `padding` property can be passed. Otherwise, this function uses `RSA_PKCS1_PADDING`. + * + * Because RSA public keys can be derived from private keys, a private key may + * be passed instead of a public key. + * @since v1.1.0 + */ + function publicDecrypt( + key: RsaPublicKey | RsaPrivateKey | KeyLike, + buffer: NodeJS.ArrayBufferView | string, + ): NonSharedBuffer; + /** + * Decrypts `buffer` with `privateKey`. `buffer` was previously encrypted using + * the corresponding public key, for example using {@link publicEncrypt}. + * + * If `privateKey` is not a `KeyObject`, this function behaves as if `privateKey` had been passed to {@link createPrivateKey}. If it is an + * object, the `padding` property can be passed. Otherwise, this function uses `RSA_PKCS1_OAEP_PADDING`. + * @since v0.11.14 + */ + function privateDecrypt( + privateKey: RsaPrivateKey | KeyLike, + buffer: NodeJS.ArrayBufferView | string, + ): NonSharedBuffer; + /** + * Encrypts `buffer` with `privateKey`. The returned data can be decrypted using + * the corresponding public key, for example using {@link publicDecrypt}. + * + * If `privateKey` is not a `KeyObject`, this function behaves as if `privateKey` had been passed to {@link createPrivateKey}. If it is an + * object, the `padding` property can be passed. Otherwise, this function uses `RSA_PKCS1_PADDING`. + * @since v1.1.0 + */ + function privateEncrypt( + privateKey: RsaPrivateKey | KeyLike, + buffer: NodeJS.ArrayBufferView | string, + ): NonSharedBuffer; + /** + * ```js + * const { + * getCiphers, + * } = await import('node:crypto'); + * + * console.log(getCiphers()); // ['aes-128-cbc', 'aes-128-ccm', ...] + * ``` + * @since v0.9.3 + * @return An array with the names of the supported cipher algorithms. + */ + function getCiphers(): string[]; + /** + * ```js + * const { + * getCurves, + * } = await import('node:crypto'); + * + * console.log(getCurves()); // ['Oakley-EC2N-3', 'Oakley-EC2N-4', ...] + * ``` + * @since v2.3.0 + * @return An array with the names of the supported elliptic curves. + */ + function getCurves(): string[]; + /** + * @since v10.0.0 + * @return `1` if and only if a FIPS compliant crypto provider is currently in use, `0` otherwise. A future semver-major release may change the return type of this API to a {boolean}. + */ + function getFips(): 1 | 0; + /** + * Enables the FIPS compliant crypto provider in a FIPS-enabled Node.js build. + * Throws an error if FIPS mode is not available. + * @since v10.0.0 + * @param bool `true` to enable FIPS mode. + */ + function setFips(bool: boolean): void; + /** + * ```js + * const { + * getHashes, + * } = await import('node:crypto'); + * + * console.log(getHashes()); // ['DSA', 'DSA-SHA', 'DSA-SHA1', ...] + * ``` + * @since v0.9.3 + * @return An array of the names of the supported hash algorithms, such as `'RSA-SHA256'`. Hash algorithms are also called "digest" algorithms. + */ + function getHashes(): string[]; + /** + * The `ECDH` class is a utility for creating Elliptic Curve Diffie-Hellman (ECDH) + * key exchanges. + * + * Instances of the `ECDH` class can be created using the {@link createECDH} function. + * + * ```js + * import assert from 'node:assert'; + * + * const { + * createECDH, + * } = await import('node:crypto'); + * + * // Generate Alice's keys... + * const alice = createECDH('secp521r1'); + * const aliceKey = alice.generateKeys(); + * + * // Generate Bob's keys... + * const bob = createECDH('secp521r1'); + * const bobKey = bob.generateKeys(); + * + * // Exchange and generate the secret... + * const aliceSecret = alice.computeSecret(bobKey); + * const bobSecret = bob.computeSecret(aliceKey); + * + * assert.strictEqual(aliceSecret.toString('hex'), bobSecret.toString('hex')); + * // OK + * ``` + * @since v0.11.14 + */ + class ECDH { + private constructor(); + /** + * Converts the EC Diffie-Hellman public key specified by `key` and `curve` to the + * format specified by `format`. The `format` argument specifies point encoding + * and can be `'compressed'`, `'uncompressed'` or `'hybrid'`. The supplied key is + * interpreted using the specified `inputEncoding`, and the returned key is encoded + * using the specified `outputEncoding`. + * + * Use {@link getCurves} to obtain a list of available curve names. + * On recent OpenSSL releases, `openssl ecparam -list_curves` will also display + * the name and description of each available elliptic curve. + * + * If `format` is not specified the point will be returned in `'uncompressed'` format. + * + * If the `inputEncoding` is not provided, `key` is expected to be a `Buffer`, `TypedArray`, or `DataView`. + * + * Example (uncompressing a key): + * + * ```js + * const { + * createECDH, + * ECDH, + * } = await import('node:crypto'); + * + * const ecdh = createECDH('secp256k1'); + * ecdh.generateKeys(); + * + * const compressedKey = ecdh.getPublicKey('hex', 'compressed'); + * + * const uncompressedKey = ECDH.convertKey(compressedKey, + * 'secp256k1', + * 'hex', + * 'hex', + * 'uncompressed'); + * + * // The converted key and the uncompressed public key should be the same + * console.log(uncompressedKey === ecdh.getPublicKey('hex')); + * ``` + * @since v10.0.0 + * @param inputEncoding The `encoding` of the `key` string. + * @param outputEncoding The `encoding` of the return value. + * @param [format='uncompressed'] + */ + static convertKey( + key: BinaryLike, + curve: string, + inputEncoding?: BinaryToTextEncoding, + outputEncoding?: "latin1" | "hex" | "base64" | "base64url", + format?: "uncompressed" | "compressed" | "hybrid", + ): NonSharedBuffer | string; + /** + * Generates private and public EC Diffie-Hellman key values, and returns + * the public key in the specified `format` and `encoding`. This key should be + * transferred to the other party. + * + * The `format` argument specifies point encoding and can be `'compressed'` or `'uncompressed'`. If `format` is not specified, the point will be returned in`'uncompressed'` format. + * + * If `encoding` is provided a string is returned; otherwise a `Buffer` is returned. + * @since v0.11.14 + * @param encoding The `encoding` of the return value. + * @param [format='uncompressed'] + */ + generateKeys(): NonSharedBuffer; + generateKeys(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string; + /** + * Computes the shared secret using `otherPublicKey` as the other + * party's public key and returns the computed shared secret. The supplied + * key is interpreted using specified `inputEncoding`, and the returned secret + * is encoded using the specified `outputEncoding`. + * If the `inputEncoding` is not + * provided, `otherPublicKey` is expected to be a `Buffer`, `TypedArray`, or `DataView`. + * + * If `outputEncoding` is given a string will be returned; otherwise a `Buffer` is returned. + * + * `ecdh.computeSecret` will throw an`ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY` error when `otherPublicKey` lies outside of the elliptic curve. Since `otherPublicKey` is + * usually supplied from a remote user over an insecure network, + * be sure to handle this exception accordingly. + * @since v0.11.14 + * @param inputEncoding The `encoding` of the `otherPublicKey` string. + * @param outputEncoding The `encoding` of the return value. + */ + computeSecret(otherPublicKey: NodeJS.ArrayBufferView): NonSharedBuffer; + computeSecret(otherPublicKey: string, inputEncoding: BinaryToTextEncoding): NonSharedBuffer; + computeSecret(otherPublicKey: NodeJS.ArrayBufferView, outputEncoding: BinaryToTextEncoding): string; + computeSecret( + otherPublicKey: string, + inputEncoding: BinaryToTextEncoding, + outputEncoding: BinaryToTextEncoding, + ): string; + /** + * If `encoding` is specified, a string is returned; otherwise a `Buffer` is + * returned. + * @since v0.11.14 + * @param encoding The `encoding` of the return value. + * @return The EC Diffie-Hellman in the specified `encoding`. + */ + getPrivateKey(): NonSharedBuffer; + getPrivateKey(encoding: BinaryToTextEncoding): string; + /** + * The `format` argument specifies point encoding and can be `'compressed'` or `'uncompressed'`. If `format` is not specified the point will be returned in`'uncompressed'` format. + * + * If `encoding` is specified, a string is returned; otherwise a `Buffer` is + * returned. + * @since v0.11.14 + * @param encoding The `encoding` of the return value. + * @param [format='uncompressed'] + * @return The EC Diffie-Hellman public key in the specified `encoding` and `format`. + */ + getPublicKey(encoding?: null, format?: ECDHKeyFormat): NonSharedBuffer; + getPublicKey(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string; + /** + * Sets the EC Diffie-Hellman private key. + * If `encoding` is provided, `privateKey` is expected + * to be a string; otherwise `privateKey` is expected to be a `Buffer`, `TypedArray`, or `DataView`. + * + * If `privateKey` is not valid for the curve specified when the `ECDH` object was + * created, an error is thrown. Upon setting the private key, the associated + * public point (key) is also generated and set in the `ECDH` object. + * @since v0.11.14 + * @param encoding The `encoding` of the `privateKey` string. + */ + setPrivateKey(privateKey: NodeJS.ArrayBufferView): void; + setPrivateKey(privateKey: string, encoding: BinaryToTextEncoding): void; + } + /** + * Creates an Elliptic Curve Diffie-Hellman (`ECDH`) key exchange object using a + * predefined curve specified by the `curveName` string. Use {@link getCurves} to obtain a list of available curve names. On recent + * OpenSSL releases, `openssl ecparam -list_curves` will also display the name + * and description of each available elliptic curve. + * @since v0.11.14 + */ + function createECDH(curveName: string): ECDH; + /** + * This function compares the underlying bytes that represent the given `ArrayBuffer`, `TypedArray`, or `DataView` instances using a constant-time + * algorithm. + * + * This function does not leak timing information that + * would allow an attacker to guess one of the values. This is suitable for + * comparing HMAC digests or secret values like authentication cookies or [capability urls](https://www.w3.org/TR/capability-urls/). + * + * `a` and `b` must both be `Buffer`s, `TypedArray`s, or `DataView`s, and they + * must have the same byte length. An error is thrown if `a` and `b` have + * different byte lengths. + * + * If at least one of `a` and `b` is a `TypedArray` with more than one byte per + * entry, such as `Uint16Array`, the result will be computed using the platform + * byte order. + * + * **When both of the inputs are `Float32Array`s or `Float64Array`s, this function might return unexpected results due to IEEE 754** + * **encoding of floating-point numbers. In particular, neither `x === y` nor `Object.is(x, y)` implies that the byte representations of two floating-point** + * **numbers `x` and `y` are equal.** + * + * Use of `crypto.timingSafeEqual` does not guarantee that the _surrounding_ code + * is timing-safe. Care should be taken to ensure that the surrounding code does + * not introduce timing vulnerabilities. + * @since v6.6.0 + */ + function timingSafeEqual(a: NodeJS.ArrayBufferView, b: NodeJS.ArrayBufferView): boolean; + interface DHKeyPairOptions extends KeyPairExportOptions<"spki", "pkcs8"> { + /** + * The prime parameter + */ + prime?: Buffer | undefined; + /** + * Prime length in bits + */ + primeLength?: number | undefined; + /** + * Custom generator + * @default 2 + */ + generator?: number | undefined; + /** + * Diffie-Hellman group name + * @see {@link getDiffieHellman} + */ + groupName?: string | undefined; + } + interface DSAKeyPairOptions extends KeyPairExportOptions<"spki", "pkcs8"> { + /** + * Key size in bits + */ + modulusLength: number; + /** + * Size of q in bits + */ + divisorLength: number; + } + interface ECKeyPairOptions extends KeyPairExportOptions<"spki", "pkcs8" | "sec1"> { + /** + * Name of the curve to use + */ + namedCurve: string; + /** + * Must be `'named'` or `'explicit'` + * @default 'named' + */ + paramEncoding?: "explicit" | "named" | undefined; + } + interface ED25519KeyPairOptions extends KeyPairExportOptions<"spki", "pkcs8"> {} + interface ED448KeyPairOptions extends KeyPairExportOptions<"spki", "pkcs8"> {} + interface MLDSAKeyPairOptions extends KeyPairExportOptions<"spki", "pkcs8"> {} + interface MLKEMKeyPairOptions extends KeyPairExportOptions<"spki", "pkcs8"> {} + interface RSAPSSKeyPairOptions extends KeyPairExportOptions<"spki", "pkcs8"> { + /** + * Key size in bits + */ + modulusLength: number; + /** + * Public exponent + * @default 0x10001 + */ + publicExponent?: number | undefined; + /** + * Name of the message digest + */ + hashAlgorithm?: string | undefined; + /** + * Name of the message digest used by MGF1 + */ + mgf1HashAlgorithm?: string | undefined; + /** + * Minimal salt length in bytes + */ + saltLength?: string | undefined; + } + interface RSAKeyPairOptions extends KeyPairExportOptions<"pkcs1" | "spki", "pkcs1" | "pkcs8"> { + /** + * Key size in bits + */ + modulusLength: number; + /** + * Public exponent + * @default 0x10001 + */ + publicExponent?: number | undefined; + } + interface SLHDSAKeyPairOptions extends KeyPairExportOptions<"spki", "pkcs8"> {} + interface X25519KeyPairOptions extends KeyPairExportOptions<"spki", "pkcs8"> {} + interface X448KeyPairOptions extends KeyPairExportOptions<"spki", "pkcs8"> {} + /** + * Generates a new asymmetric key pair of the given `type`. See the + * supported [asymmetric key types](https://nodejs.org/docs/latest-v25.x/api/crypto.html#asymmetric-key-types). + * + * If a `publicKeyEncoding` or `privateKeyEncoding` was specified, this function + * behaves as if `keyObject.export()` had been called on its result. Otherwise, + * the respective part of the key is returned as a `KeyObject`. + * + * When encoding public keys, it is recommended to use `'spki'`. When encoding + * private keys, it is recommended to use `'pkcs8'` with a strong passphrase, + * and to keep the passphrase confidential. + * + * ```js + * const { + * generateKeyPairSync, + * } = await import('node:crypto'); + * + * const { + * publicKey, + * privateKey, + * } = generateKeyPairSync('rsa', { + * modulusLength: 4096, + * publicKeyEncoding: { + * type: 'spki', + * format: 'pem', + * }, + * privateKeyEncoding: { + * type: 'pkcs8', + * format: 'pem', + * cipher: 'aes-256-cbc', + * passphrase: 'top secret', + * }, + * }); + * ``` + * + * The return value `{ publicKey, privateKey }` represents the generated key pair. + * When PEM encoding was selected, the respective key will be a string, otherwise + * it will be a buffer containing the data encoded as DER. + * @since v10.12.0 + * @param type The asymmetric key type to generate. See the + * supported [asymmetric key types](https://nodejs.org/docs/latest-v25.x/api/crypto.html#asymmetric-key-types). + */ + function generateKeyPairSync( + type: "dh", + options: T, + ): KeyPairExportResult; + function generateKeyPairSync( + type: "dsa", + options: T, + ): KeyPairExportResult; + function generateKeyPairSync( + type: "ec", + options: T, + ): KeyPairExportResult; + function generateKeyPairSync( + type: "ed25519", + options?: T, + ): KeyPairExportResult; + function generateKeyPairSync( + type: "ed448", + options?: T, + ): KeyPairExportResult; + function generateKeyPairSync( + type: MLDSAKeyType, + options?: T, + ): KeyPairExportResult; + function generateKeyPairSync( + type: MLKEMKeyType, + options?: T, + ): KeyPairExportResult; + function generateKeyPairSync( + type: "rsa-pss", + options: T, + ): KeyPairExportResult; + function generateKeyPairSync( + type: "rsa", + options: T, + ): KeyPairExportResult; + function generateKeyPairSync( + type: SLHDSAKeyType, + options?: T, + ): KeyPairExportResult; + function generateKeyPairSync( + type: "x25519", + options?: T, + ): KeyPairExportResult; + function generateKeyPairSync( + type: "x448", + options?: T, + ): KeyPairExportResult; + /** + * Generates a new asymmetric key pair of the given `type`. See the + * supported [asymmetric key types](https://nodejs.org/docs/latest-v25.x/api/crypto.html#asymmetric-key-types). + * + * If a `publicKeyEncoding` or `privateKeyEncoding` was specified, this function + * behaves as if `keyObject.export()` had been called on its result. Otherwise, + * the respective part of the key is returned as a `KeyObject`. + * + * It is recommended to encode public keys as `'spki'` and private keys as `'pkcs8'` with encryption for long-term storage: + * + * ```js + * const { + * generateKeyPair, + * } = await import('node:crypto'); + * + * generateKeyPair('rsa', { + * modulusLength: 4096, + * publicKeyEncoding: { + * type: 'spki', + * format: 'pem', + * }, + * privateKeyEncoding: { + * type: 'pkcs8', + * format: 'pem', + * cipher: 'aes-256-cbc', + * passphrase: 'top secret', + * }, + * }, (err, publicKey, privateKey) => { + * // Handle errors and use the generated key pair. + * }); + * ``` + * + * On completion, `callback` will be called with `err` set to `undefined` and `publicKey` / `privateKey` representing the generated key pair. + * + * If this method is invoked as its `util.promisify()` ed version, it returns + * a `Promise` for an `Object` with `publicKey` and `privateKey` properties. + * @since v10.12.0 + * @param type The asymmetric key type to generate. See the + * supported [asymmetric key types](https://nodejs.org/docs/latest-v25.x/api/crypto.html#asymmetric-key-types). + */ + function generateKeyPair( + type: "dh", + options: T, + callback: KeyPairExportCallback, + ): void; + function generateKeyPair( + type: "dsa", + options: T, + callback: KeyPairExportCallback, + ): void; + function generateKeyPair( + type: "ec", + options: T, + callback: KeyPairExportCallback, + ): void; + function generateKeyPair( + type: "ed25519", + options: T | undefined, + callback: KeyPairExportCallback, + ): void; + function generateKeyPair( + type: "ed448", + options: T | undefined, + callback: KeyPairExportCallback, + ): void; + function generateKeyPair( + type: MLDSAKeyType, + options: T | undefined, + callback: KeyPairExportCallback, + ): void; + function generateKeyPair( + type: MLKEMKeyType, + options: T | undefined, + callback: KeyPairExportCallback, + ): void; + function generateKeyPair( + type: "rsa-pss", + options: T, + callback: KeyPairExportCallback, + ): void; + function generateKeyPair( + type: "rsa", + options: T, + callback: KeyPairExportCallback, + ): void; + function generateKeyPair( + type: SLHDSAKeyType, + options: T | undefined, + callback: KeyPairExportCallback, + ): void; + function generateKeyPair( + type: "x25519", + options: T | undefined, + callback: KeyPairExportCallback, + ): void; + function generateKeyPair( + type: "x448", + options: T | undefined, + callback: KeyPairExportCallback, + ): void; + namespace generateKeyPair { + function __promisify__( + type: "dh", + options: T, + ): Promise>; + function __promisify__( + type: "dsa", + options: T, + ): Promise>; + function __promisify__( + type: "ec", + options: T, + ): Promise>; + function __promisify__( + type: "ed25519", + options?: T, + ): Promise>; + function __promisify__( + type: "ed448", + options?: T, + ): Promise>; + function __promisify__( + type: MLDSAKeyType, + options?: T, + ): Promise>; + function __promisify__( + type: MLKEMKeyType, + options?: T, + ): Promise>; + function __promisify__( + type: "rsa-pss", + options: T, + ): Promise>; + function __promisify__( + type: "rsa", + options: T, + ): Promise>; + function __promisify__( + type: SLHDSAKeyType, + options?: T, + ): Promise>; + function __promisify__( + type: "x25519", + options?: T, + ): Promise>; + function __promisify__( + type: "x448", + options?: T, + ): 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. + * + * `algorithm` is required to be `null` or `undefined` for Ed25519, Ed448, and + * ML-DSA. + * + * If `key` is not a `KeyObject`, this function behaves as if `key` had been + * passed to {@link createPrivateKey}. If it is an object, the following + * additional properties can be passed: + * + * If the `callback` function is provided this function uses libuv's threadpool. + * @since v12.0.0 + */ + function sign( + algorithm: string | null | undefined, + data: NodeJS.ArrayBufferView, + key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput, + ): NonSharedBuffer; + function sign( + algorithm: string | null | undefined, + data: NodeJS.ArrayBufferView, + key: KeyLike | SignKeyObjectInput | SignPrivateKeyInput | SignJsonWebKeyInput, + callback: (error: Error | null, data: NonSharedBuffer) => void, + ): void; + /** + * Verifies the given signature for `data` using the given key and algorithm. If + * `algorithm` is `null` or `undefined`, then the algorithm is dependent upon the + * key type. + * + * `algorithm` is required to be `null` or `undefined` for Ed25519, Ed448, and + * ML-DSA. + * + * If `key` is not a `KeyObject`, this function behaves as if `key` had been + * passed to {@link createPublicKey}. If it is an object, the following + * additional properties can be passed: + * + * The `signature` argument is the previously calculated signature for the `data`. + * + * Because public keys can be derived from private keys, a private key or a public + * key may be passed for `key`. + * + * If the `callback` function is provided this function uses libuv's threadpool. + * @since v12.0.0 + */ + function verify( + algorithm: string | null | undefined, + data: NodeJS.ArrayBufferView, + key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput, + signature: NodeJS.ArrayBufferView, + ): boolean; + function verify( + algorithm: string | null | undefined, + data: NodeJS.ArrayBufferView, + key: KeyLike | VerifyKeyObjectInput | VerifyPublicKeyInput | VerifyJsonWebKeyInput, + signature: NodeJS.ArrayBufferView, + callback: (error: Error | null, result: boolean) => void, + ): void; + /** + * Key decapsulation using a KEM algorithm with a private key. + * + * Supported key types and their KEM algorithms are: + * + * * `'rsa'` RSA Secret Value Encapsulation + * * `'ec'` DHKEM(P-256, HKDF-SHA256), DHKEM(P-384, HKDF-SHA256), DHKEM(P-521, HKDF-SHA256) + * * `'x25519'` DHKEM(X25519, HKDF-SHA256) + * * `'x448'` DHKEM(X448, HKDF-SHA512) + * * `'ml-kem-512'` ML-KEM + * * `'ml-kem-768'` ML-KEM + * * `'ml-kem-1024'` ML-KEM + * + * If `key` is not a {@link KeyObject}, this function behaves as if `key` had been + * passed to `crypto.createPrivateKey()`. + * + * If the `callback` function is provided this function uses libuv's threadpool. + * @since v24.7.0 + */ + function decapsulate( + key: KeyLike | PrivateKeyInput | JsonWebKeyInput, + ciphertext: ArrayBuffer | NodeJS.ArrayBufferView, + ): NonSharedBuffer; + function decapsulate( + key: KeyLike | PrivateKeyInput | JsonWebKeyInput, + ciphertext: ArrayBuffer | NodeJS.ArrayBufferView, + callback: (err: Error, sharedKey: NonSharedBuffer) => void, + ): void; + /** + * Computes the Diffie-Hellman shared secret based on a `privateKey` and a `publicKey`. + * Both keys must have the same `asymmetricKeyType` and must support either the DH or + * ECDH operation. + * + * If the `callback` function is provided this function uses libuv's threadpool. + * @since v13.9.0, v12.17.0 + */ + function diffieHellman(options: { privateKey: KeyObject; publicKey: KeyObject }): NonSharedBuffer; + function diffieHellman( + options: { privateKey: KeyObject; publicKey: KeyObject }, + callback: (err: Error | null, secret: NonSharedBuffer) => void, + ): void; + /** + * Key encapsulation using a KEM algorithm with a public key. + * + * Supported key types and their KEM algorithms are: + * + * * `'rsa'` RSA Secret Value Encapsulation + * * `'ec'` DHKEM(P-256, HKDF-SHA256), DHKEM(P-384, HKDF-SHA256), DHKEM(P-521, HKDF-SHA256) + * * `'x25519'` DHKEM(X25519, HKDF-SHA256) + * * `'x448'` DHKEM(X448, HKDF-SHA512) + * * `'ml-kem-512'` ML-KEM + * * `'ml-kem-768'` ML-KEM + * * `'ml-kem-1024'` ML-KEM + * + * If `key` is not a {@link KeyObject}, this function behaves as if `key` had been + * passed to `crypto.createPublicKey()`. + * + * If the `callback` function is provided this function uses libuv's threadpool. + * @since v24.7.0 + */ + function encapsulate( + key: KeyLike | PublicKeyInput | JsonWebKeyInput, + ): { sharedKey: NonSharedBuffer; ciphertext: NonSharedBuffer }; + function encapsulate( + key: KeyLike | PublicKeyInput | JsonWebKeyInput, + callback: (err: Error, result: { sharedKey: NonSharedBuffer; ciphertext: NonSharedBuffer }) => void, + ): void; + interface OneShotDigestOptions { + /** + * Encoding used to encode the returned digest. + * @default 'hex' + */ + outputEncoding?: BinaryToTextEncoding | "buffer" | undefined; + /** + * For XOF hash functions such as 'shake256', the outputLength option + * can be used to specify the desired output length in bytes. + */ + outputLength?: number | undefined; + } + interface OneShotDigestOptionsWithStringEncoding extends OneShotDigestOptions { + outputEncoding?: BinaryToTextEncoding | undefined; + } + interface OneShotDigestOptionsWithBufferEncoding extends OneShotDigestOptions { + outputEncoding: "buffer"; + } + /** + * A utility for creating one-shot hash digests of data. It can be faster than + * the object-based `crypto.createHash()` when hashing a smaller amount of data + * (<= 5MB) that's readily available. If the data can be big or if it is streamed, + * it's still recommended to use `crypto.createHash()` instead. + * + * The `algorithm` is dependent on the available algorithms supported by the + * version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc. + * On recent releases of OpenSSL, `openssl list -digest-algorithms` will + * display the available digest algorithms. + * + * If `options` is a string, then it specifies the `outputEncoding`. + * + * Example: + * + * ```js + * import crypto from 'node:crypto'; + * import { Buffer } from 'node:buffer'; + * + * // Hashing a string and return the result as a hex-encoded string. + * const string = 'Node.js'; + * // 10b3493287f831e81a438811a1ffba01f8cec4b7 + * console.log(crypto.hash('sha1', string)); + * + * // Encode a base64-encoded string into a Buffer, hash it and return + * // the result as a buffer. + * const base64 = 'Tm9kZS5qcw=='; + * // + * console.log(crypto.hash('sha1', Buffer.from(base64, 'base64'), 'buffer')); + * ``` + * @since v21.7.0, v20.12.0 + * @param data When `data` is a string, it will be encoded as UTF-8 before being hashed. If a different + * input encoding is desired for a string input, user could encode the string + * into a `TypedArray` using either `TextEncoder` or `Buffer.from()` and passing + * the encoded `TypedArray` into this API instead. + */ + function hash( + algorithm: string, + data: BinaryLike, + options?: OneShotDigestOptionsWithStringEncoding | BinaryToTextEncoding, + ): string; + function hash( + algorithm: string, + data: BinaryLike, + options: OneShotDigestOptionsWithBufferEncoding | "buffer", + ): NonSharedBuffer; + function hash( + algorithm: string, + data: BinaryLike, + options: OneShotDigestOptions | BinaryToTextEncoding | "buffer", + ): string | NonSharedBuffer; + type CipherMode = "cbc" | "ccm" | "cfb" | "ctr" | "ecb" | "gcm" | "ocb" | "ofb" | "stream" | "wrap" | "xts"; + interface CipherInfoOptions { + /** + * A test key length. + */ + keyLength?: number | undefined; + /** + * A test IV length. + */ + ivLength?: number | undefined; + } + interface CipherInfo { + /** + * The name of the cipher. + */ + name: string; + /** + * The nid of the cipher. + */ + nid: number; + /** + * The block size of the cipher in bytes. + * This property is omitted when mode is 'stream'. + */ + blockSize?: number | undefined; + /** + * The expected or default initialization vector length in bytes. + * This property is omitted if the cipher does not use an initialization vector. + */ + ivLength?: number | undefined; + /** + * The expected or default key length in bytes. + */ + keyLength: number; + /** + * The cipher mode. + */ + mode: CipherMode; + } + /** + * Returns information about a given cipher. + * + * Some ciphers accept variable length keys and initialization vectors. By default, + * the `crypto.getCipherInfo()` method will return the default values for these + * ciphers. To test if a given key length or iv length is acceptable for given + * cipher, use the `keyLength` and `ivLength` options. If the given values are + * unacceptable, `undefined` will be returned. + * @since v15.0.0 + * @param nameOrNid The name or nid of the cipher to query. + */ + function getCipherInfo(nameOrNid: string | number, options?: CipherInfoOptions): CipherInfo | undefined; + /** + * HKDF is a simple key derivation function defined in RFC 5869\. The given `ikm`, `salt` and `info` are used with the `digest` to derive a key of `keylen` bytes. + * + * The supplied `callback` function is called with two arguments: `err` and `derivedKey`. If an errors occurs while deriving the key, `err` will be set; + * otherwise `err` will be `null`. The successfully generated `derivedKey` will + * be passed to the callback as an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). An error will be thrown if any + * of the input arguments specify invalid values or types. + * + * ```js + * import { Buffer } from 'node:buffer'; + * const { + * hkdf, + * } = await import('node:crypto'); + * + * hkdf('sha512', 'key', 'salt', 'info', 64, (err, derivedKey) => { + * if (err) throw err; + * console.log(Buffer.from(derivedKey).toString('hex')); // '24156e2...5391653' + * }); + * ``` + * @since v15.0.0 + * @param digest The digest algorithm to use. + * @param ikm The input keying material. Must be provided but can be zero-length. + * @param salt The salt value. Must be provided but can be zero-length. + * @param info Additional info value. Must be provided but can be zero-length, and cannot be more than 1024 bytes. + * @param keylen The length of the key to generate. Must be greater than 0. The maximum allowable value is `255` times the number of bytes produced by the selected digest function (e.g. `sha512` + * generates 64-byte hashes, making the maximum HKDF output 16320 bytes). + */ + function hkdf( + digest: string, + irm: BinaryLike | KeyObject, + salt: BinaryLike, + info: BinaryLike, + keylen: number, + callback: (err: Error | null, derivedKey: ArrayBuffer) => void, + ): void; + /** + * Provides a synchronous HKDF key derivation function as defined in RFC 5869\. The + * given `ikm`, `salt` and `info` are used with the `digest` to derive a key of `keylen` bytes. + * + * The successfully generated `derivedKey` will be returned as an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). + * + * An error will be thrown if any of the input arguments specify invalid values or + * types, or if the derived key cannot be generated. + * + * ```js + * import { Buffer } from 'node:buffer'; + * const { + * hkdfSync, + * } = await import('node:crypto'); + * + * const derivedKey = hkdfSync('sha512', 'key', 'salt', 'info', 64); + * console.log(Buffer.from(derivedKey).toString('hex')); // '24156e2...5391653' + * ``` + * @since v15.0.0 + * @param digest The digest algorithm to use. + * @param ikm The input keying material. Must be provided but can be zero-length. + * @param salt The salt value. Must be provided but can be zero-length. + * @param info Additional info value. Must be provided but can be zero-length, and cannot be more than 1024 bytes. + * @param keylen The length of the key to generate. Must be greater than 0. The maximum allowable value is `255` times the number of bytes produced by the selected digest function (e.g. `sha512` + * generates 64-byte hashes, making the maximum HKDF output 16320 bytes). + */ + function hkdfSync( + digest: string, + ikm: BinaryLike | KeyObject, + salt: BinaryLike, + info: BinaryLike, + keylen: number, + ): ArrayBuffer; + interface SecureHeapUsage { + /** + * The total allocated secure heap size as specified using the `--secure-heap=n` command-line flag. + */ + total: number; + /** + * The minimum allocation from the secure heap as specified using the `--secure-heap-min` command-line flag. + */ + min: number; + /** + * The total number of bytes currently allocated from the secure heap. + */ + used: number; + /** + * The calculated ratio of `used` to `total` allocated bytes. + */ + utilization: number; + } + /** + * @since v15.6.0 + */ + function secureHeapUsed(): SecureHeapUsage; + interface RandomUUIDOptions { + /** + * By default, to improve performance, + * Node.js will pre-emptively generate and persistently cache enough + * random data to generate up to 128 random UUIDs. To generate a UUID + * without using the cache, set `disableEntropyCache` to `true`. + * + * @default `false` + */ + disableEntropyCache?: boolean | undefined; + } + type UUID = `${string}-${string}-${string}-${string}-${string}`; + /** + * Generates a random [RFC 4122](https://www.rfc-editor.org/rfc/rfc4122.txt) version 4 UUID. The UUID is generated using a + * cryptographic pseudorandom number generator. + * @since v15.6.0, v14.17.0 + */ + function randomUUID(options?: RandomUUIDOptions): UUID; + interface X509CheckOptions { + /** + * @default 'always' + */ + subject?: "always" | "default" | "never" | undefined; + /** + * @default true + */ + wildcards?: boolean | undefined; + /** + * @default true + */ + partialWildcards?: boolean | undefined; + /** + * @default false + */ + multiLabelWildcards?: boolean | undefined; + /** + * @default false + */ + singleLabelSubdomains?: boolean | undefined; + } + /** + * Encapsulates an X509 certificate and provides read-only access to + * its information. + * + * ```js + * const { X509Certificate } = await import('node:crypto'); + * + * const x509 = new X509Certificate('{... pem encoded cert ...}'); + * + * console.log(x509.subject); + * ``` + * @since v15.6.0 + */ + class X509Certificate { + /** + * Will be \`true\` if this is a Certificate Authority (CA) certificate. + * @since v15.6.0 + */ + readonly ca: boolean; + /** + * The SHA-1 fingerprint of this certificate. + * + * Because SHA-1 is cryptographically broken and because the security of SHA-1 is + * significantly worse than that of algorithms that are commonly used to sign + * certificates, consider using `x509.fingerprint256` instead. + * @since v15.6.0 + */ + readonly fingerprint: string; + /** + * The SHA-256 fingerprint of this certificate. + * @since v15.6.0 + */ + readonly fingerprint256: string; + /** + * The SHA-512 fingerprint of this certificate. + * + * Because computing the SHA-256 fingerprint is usually faster and because it is + * only half the size of the SHA-512 fingerprint, `x509.fingerprint256` may be + * a better choice. While SHA-512 presumably provides a higher level of security in + * general, the security of SHA-256 matches that of most algorithms that are + * commonly used to sign certificates. + * @since v17.2.0, v16.14.0 + */ + readonly fingerprint512: string; + /** + * The complete subject of this certificate. + * @since v15.6.0 + */ + readonly subject: string; + /** + * The subject alternative name specified for this certificate. + * + * This is a comma-separated list of subject alternative names. Each entry begins + * with a string identifying the kind of the subject alternative name followed by + * a colon and the value associated with the entry. + * + * Earlier versions of Node.js incorrectly assumed that it is safe to split this + * property at the two-character sequence `', '` (see [CVE-2021-44532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44532)). However, + * both malicious and legitimate certificates can contain subject alternative names + * that include this sequence when represented as a string. + * + * After the prefix denoting the type of the entry, the remainder of each entry + * might be enclosed in quotes to indicate that the value is a JSON string literal. + * For backward compatibility, Node.js only uses JSON string literals within this + * property when necessary to avoid ambiguity. Third-party code should be prepared + * to handle both possible entry formats. + * @since v15.6.0 + */ + readonly subjectAltName: string | undefined; + /** + * A textual representation of the certificate's authority information access + * extension. + * + * This is a line feed separated list of access descriptions. Each line begins with + * the access method and the kind of the access location, followed by a colon and + * the value associated with the access location. + * + * After the prefix denoting the access method and the kind of the access location, + * the remainder of each line might be enclosed in quotes to indicate that the + * value is a JSON string literal. For backward compatibility, Node.js only uses + * JSON string literals within this property when necessary to avoid ambiguity. + * Third-party code should be prepared to handle both possible entry formats. + * @since v15.6.0 + */ + readonly infoAccess: string | undefined; + /** + * An array detailing the key usages for this certificate. + * @since v15.6.0 + */ + readonly keyUsage: string[]; + /** + * The issuer identification included in this certificate. + * @since v15.6.0 + */ + readonly issuer: string; + /** + * The issuer certificate or `undefined` if the issuer certificate is not + * available. + * @since v15.9.0 + */ + readonly issuerCertificate: X509Certificate | undefined; + /** + * The public key `KeyObject` for this certificate. + * @since v15.6.0 + */ + readonly publicKey: KeyObject; + /** + * A `Buffer` containing the DER encoding of this certificate. + * @since v15.6.0 + */ + readonly raw: NonSharedBuffer; + /** + * The serial number of this certificate. + * + * Serial numbers are assigned by certificate authorities and do not uniquely + * identify certificates. Consider using `x509.fingerprint256` as a unique + * identifier instead. + * @since v15.6.0 + */ + readonly serialNumber: string; + /** + * The algorithm used to sign the certificate or `undefined` if the signature algorithm is unknown by OpenSSL. + * @since v24.9.0 + */ + readonly signatureAlgorithm: string | undefined; + /** + * The OID of the algorithm used to sign the certificate. + * @since v24.9.0 + */ + readonly signatureAlgorithmOid: string; + /** + * The date/time from which this certificate is considered valid. + * @since v15.6.0 + */ + readonly validFrom: string; + /** + * The date/time from which this certificate is valid, encapsulated in a `Date` object. + * @since v22.10.0 + */ + readonly validFromDate: Date; + /** + * The date/time until which this certificate is considered valid. + * @since v15.6.0 + */ + readonly validTo: string; + /** + * The date/time until which this certificate is valid, encapsulated in a `Date` object. + * @since v22.10.0 + */ + readonly validToDate: Date; + constructor(buffer: BinaryLike); + /** + * Checks whether the certificate matches the given email address. + * + * If the `'subject'` option is undefined or set to `'default'`, the certificate + * subject is only considered if the subject alternative name extension either does + * not exist or does not contain any email addresses. + * + * If the `'subject'` option is set to `'always'` and if the subject alternative + * name extension either does not exist or does not contain a matching email + * address, the certificate subject is considered. + * + * If the `'subject'` option is set to `'never'`, the certificate subject is never + * considered, even if the certificate contains no subject alternative names. + * @since v15.6.0 + * @return Returns `email` if the certificate matches, `undefined` if it does not. + */ + checkEmail(email: string, options?: Pick): string | undefined; + /** + * Checks whether the certificate matches the given host name. + * + * If the certificate matches the given host name, the matching subject name is + * returned. The returned name might be an exact match (e.g., `foo.example.com`) + * or it might contain wildcards (e.g., `*.example.com`). Because host name + * comparisons are case-insensitive, the returned subject name might also differ + * from the given `name` in capitalization. + * + * If the `'subject'` option is undefined or set to `'default'`, the certificate + * subject is only considered if the subject alternative name extension either does + * not exist or does not contain any DNS names. This behavior is consistent with [RFC 2818](https://www.rfc-editor.org/rfc/rfc2818.txt) ("HTTP Over TLS"). + * + * If the `'subject'` option is set to `'always'` and if the subject alternative + * name extension either does not exist or does not contain a matching DNS name, + * the certificate subject is considered. + * + * If the `'subject'` option is set to `'never'`, the certificate subject is never + * considered, even if the certificate contains no subject alternative names. + * @since v15.6.0 + * @return Returns a subject name that matches `name`, or `undefined` if no subject name matches `name`. + */ + checkHost(name: string, options?: X509CheckOptions): string | undefined; + /** + * Checks whether the certificate matches the given IP address (IPv4 or IPv6). + * + * Only [RFC 5280](https://www.rfc-editor.org/rfc/rfc5280.txt) `iPAddress` subject alternative names are considered, and they + * must match the given `ip` address exactly. Other subject alternative names as + * well as the subject field of the certificate are ignored. + * @since v15.6.0 + * @return Returns `ip` if the certificate matches, `undefined` if it does not. + */ + checkIP(ip: string): string | undefined; + /** + * Checks whether this certificate was potentially issued by the given `otherCert` + * by comparing the certificate metadata. + * + * This is useful for pruning a list of possible issuer certificates which have been + * selected using a more rudimentary filtering routine, i.e. just based on subject + * and issuer names. + * + * Finally, to verify that this certificate's signature was produced by a private key + * corresponding to `otherCert`'s public key use `x509.verify(publicKey)` + * with `otherCert`'s public key represented as a `KeyObject` + * like so + * + * ```js + * if (!x509.verify(otherCert.publicKey)) { + * throw new Error('otherCert did not issue x509'); + * } + * ``` + * @since v15.6.0 + */ + checkIssued(otherCert: X509Certificate): boolean; + /** + * Checks whether the public key for this certificate is consistent with + * the given private key. + * @since v15.6.0 + * @param privateKey A private key. + */ + checkPrivateKey(privateKey: KeyObject): boolean; + /** + * There is no standard JSON encoding for X509 certificates. The`toJSON()` method returns a string containing the PEM encoded + * certificate. + * @since v15.6.0 + */ + toJSON(): string; + /** + * Returns information about this certificate using the legacy `certificate object` encoding. + * @since v15.6.0 + */ + toLegacyObject(): PeerCertificate; + /** + * Returns the PEM-encoded certificate. + * @since v15.6.0 + */ + toString(): string; + /** + * Verifies that this certificate was signed by the given public key. + * Does not perform any other validation checks on the certificate. + * @since v15.6.0 + * @param publicKey A public key. + */ + verify(publicKey: KeyObject): boolean; + } + type LargeNumberLike = NodeJS.ArrayBufferView | SharedArrayBuffer | ArrayBuffer | bigint; + interface GeneratePrimeOptions { + add?: LargeNumberLike | undefined; + rem?: LargeNumberLike | undefined; + /** + * @default false + */ + safe?: boolean | undefined; + bigint?: boolean | undefined; + } + interface GeneratePrimeOptionsBigInt extends GeneratePrimeOptions { + bigint: true; + } + interface GeneratePrimeOptionsArrayBuffer extends GeneratePrimeOptions { + bigint?: false | undefined; + } + /** + * Generates a pseudorandom prime of `size` bits. + * + * If `options.safe` is `true`, the prime will be a safe prime -- that is, `(prime - 1) / 2` will also be a prime. + * + * The `options.add` and `options.rem` parameters can be used to enforce additional + * requirements, e.g., for Diffie-Hellman: + * + * * If `options.add` and `options.rem` are both set, the prime will satisfy the + * condition that `prime % add = rem`. + * * If only `options.add` is set and `options.safe` is not `true`, the prime will + * satisfy the condition that `prime % add = 1`. + * * If only `options.add` is set and `options.safe` is set to `true`, the prime + * will instead satisfy the condition that `prime % add = 3`. This is necessary + * because `prime % add = 1` for `options.add > 2` would contradict the condition + * enforced by `options.safe`. + * * `options.rem` is ignored if `options.add` is not given. + * + * Both `options.add` and `options.rem` must be encoded as big-endian sequences + * if given as an `ArrayBuffer`, `SharedArrayBuffer`, `TypedArray`, `Buffer`, or `DataView`. + * + * By default, the prime is encoded as a big-endian sequence of octets + * in an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). If the `bigint` option is `true`, then a + * [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) is provided. + * @since v15.8.0 + * @param size The size (in bits) of the prime to generate. + */ + function generatePrime(size: number, callback: (err: Error | null, prime: ArrayBuffer) => void): void; + function generatePrime( + size: number, + options: GeneratePrimeOptionsBigInt, + callback: (err: Error | null, prime: bigint) => void, + ): void; + function generatePrime( + size: number, + options: GeneratePrimeOptionsArrayBuffer, + callback: (err: Error | null, prime: ArrayBuffer) => void, + ): void; + function generatePrime( + size: number, + options: GeneratePrimeOptions, + callback: (err: Error | null, prime: ArrayBuffer | bigint) => void, + ): void; + /** + * Generates a pseudorandom prime of `size` bits. + * + * If `options.safe` is `true`, the prime will be a safe prime -- that is, `(prime - 1) / 2` will also be a prime. + * + * The `options.add` and `options.rem` parameters can be used to enforce additional + * requirements, e.g., for Diffie-Hellman: + * + * * If `options.add` and `options.rem` are both set, the prime will satisfy the + * condition that `prime % add = rem`. + * * If only `options.add` is set and `options.safe` is not `true`, the prime will + * satisfy the condition that `prime % add = 1`. + * * If only `options.add` is set and `options.safe` is set to `true`, the prime + * will instead satisfy the condition that `prime % add = 3`. This is necessary + * because `prime % add = 1` for `options.add > 2` would contradict the condition + * enforced by `options.safe`. + * * `options.rem` is ignored if `options.add` is not given. + * + * Both `options.add` and `options.rem` must be encoded as big-endian sequences + * if given as an `ArrayBuffer`, `SharedArrayBuffer`, `TypedArray`, `Buffer`, or `DataView`. + * + * By default, the prime is encoded as a big-endian sequence of octets + * in an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). If the `bigint` option is `true`, then a + * [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) is provided. + * @since v15.8.0 + * @param size The size (in bits) of the prime to generate. + */ + function generatePrimeSync(size: number): ArrayBuffer; + function generatePrimeSync(size: number, options: GeneratePrimeOptionsBigInt): bigint; + function generatePrimeSync(size: number, options: GeneratePrimeOptionsArrayBuffer): ArrayBuffer; + function generatePrimeSync(size: number, options: GeneratePrimeOptions): ArrayBuffer | bigint; + interface CheckPrimeOptions { + /** + * The number of Miller-Rabin probabilistic primality iterations to perform. + * When the value is 0 (zero), a number of checks is used that yields a false positive rate of at most `2**-64` for random input. + * Care must be used when selecting a number of checks. + * Refer to the OpenSSL documentation for the BN_is_prime_ex function nchecks options for more details. + * + * @default 0 + */ + checks?: number | undefined; + } + /** + * Checks the primality of the `candidate`. + * @since v15.8.0 + * @param candidate A possible prime encoded as a sequence of big endian octets of arbitrary length. + */ + function checkPrime(value: LargeNumberLike, callback: (err: Error | null, result: boolean) => void): void; + function checkPrime( + value: LargeNumberLike, + options: CheckPrimeOptions, + callback: (err: Error | null, result: boolean) => void, + ): void; + /** + * Checks the primality of the `candidate`. + * @since v15.8.0 + * @param candidate A possible prime encoded as a sequence of big endian octets of arbitrary length. + * @return `true` if the candidate is a prime with an error probability less than `0.25 ** options.checks`. + */ + function checkPrimeSync(candidate: LargeNumberLike, options?: CheckPrimeOptions): boolean; + /** + * Load and set the `engine` for some or all OpenSSL functions (selected by flags). + * + * `engine` could be either an id or a path to the engine's shared library. + * + * The optional `flags` argument uses `ENGINE_METHOD_ALL` by default. The `flags` is a bit field taking one of or a mix of the following flags (defined in `crypto.constants`): + * + * * `crypto.constants.ENGINE_METHOD_RSA` + * * `crypto.constants.ENGINE_METHOD_DSA` + * * `crypto.constants.ENGINE_METHOD_DH` + * * `crypto.constants.ENGINE_METHOD_RAND` + * * `crypto.constants.ENGINE_METHOD_EC` + * * `crypto.constants.ENGINE_METHOD_CIPHERS` + * * `crypto.constants.ENGINE_METHOD_DIGESTS` + * * `crypto.constants.ENGINE_METHOD_PKEY_METHS` + * * `crypto.constants.ENGINE_METHOD_PKEY_ASN1_METHS` + * * `crypto.constants.ENGINE_METHOD_ALL` + * * `crypto.constants.ENGINE_METHOD_NONE` + * @since v0.11.11 + * @param flags + */ + function setEngine(engine: string, flags?: number): void; + /** + * A convenient alias for {@link webcrypto.getRandomValues}. This + * implementation is not compliant with the Web Crypto spec, to write + * web-compatible code use {@link webcrypto.getRandomValues} instead. + * @since v17.4.0 + * @return Returns `typedArray`. + */ + function getRandomValues< + T extends Exclude< + NodeJS.NonSharedTypedArray, + NodeJS.NonSharedFloat16Array | NodeJS.NonSharedFloat32Array | NodeJS.NonSharedFloat64Array + >, + >(typedArray: T): T; + type Argon2Algorithm = "argon2d" | "argon2i" | "argon2id"; + interface Argon2Parameters { + /** + * REQUIRED, this is the password for password hashing applications of Argon2. + */ + message: string | ArrayBuffer | NodeJS.ArrayBufferView; + /** + * REQUIRED, must be at least 8 bytes long. This is the salt for password hashing applications of Argon2. + */ + nonce: string | ArrayBuffer | NodeJS.ArrayBufferView; + /** + * REQUIRED, degree of parallelism determines how many computational chains (lanes) + * can be run. Must be greater than 1 and less than `2**24-1`. + */ + parallelism: number; + /** + * REQUIRED, the length of the key to generate. Must be greater than 4 and + * less than `2**32-1`. + */ + tagLength: number; + /** + * REQUIRED, memory cost in 1KiB blocks. Must be greater than + * `8 * parallelism` and less than `2**32-1`. The actual number of blocks is rounded + * down to the nearest multiple of `4 * parallelism`. + */ + memory: number; + /** + * REQUIRED, number of passes (iterations). Must be greater than 1 and less + * than `2**32-1`. + */ + passes: number; + /** + * OPTIONAL, Random additional input, + * similar to the salt, that should **NOT** be stored with the derived key. This is known as pepper in + * password hashing applications. If used, must have a length not greater than `2**32-1` bytes. + */ + secret?: string | ArrayBuffer | NodeJS.ArrayBufferView | undefined; + /** + * OPTIONAL, Additional data to + * be added to the hash, functionally equivalent to salt or secret, but meant for + * non-random data. If used, must have a length not greater than `2**32-1` bytes. + */ + associatedData?: string | ArrayBuffer | NodeJS.ArrayBufferView | undefined; + } + /** + * Provides an asynchronous [Argon2](https://www.rfc-editor.org/rfc/rfc9106.html) implementation. Argon2 is a password-based + * key derivation function that is designed to be expensive computationally and + * memory-wise in order to make brute-force attacks unrewarding. + * + * The `nonce` should be as unique as possible. It is recommended that a nonce is + * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details. + * + * When passing strings for `message`, `nonce`, `secret` or `associatedData`, please + * consider [caveats when using strings as inputs to cryptographic APIs](https://nodejs.org/docs/latest-v25.x/api/crypto.html#using-strings-as-inputs-to-cryptographic-apis). + * + * The `callback` function is called with two arguments: `err` and `derivedKey`. + * `err` is an exception object when key derivation fails, otherwise `err` is + * `null`. `derivedKey` is passed to the callback as a `Buffer`. + * + * An exception is thrown when any of the input arguments specify invalid values + * or types. + * + * ```js + * const { argon2, randomBytes } = await import('node:crypto'); + * + * const parameters = { + * message: 'password', + * nonce: randomBytes(16), + * parallelism: 4, + * tagLength: 64, + * memory: 65536, + * passes: 3, + * }; + * + * argon2('argon2id', parameters, (err, derivedKey) => { + * if (err) throw err; + * console.log(derivedKey.toString('hex')); // 'af91dad...9520f15' + * }); + * ``` + * @since v24.7.0 + * @param algorithm Variant of Argon2, one of `"argon2d"`, `"argon2i"` or `"argon2id"`. + * @experimental + */ + function argon2( + algorithm: Argon2Algorithm, + parameters: Argon2Parameters, + callback: (err: Error | null, derivedKey: NonSharedBuffer) => void, + ): void; + /** + * Provides a synchronous [Argon2][] implementation. Argon2 is a password-based + * key derivation function that is designed to be expensive computationally and + * memory-wise in order to make brute-force attacks unrewarding. + * + * The `nonce` should be as unique as possible. It is recommended that a nonce is + * random and at least 16 bytes long. See [NIST SP 800-132](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) for details. + * + * When passing strings for `message`, `nonce`, `secret` or `associatedData`, please + * consider [caveats when using strings as inputs to cryptographic APIs](https://nodejs.org/docs/latest-v25.x/api/crypto.html#using-strings-as-inputs-to-cryptographic-apis). + * + * An exception is thrown when key derivation fails, otherwise the derived key is + * returned as a `Buffer`. + * + * An exception is thrown when any of the input arguments specify invalid values + * or types. + * + * ```js + * const { argon2Sync, randomBytes } = await import('node:crypto'); + * + * const parameters = { + * message: 'password', + * nonce: randomBytes(16), + * parallelism: 4, + * tagLength: 64, + * memory: 65536, + * passes: 3, + * }; + * + * const derivedKey = argon2Sync('argon2id', parameters); + * console.log(derivedKey.toString('hex')); // 'af91dad...9520f15' + * ``` + * @since v24.7.0 + * @experimental + */ + function argon2Sync(algorithm: Argon2Algorithm, parameters: Argon2Parameters): NonSharedBuffer; + /** + * A convenient alias for `crypto.webcrypto.subtle`. + * @since v17.4.0 + */ + const subtle: webcrypto.SubtleCrypto; + /** + * An implementation of the Web Crypto API standard. + * + * See the {@link https://nodejs.org/docs/latest/api/webcrypto.html Web Crypto API documentation} for details. + * @since v15.0.0 + */ + const webcrypto: webcrypto.Crypto; + namespace webcrypto { + type AlgorithmIdentifier = Algorithm | string; + type BigInteger = NodeJS.NonSharedUint8Array; + type KeyFormat = "jwk" | "pkcs8" | "raw" | "raw-public" | "raw-secret" | "raw-seed" | "spki"; + type KeyType = "private" | "public" | "secret"; + type KeyUsage = + | "decapsulateBits" + | "decapsulateKey" + | "decrypt" + | "deriveBits" + | "deriveKey" + | "encapsulateBits" + | "encapsulateKey" + | "encrypt" + | "sign" + | "unwrapKey" + | "verify" + | "wrapKey"; + type HashAlgorithmIdentifier = AlgorithmIdentifier; + type NamedCurve = string; + interface AeadParams extends Algorithm { + additionalData?: NodeJS.BufferSource; + iv: NodeJS.BufferSource; + tagLength: number; + } + interface AesCbcParams extends Algorithm { + iv: NodeJS.BufferSource; + } + interface AesCtrParams extends Algorithm { + counter: NodeJS.BufferSource; + length: number; + } + interface AesDerivedKeyParams extends Algorithm { + length: number; + } + interface AesKeyAlgorithm extends KeyAlgorithm { + length: number; + } + interface AesKeyGenParams extends Algorithm { + length: number; + } + interface Algorithm { + name: string; + } + interface Argon2Params extends Algorithm { + associatedData?: NodeJS.BufferSource; + memory: number; + nonce: NodeJS.BufferSource; + parallelism: number; + passes: number; + secretValue?: NodeJS.BufferSource; + version?: number; + } + interface CShakeParams extends Algorithm { + customization?: NodeJS.BufferSource; + functionName?: NodeJS.BufferSource; + outputLength: number; + } + interface ContextParams extends Algorithm { + context?: NodeJS.BufferSource; + } + interface EcKeyAlgorithm extends KeyAlgorithm { + namedCurve: NamedCurve; + } + interface EcKeyGenParams extends Algorithm { + namedCurve: NamedCurve; + } + interface EcKeyImportParams extends Algorithm { + namedCurve: NamedCurve; + } + interface EcdhKeyDeriveParams extends Algorithm { + public: CryptoKey; + } + interface EcdsaParams extends Algorithm { + hash: HashAlgorithmIdentifier; + } + interface HkdfParams extends Algorithm { + hash: HashAlgorithmIdentifier; + info: NodeJS.BufferSource; + salt: NodeJS.BufferSource; + } + interface HmacImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; + } + interface HmacKeyAlgorithm extends KeyAlgorithm { + hash: KeyAlgorithm; + length: number; + } + interface HmacKeyGenParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; + } + interface KangarooTwelveParams { + customization?: NodeJS.BufferSource; + outputLength: number; + } + interface JsonWebKey { + alg?: string; + crv?: string; + d?: string; + dp?: string; + dq?: string; + e?: string; + ext?: boolean; + k?: string; + key_ops?: string[]; + kty?: string; + n?: string; + oth?: RsaOtherPrimesInfo[]; + p?: string; + q?: string; + qi?: string; + use?: string; + x?: string; + y?: string; + } + interface KeyAlgorithm { + name: string; + } + interface KmacImportParams extends Algorithm { + length?: number; + } + interface KmacKeyAlgorithm extends KeyAlgorithm { + length: number; + } + interface KmacKeyGenParams extends Algorithm { + length?: number; + } + interface KmacParams extends Algorithm { + customization?: NodeJS.BufferSource; + outputLength: number; + } + interface Pbkdf2Params extends Algorithm { + hash: HashAlgorithmIdentifier; + iterations: number; + salt: NodeJS.BufferSource; + } + interface RsaHashedImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; + } + interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm { + hash: KeyAlgorithm; + } + interface RsaHashedKeyGenParams extends RsaKeyGenParams { + hash: HashAlgorithmIdentifier; + } + interface RsaKeyAlgorithm extends KeyAlgorithm { + modulusLength: number; + publicExponent: BigInteger; + } + interface RsaKeyGenParams extends Algorithm { + modulusLength: number; + publicExponent: BigInteger; + } + interface RsaOaepParams extends Algorithm { + label?: NodeJS.BufferSource; + } + interface RsaOtherPrimesInfo { + d?: string; + r?: string; + t?: string; + } + interface RsaPssParams extends Algorithm { + saltLength: number; + } + interface TurboShakeParams { + domainSeparation?: number; + outputLength: number; + } + interface Crypto { + readonly subtle: SubtleCrypto; + getRandomValues< + T extends Exclude< + NodeJS.NonSharedTypedArray, + NodeJS.NonSharedFloat16Array | NodeJS.NonSharedFloat32Array | NodeJS.NonSharedFloat64Array + >, + >( + typedArray: T, + ): T; + randomUUID(): UUID; + } + interface CryptoKey { + readonly algorithm: KeyAlgorithm; + readonly extractable: boolean; + readonly type: KeyType; + readonly usages: KeyUsage[]; + } + interface CryptoKeyPair { + privateKey: CryptoKey; + publicKey: CryptoKey; + } + interface EncapsulatedBits { + sharedKey: ArrayBuffer; + ciphertext: ArrayBuffer; + } + interface EncapsulatedKey { + sharedKey: CryptoKey; + ciphertext: ArrayBuffer; + } + interface SubtleCrypto { + decapsulateBits( + decapsulationAlgorithm: AlgorithmIdentifier, + decapsulationKey: CryptoKey, + ciphertext: NodeJS.BufferSource, + ): Promise; + decapsulateKey( + decapsulationAlgorithm: AlgorithmIdentifier, + decapsulationKey: CryptoKey, + ciphertext: NodeJS.BufferSource, + sharedKeyAlgorithm: AlgorithmIdentifier | HmacImportParams | AesDerivedKeyParams | KmacImportParams, + extractable: boolean, + usages: KeyUsage[], + ): Promise; + decrypt( + algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AeadParams, + key: CryptoKey, + data: NodeJS.BufferSource, + ): Promise; + deriveBits( + algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params | Argon2Params, + baseKey: CryptoKey, + length?: number | null, + ): Promise; + deriveKey( + algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params | Argon2Params, + baseKey: CryptoKey, + derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | KmacImportParams, + extractable: boolean, + keyUsages: readonly KeyUsage[], + ): Promise; + digest( + algorithm: AlgorithmIdentifier | CShakeParams | TurboShakeParams | KangarooTwelveParams, + data: NodeJS.BufferSource, + ): Promise; + encapsulateBits( + encapsulationAlgorithm: AlgorithmIdentifier, + encapsulationKey: CryptoKey, + ): Promise; + encapsulateKey( + encapsulationAlgorithm: AlgorithmIdentifier, + encapsulationKey: CryptoKey, + sharedKeyAlgorithm: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | KmacImportParams, + extractable: boolean, + usages: KeyUsage[], + ): Promise; + encrypt( + algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AeadParams, + key: CryptoKey, + data: NodeJS.BufferSource, + ): Promise; + exportKey(format: "jwk", key: CryptoKey): Promise; + exportKey(format: Exclude, key: CryptoKey): Promise; + exportKey(format: KeyFormat, key: CryptoKey): Promise; + generateKey( + algorithm: RsaHashedKeyGenParams | EcKeyGenParams, + extractable: boolean, + keyUsages: KeyUsage[], + ): Promise; + generateKey( + algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params | KmacKeyGenParams, + extractable: boolean, + keyUsages: KeyUsage[], + ): Promise; + generateKey( + algorithm: AlgorithmIdentifier, + extractable: boolean, + keyUsages: KeyUsage[], + ): Promise; + getPublicKey(key: CryptoKey, keyUsages: KeyUsage[]): Promise; + importKey( + format: "jwk", + keyData: JsonWebKey, + algorithm: + | AlgorithmIdentifier + | RsaHashedImportParams + | EcKeyImportParams + | HmacImportParams + | AesKeyAlgorithm + | KmacImportParams, + extractable: boolean, + keyUsages: KeyUsage[], + ): Promise; + importKey( + format: Exclude, + keyData: NodeJS.BufferSource, + algorithm: + | AlgorithmIdentifier + | RsaHashedImportParams + | EcKeyImportParams + | HmacImportParams + | AesKeyAlgorithm + | KmacImportParams, + extractable: boolean, + keyUsages: KeyUsage[], + ): Promise; + sign( + algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams | ContextParams | KmacParams, + key: CryptoKey, + data: NodeJS.BufferSource, + ): Promise; + unwrapKey( + format: KeyFormat, + wrappedKey: NodeJS.BufferSource, + unwrappingKey: CryptoKey, + unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AeadParams, + unwrappedKeyAlgorithm: + | AlgorithmIdentifier + | RsaHashedImportParams + | EcKeyImportParams + | HmacImportParams + | AesKeyAlgorithm + | KmacImportParams, + extractable: boolean, + keyUsages: KeyUsage[], + ): Promise; + verify( + algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams | ContextParams | KmacParams, + key: CryptoKey, + signature: NodeJS.BufferSource, + data: NodeJS.BufferSource, + ): Promise; + wrapKey( + format: KeyFormat, + key: CryptoKey, + wrappingKey: CryptoKey, + wrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AeadParams, + ): Promise; + } + } +} +declare module "crypto" { + export * from "node:crypto"; +} diff --git a/node_modules/@types/node/dgram.d.ts b/node_modules/@types/node/dgram.d.ts new file mode 100644 index 0000000..8665497 --- /dev/null +++ b/node_modules/@types/node/dgram.d.ts @@ -0,0 +1,537 @@ +declare module "node:dgram" { + import { NonSharedBuffer } from "node:buffer"; + import * as dns from "node:dns"; + import { Abortable, EventEmitter, InternalEventEmitter } from "node:events"; + import { AddressInfo, BlockList } from "node:net"; + interface RemoteInfo { + address: string; + family: "IPv4" | "IPv6"; + port: number; + size: number; + } + interface BindOptions { + port?: number | undefined; + address?: string | undefined; + exclusive?: boolean | undefined; + fd?: number | undefined; + } + type SocketType = "udp4" | "udp6"; + interface SocketOptions extends Abortable { + type: SocketType; + reuseAddr?: boolean | undefined; + reusePort?: boolean | undefined; + /** + * @default false + */ + ipv6Only?: boolean | undefined; + recvBufferSize?: number | undefined; + sendBufferSize?: number | undefined; + lookup?: + | (( + hostname: string, + options: dns.LookupOneOptions, + callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void, + ) => void) + | undefined; + receiveBlockList?: BlockList | undefined; + sendBlockList?: BlockList | undefined; + } + /** + * Creates a `dgram.Socket` object. Once the socket is created, calling `socket.bind()` will instruct the socket to begin listening for datagram + * messages. When `address` and `port` are not passed to `socket.bind()` the + * method will bind the socket to the "all interfaces" address on a random port + * (it does the right thing for both `udp4` and `udp6` sockets). The bound address + * and port can be retrieved using `socket.address().address` and `socket.address().port`. + * + * If the `signal` option is enabled, calling `.abort()` on the corresponding `AbortController` is similar to calling `.close()` on the socket: + * + * ```js + * const controller = new AbortController(); + * const { signal } = controller; + * const server = dgram.createSocket({ type: 'udp4', signal }); + * server.on('message', (msg, rinfo) => { + * console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`); + * }); + * // Later, when you want to close the server. + * controller.abort(); + * ``` + * @since v0.11.13 + * @param options Available options are: + * @param callback Attached as a listener for `'message'` events. Optional. + */ + function createSocket(type: SocketType, callback?: (msg: NonSharedBuffer, rinfo: RemoteInfo) => void): Socket; + function createSocket(options: SocketOptions, callback?: (msg: NonSharedBuffer, rinfo: RemoteInfo) => void): Socket; + interface SocketEventMap { + "close": []; + "connect": []; + "error": [err: Error]; + "listening": []; + "message": [msg: NonSharedBuffer, rinfo: RemoteInfo]; + } + /** + * Encapsulates the datagram functionality. + * + * New instances of `dgram.Socket` are created using {@link createSocket}. + * The `new` keyword is not to be used to create `dgram.Socket` instances. + * @since v0.1.99 + */ + class Socket implements EventEmitter { + /** + * Tells the kernel to join a multicast group at the given `multicastAddress` and `multicastInterface` using the `IP_ADD_MEMBERSHIP` socket option. If the `multicastInterface` argument is not + * specified, the operating system will choose + * one interface and will add membership to it. To add membership to every + * available interface, call `addMembership` multiple times, once per interface. + * + * When called on an unbound socket, this method will implicitly bind to a random + * port, listening on all interfaces. + * + * When sharing a UDP socket across multiple `cluster` workers, the`socket.addMembership()` function must be called only once or an`EADDRINUSE` error will occur: + * + * ```js + * import cluster from 'node:cluster'; + * import dgram from 'node:dgram'; + * + * if (cluster.isPrimary) { + * cluster.fork(); // Works ok. + * cluster.fork(); // Fails with EADDRINUSE. + * } else { + * const s = dgram.createSocket('udp4'); + * s.bind(1234, () => { + * s.addMembership('224.0.0.114'); + * }); + * } + * ``` + * @since v0.6.9 + */ + addMembership(multicastAddress: string, multicastInterface?: string): void; + /** + * Returns an object containing the address information for a socket. + * For UDP sockets, this object will contain `address`, `family`, and `port` properties. + * + * This method throws `EBADF` if called on an unbound socket. + * @since v0.1.99 + */ + address(): AddressInfo; + /** + * For UDP sockets, causes the `dgram.Socket` to listen for datagram + * messages on a named `port` and optional `address`. If `port` is not + * specified or is `0`, the operating system will attempt to bind to a + * random port. If `address` is not specified, the operating system will + * attempt to listen on all addresses. Once binding is complete, a `'listening'` event is emitted and the optional `callback` function is + * called. + * + * Specifying both a `'listening'` event listener and passing a `callback` to the `socket.bind()` method is not harmful but not very + * useful. + * + * A bound datagram socket keeps the Node.js process running to receive + * datagram messages. + * + * If binding fails, an `'error'` event is generated. In rare case (e.g. + * attempting to bind with a closed socket), an `Error` may be thrown. + * + * Example of a UDP server listening on port 41234: + * + * ```js + * import dgram from 'node:dgram'; + * + * const server = dgram.createSocket('udp4'); + * + * server.on('error', (err) => { + * console.error(`server error:\n${err.stack}`); + * server.close(); + * }); + * + * server.on('message', (msg, rinfo) => { + * console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`); + * }); + * + * server.on('listening', () => { + * const address = server.address(); + * console.log(`server listening ${address.address}:${address.port}`); + * }); + * + * server.bind(41234); + * // Prints: server listening 0.0.0.0:41234 + * ``` + * @since v0.1.99 + * @param callback with no parameters. Called when binding is complete. + */ + bind(port?: number, address?: string, callback?: () => void): this; + bind(port?: number, callback?: () => void): this; + bind(callback?: () => void): this; + bind(options: BindOptions, callback?: () => void): this; + /** + * Close the underlying socket and stop listening for data on it. If a callback is + * provided, it is added as a listener for the `'close'` event. + * @since v0.1.99 + * @param callback Called when the socket has been closed. + */ + close(callback?: () => void): this; + /** + * Associates the `dgram.Socket` to a remote address and port. Every + * message sent by this handle is automatically sent to that destination. Also, + * the socket will only receive messages from that remote peer. + * Trying to call `connect()` on an already connected socket will result + * in an `ERR_SOCKET_DGRAM_IS_CONNECTED` exception. If `address` is not + * provided, `'127.0.0.1'` (for `udp4` sockets) or `'::1'` (for `udp6` sockets) + * will be used by default. Once the connection is complete, a `'connect'` event + * is emitted and the optional `callback` function is called. In case of failure, + * the `callback` is called or, failing this, an `'error'` event is emitted. + * @since v12.0.0 + * @param callback Called when the connection is completed or on error. + */ + connect(port: number, address?: string, callback?: () => void): void; + connect(port: number, callback: () => void): void; + /** + * A synchronous function that disassociates a connected `dgram.Socket` from + * its remote address. Trying to call `disconnect()` on an unbound or already + * disconnected socket will result in an `ERR_SOCKET_DGRAM_NOT_CONNECTED` exception. + * @since v12.0.0 + */ + disconnect(): void; + /** + * Instructs the kernel to leave a multicast group at `multicastAddress` using the `IP_DROP_MEMBERSHIP` socket option. This method is automatically called by the + * kernel when the socket is closed or the process terminates, so most apps will + * never have reason to call this. + * + * If `multicastInterface` is not specified, the operating system will attempt to + * drop membership on all valid interfaces. + * @since v0.6.9 + */ + dropMembership(multicastAddress: string, multicastInterface?: string): void; + /** + * This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket. + * @since v8.7.0 + * @return the `SO_RCVBUF` socket receive buffer size in bytes. + */ + getRecvBufferSize(): number; + /** + * This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket. + * @since v8.7.0 + * @return the `SO_SNDBUF` socket send buffer size in bytes. + */ + getSendBufferSize(): number; + /** + * @since v18.8.0, v16.19.0 + * @return Number of bytes queued for sending. + */ + getSendQueueSize(): number; + /** + * @since v18.8.0, v16.19.0 + * @return Number of send requests currently in the queue awaiting to be processed. + */ + getSendQueueCount(): number; + /** + * By default, binding a socket will cause it to block the Node.js process from + * exiting as long as the socket is open. The `socket.unref()` method can be used + * to exclude the socket from the reference counting that keeps the Node.js + * process active. The `socket.ref()` method adds the socket back to the reference + * counting and restores the default behavior. + * + * Calling `socket.ref()` multiples times will have no additional effect. + * + * The `socket.ref()` method returns a reference to the socket so calls can be + * chained. + * @since v0.9.1 + */ + ref(): this; + /** + * Returns an object containing the `address`, `family`, and `port` of the remote + * endpoint. This method throws an `ERR_SOCKET_DGRAM_NOT_CONNECTED` exception + * if the socket is not connected. + * @since v12.0.0 + */ + remoteAddress(): AddressInfo; + /** + * Broadcasts a datagram on the socket. + * For connectionless sockets, the destination `port` and `address` must be + * specified. Connected sockets, on the other hand, will use their associated + * remote endpoint, so the `port` and `address` arguments must not be set. + * + * The `msg` argument contains the message to be sent. + * Depending on its type, different behavior can apply. If `msg` is a `Buffer`, + * any `TypedArray` or a `DataView`, + * the `offset` and `length` specify the offset within the `Buffer` where the + * message begins and the number of bytes in the message, respectively. + * If `msg` is a `String`, then it is automatically converted to a `Buffer` with `'utf8'` encoding. With messages that + * contain multi-byte characters, `offset` and `length` will be calculated with + * respect to `byte length` and not the character position. + * If `msg` is an array, `offset` and `length` must not be specified. + * + * The `address` argument is a string. If the value of `address` is a host name, + * DNS will be used to resolve the address of the host. If `address` is not + * provided or otherwise nullish, `'127.0.0.1'` (for `udp4` sockets) or `'::1'` (for `udp6` sockets) will be used by default. + * + * If the socket has not been previously bound with a call to `bind`, the socket + * is assigned a random port number and is bound to the "all interfaces" address + * (`'0.0.0.0'` for `udp4` sockets, `'::0'` for `udp6` sockets.) + * + * An optional `callback` function may be specified to as a way of reporting + * DNS errors or for determining when it is safe to reuse the `buf` object. + * DNS lookups delay the time to send for at least one tick of the + * Node.js event loop. + * + * The only way to know for sure that the datagram has been sent is by using a `callback`. If an error occurs and a `callback` is given, the error will be + * passed as the first argument to the `callback`. If a `callback` is not given, + * the error is emitted as an `'error'` event on the `socket` object. + * + * Offset and length are optional but both _must_ be set if either are used. + * They are supported only when the first argument is a `Buffer`, a `TypedArray`, + * or a `DataView`. + * + * This method throws `ERR_SOCKET_BAD_PORT` if called on an unbound socket. + * + * Example of sending a UDP packet to a port on `localhost`; + * + * ```js + * import dgram from 'node:dgram'; + * import { Buffer } from 'node:buffer'; + * + * const message = Buffer.from('Some bytes'); + * const client = dgram.createSocket('udp4'); + * client.send(message, 41234, 'localhost', (err) => { + * client.close(); + * }); + * ``` + * + * Example of sending a UDP packet composed of multiple buffers to a port on`127.0.0.1`; + * + * ```js + * import dgram from 'node:dgram'; + * import { Buffer } from 'node:buffer'; + * + * const buf1 = Buffer.from('Some '); + * const buf2 = Buffer.from('bytes'); + * const client = dgram.createSocket('udp4'); + * client.send([buf1, buf2], 41234, (err) => { + * client.close(); + * }); + * ``` + * + * Sending multiple buffers might be faster or slower depending on the + * application and operating system. Run benchmarks to + * determine the optimal strategy on a case-by-case basis. Generally speaking, + * however, sending multiple buffers is faster. + * + * Example of sending a UDP packet using a socket connected to a port on `localhost`: + * + * ```js + * import dgram from 'node:dgram'; + * import { Buffer } from 'node:buffer'; + * + * const message = Buffer.from('Some bytes'); + * const client = dgram.createSocket('udp4'); + * client.connect(41234, 'localhost', (err) => { + * client.send(message, (err) => { + * client.close(); + * }); + * }); + * ``` + * @since v0.1.99 + * @param msg Message to be sent. + * @param offset Offset in the buffer where the message starts. + * @param length Number of bytes in the message. + * @param port Destination port. + * @param address Destination host name or IP address. + * @param callback Called when the message has been sent. + */ + send( + msg: string | NodeJS.ArrayBufferView | readonly any[], + port?: number, + address?: string, + callback?: (error: Error | null, bytes: number) => void, + ): void; + send( + msg: string | NodeJS.ArrayBufferView | readonly any[], + port?: number, + callback?: (error: Error | null, bytes: number) => void, + ): void; + send( + msg: string | NodeJS.ArrayBufferView | readonly any[], + callback?: (error: Error | null, bytes: number) => void, + ): void; + send( + msg: string | NodeJS.ArrayBufferView, + offset: number, + length: number, + port?: number, + address?: string, + callback?: (error: Error | null, bytes: number) => void, + ): void; + send( + msg: string | NodeJS.ArrayBufferView, + offset: number, + length: number, + port?: number, + callback?: (error: Error | null, bytes: number) => void, + ): void; + send( + msg: string | NodeJS.ArrayBufferView, + offset: number, + length: number, + callback?: (error: Error | null, bytes: number) => void, + ): void; + /** + * Sets or clears the `SO_BROADCAST` socket option. When set to `true`, UDP + * packets may be sent to a local interface's broadcast address. + * + * This method throws `EBADF` if called on an unbound socket. + * @since v0.6.9 + */ + setBroadcast(flag: boolean): void; + /** + * _All references to scope in this section are referring to [IPv6 Zone Indices](https://en.wikipedia.org/wiki/IPv6_address#Scoped_literal_IPv6_addresses), which are defined by [RFC + * 4007](https://tools.ietf.org/html/rfc4007). In string form, an IP_ + * _with a scope index is written as `'IP%scope'` where scope is an interface name_ + * _or interface number._ + * + * Sets the default outgoing multicast interface of the socket to a chosen + * interface or back to system interface selection. The `multicastInterface` must + * be a valid string representation of an IP from the socket's family. + * + * For IPv4 sockets, this should be the IP configured for the desired physical + * interface. All packets sent to multicast on the socket will be sent on the + * interface determined by the most recent successful use of this call. + * + * For IPv6 sockets, `multicastInterface` should include a scope to indicate the + * interface as in the examples that follow. In IPv6, individual `send` calls can + * also use explicit scope in addresses, so only packets sent to a multicast + * address without specifying an explicit scope are affected by the most recent + * successful use of this call. + * + * This method throws `EBADF` if called on an unbound socket. + * + * #### Example: IPv6 outgoing multicast interface + * + * On most systems, where scope format uses the interface name: + * + * ```js + * const socket = dgram.createSocket('udp6'); + * + * socket.bind(1234, () => { + * socket.setMulticastInterface('::%eth1'); + * }); + * ``` + * + * On Windows, where scope format uses an interface number: + * + * ```js + * const socket = dgram.createSocket('udp6'); + * + * socket.bind(1234, () => { + * socket.setMulticastInterface('::%2'); + * }); + * ``` + * + * #### Example: IPv4 outgoing multicast interface + * + * All systems use an IP of the host on the desired physical interface: + * + * ```js + * const socket = dgram.createSocket('udp4'); + * + * socket.bind(1234, () => { + * socket.setMulticastInterface('10.0.0.2'); + * }); + * ``` + * @since v8.6.0 + */ + setMulticastInterface(multicastInterface: string): void; + /** + * Sets or clears the `IP_MULTICAST_LOOP` socket option. When set to `true`, + * multicast packets will also be received on the local interface. + * + * This method throws `EBADF` if called on an unbound socket. + * @since v0.3.8 + */ + setMulticastLoopback(flag: boolean): boolean; + /** + * Sets the `IP_MULTICAST_TTL` socket option. While TTL generally stands for + * "Time to Live", in this context it specifies the number of IP hops that a + * packet is allowed to travel through, specifically for multicast traffic. Each + * router or gateway that forwards a packet decrements the TTL. If the TTL is + * decremented to 0 by a router, it will not be forwarded. + * + * The `ttl` argument may be between 0 and 255\. The default on most systems is `1`. + * + * This method throws `EBADF` if called on an unbound socket. + * @since v0.3.8 + */ + setMulticastTTL(ttl: number): number; + /** + * Sets the `SO_RCVBUF` socket option. Sets the maximum socket receive buffer + * in bytes. + * + * This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket. + * @since v8.7.0 + */ + setRecvBufferSize(size: number): void; + /** + * Sets the `SO_SNDBUF` socket option. Sets the maximum socket send buffer + * in bytes. + * + * This method throws `ERR_SOCKET_BUFFER_SIZE` if called on an unbound socket. + * @since v8.7.0 + */ + setSendBufferSize(size: number): void; + /** + * Sets the `IP_TTL` socket option. While TTL generally stands for "Time to Live", + * in this context it specifies the number of IP hops that a packet is allowed to + * travel through. Each router or gateway that forwards a packet decrements the + * TTL. If the TTL is decremented to 0 by a router, it will not be forwarded. + * Changing TTL values is typically done for network probes or when multicasting. + * + * The `ttl` argument may be between 1 and 255\. The default on most systems + * is 64. + * + * This method throws `EBADF` if called on an unbound socket. + * @since v0.1.101 + */ + setTTL(ttl: number): number; + /** + * By default, binding a socket will cause it to block the Node.js process from + * exiting as long as the socket is open. The `socket.unref()` method can be used + * to exclude the socket from the reference counting that keeps the Node.js + * process active, allowing the process to exit even if the socket is still + * listening. + * + * Calling `socket.unref()` multiple times will have no additional effect. + * + * The `socket.unref()` method returns a reference to the socket so calls can be + * chained. + * @since v0.9.1 + */ + unref(): this; + /** + * Tells the kernel to join a source-specific multicast channel at the given `sourceAddress` and `groupAddress`, using the `multicastInterface` with the `IP_ADD_SOURCE_MEMBERSHIP` socket + * option. If the `multicastInterface` argument + * is not specified, the operating system will choose one interface and will add + * membership to it. To add membership to every available interface, call `socket.addSourceSpecificMembership()` multiple times, once per interface. + * + * When called on an unbound socket, this method will implicitly bind to a random + * port, listening on all interfaces. + * @since v13.1.0, v12.16.0 + */ + addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void; + /** + * Instructs the kernel to leave a source-specific multicast channel at the given `sourceAddress` and `groupAddress` using the `IP_DROP_SOURCE_MEMBERSHIP` socket option. This method is + * automatically called by the kernel when the + * socket is closed or the process terminates, so most apps will never have + * reason to call this. + * + * If `multicastInterface` is not specified, the operating system will attempt to + * drop membership on all valid interfaces. + * @since v13.1.0, v12.16.0 + */ + dropSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void; + /** + * Calls `socket.close()` and returns a promise that fulfills when the socket has closed. + * @since v20.5.0 + */ + [Symbol.asyncDispose](): Promise; + } + interface Socket extends InternalEventEmitter {} +} +declare module "dgram" { + export * from "node:dgram"; +} diff --git a/node_modules/@types/node/diagnostics_channel.d.ts b/node_modules/@types/node/diagnostics_channel.d.ts new file mode 100644 index 0000000..fa83612 --- /dev/null +++ b/node_modules/@types/node/diagnostics_channel.d.ts @@ -0,0 +1,552 @@ +declare module "node:diagnostics_channel" { + import { AsyncLocalStorage } from "node:async_hooks"; + /** + * Check if there are active subscribers to the named channel. This is helpful if + * the message you want to send might be expensive to prepare. + * + * This API is optional but helpful when trying to publish messages from very + * performance-sensitive code. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * if (diagnostics_channel.hasSubscribers('my-channel')) { + * // There are subscribers, prepare and publish message + * } + * ``` + * @since v15.1.0, v14.17.0 + * @param name The channel name + * @return If there are active subscribers + */ + function hasSubscribers(name: string | symbol): boolean; + /** + * This is the primary entry-point for anyone wanting to publish to a named + * channel. It produces a channel object which is optimized to reduce overhead at + * publish time as much as possible. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * const channel = diagnostics_channel.channel('my-channel'); + * ``` + * @since v15.1.0, v14.17.0 + * @param name The channel name + * @return The named channel object + */ + function channel(name: string | symbol): Channel; + type ChannelListener = (message: unknown, name: string | symbol) => void; + /** + * Register a message handler to subscribe to this channel. This message handler + * will be run synchronously whenever a message is published to the channel. Any + * errors thrown in the message handler will trigger an `'uncaughtException'`. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * diagnostics_channel.subscribe('my-channel', (message, name) => { + * // Received data + * }); + * ``` + * @since v18.7.0, v16.17.0 + * @param name The channel name + * @param onMessage The handler to receive channel messages + */ + function subscribe(name: string | symbol, onMessage: ChannelListener): void; + /** + * Remove a message handler previously registered to this channel with {@link subscribe}. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * function onMessage(message, name) { + * // Received data + * } + * + * diagnostics_channel.subscribe('my-channel', onMessage); + * + * diagnostics_channel.unsubscribe('my-channel', onMessage); + * ``` + * @since v18.7.0, v16.17.0 + * @param name The channel name + * @param onMessage The previous subscribed handler to remove + * @return `true` if the handler was found, `false` otherwise. + */ + function unsubscribe(name: string | symbol, onMessage: ChannelListener): boolean; + /** + * Creates a `TracingChannel` wrapper for the given `TracingChannel Channels`. If a name is given, the corresponding tracing + * channels will be created in the form of `tracing:${name}:${eventType}` where `eventType` corresponds to the types of `TracingChannel Channels`. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * const channelsByName = diagnostics_channel.tracingChannel('my-channel'); + * + * // or... + * + * const channelsByCollection = diagnostics_channel.tracingChannel({ + * start: diagnostics_channel.channel('tracing:my-channel:start'), + * end: diagnostics_channel.channel('tracing:my-channel:end'), + * asyncStart: diagnostics_channel.channel('tracing:my-channel:asyncStart'), + * asyncEnd: diagnostics_channel.channel('tracing:my-channel:asyncEnd'), + * error: diagnostics_channel.channel('tracing:my-channel:error'), + * }); + * ``` + * @since v19.9.0 + * @experimental + * @param nameOrChannels Channel name or object containing all the `TracingChannel Channels` + * @return Collection of channels to trace with + */ + function tracingChannel< + StoreType = unknown, + ContextType extends object = StoreType extends object ? StoreType : object, + >( + nameOrChannels: string | TracingChannelCollection, + ): TracingChannel; + /** + * The class `Channel` represents an individual named channel within the data + * pipeline. It is used to track subscribers and to publish messages when there + * are subscribers present. It exists as a separate object to avoid channel + * lookups at publish time, enabling very fast publish speeds and allowing + * for heavy use while incurring very minimal cost. Channels are created with {@link channel}, constructing a channel directly + * with `new Channel(name)` is not supported. + * @since v15.1.0, v14.17.0 + */ + class Channel { + readonly name: string | symbol; + /** + * Check if there are active subscribers to this channel. This is helpful if + * the message you want to send might be expensive to prepare. + * + * This API is optional but helpful when trying to publish messages from very + * performance-sensitive code. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * const channel = diagnostics_channel.channel('my-channel'); + * + * if (channel.hasSubscribers) { + * // There are subscribers, prepare and publish message + * } + * ``` + * @since v15.1.0, v14.17.0 + */ + readonly hasSubscribers: boolean; + private constructor(name: string | symbol); + /** + * Publish a message to any subscribers to the channel. This will trigger + * message handlers synchronously so they will execute within the same context. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * const channel = diagnostics_channel.channel('my-channel'); + * + * channel.publish({ + * some: 'message', + * }); + * ``` + * @since v15.1.0, v14.17.0 + * @param message The message to send to the channel subscribers + */ + publish(message: unknown): void; + /** + * Register a message handler to subscribe to this channel. This message handler + * will be run synchronously whenever a message is published to the channel. Any + * errors thrown in the message handler will trigger an `'uncaughtException'`. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * const channel = diagnostics_channel.channel('my-channel'); + * + * channel.subscribe((message, name) => { + * // Received data + * }); + * ``` + * @since v15.1.0, v14.17.0 + * @param onMessage The handler to receive channel messages + */ + subscribe(onMessage: ChannelListener): void; + /** + * Remove a message handler previously registered to this channel with `channel.subscribe(onMessage)`. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * const channel = diagnostics_channel.channel('my-channel'); + * + * function onMessage(message, name) { + * // Received data + * } + * + * channel.subscribe(onMessage); + * + * channel.unsubscribe(onMessage); + * ``` + * @since v15.1.0, v14.17.0 + * @param onMessage The previous subscribed handler to remove + * @return `true` if the handler was found, `false` otherwise. + */ + unsubscribe(onMessage: ChannelListener): void; + /** + * When `channel.runStores(context, ...)` is called, the given context data + * will be applied to any store bound to the channel. If the store has already been + * bound the previous `transform` function will be replaced with the new one. + * The `transform` function may be omitted to set the given context data as the + * context directly. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * import { AsyncLocalStorage } from 'node:async_hooks'; + * + * const store = new AsyncLocalStorage(); + * + * const channel = diagnostics_channel.channel('my-channel'); + * + * channel.bindStore(store, (data) => { + * return { data }; + * }); + * ``` + * @since v19.9.0 + * @experimental + * @param store The store to which to bind the context data + * @param transform Transform context data before setting the store context + */ + bindStore(store: AsyncLocalStorage, transform?: (context: ContextType) => StoreType): void; + /** + * Remove a message handler previously registered to this channel with `channel.bindStore(store)`. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * import { AsyncLocalStorage } from 'node:async_hooks'; + * + * const store = new AsyncLocalStorage(); + * + * const channel = diagnostics_channel.channel('my-channel'); + * + * channel.bindStore(store); + * channel.unbindStore(store); + * ``` + * @since v19.9.0 + * @experimental + * @param store The store to unbind from the channel. + * @return `true` if the store was found, `false` otherwise. + */ + unbindStore(store: AsyncLocalStorage): boolean; + /** + * Applies the given data to any AsyncLocalStorage instances bound to the channel + * for the duration of the given function, then publishes to the channel within + * the scope of that data is applied to the stores. + * + * If a transform function was given to `channel.bindStore(store)` it will be + * applied to transform the message data before it becomes the context value for + * the store. The prior storage context is accessible from within the transform + * function in cases where context linking is required. + * + * The context applied to the store should be accessible in any async code which + * continues from execution which began during the given function, however + * there are some situations in which `context loss` may occur. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * import { AsyncLocalStorage } from 'node:async_hooks'; + * + * const store = new AsyncLocalStorage(); + * + * const channel = diagnostics_channel.channel('my-channel'); + * + * channel.bindStore(store, (message) => { + * const parent = store.getStore(); + * return new Span(message, parent); + * }); + * channel.runStores({ some: 'message' }, () => { + * store.getStore(); // Span({ some: 'message' }) + * }); + * ``` + * @since v19.9.0 + * @experimental + * @param context Message to send to subscribers and bind to stores + * @param fn Handler to run within the entered storage context + * @param thisArg The receiver to be used for the function call. + * @param args Optional arguments to pass to the function. + */ + runStores( + context: ContextType, + fn: (this: ThisArg, ...args: Args) => Result, + thisArg?: ThisArg, + ...args: Args + ): Result; + } + interface TracingChannelSubscribers { + start: (message: ContextType) => void; + end: ( + message: ContextType & { + error?: unknown; + result?: unknown; + }, + ) => void; + asyncStart: ( + message: ContextType & { + error?: unknown; + result?: unknown; + }, + ) => void; + asyncEnd: ( + message: ContextType & { + error?: unknown; + result?: unknown; + }, + ) => void; + error: ( + message: ContextType & { + error: unknown; + }, + ) => void; + } + interface TracingChannelCollection { + start: Channel; + end: Channel; + asyncStart: Channel; + asyncEnd: Channel; + error: Channel; + } + /** + * The class `TracingChannel` is a collection of `TracingChannel Channels` which + * together express a single traceable action. It is used to formalize and + * simplify the process of producing events for tracing application flow. {@link tracingChannel} is used to construct a `TracingChannel`. As with `Channel` it is recommended to create and reuse a + * single `TracingChannel` at the top-level of the file rather than creating them + * dynamically. + * @since v19.9.0 + * @experimental + */ + class TracingChannel implements TracingChannelCollection { + start: Channel; + end: Channel; + asyncStart: Channel; + asyncEnd: Channel; + error: Channel; + /** + * Helper to subscribe a collection of functions to the corresponding channels. + * This is the same as calling `channel.subscribe(onMessage)` on each channel + * individually. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * const channels = diagnostics_channel.tracingChannel('my-channel'); + * + * channels.subscribe({ + * start(message) { + * // Handle start message + * }, + * end(message) { + * // Handle end message + * }, + * asyncStart(message) { + * // Handle asyncStart message + * }, + * asyncEnd(message) { + * // Handle asyncEnd message + * }, + * error(message) { + * // Handle error message + * }, + * }); + * ``` + * @since v19.9.0 + * @experimental + * @param subscribers Set of `TracingChannel Channels` subscribers + */ + subscribe(subscribers: TracingChannelSubscribers): void; + /** + * Helper to unsubscribe a collection of functions from the corresponding channels. + * This is the same as calling `channel.unsubscribe(onMessage)` on each channel + * individually. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * const channels = diagnostics_channel.tracingChannel('my-channel'); + * + * channels.unsubscribe({ + * start(message) { + * // Handle start message + * }, + * end(message) { + * // Handle end message + * }, + * asyncStart(message) { + * // Handle asyncStart message + * }, + * asyncEnd(message) { + * // Handle asyncEnd message + * }, + * error(message) { + * // Handle error message + * }, + * }); + * ``` + * @since v19.9.0 + * @experimental + * @param subscribers Set of `TracingChannel Channels` subscribers + * @return `true` if all handlers were successfully unsubscribed, and `false` otherwise. + */ + unsubscribe(subscribers: TracingChannelSubscribers): void; + /** + * Trace a synchronous function call. This will always produce a `start event` and `end event` around the execution and may produce an `error event` if the given function throws an error. + * This will run the given function using `channel.runStores(context, ...)` on the `start` channel which ensures all + * events should have any bound stores set to match this trace context. + * + * To ensure only correct trace graphs are formed, events will only be published if subscribers are present prior to starting the trace. Subscriptions + * which are added after the trace begins will not receive future events from that trace, only future traces will be seen. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * const channels = diagnostics_channel.tracingChannel('my-channel'); + * + * channels.traceSync(() => { + * // Do something + * }, { + * some: 'thing', + * }); + * ``` + * @since v19.9.0 + * @experimental + * @param fn Function to wrap a trace around + * @param context Shared object to correlate events through + * @param thisArg The receiver to be used for the function call + * @param args Optional arguments to pass to the function + * @return The return value of the given function + */ + traceSync( + fn: (this: ThisArg, ...args: Args) => Result, + context?: ContextType, + thisArg?: ThisArg, + ...args: Args + ): Result; + /** + * Trace a promise-returning function call. This will always produce a `start event` and `end event` around the synchronous portion of the + * function execution, and will produce an `asyncStart event` and `asyncEnd event` when a promise continuation is reached. It may also + * produce an `error event` if the given function throws an error or the + * returned promise rejects. This will run the given function using `channel.runStores(context, ...)` on the `start` channel which ensures all + * events should have any bound stores set to match this trace context. + * + * To ensure only correct trace graphs are formed, events will only be published if subscribers are present prior to starting the trace. Subscriptions + * which are added after the trace begins will not receive future events from that trace, only future traces will be seen. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * const channels = diagnostics_channel.tracingChannel('my-channel'); + * + * channels.tracePromise(async () => { + * // Do something + * }, { + * some: 'thing', + * }); + * ``` + * @since v19.9.0 + * @experimental + * @param fn Promise-returning function to wrap a trace around + * @param context Shared object to correlate trace events through + * @param thisArg The receiver to be used for the function call + * @param args Optional arguments to pass to the function + * @return Chained from promise returned by the given function + */ + tracePromise( + fn: (this: ThisArg, ...args: Args) => Promise, + context?: ContextType, + thisArg?: ThisArg, + ...args: Args + ): Promise; + /** + * Trace a callback-receiving function call. This will always produce a `start event` and `end event` around the synchronous portion of the + * function execution, and will produce a `asyncStart event` and `asyncEnd event` around the callback execution. It may also produce an `error event` if the given function throws an error or + * the returned + * promise rejects. This will run the given function using `channel.runStores(context, ...)` on the `start` channel which ensures all + * events should have any bound stores set to match this trace context. + * + * The `position` will be -1 by default to indicate the final argument should + * be used as the callback. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * + * const channels = diagnostics_channel.tracingChannel('my-channel'); + * + * channels.traceCallback((arg1, callback) => { + * // Do something + * callback(null, 'result'); + * }, 1, { + * some: 'thing', + * }, thisArg, arg1, callback); + * ``` + * + * The callback will also be run with `channel.runStores(context, ...)` which + * enables context loss recovery in some cases. + * + * To ensure only correct trace graphs are formed, events will only be published if subscribers are present prior to starting the trace. Subscriptions + * which are added after the trace begins will not receive future events from that trace, only future traces will be seen. + * + * ```js + * import diagnostics_channel from 'node:diagnostics_channel'; + * import { AsyncLocalStorage } from 'node:async_hooks'; + * + * const channels = diagnostics_channel.tracingChannel('my-channel'); + * const myStore = new AsyncLocalStorage(); + * + * // The start channel sets the initial store data to something + * // and stores that store data value on the trace context object + * channels.start.bindStore(myStore, (data) => { + * const span = new Span(data); + * data.span = span; + * return span; + * }); + * + * // Then asyncStart can restore from that data it stored previously + * channels.asyncStart.bindStore(myStore, (data) => { + * return data.span; + * }); + * ``` + * @since v19.9.0 + * @experimental + * @param fn callback using function to wrap a trace around + * @param position Zero-indexed argument position of expected callback + * @param context Shared object to correlate trace events through + * @param thisArg The receiver to be used for the function call + * @param args Optional arguments to pass to the function + * @return The return value of the given function + */ + traceCallback( + fn: (this: ThisArg, ...args: Args) => Result, + position?: number, + context?: ContextType, + thisArg?: ThisArg, + ...args: Args + ): Result; + /** + * `true` if any of the individual channels has a subscriber, `false` if not. + * + * This is a helper method available on a {@link TracingChannel} instance to check + * if any of the [TracingChannel Channels](https://nodejs.org/api/diagnostics_channel.html#tracingchannel-channels) have subscribers. + * A `true` is returned if any of them have at least one subscriber, a `false` is returned otherwise. + * + * ```js + * const diagnostics_channel = require('node:diagnostics_channel'); + * + * const channels = diagnostics_channel.tracingChannel('my-channel'); + * + * if (channels.hasSubscribers) { + * // Do something + * } + * ``` + * @since v22.0.0, v20.13.0 + */ + readonly hasSubscribers: boolean; + } +} +declare module "diagnostics_channel" { + export * from "node:diagnostics_channel"; +} diff --git a/node_modules/@types/node/dns.d.ts b/node_modules/@types/node/dns.d.ts new file mode 100644 index 0000000..2e0941e --- /dev/null +++ b/node_modules/@types/node/dns.d.ts @@ -0,0 +1,876 @@ +declare module "node:dns" { + // Supported getaddrinfo flags. + /** + * Limits returned address types to the types of non-loopback addresses configured on the system. For example, IPv4 addresses are + * only returned if the current system has at least one IPv4 address configured. + */ + const ADDRCONFIG: number; + /** + * If the IPv6 family was specified, but no IPv6 addresses were found, then return IPv4 mapped IPv6 addresses. It is not supported + * on some operating systems (e.g. FreeBSD 10.1). + */ + const V4MAPPED: number; + /** + * If `dns.V4MAPPED` is specified, return resolved IPv6 addresses as + * well as IPv4 mapped IPv6 addresses. + */ + const ALL: number; + interface LookupOptions { + /** + * The record family. Must be `4`, `6`, or `0`. For backward compatibility reasons, `'IPv4'` and `'IPv6'` are interpreted + * as `4` and `6` respectively. The value 0 indicates that either an IPv4 or IPv6 address is returned. If the value `0` is used + * with `{ all: true } (see below)`, both IPv4 and IPv6 addresses are returned. + * @default 0 + */ + family?: number | "IPv4" | "IPv6" | undefined; + /** + * One or more [supported `getaddrinfo`](https://nodejs.org/docs/latest-v25.x/api/dns.html#supported-getaddrinfo-flags) flags. Multiple flags may be + * passed by bitwise `OR`ing their values. + */ + hints?: number | undefined; + /** + * When `true`, the callback returns all resolved addresses in an array. Otherwise, returns a single address. + * @default false + */ + all?: boolean | undefined; + /** + * When `verbatim`, the resolved addresses are return unsorted. When `ipv4first`, the resolved addresses are sorted + * by placing IPv4 addresses before IPv6 addresses. When `ipv6first`, the resolved addresses are sorted by placing IPv6 + * addresses before IPv4 addresses. Default value is configurable using + * {@link setDefaultResultOrder} or [`--dns-result-order`](https://nodejs.org/docs/latest-v25.x/api/cli.html#--dns-result-orderorder). + * @default `verbatim` (addresses are not reordered) + * @since v22.1.0 + */ + order?: "ipv4first" | "ipv6first" | "verbatim" | undefined; + /** + * When `true`, the callback receives IPv4 and IPv6 addresses in the order the DNS resolver returned them. When `false`, IPv4 + * addresses are placed before IPv6 addresses. This option will be deprecated in favor of `order`. When both are specified, + * `order` has higher precedence. New code should only use `order`. Default value is configurable using {@link setDefaultResultOrder} + * @default true (addresses are not reordered) + * @deprecated Please use `order` option + */ + verbatim?: boolean | undefined; + } + interface LookupOneOptions extends LookupOptions { + all?: false | undefined; + } + interface LookupAllOptions extends LookupOptions { + all: true; + } + interface LookupAddress { + /** + * A string representation of an IPv4 or IPv6 address. + */ + address: string; + /** + * `4` or `6`, denoting the family of `address`, or `0` if the address is not an IPv4 or IPv6 address. `0` is a likely indicator of a + * bug in the name resolution service used by the operating system. + */ + family: number; + } + /** + * Resolves a host name (e.g. `'nodejs.org'`) into the first found A (IPv4) or + * AAAA (IPv6) record. All `option` properties are optional. If `options` is an + * integer, then it must be `4` or `6` – if `options` is `0` or not provided, then + * IPv4 and IPv6 addresses are both returned if found. + * + * With the `all` option set to `true`, the arguments for `callback` change to `(err, addresses)`, with `addresses` being an array of objects with the + * properties `address` and `family`. + * + * On error, `err` is an `Error` object, where `err.code` is the error code. + * Keep in mind that `err.code` will be set to `'ENOTFOUND'` not only when + * the host name does not exist but also when the lookup fails in other ways + * such as no available file descriptors. + * + * `dns.lookup()` does not necessarily have anything to do with the DNS protocol. + * The implementation uses an operating system facility that can associate names + * with addresses and vice versa. This implementation can have subtle but + * important consequences on the behavior of any Node.js program. Please take some + * time to consult the [Implementation considerations section](https://nodejs.org/docs/latest-v25.x/api/dns.html#implementation-considerations) + * before using `dns.lookup()`. + * + * Example usage: + * + * ```js + * import dns from 'node:dns'; + * const options = { + * family: 6, + * hints: dns.ADDRCONFIG | dns.V4MAPPED, + * }; + * dns.lookup('example.com', options, (err, address, family) => + * console.log('address: %j family: IPv%s', address, family)); + * // address: "2606:2800:220:1:248:1893:25c8:1946" family: IPv6 + * + * // When options.all is true, the result will be an Array. + * options.all = true; + * dns.lookup('example.com', options, (err, addresses) => + * console.log('addresses: %j', addresses)); + * // addresses: [{"address":"2606:2800:220:1:248:1893:25c8:1946","family":6}] + * ``` + * + * If this method is invoked as its [util.promisify()](https://nodejs.org/docs/latest-v25.x/api/util.html#utilpromisifyoriginal) ed + * version, and `all` is not set to `true`, it returns a `Promise` for an `Object` with `address` and `family` properties. + * @since v0.1.90 + */ + 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; + namespace lookup { + function __promisify__(hostname: string, options: LookupAllOptions): Promise; + function __promisify__(hostname: string, options?: LookupOneOptions | number): Promise; + function __promisify__(hostname: string, options: LookupOptions): Promise; + } + /** + * Resolves the given `address` and `port` into a host name and service using + * the operating system's underlying `getnameinfo` implementation. + * + * If `address` is not a valid IP address, a `TypeError` will be thrown. + * The `port` will be coerced to a number. If it is not a legal port, a `TypeError` will be thrown. + * + * On an error, `err` is an [`Error`](https://nodejs.org/docs/latest-v25.x/api/errors.html#class-error) object, + * where `err.code` is the error code. + * + * ```js + * import dns from 'node:dns'; + * dns.lookupService('127.0.0.1', 22, (err, hostname, service) => { + * console.log(hostname, service); + * // Prints: localhost ssh + * }); + * ``` + * + * If this method is invoked as its [util.promisify()](https://nodejs.org/docs/latest-v25.x/api/util.html#utilpromisifyoriginal) ed + * version, it returns a `Promise` for an `Object` with `hostname` and `service` properties. + * @since v0.11.14 + */ + 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; + } + interface AnyARecord extends RecordWithTtl { + type: "A"; + } + interface AnyAaaaRecord extends RecordWithTtl { + type: "AAAA"; + } + interface CaaRecord { + critical: number; + issue?: string | undefined; + issuewild?: string | undefined; + iodef?: string | undefined; + contactemail?: string | undefined; + contactphone?: string | undefined; + } + interface AnyCaaRecord extends CaaRecord { + type: "CAA"; + } + 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 TlsaRecord { + certUsage: number; + selector: number; + match: number; + data: ArrayBuffer; + } + interface AnyTlsaRecord extends TlsaRecord { + type: "TLSA"; + } + 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 + | AnyCaaRecord + | AnyCnameRecord + | AnyMxRecord + | AnyNaptrRecord + | AnyNsRecord + | AnyPtrRecord + | AnySoaRecord + | AnySrvRecord + | AnyTlsaRecord + | AnyTxtRecord; + /** + * Uses the DNS protocol to resolve a host name (e.g. `'nodejs.org'`) into an array + * of the resource records. The `callback` function has arguments `(err, records)`. When successful, `records` will be an array of resource + * records. The type and structure of individual results varies based on `rrtype`: + * + * + * + * On error, `err` is an [`Error`](https://nodejs.org/docs/latest-v25.x/api/errors.html#class-error) object, + * where `err.code` is one of the `DNS error codes`. + * @since v0.1.27 + * @param hostname Host name to resolve. + * @param [rrtype='A'] Resource record type. + */ + function resolve( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void, + ): void; + function resolve( + hostname: string, + rrtype: "A" | "AAAA" | "CNAME" | "NS" | "PTR", + 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: "CAA", + callback: (err: NodeJS.ErrnoException | null, address: CaaRecord[]) => 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: "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: "TLSA", + callback: (err: NodeJS.ErrnoException | null, addresses: TlsaRecord[]) => 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[] + | CaaRecord[] + | MxRecord[] + | NaptrRecord[] + | SoaRecord + | SrvRecord[] + | TlsaRecord[] + | string[][] + | AnyRecord[], + ) => void, + ): void; + 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: "CAA"): 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: "TLSA"): Promise; + function __promisify__(hostname: string, rrtype: "TXT"): Promise; + function __promisify__( + hostname: string, + rrtype: string, + ): Promise< + | string[] + | CaaRecord[] + | MxRecord[] + | NaptrRecord[] + | SoaRecord + | SrvRecord[] + | TlsaRecord[] + | string[][] + | AnyRecord[] + >; + } + /** + * Uses the DNS protocol to resolve a IPv4 addresses (`A` records) for the `hostname`. The `addresses` argument passed to the `callback` function + * will contain an array of IPv4 addresses (e.g.`['74.125.79.104', '74.125.79.105', '74.125.79.106']`). + * @since v0.1.16 + * @param hostname Host name to resolve. + */ + 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; + namespace resolve4 { + function __promisify__(hostname: string): Promise; + function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; + function __promisify__(hostname: string, options?: ResolveOptions): Promise; + } + /** + * Uses the DNS protocol to resolve IPv6 addresses (`AAAA` records) for the `hostname`. The `addresses` argument passed to the `callback` function + * will contain an array of IPv6 addresses. + * @since v0.1.16 + * @param hostname Host name to resolve. + */ + 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; + namespace resolve6 { + function __promisify__(hostname: string): Promise; + function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; + function __promisify__(hostname: string, options?: ResolveOptions): Promise; + } + /** + * Uses the DNS protocol to resolve `CNAME` records for the `hostname`. The `addresses` argument passed to the `callback` function + * will contain an array of canonical name records available for the `hostname` (e.g. `['bar.example.com']`). + * @since v0.3.2 + */ + function resolveCname( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void, + ): void; + namespace resolveCname { + function __promisify__(hostname: string): Promise; + } + /** + * Uses the DNS protocol to resolve `CAA` records for the `hostname`. The `addresses` argument passed to the `callback` function + * will contain an array of certification authority authorization records + * available for the `hostname` (e.g. `[{critical: 0, iodef: 'mailto:pki@example.com'}, {critical: 128, issue: 'pki.example.com'}]`). + * @since v15.0.0, v14.17.0 + */ + function resolveCaa( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, records: CaaRecord[]) => void, + ): void; + namespace resolveCaa { + function __promisify__(hostname: string): Promise; + } + /** + * Uses the DNS protocol to resolve mail exchange records (`MX` records) for the `hostname`. The `addresses` argument passed to the `callback` function will + * contain an array of objects containing both a `priority` and `exchange` property (e.g. `[{priority: 10, exchange: 'mx.example.com'}, ...]`). + * @since v0.1.27 + */ + function resolveMx( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void, + ): void; + namespace resolveMx { + function __promisify__(hostname: string): Promise; + } + /** + * Uses the DNS protocol to resolve regular expression-based records (`NAPTR` records) for the `hostname`. The `addresses` argument passed to the `callback` function will contain an array of + * objects with the following properties: + * + * * `flags` + * * `service` + * * `regexp` + * * `replacement` + * * `order` + * * `preference` + * + * ```js + * { + * flags: 's', + * service: 'SIP+D2U', + * regexp: '', + * replacement: '_sip._udp.example.com', + * order: 30, + * preference: 100 + * } + * ``` + * @since v0.9.12 + */ + function resolveNaptr( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void, + ): void; + namespace resolveNaptr { + function __promisify__(hostname: string): Promise; + } + /** + * Uses the DNS protocol to resolve name server records (`NS` records) for the `hostname`. The `addresses` argument passed to the `callback` function will + * contain an array of name server records available for `hostname` (e.g. `['ns1.example.com', 'ns2.example.com']`). + * @since v0.1.90 + */ + function resolveNs( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void, + ): void; + namespace resolveNs { + function __promisify__(hostname: string): Promise; + } + /** + * Uses the DNS protocol to resolve pointer records (`PTR` records) for the `hostname`. The `addresses` argument passed to the `callback` function will + * be an array of strings containing the reply records. + * @since v6.0.0 + */ + function resolvePtr( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void, + ): void; + namespace resolvePtr { + function __promisify__(hostname: string): Promise; + } + /** + * Uses the DNS protocol to resolve a start of authority record (`SOA` record) for + * the `hostname`. The `address` argument passed to the `callback` function will + * be an object with the following properties: + * + * * `nsname` + * * `hostmaster` + * * `serial` + * * `refresh` + * * `retry` + * * `expire` + * * `minttl` + * + * ```js + * { + * nsname: 'ns.example.com', + * hostmaster: 'root.example.com', + * serial: 2013101809, + * refresh: 10000, + * retry: 2400, + * expire: 604800, + * minttl: 3600 + * } + * ``` + * @since v0.11.10 + */ + function resolveSoa( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, address: SoaRecord) => void, + ): void; + namespace resolveSoa { + function __promisify__(hostname: string): Promise; + } + /** + * Uses the DNS protocol to resolve service records (`SRV` records) for the `hostname`. The `addresses` argument passed to the `callback` function will + * be an array of objects with the following properties: + * + * * `priority` + * * `weight` + * * `port` + * * `name` + * + * ```js + * { + * priority: 10, + * weight: 5, + * port: 21223, + * name: 'service.example.com' + * } + * ``` + * @since v0.1.27 + */ + function resolveSrv( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void, + ): void; + namespace resolveSrv { + function __promisify__(hostname: string): Promise; + } + /** + * Uses the DNS protocol to resolve certificate associations (`TLSA` records) for + * the `hostname`. The `records` argument passed to the `callback` function is an + * array of objects with these properties: + * + * * `certUsage` + * * `selector` + * * `match` + * * `data` + * + * ```js + * { + * certUsage: 3, + * selector: 1, + * match: 1, + * data: [ArrayBuffer] + * } + * ``` + * @since v23.9.0, v22.15.0 + */ + function resolveTlsa( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, addresses: TlsaRecord[]) => void, + ): void; + namespace resolveTlsa { + function __promisify__(hostname: string): Promise; + } + /** + * Uses the DNS protocol to resolve text queries (`TXT` records) for the `hostname`. The `records` argument passed to the `callback` function is a + * two-dimensional array of the text records available for `hostname` (e.g.`[ ['v=spf1 ip4:0.0.0.0 ', '~all' ] ]`). Each sub-array contains TXT chunks of + * one record. Depending on the use case, these could be either joined together or + * treated separately. + * @since v0.1.27 + */ + function resolveTxt( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void, + ): void; + namespace resolveTxt { + function __promisify__(hostname: string): Promise; + } + /** + * Uses the DNS protocol to resolve all records (also known as `ANY` or `*` query). + * The `ret` argument passed to the `callback` function will be an array containing + * various types of records. Each object has a property `type` that indicates the + * type of the current record. And depending on the `type`, additional properties + * will be present on the object: + * + * + * + * Here is an example of the `ret` object passed to the callback: + * + * ```js + * [ { type: 'A', address: '127.0.0.1', ttl: 299 }, + * { type: 'CNAME', value: 'example.com' }, + * { type: 'MX', exchange: 'alt4.aspmx.l.example.com', priority: 50 }, + * { type: 'NS', value: 'ns1.example.com' }, + * { type: 'TXT', entries: [ 'v=spf1 include:_spf.example.com ~all' ] }, + * { type: 'SOA', + * nsname: 'ns1.example.com', + * hostmaster: 'admin.example.com', + * serial: 156696742, + * refresh: 900, + * retry: 900, + * expire: 1800, + * minttl: 60 } ] + * ``` + * + * DNS server operators may choose not to respond to `ANY` queries. It may be better to call individual methods like {@link resolve4}, {@link resolveMx}, and so on. For more details, see + * [RFC 8482](https://tools.ietf.org/html/rfc8482). + */ + function resolveAny( + hostname: string, + callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void, + ): void; + namespace resolveAny { + function __promisify__(hostname: string): Promise; + } + /** + * Performs a reverse DNS query that resolves an IPv4 or IPv6 address to an + * array of host names. + * + * On error, `err` is an [`Error`](https://nodejs.org/docs/latest-v25.x/api/errors.html#class-error) object, where `err.code` is + * one of the [DNS error codes](https://nodejs.org/docs/latest-v25.x/api/dns.html#error-codes). + * @since v0.1.16 + */ + function reverse( + ip: string, + callback: (err: NodeJS.ErrnoException | null, hostnames: string[]) => void, + ): void; + /** + * Get the default value for `order` in {@link lookup} and [`dnsPromises.lookup()`](https://nodejs.org/docs/latest-v25.x/api/dns.html#dnspromiseslookuphostname-options). + * The value could be: + * + * * `ipv4first`: for `order` defaulting to `ipv4first`. + * * `ipv6first`: for `order` defaulting to `ipv6first`. + * * `verbatim`: for `order` defaulting to `verbatim`. + * @since v18.17.0 + */ + function getDefaultResultOrder(): "ipv4first" | "ipv6first" | "verbatim"; + /** + * Sets the IP address and port of servers to be used when performing DNS + * resolution. The `servers` argument is an array of [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6) formatted + * addresses. If the port is the IANA default DNS port (53) it can be omitted. + * + * ```js + * dns.setServers([ + * '4.4.4.4', + * '[2001:4860:4860::8888]', + * '4.4.4.4:1053', + * '[2001:4860:4860::8888]:1053', + * ]); + * ``` + * + * An error will be thrown if an invalid address is provided. + * + * The `dns.setServers()` method must not be called while a DNS query is in + * progress. + * + * The {@link setServers} method affects only {@link resolve}, `dns.resolve*()` and {@link reverse} (and specifically _not_ {@link lookup}). + * + * This method works much like [resolve.conf](https://man7.org/linux/man-pages/man5/resolv.conf.5.html). + * That is, if attempting to resolve with the first server provided results in a `NOTFOUND` error, the `resolve()` method will _not_ attempt to resolve with + * subsequent servers provided. Fallback DNS servers will only be used if the + * earlier ones time out or result in some other error. + * @since v0.11.3 + * @param servers array of [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952#section-6) formatted addresses + */ + function setServers(servers: readonly string[]): void; + /** + * Returns an array of IP address strings, formatted according to [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6), + * that are currently configured for DNS resolution. A string will include a port + * section if a custom port is used. + * + * ```js + * [ + * '4.4.4.4', + * '2001:4860:4860::8888', + * '4.4.4.4:1053', + * '[2001:4860:4860::8888]:1053', + * ] + * ``` + * @since v0.11.3 + */ + function getServers(): string[]; + /** + * Set the default value of `order` in {@link lookup} and [`dnsPromises.lookup()`](https://nodejs.org/docs/latest-v25.x/api/dns.html#dnspromiseslookuphostname-options). + * The value could be: + * + * * `ipv4first`: sets default `order` to `ipv4first`. + * * `ipv6first`: sets default `order` to `ipv6first`. + * * `verbatim`: sets default `order` to `verbatim`. + * + * The default is `verbatim` and {@link setDefaultResultOrder} have higher + * priority than [`--dns-result-order`](https://nodejs.org/docs/latest-v25.x/api/cli.html#--dns-result-orderorder). When using + * [worker threads](https://nodejs.org/docs/latest-v25.x/api/worker_threads.html), {@link setDefaultResultOrder} from the main + * thread won't affect the default dns orders in workers. + * @since v16.4.0, v14.18.0 + * @param order must be `'ipv4first'`, `'ipv6first'` or `'verbatim'`. + */ + function setDefaultResultOrder(order: "ipv4first" | "ipv6first" | "verbatim"): void; + // Error codes + const NODATA: "ENODATA"; + const FORMERR: "EFORMERR"; + const SERVFAIL: "ESERVFAIL"; + const NOTFOUND: "ENOTFOUND"; + const NOTIMP: "ENOTIMP"; + const REFUSED: "EREFUSED"; + const BADQUERY: "EBADQUERY"; + const BADNAME: "EBADNAME"; + const BADFAMILY: "EBADFAMILY"; + const BADRESP: "EBADRESP"; + const CONNREFUSED: "ECONNREFUSED"; + const TIMEOUT: "ETIMEOUT"; + const EOF: "EOF"; + const FILE: "EFILE"; + const NOMEM: "ENOMEM"; + const DESTRUCTION: "EDESTRUCTION"; + const BADSTR: "EBADSTR"; + const BADFLAGS: "EBADFLAGS"; + const NONAME: "ENONAME"; + const BADHINTS: "EBADHINTS"; + const NOTINITIALIZED: "ENOTINITIALIZED"; + const LOADIPHLPAPI: "ELOADIPHLPAPI"; + const ADDRGETNETWORKPARAMS: "EADDRGETNETWORKPARAMS"; + const CANCELLED: "ECANCELLED"; + interface ResolverOptions { + /** + * Query timeout in milliseconds, or `-1` to use the default timeout. + */ + timeout?: number | undefined; + /** + * The number of tries the resolver will try contacting each name server before giving up. + * @default 4 + */ + tries?: number | undefined; + /** + * The max retry timeout, in milliseconds. + * @default 0 + */ + maxTimeout?: number | undefined; + } + /** + * An independent resolver for DNS requests. + * + * Creating a new resolver uses the default server settings. Setting + * the servers used for a resolver using [`resolver.setServers()`](https://nodejs.org/docs/latest-v25.x/api/dns.html#dnssetserversservers) does not affect + * other resolvers: + * + * ```js + * import { Resolver } from 'node:dns'; + * const resolver = new Resolver(); + * resolver.setServers(['4.4.4.4']); + * + * // This request will use the server at 4.4.4.4, independent of global settings. + * resolver.resolve4('example.org', (err, addresses) => { + * // ... + * }); + * ``` + * + * The following methods from the `node:dns` module are available: + * + * * `resolver.getServers()` + * * `resolver.resolve()` + * * `resolver.resolve4()` + * * `resolver.resolve6()` + * * `resolver.resolveAny()` + * * `resolver.resolveCaa()` + * * `resolver.resolveCname()` + * * `resolver.resolveMx()` + * * `resolver.resolveNaptr()` + * * `resolver.resolveNs()` + * * `resolver.resolvePtr()` + * * `resolver.resolveSoa()` + * * `resolver.resolveSrv()` + * * `resolver.resolveTxt()` + * * `resolver.reverse()` + * * `resolver.setServers()` + * @since v8.3.0 + */ + class Resolver { + constructor(options?: ResolverOptions); + /** + * Cancel all outstanding DNS queries made by this resolver. The corresponding + * callbacks will be called with an error with code `ECANCELLED`. + * @since v8.3.0 + */ + cancel(): void; + getServers: typeof getServers; + resolve: typeof resolve; + resolve4: typeof resolve4; + resolve6: typeof resolve6; + resolveAny: typeof resolveAny; + resolveCaa: typeof resolveCaa; + resolveCname: typeof resolveCname; + resolveMx: typeof resolveMx; + resolveNaptr: typeof resolveNaptr; + resolveNs: typeof resolveNs; + resolvePtr: typeof resolvePtr; + resolveSoa: typeof resolveSoa; + resolveSrv: typeof resolveSrv; + resolveTlsa: typeof resolveTlsa; + resolveTxt: typeof resolveTxt; + reverse: typeof reverse; + /** + * The resolver instance will send its requests from the specified IP address. + * This allows programs to specify outbound interfaces when used on multi-homed + * systems. + * + * If a v4 or v6 address is not specified, it is set to the default and the + * operating system will choose a local address automatically. + * + * The resolver will use the v4 local address when making requests to IPv4 DNS + * servers, and the v6 local address when making requests to IPv6 DNS servers. + * The `rrtype` of resolution requests has no impact on the local address used. + * @since v15.1.0, v14.17.0 + * @param [ipv4='0.0.0.0'] A string representation of an IPv4 address. + * @param [ipv6='::0'] A string representation of an IPv6 address. + */ + setLocalAddress(ipv4?: string, ipv6?: string): void; + setServers: typeof setServers; + } +} +declare module "node:dns" { + export * as promises from "node:dns/promises"; +} +declare module "dns" { + export * from "node:dns"; +} diff --git a/node_modules/@types/node/dns/promises.d.ts b/node_modules/@types/node/dns/promises.d.ts new file mode 100644 index 0000000..b9e091c --- /dev/null +++ b/node_modules/@types/node/dns/promises.d.ts @@ -0,0 +1,497 @@ +declare module "node:dns/promises" { + import { + AnyRecord, + CaaRecord, + LookupAddress, + LookupAllOptions, + LookupOneOptions, + LookupOptions, + MxRecord, + NaptrRecord, + RecordWithTtl, + ResolveOptions, + ResolverOptions, + ResolveWithTtlOptions, + SoaRecord, + SrvRecord, + TlsaRecord, + } from "node:dns"; + /** + * Returns an array of IP address strings, formatted according to [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6), + * that are currently configured for DNS resolution. A string will include a port + * section if a custom port is used. + * + * ```js + * [ + * '4.4.4.4', + * '2001:4860:4860::8888', + * '4.4.4.4:1053', + * '[2001:4860:4860::8888]:1053', + * ] + * ``` + * @since v10.6.0 + */ + function getServers(): string[]; + /** + * Resolves a host name (e.g. `'nodejs.org'`) into the first found A (IPv4) or + * AAAA (IPv6) record. All `option` properties are optional. If `options` is an + * integer, then it must be `4` or `6` – if `options` is not provided, then IPv4 + * and IPv6 addresses are both returned if found. + * + * With the `all` option set to `true`, the `Promise` is resolved with `addresses` being an array of objects with the properties `address` and `family`. + * + * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) object, where `err.code` is the error code. + * Keep in mind that `err.code` will be set to `'ENOTFOUND'` not only when + * the host name does not exist but also when the lookup fails in other ways + * such as no available file descriptors. + * + * [`dnsPromises.lookup()`](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromiseslookuphostname-options) does not necessarily have anything to do with the DNS + * protocol. The implementation uses an operating system facility that can + * associate names with addresses and vice versa. This implementation can have + * subtle but important consequences on the behavior of any Node.js program. Please + * take some time to consult the [Implementation considerations section](https://nodejs.org/docs/latest-v20.x/api/dns.html#implementation-considerations) before + * using `dnsPromises.lookup()`. + * + * Example usage: + * + * ```js + * import dns from 'node:dns'; + * const dnsPromises = dns.promises; + * const options = { + * family: 6, + * hints: dns.ADDRCONFIG | dns.V4MAPPED, + * }; + * + * dnsPromises.lookup('example.com', options).then((result) => { + * console.log('address: %j family: IPv%s', result.address, result.family); + * // address: "2606:2800:220:1:248:1893:25c8:1946" family: IPv6 + * }); + * + * // When options.all is true, the result will be an Array. + * options.all = true; + * dnsPromises.lookup('example.com', options).then((result) => { + * console.log('addresses: %j', result); + * // addresses: [{"address":"2606:2800:220:1:248:1893:25c8:1946","family":6}] + * }); + * ``` + * @since v10.6.0 + */ + 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; + /** + * Resolves the given `address` and `port` into a host name and service using + * the operating system's underlying `getnameinfo` implementation. + * + * If `address` is not a valid IP address, a `TypeError` will be thrown. + * The `port` will be coerced to a number. If it is not a legal port, a `TypeError` will be thrown. + * + * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) object, where `err.code` is the error code. + * + * ```js + * import dnsPromises from 'node:dns'; + * dnsPromises.lookupService('127.0.0.1', 22).then((result) => { + * console.log(result.hostname, result.service); + * // Prints: localhost ssh + * }); + * ``` + * @since v10.6.0 + */ + function lookupService( + address: string, + port: number, + ): Promise<{ + hostname: string; + service: string; + }>; + /** + * Uses the DNS protocol to resolve a host name (e.g. `'nodejs.org'`) into an array + * of the resource records. When successful, the `Promise` is resolved with an + * array of resource records. The type and structure of individual results vary + * based on `rrtype`: + * + * + * + * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) object, where `err.code` + * is one of the [DNS error codes](https://nodejs.org/docs/latest-v20.x/api/dns.html#error-codes). + * @since v10.6.0 + * @param hostname Host name to resolve. + * @param [rrtype='A'] Resource record type. + */ + function resolve(hostname: string): Promise; + function resolve(hostname: string, rrtype: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise; + function resolve(hostname: string, rrtype: "ANY"): Promise; + function resolve(hostname: string, rrtype: "CAA"): Promise; + function resolve(hostname: string, rrtype: "MX"): Promise; + function resolve(hostname: string, rrtype: "NAPTR"): Promise; + function resolve(hostname: string, rrtype: "SOA"): Promise; + function resolve(hostname: string, rrtype: "SRV"): Promise; + function resolve(hostname: string, rrtype: "TLSA"): Promise; + function resolve(hostname: string, rrtype: "TXT"): Promise; + function resolve(hostname: string, rrtype: string): Promise< + | string[] + | CaaRecord[] + | MxRecord[] + | NaptrRecord[] + | SoaRecord + | SrvRecord[] + | TlsaRecord[] + | string[][] + | AnyRecord[] + >; + /** + * Uses the DNS protocol to resolve IPv4 addresses (`A` records) for the `hostname`. On success, the `Promise` is resolved with an array of IPv4 + * addresses (e.g. `['74.125.79.104', '74.125.79.105', '74.125.79.106']`). + * @since v10.6.0 + * @param hostname Host name to resolve. + */ + function resolve4(hostname: string): Promise; + function resolve4(hostname: string, options: ResolveWithTtlOptions): Promise; + function resolve4(hostname: string, options: ResolveOptions): Promise; + /** + * Uses the DNS protocol to resolve IPv6 addresses (`AAAA` records) for the `hostname`. On success, the `Promise` is resolved with an array of IPv6 + * addresses. + * @since v10.6.0 + * @param hostname Host name to resolve. + */ + function resolve6(hostname: string): Promise; + function resolve6(hostname: string, options: ResolveWithTtlOptions): Promise; + function resolve6(hostname: string, options: ResolveOptions): Promise; + /** + * Uses the DNS protocol to resolve all records (also known as `ANY` or `*` query). + * On success, the `Promise` is resolved with an array containing various types of + * records. Each object has a property `type` that indicates the type of the + * current record. And depending on the `type`, additional properties will be + * present on the object: + * + * + * + * Here is an example of the result object: + * + * ```js + * [ { type: 'A', address: '127.0.0.1', ttl: 299 }, + * { type: 'CNAME', value: 'example.com' }, + * { type: 'MX', exchange: 'alt4.aspmx.l.example.com', priority: 50 }, + * { type: 'NS', value: 'ns1.example.com' }, + * { type: 'TXT', entries: [ 'v=spf1 include:_spf.example.com ~all' ] }, + * { type: 'SOA', + * nsname: 'ns1.example.com', + * hostmaster: 'admin.example.com', + * serial: 156696742, + * refresh: 900, + * retry: 900, + * expire: 1800, + * minttl: 60 } ] + * ``` + * @since v10.6.0 + */ + function resolveAny(hostname: string): Promise; + /** + * Uses the DNS protocol to resolve `CAA` records for the `hostname`. On success, + * the `Promise` is resolved with an array of objects containing available + * certification authority authorization records available for the `hostname` (e.g. `[{critical: 0, iodef: 'mailto:pki@example.com'},{critical: 128, issue: 'pki.example.com'}]`). + * @since v15.0.0, v14.17.0 + */ + function resolveCaa(hostname: string): Promise; + /** + * Uses the DNS protocol to resolve `CNAME` records for the `hostname`. On success, + * the `Promise` is resolved with an array of canonical name records available for + * the `hostname` (e.g. `['bar.example.com']`). + * @since v10.6.0 + */ + function resolveCname(hostname: string): Promise; + /** + * Uses the DNS protocol to resolve mail exchange records (`MX` records) for the `hostname`. On success, the `Promise` is resolved with an array of objects + * containing both a `priority` and `exchange` property (e.g.`[{priority: 10, exchange: 'mx.example.com'}, ...]`). + * @since v10.6.0 + */ + function resolveMx(hostname: string): Promise; + /** + * Uses the DNS protocol to resolve regular expression-based records (`NAPTR` records) for the `hostname`. On success, the `Promise` is resolved with an array + * of objects with the following properties: + * + * * `flags` + * * `service` + * * `regexp` + * * `replacement` + * * `order` + * * `preference` + * + * ```js + * { + * flags: 's', + * service: 'SIP+D2U', + * regexp: '', + * replacement: '_sip._udp.example.com', + * order: 30, + * preference: 100 + * } + * ``` + * @since v10.6.0 + */ + function resolveNaptr(hostname: string): Promise; + /** + * Uses the DNS protocol to resolve name server records (`NS` records) for the `hostname`. On success, the `Promise` is resolved with an array of name server + * records available for `hostname` (e.g.`['ns1.example.com', 'ns2.example.com']`). + * @since v10.6.0 + */ + function resolveNs(hostname: string): Promise; + /** + * Uses the DNS protocol to resolve pointer records (`PTR` records) for the `hostname`. On success, the `Promise` is resolved with an array of strings + * containing the reply records. + * @since v10.6.0 + */ + function resolvePtr(hostname: string): Promise; + /** + * Uses the DNS protocol to resolve a start of authority record (`SOA` record) for + * the `hostname`. On success, the `Promise` is resolved with an object with the + * following properties: + * + * * `nsname` + * * `hostmaster` + * * `serial` + * * `refresh` + * * `retry` + * * `expire` + * * `minttl` + * + * ```js + * { + * nsname: 'ns.example.com', + * hostmaster: 'root.example.com', + * serial: 2013101809, + * refresh: 10000, + * retry: 2400, + * expire: 604800, + * minttl: 3600 + * } + * ``` + * @since v10.6.0 + */ + function resolveSoa(hostname: string): Promise; + /** + * Uses the DNS protocol to resolve service records (`SRV` records) for the `hostname`. On success, the `Promise` is resolved with an array of objects with + * the following properties: + * + * * `priority` + * * `weight` + * * `port` + * * `name` + * + * ```js + * { + * priority: 10, + * weight: 5, + * port: 21223, + * name: 'service.example.com' + * } + * ``` + * @since v10.6.0 + */ + function resolveSrv(hostname: string): Promise; + /** + * Uses the DNS protocol to resolve certificate associations (`TLSA` records) for + * the `hostname`. On success, the `Promise` is resolved with an array of objectsAdd commentMore actions + * with these properties: + * + * * `certUsage` + * * `selector` + * * `match` + * * `data` + * + * ```js + * { + * certUsage: 3, + * selector: 1, + * match: 1, + * data: [ArrayBuffer] + * } + * ``` + * @since v23.9.0, v22.15.0 + */ + function resolveTlsa(hostname: string): Promise; + /** + * Uses the DNS protocol to resolve text queries (`TXT` records) for the `hostname`. On success, the `Promise` is resolved with a two-dimensional array + * of the text records available for `hostname` (e.g.`[ ['v=spf1 ip4:0.0.0.0 ', '~all' ] ]`). Each sub-array contains TXT chunks of + * one record. Depending on the use case, these could be either joined together or + * treated separately. + * @since v10.6.0 + */ + function resolveTxt(hostname: string): Promise; + /** + * Performs a reverse DNS query that resolves an IPv4 or IPv6 address to an + * array of host names. + * + * On error, the `Promise` is rejected with an [`Error`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) object, where `err.code` + * is one of the [DNS error codes](https://nodejs.org/docs/latest-v20.x/api/dns.html#error-codes). + * @since v10.6.0 + */ + function reverse(ip: string): Promise; + /** + * Get the default value for `verbatim` in {@link lookup} and [dnsPromises.lookup()](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromiseslookuphostname-options). + * The value could be: + * + * * `ipv4first`: for `verbatim` defaulting to `false`. + * * `verbatim`: for `verbatim` defaulting to `true`. + * @since v20.1.0 + */ + function getDefaultResultOrder(): "ipv4first" | "verbatim"; + /** + * Sets the IP address and port of servers to be used when performing DNS + * resolution. The `servers` argument is an array of [RFC 5952](https://tools.ietf.org/html/rfc5952#section-6) formatted + * addresses. If the port is the IANA default DNS port (53) it can be omitted. + * + * ```js + * dnsPromises.setServers([ + * '4.4.4.4', + * '[2001:4860:4860::8888]', + * '4.4.4.4:1053', + * '[2001:4860:4860::8888]:1053', + * ]); + * ``` + * + * An error will be thrown if an invalid address is provided. + * + * The `dnsPromises.setServers()` method must not be called while a DNS query is in + * progress. + * + * This method works much like [resolve.conf](https://man7.org/linux/man-pages/man5/resolv.conf.5.html). + * That is, if attempting to resolve with the first server provided results in a `NOTFOUND` error, the `resolve()` method will _not_ attempt to resolve with + * subsequent servers provided. Fallback DNS servers will only be used if the + * earlier ones time out or result in some other error. + * @since v10.6.0 + * @param servers array of `RFC 5952` formatted addresses + */ + function setServers(servers: readonly string[]): void; + /** + * Set the default value of `order` in `dns.lookup()` and `{@link lookup}`. The value could be: + * + * * `ipv4first`: sets default `order` to `ipv4first`. + * * `ipv6first`: sets default `order` to `ipv6first`. + * * `verbatim`: sets default `order` to `verbatim`. + * + * The default is `verbatim` and [dnsPromises.setDefaultResultOrder()](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromisessetdefaultresultorderorder) + * have higher priority than [`--dns-result-order`](https://nodejs.org/docs/latest-v20.x/api/cli.html#--dns-result-orderorder). + * When using [worker threads](https://nodejs.org/docs/latest-v20.x/api/worker_threads.html), [`dnsPromises.setDefaultResultOrder()`](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromisessetdefaultresultorderorder) + * from the main thread won't affect the default dns orders in workers. + * @since v16.4.0, v14.18.0 + * @param order must be `'ipv4first'`, `'ipv6first'` or `'verbatim'`. + */ + function setDefaultResultOrder(order: "ipv4first" | "ipv6first" | "verbatim"): void; + // Error codes + const NODATA: "ENODATA"; + const FORMERR: "EFORMERR"; + const SERVFAIL: "ESERVFAIL"; + const NOTFOUND: "ENOTFOUND"; + const NOTIMP: "ENOTIMP"; + const REFUSED: "EREFUSED"; + const BADQUERY: "EBADQUERY"; + const BADNAME: "EBADNAME"; + const BADFAMILY: "EBADFAMILY"; + const BADRESP: "EBADRESP"; + const CONNREFUSED: "ECONNREFUSED"; + const TIMEOUT: "ETIMEOUT"; + const EOF: "EOF"; + const FILE: "EFILE"; + const NOMEM: "ENOMEM"; + const DESTRUCTION: "EDESTRUCTION"; + const BADSTR: "EBADSTR"; + const BADFLAGS: "EBADFLAGS"; + const NONAME: "ENONAME"; + const BADHINTS: "EBADHINTS"; + const NOTINITIALIZED: "ENOTINITIALIZED"; + const LOADIPHLPAPI: "ELOADIPHLPAPI"; + const ADDRGETNETWORKPARAMS: "EADDRGETNETWORKPARAMS"; + const CANCELLED: "ECANCELLED"; + + /** + * An independent resolver for DNS requests. + * + * Creating a new resolver uses the default server settings. Setting + * the servers used for a resolver using [`resolver.setServers()`](https://nodejs.org/docs/latest-v20.x/api/dns.html#dnspromisessetserversservers) does not affect + * other resolvers: + * + * ```js + * import { promises } from 'node:dns'; + * const resolver = new promises.Resolver(); + * resolver.setServers(['4.4.4.4']); + * + * // This request will use the server at 4.4.4.4, independent of global settings. + * resolver.resolve4('example.org').then((addresses) => { + * // ... + * }); + * + * // Alternatively, the same code can be written using async-await style. + * (async function() { + * const addresses = await resolver.resolve4('example.org'); + * })(); + * ``` + * + * The following methods from the `dnsPromises` API are available: + * + * * `resolver.getServers()` + * * `resolver.resolve()` + * * `resolver.resolve4()` + * * `resolver.resolve6()` + * * `resolver.resolveAny()` + * * `resolver.resolveCaa()` + * * `resolver.resolveCname()` + * * `resolver.resolveMx()` + * * `resolver.resolveNaptr()` + * * `resolver.resolveNs()` + * * `resolver.resolvePtr()` + * * `resolver.resolveSoa()` + * * `resolver.resolveSrv()` + * * `resolver.resolveTxt()` + * * `resolver.reverse()` + * * `resolver.setServers()` + * @since v10.6.0 + */ + class Resolver { + constructor(options?: ResolverOptions); + /** + * Cancel all outstanding DNS queries made by this resolver. The corresponding + * callbacks will be called with an error with code `ECANCELLED`. + * @since v8.3.0 + */ + cancel(): void; + getServers: typeof getServers; + resolve: typeof resolve; + resolve4: typeof resolve4; + resolve6: typeof resolve6; + resolveAny: typeof resolveAny; + resolveCaa: typeof resolveCaa; + resolveCname: typeof resolveCname; + resolveMx: typeof resolveMx; + resolveNaptr: typeof resolveNaptr; + resolveNs: typeof resolveNs; + resolvePtr: typeof resolvePtr; + resolveSoa: typeof resolveSoa; + resolveSrv: typeof resolveSrv; + resolveTlsa: typeof resolveTlsa; + resolveTxt: typeof resolveTxt; + reverse: typeof reverse; + /** + * The resolver instance will send its requests from the specified IP address. + * This allows programs to specify outbound interfaces when used on multi-homed + * systems. + * + * If a v4 or v6 address is not specified, it is set to the default and the + * operating system will choose a local address automatically. + * + * The resolver will use the v4 local address when making requests to IPv4 DNS + * servers, and the v6 local address when making requests to IPv6 DNS servers. + * The `rrtype` of resolution requests has no impact on the local address used. + * @since v15.1.0, v14.17.0 + * @param [ipv4='0.0.0.0'] A string representation of an IPv4 address. + * @param [ipv6='::0'] A string representation of an IPv6 address. + */ + setLocalAddress(ipv4?: string, ipv6?: string): void; + setServers: typeof setServers; + } +} +declare module "dns/promises" { + export * from "node:dns/promises"; +} diff --git a/node_modules/@types/node/domain.d.ts b/node_modules/@types/node/domain.d.ts new file mode 100644 index 0000000..8e03a7d --- /dev/null +++ b/node_modules/@types/node/domain.d.ts @@ -0,0 +1,150 @@ +declare module "node:domain" { + import { EventEmitter } from "node:events"; + /** + * The `Domain` class encapsulates the functionality of routing errors and + * uncaught exceptions to the active `Domain` object. + * + * To handle the errors that it catches, listen to its `'error'` event. + */ + class Domain extends EventEmitter { + /** + * An array of event emitters that have been explicitly added to the domain. + */ + members: EventEmitter[]; + /** + * The `enter()` method is plumbing used by the `run()`, `bind()`, and `intercept()` methods to set the active domain. It sets `domain.active` and `process.domain` to the domain, and implicitly + * pushes the domain onto the domain + * stack managed by the domain module (see {@link exit} for details on the + * domain stack). The call to `enter()` delimits the beginning of a chain of + * asynchronous calls and I/O operations bound to a domain. + * + * Calling `enter()` changes only the active domain, and does not alter the domain + * itself. `enter()` and `exit()` can be called an arbitrary number of times on a + * single domain. + */ + enter(): void; + /** + * The `exit()` method exits the current domain, popping it off the domain stack. + * Any time execution is going to switch to the context of a different chain of + * asynchronous calls, it's important to ensure that the current domain is exited. + * The call to `exit()` delimits either the end of or an interruption to the chain + * of asynchronous calls and I/O operations bound to a domain. + * + * If there are multiple, nested domains bound to the current execution context, `exit()` will exit any domains nested within this domain. + * + * Calling `exit()` changes only the active domain, and does not alter the domain + * itself. `enter()` and `exit()` can be called an arbitrary number of times on a + * single domain. + */ + exit(): void; + /** + * Run the supplied function in the context of the domain, implicitly + * binding all event emitters, timers, and low-level requests that are + * created in that context. Optionally, arguments can be passed to + * the function. + * + * This is the most basic way to use a domain. + * + * ```js + * import domain from 'node:domain'; + * import fs from 'node:fs'; + * const d = domain.create(); + * d.on('error', (er) => { + * console.error('Caught error!', er); + * }); + * d.run(() => { + * process.nextTick(() => { + * setTimeout(() => { // Simulating some various async stuff + * fs.open('non-existent file', 'r', (er, fd) => { + * if (er) throw er; + * // proceed... + * }); + * }, 100); + * }); + * }); + * ``` + * + * In this example, the `d.on('error')` handler will be triggered, rather + * than crashing the program. + */ + run(fn: (...args: any[]) => T, ...args: any[]): T; + /** + * Explicitly adds an emitter to the domain. If any event handlers called by + * the emitter throw an error, or if the emitter emits an `'error'` event, it + * will be routed to the domain's `'error'` event, just like with implicit + * binding. + * + * If the `EventEmitter` was already bound to a domain, it is removed from that + * one, and bound to this one instead. + * @param emitter emitter to be added to the domain + */ + add(emitter: EventEmitter): void; + /** + * The opposite of {@link add}. Removes domain handling from the + * specified emitter. + * @param emitter emitter to be removed from the domain + */ + remove(emitter: EventEmitter): void; + /** + * The returned function will be a wrapper around the supplied callback + * function. When the returned function is called, any errors that are + * thrown will be routed to the domain's `'error'` event. + * + * ```js + * const d = domain.create(); + * + * function readSomeFile(filename, cb) { + * fs.readFile(filename, 'utf8', d.bind((er, data) => { + * // If this throws, it will also be passed to the domain. + * return cb(er, data ? JSON.parse(data) : null); + * })); + * } + * + * d.on('error', (er) => { + * // An error occurred somewhere. If we throw it now, it will crash the program + * // with the normal line number and stack message. + * }); + * ``` + * @param callback The callback function + * @return The bound function + */ + bind(callback: T): T; + /** + * This method is almost identical to {@link bind}. However, in + * addition to catching thrown errors, it will also intercept `Error` objects sent as the first argument to the function. + * + * In this way, the common `if (err) return callback(err);` pattern can be replaced + * with a single error handler in a single place. + * + * ```js + * const d = domain.create(); + * + * function readSomeFile(filename, cb) { + * fs.readFile(filename, 'utf8', d.intercept((data) => { + * // Note, the first argument is never passed to the + * // callback since it is assumed to be the 'Error' argument + * // and thus intercepted by the domain. + * + * // If this throws, it will also be passed to the domain + * // so the error-handling logic can be moved to the 'error' + * // event on the domain instead of being repeated throughout + * // the program. + * return cb(null, JSON.parse(data)); + * })); + * } + * + * d.on('error', (er) => { + * // An error occurred somewhere. If we throw it now, it will crash the program + * // with the normal line number and stack message. + * }); + * ``` + * @param callback The callback function + * @return The intercepted function + */ + intercept(callback: T): T; + } + function create(): Domain; +} +declare module "domain" { + export * from "node: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..f481a32 --- /dev/null +++ b/node_modules/@types/node/events.d.ts @@ -0,0 +1,1008 @@ +declare module "node:events" { + import { AsyncResource, AsyncResourceOptions } from "node:async_hooks"; + // #region Event map helpers + type EventMap = Record; + type IfEventMap, True, False> = {} extends Events ? False : True; + type Args, EventName extends string | symbol> = IfEventMap< + Events, + EventName extends keyof Events ? Events[EventName] + : EventName extends keyof EventEmitterEventMap ? EventEmitterEventMap[EventName] + : any[], + any[] + >; + type EventNames, EventName extends string | symbol> = IfEventMap< + Events, + EventName | (keyof Events & (string | symbol)) | keyof EventEmitterEventMap, + string | symbol + >; + type Listener, EventName extends string | symbol> = IfEventMap< + Events, + ( + ...args: EventName extends keyof Events ? Events[EventName] + : EventName extends keyof EventEmitterEventMap ? EventEmitterEventMap[EventName] + : any[] + ) => void, + (...args: any[]) => void + >; + interface EventEmitterEventMap { + newListener: [eventName: string | symbol, listener: (...args: any[]) => void]; + removeListener: [eventName: string | symbol, listener: (...args: any[]) => void]; + } + // #endregion + interface EventEmitterOptions { + /** + * It enables + * [automatic capturing of promise rejection](https://nodejs.org/docs/latest-v25.x/api/events.html#capture-rejections-of-promises). + * @default false + */ + captureRejections?: boolean | undefined; + } + /** + * The `EventEmitter` class is defined and exposed by the `node:events` module: + * + * ```js + * import { EventEmitter } from 'node:events'; + * ``` + * + * All `EventEmitter`s emit the event `'newListener'` when new listeners are + * added and `'removeListener'` when existing listeners are removed. + * + * It supports the following option: + * @since v0.1.26 + */ + class EventEmitter = any> { + constructor(options?: EventEmitterOptions); + } + interface EventEmitter = any> extends NodeJS.EventEmitter {} + global { + namespace NodeJS { + interface EventEmitter = any> { + /** + * The `Symbol.for('nodejs.rejection')` method is called in case a + * promise rejection happens when emitting an event and + * `captureRejections` is enabled on the emitter. + * It is possible to use `events.captureRejectionSymbol` in + * place of `Symbol.for('nodejs.rejection')`. + * + * ```js + * import { EventEmitter, captureRejectionSymbol } from 'node:events'; + * + * class MyClass extends EventEmitter { + * constructor() { + * super({ captureRejections: true }); + * } + * + * [captureRejectionSymbol](err, event, ...args) { + * console.log('rejection happened for', event, 'with', err, ...args); + * this.destroy(err); + * } + * + * destroy(err) { + * // Tear the resource down here. + * } + * } + * ``` + * @since v13.4.0, v12.16.0 + */ + [EventEmitter.captureRejectionSymbol]?(error: Error, event: string | symbol, ...args: any[]): void; + /** + * Alias for `emitter.on(eventName, listener)`. + * @since v0.1.26 + */ + addListener(eventName: EventNames, listener: Listener): this; + /** + * Synchronously calls each of the listeners registered for the event named + * `eventName`, in the order they were registered, passing the supplied arguments + * to each. + * + * Returns `true` if the event had listeners, `false` otherwise. + * + * ```js + * import { EventEmitter } from 'node:events'; + * const myEmitter = new EventEmitter(); + * + * // First listener + * myEmitter.on('event', function firstListener() { + * console.log('Helloooo! first listener'); + * }); + * // Second listener + * myEmitter.on('event', function secondListener(arg1, arg2) { + * console.log(`event with parameters ${arg1}, ${arg2} in second listener`); + * }); + * // Third listener + * myEmitter.on('event', function thirdListener(...args) { + * const parameters = args.join(', '); + * console.log(`event with parameters ${parameters} in third listener`); + * }); + * + * console.log(myEmitter.listeners('event')); + * + * myEmitter.emit('event', 1, 2, 3, 4, 5); + * + * // Prints: + * // [ + * // [Function: firstListener], + * // [Function: secondListener], + * // [Function: thirdListener] + * // ] + * // Helloooo! first listener + * // event with parameters 1, 2 in second listener + * // event with parameters 1, 2, 3, 4, 5 in third listener + * ``` + * @since v0.1.26 + */ + emit(eventName: EventNames, ...args: Args): boolean; + /** + * Returns an array listing the events for which the emitter has registered + * listeners. + * + * ```js + * import { EventEmitter } from 'node:events'; + * + * const myEE = new EventEmitter(); + * myEE.on('foo', () => {}); + * myEE.on('bar', () => {}); + * + * const sym = Symbol('symbol'); + * myEE.on(sym, () => {}); + * + * console.log(myEE.eventNames()); + * // Prints: [ 'foo', 'bar', Symbol(symbol) ] + * ``` + * @since v6.0.0 + */ + eventNames(): (string | symbol)[]; + /** + * Returns the current max listener value for the `EventEmitter` which is either + * set by `emitter.setMaxListeners(n)` or defaults to + * `events.defaultMaxListeners`. + * @since v1.0.0 + */ + getMaxListeners(): number; + /** + * Returns the number of listeners listening for the event named `eventName`. + * If `listener` is provided, it will return how many times the listener is found + * in the list of the listeners of the event. + * @since v3.2.0 + * @param eventName The name of the event being listened for + * @param listener The event handler function + */ + listenerCount( + eventName: EventNames, + listener?: Listener, + ): number; + /** + * Returns a copy of the array of listeners for the event named `eventName`. + * + * ```js + * server.on('connection', (stream) => { + * console.log('someone connected!'); + * }); + * console.log(util.inspect(server.listeners('connection'))); + * // Prints: [ [Function] ] + * ``` + * @since v0.1.26 + */ + listeners(eventName: EventNames): Listener[]; + /** + * Alias for `emitter.removeListener()`. + * @since v10.0.0 + */ + off(eventName: EventNames, listener: Listener): this; + /** + * Adds the `listener` function to the end of the listeners array for the + * event named `eventName`. No checks are made to see if the `listener` has + * already been added. Multiple calls passing the same combination of `eventName` + * and `listener` will result in the `listener` being added, and called, multiple + * times. + * + * ```js + * server.on('connection', (stream) => { + * console.log('someone connected!'); + * }); + * ``` + * + * Returns a reference to the `EventEmitter`, so that calls can be chained. + * + * By default, event listeners are invoked in the order they are added. The + * `emitter.prependListener()` method can be used as an alternative to add the + * event listener to the beginning of the listeners array. + * + * ```js + * import { EventEmitter } from 'node:events'; + * const myEE = new EventEmitter(); + * myEE.on('foo', () => console.log('a')); + * myEE.prependListener('foo', () => console.log('b')); + * myEE.emit('foo'); + * // Prints: + * // b + * // a + * ``` + * @since v0.1.101 + * @param eventName The name of the event. + * @param listener The callback function + */ + on(eventName: EventNames, listener: Listener): this; + /** + * Adds a **one-time** `listener` function for the event named `eventName`. The + * next time `eventName` is triggered, this listener is removed and then invoked. + * + * ```js + * server.once('connection', (stream) => { + * console.log('Ah, we have our first user!'); + * }); + * ``` + * + * Returns a reference to the `EventEmitter`, so that calls can be chained. + * + * By default, event listeners are invoked in the order they are added. The + * `emitter.prependOnceListener()` method can be used as an alternative to add the + * event listener to the beginning of the listeners array. + * + * ```js + * import { EventEmitter } from 'node:events'; + * const myEE = new EventEmitter(); + * myEE.once('foo', () => console.log('a')); + * myEE.prependOnceListener('foo', () => console.log('b')); + * myEE.emit('foo'); + * // Prints: + * // b + * // a + * ``` + * @since v0.3.0 + * @param eventName The name of the event. + * @param listener The callback function + */ + once(eventName: EventNames, listener: Listener): this; + /** + * Adds the `listener` function to the _beginning_ of the listeners array for the + * event named `eventName`. No checks are made to see if the `listener` has + * already been added. Multiple calls passing the same combination of `eventName` + * and `listener` will result in the `listener` being added, and called, multiple + * times. + * + * ```js + * server.prependListener('connection', (stream) => { + * console.log('someone connected!'); + * }); + * ``` + * + * Returns a reference to the `EventEmitter`, so that calls can be chained. + * @since v6.0.0 + * @param eventName The name of the event. + * @param listener The callback function + */ + prependListener(eventName: EventNames, listener: Listener): this; + /** + * Adds a **one-time** `listener` function for the event named `eventName` to the + * _beginning_ of the listeners array. The next time `eventName` is triggered, this + * listener is removed, and then invoked. + * + * ```js + * server.prependOnceListener('connection', (stream) => { + * console.log('Ah, we have our first user!'); + * }); + * ``` + * + * Returns a reference to the `EventEmitter`, so that calls can be chained. + * @since v6.0.0 + * @param eventName The name of the event. + * @param listener The callback function + */ + prependOnceListener( + eventName: EventNames, + listener: Listener, + ): this; + /** + * Returns a copy of the array of listeners for the event named `eventName`, + * including any wrappers (such as those created by `.once()`). + * + * ```js + * import { EventEmitter } from 'node:events'; + * const emitter = new EventEmitter(); + * emitter.once('log', () => console.log('log once')); + * + * // Returns a new Array with a function `onceWrapper` which has a property + * // `listener` which contains the original listener bound above + * const listeners = emitter.rawListeners('log'); + * const logFnWrapper = listeners[0]; + * + * // Logs "log once" to the console and does not unbind the `once` event + * logFnWrapper.listener(); + * + * // Logs "log once" to the console and removes the listener + * logFnWrapper(); + * + * emitter.on('log', () => console.log('log persistently')); + * // Will return a new Array with a single function bound by `.on()` above + * const newListeners = emitter.rawListeners('log'); + * + * // Logs "log persistently" twice + * newListeners[0](); + * emitter.emit('log'); + * ``` + * @since v9.4.0 + */ + rawListeners(eventName: EventNames): Listener[]; + /** + * Removes all listeners, or those of the specified `eventName`. + * + * It is bad practice to remove listeners added elsewhere in the code, + * particularly when the `EventEmitter` instance was created by some other + * component or module (e.g. sockets or file streams). + * + * Returns a reference to the `EventEmitter`, so that calls can be chained. + * @since v0.1.26 + */ + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: EventNames): this; + /** + * Removes the specified `listener` from the listener array for the event named + * `eventName`. + * + * ```js + * const callback = (stream) => { + * console.log('someone connected!'); + * }; + * server.on('connection', callback); + * // ... + * server.removeListener('connection', callback); + * ``` + * + * `removeListener()` will remove, at most, one instance of a listener from the + * listener array. If any single listener has been added multiple times to the + * listener array for the specified `eventName`, then `removeListener()` must be + * called multiple times to remove each instance. + * + * Once an event is emitted, all listeners attached to it at the + * time of emitting are called in order. This implies that any + * `removeListener()` or `removeAllListeners()` calls _after_ emitting and + * _before_ the last listener finishes execution will not remove them from + * `emit()` in progress. Subsequent events behave as expected. + * + * ```js + * import { EventEmitter } from 'node:events'; + * class MyEmitter extends EventEmitter {} + * const myEmitter = new MyEmitter(); + * + * const callbackA = () => { + * console.log('A'); + * myEmitter.removeListener('event', callbackB); + * }; + * + * const callbackB = () => { + * console.log('B'); + * }; + * + * myEmitter.on('event', callbackA); + * + * myEmitter.on('event', callbackB); + * + * // callbackA removes listener callbackB but it will still be called. + * // Internal listener array at time of emit [callbackA, callbackB] + * myEmitter.emit('event'); + * // Prints: + * // A + * // B + * + * // callbackB is now removed. + * // Internal listener array [callbackA] + * myEmitter.emit('event'); + * // Prints: + * // A + * ``` + * + * Because listeners are managed using an internal array, calling this will + * change the position indexes of any listener registered _after_ the listener + * being removed. This will not impact the order in which listeners are called, + * but it means that any copies of the listener array as returned by + * the `emitter.listeners()` method will need to be recreated. + * + * When a single function has been added as a handler multiple times for a single + * event (as in the example below), `removeListener()` will remove the most + * recently added instance. In the example the `once('ping')` + * listener is removed: + * + * ```js + * import { EventEmitter } from 'node:events'; + * const ee = new EventEmitter(); + * + * function pong() { + * console.log('pong'); + * } + * + * ee.on('ping', pong); + * ee.once('ping', pong); + * ee.removeListener('ping', pong); + * + * ee.emit('ping'); + * ee.emit('ping'); + * ``` + * + * Returns a reference to the `EventEmitter`, so that calls can be chained. + * @since v0.1.26 + */ + removeListener(eventName: EventNames, listener: Listener): this; + /** + * By default `EventEmitter`s will print a warning if more than `10` listeners are + * added for a particular event. This is a useful default that helps finding + * memory leaks. The `emitter.setMaxListeners()` method allows the limit to be + * modified for this specific `EventEmitter` instance. The value can be set to + * `Infinity` (or `0`) to indicate an unlimited number of listeners. + * + * Returns a reference to the `EventEmitter`, so that calls can be chained. + * @since v0.3.5 + */ + setMaxListeners(n: number): this; + } + } + } + namespace EventEmitter { + export { EventEmitter, EventEmitterEventMap, EventEmitterOptions }; + } + namespace EventEmitter { + interface Abortable { + signal?: AbortSignal | undefined; + } + /** + * See how to write a custom [rejection handler](https://nodejs.org/docs/latest-v25.x/api/events.html#emittersymbolfornodejsrejectionerr-eventname-args). + * @since v13.4.0, v12.16.0 + */ + const captureRejectionSymbol: unique symbol; + /** + * Change the default `captureRejections` option on all new `EventEmitter` objects. + * @since v13.4.0, v12.16.0 + */ + let captureRejections: boolean; + /** + * By default, a maximum of `10` listeners can be registered for any single + * event. This limit can be changed for individual `EventEmitter` instances + * using the `emitter.setMaxListeners(n)` method. To change the default + * for _all_ `EventEmitter` instances, the `events.defaultMaxListeners` + * property can be used. If this value is not a positive number, a `RangeError` + * is thrown. + * + * Take caution when setting the `events.defaultMaxListeners` because the + * change affects _all_ `EventEmitter` instances, including those created before + * the change is made. However, calling `emitter.setMaxListeners(n)` still has + * precedence over `events.defaultMaxListeners`. + * + * This is not a hard limit. The `EventEmitter` instance will allow + * more listeners to be added but will output a trace warning to stderr indicating + * that a "possible EventEmitter memory leak" has been detected. For any single + * `EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` + * methods can be used to temporarily avoid this warning: + * + * `defaultMaxListeners` has no effect on `AbortSignal` instances. While it is + * still possible to use `emitter.setMaxListeners(n)` to set a warning limit + * for individual `AbortSignal` instances, per default `AbortSignal` instances will not warn. + * + * ```js + * import { EventEmitter } from 'node:events'; + * const emitter = new EventEmitter(); + * emitter.setMaxListeners(emitter.getMaxListeners() + 1); + * emitter.once('event', () => { + * // do stuff + * emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); + * }); + * ``` + * + * The `--trace-warnings` command-line flag can be used to display the + * stack trace for such warnings. + * + * The emitted warning can be inspected with `process.on('warning')` and will + * have the additional `emitter`, `type`, and `count` properties, referring to + * the event emitter instance, the event's name and the number of attached + * listeners, respectively. + * Its `name` property is set to `'MaxListenersExceededWarning'`. + * @since v0.11.2 + */ + let defaultMaxListeners: number; + /** + * This symbol shall be used to install a listener for only monitoring `'error'` + * events. Listeners installed using this symbol are called before the regular + * `'error'` listeners are called. + * + * Installing a listener using this symbol does not change the behavior once an + * `'error'` event is emitted. Therefore, the process will still crash if no + * regular `'error'` listener is installed. + * @since v13.6.0, v12.17.0 + */ + const errorMonitor: unique symbol; + /** + * Listens once to the `abort` event on the provided `signal`. + * + * Listening to the `abort` event on abort signals is unsafe and may + * lead to resource leaks since another third party with the signal can + * call `e.stopImmediatePropagation()`. Unfortunately Node.js cannot change + * this since it would violate the web standard. Additionally, the original + * API makes it easy to forget to remove listeners. + * + * This API allows safely using `AbortSignal`s in Node.js APIs by solving these + * two issues by listening to the event such that `stopImmediatePropagation` does + * not prevent the listener from running. + * + * Returns a disposable so that it may be unsubscribed from more easily. + * + * ```js + * import { addAbortListener } from 'node:events'; + * + * function example(signal) { + * signal.addEventListener('abort', (e) => e.stopImmediatePropagation()); + * // addAbortListener() returns a disposable, so the `using` keyword ensures + * // the abort listener is automatically removed when this scope exits. + * using _ = addAbortListener(signal, (e) => { + * // Do something when signal is aborted. + * }); + * } + * ``` + * @since v20.5.0 + * @return Disposable that removes the `abort` listener. + */ + function addAbortListener(signal: AbortSignal, resource: (event: Event) => void): Disposable; + /** + * Returns a copy of the array of listeners for the event named `eventName`. + * + * For `EventEmitter`s this behaves exactly the same as calling `.listeners` on + * the emitter. + * + * For `EventTarget`s this is the only way to get the event listeners for the + * event target. This is useful for debugging and diagnostic purposes. + * + * ```js + * import { getEventListeners, EventEmitter } from 'node:events'; + * + * { + * const ee = new EventEmitter(); + * const listener = () => console.log('Events are fun'); + * ee.on('foo', listener); + * console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ] + * } + * { + * const et = new EventTarget(); + * const listener = () => console.log('Events are fun'); + * et.addEventListener('foo', listener); + * console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ] + * } + * ``` + * @since v15.2.0, v14.17.0 + */ + function getEventListeners(emitter: EventEmitter, name: string | symbol): ((...args: any[]) => void)[]; + function getEventListeners(emitter: EventTarget, name: string): ((...args: any[]) => void)[]; + /** + * Returns the currently set max amount of listeners. + * + * For `EventEmitter`s this behaves exactly the same as calling `.getMaxListeners` on + * the emitter. + * + * For `EventTarget`s this is the only way to get the max event listeners for the + * event target. If the number of event handlers on a single EventTarget exceeds + * the max set, the EventTarget will print a warning. + * + * ```js + * import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events'; + * + * { + * const ee = new EventEmitter(); + * console.log(getMaxListeners(ee)); // 10 + * setMaxListeners(11, ee); + * console.log(getMaxListeners(ee)); // 11 + * } + * { + * const et = new EventTarget(); + * console.log(getMaxListeners(et)); // 10 + * setMaxListeners(11, et); + * console.log(getMaxListeners(et)); // 11 + * } + * ``` + * @since v19.9.0 + */ + function getMaxListeners(emitter: EventEmitter | EventTarget): number; + /** + * Returns the number of registered listeners for the event named `eventName`. + * + * For `EventEmitter`s this behaves exactly the same as calling `.listenerCount` + * on the emitter. + * + * For `EventTarget`s this is the only way to obtain the listener count. This can + * be useful for debugging and diagnostic purposes. + * @since v0.9.12 + */ + function listenerCount(emitter: EventEmitter, eventName: string | symbol): number; + function listenerCount(emitter: EventTarget, eventName: string): number; + interface OnOptions extends Abortable { + /** + * Names of events that will end the iteration. + */ + close?: readonly string[] | undefined; + /** + * The high watermark. The emitter is paused every time the size of events + * being buffered is higher than it. Supported only on emitters implementing + * `pause()` and `resume()` methods. + * @default Number.MAX_SAFE_INTEGER + */ + highWaterMark?: number | undefined; + /** + * The low watermark. The emitter is resumed every time the size of events + * being buffered is lower than it. Supported only on emitters implementing + * `pause()` and `resume()` methods. + * @default 1 + */ + lowWaterMark?: number | undefined; + } + /** + * ```js + * import { on, EventEmitter } from 'node:events'; + * import process from 'node:process'; + * + * const ee = new EventEmitter(); + * + * // Emit later on + * process.nextTick(() => { + * ee.emit('foo', 'bar'); + * ee.emit('foo', 42); + * }); + * + * for await (const event of on(ee, 'foo')) { + * // The execution of this inner block is synchronous and it + * // processes one event at a time (even with await). Do not use + * // if concurrent execution is required. + * console.log(event); // prints ['bar'] [42] + * } + * // Unreachable here + * ``` + * + * Returns an `AsyncIterator` that iterates `eventName` events. It will throw + * if the `EventEmitter` emits `'error'`. It removes all listeners when + * exiting the loop. The `value` returned by each iteration is an array + * composed of the emitted event arguments. + * + * An `AbortSignal` can be used to cancel waiting on events: + * + * ```js + * import { on, EventEmitter } from 'node:events'; + * import process from 'node:process'; + * + * const ac = new AbortController(); + * + * (async () => { + * const ee = new EventEmitter(); + * + * // Emit later on + * process.nextTick(() => { + * ee.emit('foo', 'bar'); + * ee.emit('foo', 42); + * }); + * + * for await (const event of on(ee, 'foo', { signal: ac.signal })) { + * // The execution of this inner block is synchronous and it + * // processes one event at a time (even with await). Do not use + * // if concurrent execution is required. + * console.log(event); // prints ['bar'] [42] + * } + * // Unreachable here + * })(); + * + * process.nextTick(() => ac.abort()); + * ``` + * @since v13.6.0, v12.16.0 + * @returns `AsyncIterator` that iterates `eventName` events emitted by the `emitter` + */ + function on( + emitter: EventEmitter, + eventName: string | symbol, + options?: OnOptions, + ): NodeJS.AsyncIterator; + function on( + emitter: EventTarget, + eventName: string, + options?: OnOptions, + ): NodeJS.AsyncIterator; + interface OnceOptions extends Abortable {} + /** + * Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given + * event or that is rejected if the `EventEmitter` emits `'error'` while waiting. + * The `Promise` will resolve with an array of all the arguments emitted to the + * given event. + * + * This method is intentionally generic and works with the web platform + * [EventTarget][WHATWG-EventTarget] interface, which has no special + * `'error'` event semantics and does not listen to the `'error'` event. + * + * ```js + * import { once, EventEmitter } from 'node:events'; + * import process from 'node:process'; + * + * const ee = new EventEmitter(); + * + * process.nextTick(() => { + * ee.emit('myevent', 42); + * }); + * + * const [value] = await once(ee, 'myevent'); + * console.log(value); + * + * const err = new Error('kaboom'); + * process.nextTick(() => { + * ee.emit('error', err); + * }); + * + * try { + * await once(ee, 'myevent'); + * } catch (err) { + * console.error('error happened', err); + * } + * ``` + * + * The special handling of the `'error'` event is only used when `events.once()` + * is used to wait for another event. If `events.once()` is used to wait for the + * '`error'` event itself, then it is treated as any other kind of event without + * special handling: + * + * ```js + * import { EventEmitter, once } from 'node:events'; + * + * const ee = new EventEmitter(); + * + * once(ee, 'error') + * .then(([err]) => console.log('ok', err.message)) + * .catch((err) => console.error('error', err.message)); + * + * ee.emit('error', new Error('boom')); + * + * // Prints: ok boom + * ``` + * + * An `AbortSignal` can be used to cancel waiting for the event: + * + * ```js + * import { EventEmitter, once } from 'node:events'; + * + * const ee = new EventEmitter(); + * const ac = new AbortController(); + * + * async function foo(emitter, event, signal) { + * try { + * await once(emitter, event, { signal }); + * console.log('event emitted!'); + * } catch (error) { + * if (error.name === 'AbortError') { + * console.error('Waiting for the event was canceled!'); + * } else { + * console.error('There was an error', error.message); + * } + * } + * } + * + * foo(ee, 'foo', ac.signal); + * ac.abort(); // Prints: Waiting for the event was canceled! + * ``` + * @since v11.13.0, v10.16.0 + */ + function once( + emitter: EventEmitter, + eventName: string | symbol, + options?: OnceOptions, + ): Promise; + function once(emitter: EventTarget, eventName: string, options?: OnceOptions): Promise; + /** + * ```js + * import { setMaxListeners, EventEmitter } from 'node:events'; + * + * const target = new EventTarget(); + * const emitter = new EventEmitter(); + * + * setMaxListeners(5, target, emitter); + * ``` + * @since v15.4.0 + * @param n A non-negative number. The maximum number of listeners per `EventTarget` event. + * @param eventTargets Zero or more `EventTarget` + * or `EventEmitter` instances. If none are specified, `n` is set as the default + * max for all newly created `EventTarget` and `EventEmitter` objects. + * objects. + */ + function setMaxListeners(n: number, ...eventTargets: ReadonlyArray): void; + /** + * This is the interface from which event-emitting Node.js APIs inherit in the types package. + * **It is not intended for consumer use.** + * + * It provides event-mapped definitions similar to EventEmitter, except that its signatures + * are deliberately permissive: they provide type _hinting_, but not rigid type-checking, + * for compatibility reasons. + * + * Classes that inherit directly from EventEmitter in JavaScript can inherit directly from + * this interface in the type definitions. Classes that are more than one inheritance level + * away from EventEmitter (eg. `net.Socket` > `stream.Duplex` > `EventEmitter`) must instead + * copy these method definitions into the derived class. Search "#region InternalEventEmitter" + * for examples. + * @internal + */ + interface InternalEventEmitter> extends EventEmitter { + addListener(eventName: E, listener: (...args: T[E]) => void): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: T[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount(eventName: E, listener?: (...args: T[E]) => void): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: T[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off(eventName: E, listener: (...args: T[E]) => void): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on(eventName: E, listener: (...args: T[E]) => void): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once(eventName: E, listener: (...args: T[E]) => void): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener(eventName: E, listener: (...args: T[E]) => void): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener(eventName: E, listener: (...args: T[E]) => void): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: T[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener(eventName: E, listener: (...args: T[E]) => void): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + } + interface EventEmitterReferencingAsyncResource extends AsyncResource { + readonly eventEmitter: EventEmitterAsyncResource; + } + interface EventEmitterAsyncResourceOptions extends AsyncResourceOptions, EventEmitterOptions { + /** + * The type of async event. + * @default new.target.name + */ + name?: string | undefined; + } + /** + * Integrates `EventEmitter` with `AsyncResource` for `EventEmitter`s that + * require manual async tracking. Specifically, all events emitted by instances + * of `events.EventEmitterAsyncResource` will run within its [async context](https://nodejs.org/docs/latest-v25.x/api/async_context.html). + * + * ```js + * import { EventEmitterAsyncResource, EventEmitter } from 'node:events'; + * import { notStrictEqual, strictEqual } from 'node:assert'; + * import { executionAsyncId, triggerAsyncId } from 'node:async_hooks'; + * + * // Async tracking tooling will identify this as 'Q'. + * const ee1 = new EventEmitterAsyncResource({ name: 'Q' }); + * + * // 'foo' listeners will run in the EventEmitters async context. + * ee1.on('foo', () => { + * strictEqual(executionAsyncId(), ee1.asyncId); + * strictEqual(triggerAsyncId(), ee1.triggerAsyncId); + * }); + * + * const ee2 = new EventEmitter(); + * + * // 'foo' listeners on ordinary EventEmitters that do not track async + * // context, however, run in the same async context as the emit(). + * ee2.on('foo', () => { + * notStrictEqual(executionAsyncId(), ee2.asyncId); + * notStrictEqual(triggerAsyncId(), ee2.triggerAsyncId); + * }); + * + * Promise.resolve().then(() => { + * ee1.emit('foo'); + * ee2.emit('foo'); + * }); + * ``` + * + * The `EventEmitterAsyncResource` class has the same methods and takes the + * same options as `EventEmitter` and `AsyncResource` themselves. + * @since v17.4.0, v16.14.0 + */ + class EventEmitterAsyncResource extends EventEmitter { + constructor(options?: EventEmitterAsyncResourceOptions); + /** + * The unique `asyncId` assigned to the resource. + */ + readonly asyncId: number; + /** + * The returned `AsyncResource` object has an additional `eventEmitter` property + * that provides a reference to this `EventEmitterAsyncResource`. + */ + readonly asyncResource: EventEmitterReferencingAsyncResource; + /** + * Call all `destroy` hooks. This should only ever be called once. An error will + * be thrown if it is called more than once. This **must** be manually called. If + * the resource is left to be collected by the GC then the `destroy` hooks will + * never be called. + */ + emitDestroy(): void; + /** + * The same `triggerAsyncId` that is passed to the + * `AsyncResource` constructor. + */ + readonly triggerAsyncId: number; + } + /** + * The `NodeEventTarget` is a Node.js-specific extension to `EventTarget` + * that emulates a subset of the `EventEmitter` API. + * @since v14.5.0 + */ + interface NodeEventTarget extends EventTarget { + /** + * Node.js-specific extension to the `EventTarget` class that emulates the + * equivalent `EventEmitter` API. The only difference between `addListener()` and + * `addEventListener()` is that `addListener()` will return a reference to the + * `EventTarget`. + * @since v14.5.0 + */ + addListener(type: string, listener: (arg: any) => void): this; + /** + * Node.js-specific extension to the `EventTarget` class that dispatches the + * `arg` to the list of handlers for `type`. + * @since v15.2.0 + * @returns `true` if event listeners registered for the `type` exist, + * otherwise `false`. + */ + emit(type: string, arg: any): boolean; + /** + * Node.js-specific extension to the `EventTarget` class that returns an array + * of event `type` names for which event listeners are registered. + * @since 14.5.0 + */ + eventNames(): string[]; + /** + * Node.js-specific extension to the `EventTarget` class that returns the number + * of event listeners registered for the `type`. + * @since v14.5.0 + */ + listenerCount(type: string): number; + /** + * Node.js-specific extension to the `EventTarget` class that sets the number + * of max event listeners as `n`. + * @since v14.5.0 + */ + setMaxListeners(n: number): void; + /** + * Node.js-specific extension to the `EventTarget` class that returns the number + * of max event listeners. + * @since v14.5.0 + */ + getMaxListeners(): number; + /** + * Node.js-specific alias for `eventTarget.removeEventListener()`. + * @since v14.5.0 + */ + off(type: string, listener: (arg: any) => void, options?: EventListenerOptions): this; + /** + * Node.js-specific alias for `eventTarget.addEventListener()`. + * @since v14.5.0 + */ + on(type: string, listener: (arg: any) => void): this; + /** + * Node.js-specific extension to the `EventTarget` class that adds a `once` + * listener for the given event `type`. This is equivalent to calling `on` + * with the `once` option set to `true`. + * @since v14.5.0 + */ + once(type: string, listener: (arg: any) => void): this; + /** + * Node.js-specific extension to the `EventTarget` class. If `type` is specified, + * removes all registered listeners for `type`, otherwise removes all registered + * listeners. + * @since v14.5.0 + */ + removeAllListeners(type?: string): this; + /** + * Node.js-specific extension to the `EventTarget` class that removes the + * `listener` for the given `type`. The only difference between `removeListener()` + * and `removeEventListener()` is that `removeListener()` will return a reference + * to the `EventTarget`. + * @since v14.5.0 + */ + removeListener(type: string, listener: (arg: any) => void, options?: EventListenerOptions): this; + } + /** @internal */ + type InternalEventTargetEventProperties = { + [K in keyof T & string as `on${K}`]: ((ev: T[K]) => void) | null; + }; + } + export = EventEmitter; +} +declare module "events" { + import events = require("node:events"); + export = events; +} diff --git a/node_modules/@types/node/fs.d.ts b/node_modules/@types/node/fs.d.ts new file mode 100644 index 0000000..1fce8b8 --- /dev/null +++ b/node_modules/@types/node/fs.d.ts @@ -0,0 +1,4780 @@ +declare module "node:fs" { + import { NonSharedBuffer } from "node:buffer"; + import { Abortable, EventEmitter, InternalEventEmitter } from "node:events"; + import { FileHandle } from "node:fs/promises"; + import * as stream from "node:stream"; + import { URL } from "node:url"; + /** + * Valid types for path values in "fs". + */ + type PathLike = string | Buffer | URL; + type PathOrFileDescriptor = PathLike | number; + type TimeLike = string | number | Date; + type NoParamCallback = (err: NodeJS.ErrnoException | null) => void; + type BufferEncodingOption = + | "buffer" + | { + encoding: "buffer"; + }; + interface ObjectEncodingOptions { + encoding?: BufferEncoding | null | undefined; + } + type EncodingOption = ObjectEncodingOptions | BufferEncoding | undefined | null; + type OpenMode = number | string; + type Mode = number | string; + interface StatsBase { + isFile(): boolean; + isDirectory(): boolean; + isBlockDevice(): boolean; + isCharacterDevice(): boolean; + isSymbolicLink(): boolean; + isFIFO(): boolean; + isSocket(): boolean; + dev: T; + ino: T; + mode: T; + nlink: T; + uid: T; + gid: T; + rdev: T; + size: T; + blksize: T; + blocks: T; + atimeMs: T; + mtimeMs: T; + ctimeMs: T; + birthtimeMs: T; + atime: Date; + mtime: Date; + ctime: Date; + birthtime: Date; + } + interface Stats extends StatsBase {} + /** + * A `fs.Stats` object provides information about a file. + * + * Objects returned from {@link stat}, {@link lstat}, {@link fstat}, and + * their synchronous counterparts are of this type. + * If `bigint` in the `options` passed to those methods is true, the numeric values + * will be `bigint` instead of `number`, and the object will contain additional + * nanosecond-precision properties suffixed with `Ns`. `Stat` objects are not to be created directly using the `new` keyword. + * + * ```console + * Stats { + * dev: 2114, + * ino: 48064969, + * mode: 33188, + * nlink: 1, + * uid: 85, + * gid: 100, + * rdev: 0, + * size: 527, + * blksize: 4096, + * blocks: 8, + * atimeMs: 1318289051000.1, + * mtimeMs: 1318289051000.1, + * ctimeMs: 1318289051000.1, + * birthtimeMs: 1318289051000.1, + * atime: Mon, 10 Oct 2011 23:24:11 GMT, + * mtime: Mon, 10 Oct 2011 23:24:11 GMT, + * ctime: Mon, 10 Oct 2011 23:24:11 GMT, + * birthtime: Mon, 10 Oct 2011 23:24:11 GMT } + * ``` + * + * `bigint` version: + * + * ```console + * BigIntStats { + * dev: 2114n, + * ino: 48064969n, + * mode: 33188n, + * nlink: 1n, + * uid: 85n, + * gid: 100n, + * rdev: 0n, + * size: 527n, + * blksize: 4096n, + * blocks: 8n, + * atimeMs: 1318289051000n, + * mtimeMs: 1318289051000n, + * ctimeMs: 1318289051000n, + * birthtimeMs: 1318289051000n, + * atimeNs: 1318289051000000000n, + * mtimeNs: 1318289051000000000n, + * ctimeNs: 1318289051000000000n, + * birthtimeNs: 1318289051000000000n, + * atime: Mon, 10 Oct 2011 23:24:11 GMT, + * mtime: Mon, 10 Oct 2011 23:24:11 GMT, + * ctime: Mon, 10 Oct 2011 23:24:11 GMT, + * birthtime: Mon, 10 Oct 2011 23:24:11 GMT } + * ``` + * @since v0.1.21 + */ + class Stats { + private constructor(); + } + interface StatsFsBase { + /** Type of file system. */ + type: T; + /** Optimal transfer block size. */ + bsize: T; + /** Total data blocks in file system. */ + blocks: T; + /** Free blocks in file system. */ + bfree: T; + /** Available blocks for unprivileged users */ + bavail: T; + /** Total file nodes in file system. */ + files: T; + /** Free file nodes in file system. */ + ffree: T; + } + interface StatsFs extends StatsFsBase {} + /** + * Provides information about a mounted file system. + * + * Objects returned from {@link statfs} and its synchronous counterpart are of + * this type. If `bigint` in the `options` passed to those methods is `true`, the + * numeric values will be `bigint` instead of `number`. + * + * ```console + * StatFs { + * type: 1397114950, + * bsize: 4096, + * blocks: 121938943, + * bfree: 61058895, + * bavail: 61058895, + * files: 999, + * ffree: 1000000 + * } + * ``` + * + * `bigint` version: + * + * ```console + * StatFs { + * type: 1397114950n, + * bsize: 4096n, + * blocks: 121938943n, + * bfree: 61058895n, + * bavail: 61058895n, + * files: 999n, + * ffree: 1000000n + * } + * ``` + * @since v19.6.0, v18.15.0 + */ + class StatsFs {} + interface BigIntStatsFs extends StatsFsBase {} + interface StatFsOptions { + bigint?: boolean | undefined; + } + /** + * A representation of a directory entry, which can be a file or a subdirectory + * within the directory, as returned by reading from an `fs.Dir`. The + * directory entry is a combination of the file name and file type pairs. + * + * Additionally, when {@link readdir} or {@link readdirSync} is called with + * the `withFileTypes` option set to `true`, the resulting array is filled with `fs.Dirent` objects, rather than strings or `Buffer` s. + * @since v10.10.0 + */ + class Dirent { + /** + * Returns `true` if the `fs.Dirent` object describes a regular file. + * @since v10.10.0 + */ + isFile(): boolean; + /** + * Returns `true` if the `fs.Dirent` object describes a file system + * directory. + * @since v10.10.0 + */ + isDirectory(): boolean; + /** + * Returns `true` if the `fs.Dirent` object describes a block device. + * @since v10.10.0 + */ + isBlockDevice(): boolean; + /** + * Returns `true` if the `fs.Dirent` object describes a character device. + * @since v10.10.0 + */ + isCharacterDevice(): boolean; + /** + * Returns `true` if the `fs.Dirent` object describes a symbolic link. + * @since v10.10.0 + */ + isSymbolicLink(): boolean; + /** + * Returns `true` if the `fs.Dirent` object describes a first-in-first-out + * (FIFO) pipe. + * @since v10.10.0 + */ + isFIFO(): boolean; + /** + * Returns `true` if the `fs.Dirent` object describes a socket. + * @since v10.10.0 + */ + isSocket(): boolean; + /** + * The file name that this `fs.Dirent` object refers to. The type of this + * value is determined by the `options.encoding` passed to {@link readdir} or {@link readdirSync}. + * @since v10.10.0 + */ + name: Name; + /** + * The path to the parent directory of the file this `fs.Dirent` object refers to. + * @since v20.12.0, v18.20.0 + */ + parentPath: string; + } + /** + * A class representing a directory stream. + * + * Created by {@link opendir}, {@link opendirSync}, or `fsPromises.opendir()`. + * + * ```js + * import { opendir } from 'node:fs/promises'; + * + * try { + * const dir = await opendir('./'); + * for await (const dirent of dir) + * console.log(dirent.name); + * } catch (err) { + * console.error(err); + * } + * ``` + * + * When using the async iterator, the `fs.Dir` object will be automatically + * closed after the iterator exits. + * @since v12.12.0 + */ + class Dir implements AsyncIterable { + /** + * The read-only path of this directory as was provided to {@link opendir},{@link opendirSync}, or `fsPromises.opendir()`. + * @since v12.12.0 + */ + readonly path: string; + /** + * Asynchronously iterates over the directory via `readdir(3)` until all entries have been read. + */ + [Symbol.asyncIterator](): NodeJS.AsyncIterator; + /** + * Asynchronously close the directory's underlying resource handle. + * Subsequent reads will result in errors. + * + * A promise is returned that will be fulfilled after the resource has been + * closed. + * @since v12.12.0 + */ + close(): Promise; + close(cb: NoParamCallback): void; + /** + * Synchronously close the directory's underlying resource handle. + * Subsequent reads will result in errors. + * @since v12.12.0 + */ + closeSync(): void; + /** + * Asynchronously read the next directory entry via [`readdir(3)`](http://man7.org/linux/man-pages/man3/readdir.3.html) as an `fs.Dirent`. + * + * A promise is returned that will be fulfilled with an `fs.Dirent`, or `null` if there are no more directory entries to read. + * + * Directory entries returned by this function are in no particular order as + * provided by the operating system's underlying directory mechanisms. + * Entries added or removed while iterating over the directory might not be + * included in the iteration results. + * @since v12.12.0 + * @return containing {fs.Dirent|null} + */ + read(): Promise; + read(cb: (err: NodeJS.ErrnoException | null, dirEnt: Dirent | null) => void): void; + /** + * Synchronously read the next directory entry as an `fs.Dirent`. See the + * POSIX [`readdir(3)`](http://man7.org/linux/man-pages/man3/readdir.3.html) documentation for more detail. + * + * If there are no more directory entries to read, `null` will be returned. + * + * Directory entries returned by this function are in no particular order as + * provided by the operating system's underlying directory mechanisms. + * Entries added or removed while iterating over the directory might not be + * included in the iteration results. + * @since v12.12.0 + */ + readSync(): Dirent | null; + /** + * Calls `dir.close()` if the directory handle is open, and returns a promise that + * fulfills when disposal is complete. + * @since v24.1.0 + */ + [Symbol.asyncDispose](): Promise; + /** + * Calls `dir.closeSync()` if the directory handle is open, and returns + * `undefined`. + * @since v24.1.0 + */ + [Symbol.dispose](): void; + } + /** + * Class: fs.StatWatcher + * @since v14.3.0, v12.20.0 + * Extends `EventEmitter` + * A successful call to {@link watchFile} method will return a new fs.StatWatcher object. + */ + interface StatWatcher extends EventEmitter { + /** + * When called, requests that the Node.js event loop _not_ exit so long as the `fs.StatWatcher` is active. Calling `watcher.ref()` multiple times will have + * no effect. + * + * By default, all `fs.StatWatcher` objects are "ref'ed", making it normally + * unnecessary to call `watcher.ref()` unless `watcher.unref()` had been + * called previously. + * @since v14.3.0, v12.20.0 + */ + ref(): this; + /** + * When called, the active `fs.StatWatcher` object will not require the Node.js + * event loop to remain active. If there is no other activity keeping the + * event loop running, the process may exit before the `fs.StatWatcher` object's + * callback is invoked. Calling `watcher.unref()` multiple times will have + * no effect. + * @since v14.3.0, v12.20.0 + */ + unref(): this; + } + interface FSWatcherEventMap { + "change": [eventType: string, filename: string | NonSharedBuffer]; + "close": []; + "error": [error: Error]; + } + interface FSWatcher extends InternalEventEmitter { + /** + * Stop watching for changes on the given `fs.FSWatcher`. Once stopped, the `fs.FSWatcher` object is no longer usable. + * @since v0.5.8 + */ + close(): void; + /** + * When called, requests that the Node.js event loop _not_ exit so long as the `fs.FSWatcher` is active. Calling `watcher.ref()` multiple times will have + * no effect. + * + * By default, all `fs.FSWatcher` objects are "ref'ed", making it normally + * unnecessary to call `watcher.ref()` unless `watcher.unref()` had been + * called previously. + * @since v14.3.0, v12.20.0 + */ + ref(): this; + /** + * When called, the active `fs.FSWatcher` object will not require the Node.js + * event loop to remain active. If there is no other activity keeping the + * event loop running, the process may exit before the `fs.FSWatcher` object's + * callback is invoked. Calling `watcher.unref()` multiple times will have + * no effect. + * @since v14.3.0, v12.20.0 + */ + unref(): this; + } + interface ReadStreamEventMap extends stream.ReadableEventMap { + "close": []; + "data": [chunk: string | NonSharedBuffer]; + "open": [fd: number]; + "ready": []; + } + /** + * Instances of `fs.ReadStream` cannot be constructed directly. They are created and + * returned using the `fs.createReadStream()` function. + * @since v0.1.93 + */ + class ReadStream extends stream.Readable { + close(callback?: (err?: NodeJS.ErrnoException | null) => void): void; + /** + * The number of bytes that have been read so far. + * @since v6.4.0 + */ + bytesRead: number; + /** + * The path to the file the stream is reading from as specified in the first + * argument to `fs.createReadStream()`. If `path` is passed as a string, then`readStream.path` will be a string. If `path` is passed as a `Buffer`, then`readStream.path` will be a + * `Buffer`. If `fd` is specified, then`readStream.path` will be `undefined`. + * @since v0.1.93 + */ + path: string | Buffer; + /** + * This property is `true` if the underlying file has not been opened yet, + * i.e. before the `'ready'` event is emitted. + * @since v11.2.0, v10.16.0 + */ + pending: boolean; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: ReadStreamEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: ReadStreamEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: ReadStreamEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: ReadStreamEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off(eventName: E, listener: (...args: ReadStreamEventMap[E]) => void): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on(eventName: E, listener: (...args: ReadStreamEventMap[E]) => void): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: ReadStreamEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: ReadStreamEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: ReadStreamEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: ReadStreamEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: ReadStreamEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface Utf8StreamOptions { + /** + * Appends writes to dest file instead of truncating it. + * @default true + */ + append?: boolean | undefined; + /** + * Which type of data you can send to the write + * function, supported values are `'utf8'` or `'buffer'`. + * @default 'utf8' + */ + contentMode?: "utf8" | "buffer" | undefined; + /** + * A path to a file to be written to (mode controlled by the + * append option). + */ + dest?: string | undefined; + /** + * A file descriptor, something that is returned by `fs.open()` + * or `fs.openSync()`. + */ + fd?: number | undefined; + /** + * An object that has the same API as the `fs` module, useful + * for mocking, testing, or customizing the behavior of the stream. + */ + fs?: object | undefined; + /** + * Perform a `fs.fsyncSync()` every time a write is + * completed. + */ + fsync?: boolean | undefined; + /** + * The maximum length of the internal buffer. If a write + * operation would cause the buffer to exceed `maxLength`, the data written is + * dropped and a drop event is emitted with the dropped data + */ + maxLength?: number | undefined; + /** + * The maximum number of bytes that can be written; + * @default 16384 + */ + maxWrite?: number | undefined; + /** + * The minimum length of the internal buffer that is + * required to be full before flushing. + */ + minLength?: number | undefined; + /** + * Ensure directory for `dest` file exists when true. + * @default false + */ + mkdir?: boolean | undefined; + /** + * Specify the creating file mode (see `fs.open()`). + */ + mode?: number | string | undefined; + /** + * Calls flush every `periodicFlush` milliseconds. + */ + periodicFlush?: number | undefined; + /** + * A function that will be called when `write()`, + * `writeSync()`, or `flushSync()` encounters an `EAGAIN` or `EBUSY` error. + * If the return value is `true` the operation will be retried, otherwise it + * will bubble the error. The `err` is the error that caused this function to + * be called, `writeBufferLen` is the length of the buffer that was written, + * and `remainingBufferLen` is the length of the remaining buffer that the + * stream did not try to write. + */ + retryEAGAIN?: ((err: Error | null, writeBufferLen: number, remainingBufferLen: number) => boolean) | undefined; + /** + * Perform writes synchronously. + */ + sync?: boolean | undefined; + } + interface Utf8StreamEventMap { + "close": []; + "drain": []; + "drop": [data: string | Buffer]; + "error": [error: Error]; + "finish": []; + "ready": []; + "write": [n: number]; + } + /** + * An optimized UTF-8 stream writer that allows for flushing all the internal + * buffering on demand. It handles `EAGAIN` errors correctly, allowing for + * customization, for example, by dropping content if the disk is busy. + * @since v24.6.0 + * @experimental + */ + class Utf8Stream implements EventEmitter { + constructor(options: Utf8StreamOptions); + /** + * Whether the stream is appending to the file or truncating it. + */ + readonly append: boolean; + /** + * The type of data that can be written to the stream. Supported + * values are `'utf8'` or `'buffer'`. + * @default 'utf8' + */ + readonly contentMode: "utf8" | "buffer"; + /** + * Close the stream immediately, without flushing the internal buffer. + */ + destroy(): void; + /** + * Close the stream gracefully, flushing the internal buffer before closing. + */ + end(): void; + /** + * The file descriptor that is being written to. + */ + readonly fd: number; + /** + * The file that is being written to. + */ + readonly file: string; + /** + * Writes the current buffer to the file if a write was not in progress. Do + * nothing if `minLength` is zero or if it is already writing. + */ + flush(callback: (err: Error | null) => void): void; + /** + * Flushes the buffered data synchronously. This is a costly operation. + */ + flushSync(): void; + /** + * Whether the stream is performing a `fs.fsyncSync()` after every + * write operation. + */ + readonly fsync: boolean; + /** + * The maximum length of the internal buffer. If a write + * operation would cause the buffer to exceed `maxLength`, the data written is + * dropped and a drop event is emitted with the dropped data. + */ + readonly maxLength: number; + /** + * The minimum length of the internal buffer that is required to be + * full before flushing. + */ + readonly minLength: number; + /** + * Whether the stream should ensure that the directory for the + * `dest` file exists. If `true`, it will create the directory if it does not + * exist. + * @default false + */ + readonly mkdir: boolean; + /** + * The mode of the file that is being written to. + */ + readonly mode: number | string; + /** + * The number of milliseconds between flushes. If set to `0`, no + * periodic flushes will be performed. + */ + readonly periodicFlush: number; + /** + * Reopen the file in place, useful for log rotation. + * @param file A path to a file to be written to (mode + * controlled by the append option). + */ + reopen(file: PathLike): void; + /** + * Whether the stream is writing synchronously or asynchronously. + */ + readonly sync: boolean; + /** + * When the `options.contentMode` is set to `'utf8'` when the stream is created, + * the `data` argument must be a string. If the `contentMode` is set to `'buffer'`, + * the `data` argument must be a `Buffer`. + * @param data The data to write. + */ + write(data: string | Buffer): boolean; + /** + * Whether the stream is currently writing data to the file. + */ + readonly writing: boolean; + /** + * Calls `utf8Stream.destroy()`. + */ + [Symbol.dispose](): void; + } + interface Utf8Stream extends InternalEventEmitter {} + interface WriteStreamEventMap extends stream.WritableEventMap { + "close": []; + "open": [fd: number]; + "ready": []; + } + /** + * Instances of `fs.WriteStream` cannot be constructed directly. They are created and + * returned using the `fs.createWriteStream()` function. + * @since v0.1.93 + */ + class WriteStream extends stream.Writable { + /** + * Closes `writeStream`. Optionally accepts a + * callback that will be executed once the `writeStream`is closed. + * @since v0.9.4 + */ + close(callback?: (err?: NodeJS.ErrnoException | null) => void): void; + /** + * The number of bytes written so far. Does not include data that is still queued + * for writing. + * @since v0.4.7 + */ + bytesWritten: number; + /** + * The path to the file the stream is writing to as specified in the first + * argument to {@link createWriteStream}. If `path` is passed as a string, then`writeStream.path` will be a string. If `path` is passed as a `Buffer`, then`writeStream.path` will be a + * `Buffer`. + * @since v0.1.93 + */ + path: string | Buffer; + /** + * This property is `true` if the underlying file has not been opened yet, + * i.e. before the `'ready'` event is emitted. + * @since v11.2.0 + */ + pending: boolean; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: WriteStreamEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: WriteStreamEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: WriteStreamEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: WriteStreamEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + /** + * Asynchronously rename file at `oldPath` to the pathname provided + * as `newPath`. In the case that `newPath` already exists, it will + * be overwritten. If there is a directory at `newPath`, an error will + * be raised instead. No arguments other than a possible exception are + * given to the completion callback. + * + * See also: [`rename(2)`](http://man7.org/linux/man-pages/man2/rename.2.html). + * + * ```js + * import { rename } from 'node:fs'; + * + * rename('oldFile.txt', 'newFile.txt', (err) => { + * if (err) throw err; + * console.log('Rename complete!'); + * }); + * ``` + * @since v0.0.2 + */ + function rename(oldPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; + 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; + } + /** + * Renames the file from `oldPath` to `newPath`. Returns `undefined`. + * + * See the POSIX [`rename(2)`](http://man7.org/linux/man-pages/man2/rename.2.html) documentation for more details. + * @since v0.1.21 + */ + function renameSync(oldPath: PathLike, newPath: PathLike): void; + /** + * Truncates the file. No arguments other than a possible exception are + * given to the completion callback. A file descriptor can also be passed as the + * first argument. In this case, `fs.ftruncate()` is called. + * + * ```js + * import { truncate } from 'node:fs'; + * // Assuming that 'path/file.txt' is a regular file. + * truncate('path/file.txt', (err) => { + * if (err) throw err; + * console.log('path/file.txt was truncated'); + * }); + * ``` + * + * Passing a file descriptor is deprecated and may result in an error being thrown + * in the future. + * + * See the POSIX [`truncate(2)`](http://man7.org/linux/man-pages/man2/truncate.2.html) documentation for more details. + * @since v0.8.6 + * @param [len=0] + */ + function truncate(path: PathLike, len: number | undefined, 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. + */ + function truncate(path: PathLike, callback: NoParamCallback): void; + 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): Promise; + } + /** + * Truncates the file. Returns `undefined`. A file descriptor can also be + * passed as the first argument. In this case, `fs.ftruncateSync()` is called. + * + * Passing a file descriptor is deprecated and may result in an error being thrown + * in the future. + * @since v0.8.6 + * @param [len=0] + */ + function truncateSync(path: PathLike, len?: number): void; + /** + * Truncates the file descriptor. No arguments other than a possible exception are + * given to the completion callback. + * + * See the POSIX [`ftruncate(2)`](http://man7.org/linux/man-pages/man2/ftruncate.2.html) documentation for more detail. + * + * If the file referred to by the file descriptor was larger than `len` bytes, only + * the first `len` bytes will be retained in the file. + * + * For example, the following program retains only the first four bytes of the + * file: + * + * ```js + * import { open, close, ftruncate } from 'node:fs'; + * + * function closeFd(fd) { + * close(fd, (err) => { + * if (err) throw err; + * }); + * } + * + * open('temp.txt', 'r+', (err, fd) => { + * if (err) throw err; + * + * try { + * ftruncate(fd, 4, (err) => { + * closeFd(fd); + * if (err) throw err; + * }); + * } catch (err) { + * closeFd(fd); + * if (err) throw err; + * } + * }); + * ``` + * + * If the file previously was shorter than `len` bytes, it is extended, and the + * extended part is filled with null bytes (`'\0'`): + * + * If `len` is negative then `0` will be used. + * @since v0.8.6 + * @param [len=0] + */ + function ftruncate(fd: number, len: number | undefined, 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; + 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): Promise; + } + /** + * Truncates the file descriptor. Returns `undefined`. + * + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link ftruncate}. + * @since v0.8.6 + * @param [len=0] + */ + function ftruncateSync(fd: number, len?: number): void; + /** + * Asynchronously changes owner and group of a file. No arguments other than a + * possible exception are given to the completion callback. + * + * See the POSIX [`chown(2)`](http://man7.org/linux/man-pages/man2/chown.2.html) documentation for more detail. + * @since v0.1.97 + */ + function chown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; + 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; + } + /** + * Synchronously changes owner and group of a file. Returns `undefined`. + * This is the synchronous version of {@link chown}. + * + * See the POSIX [`chown(2)`](http://man7.org/linux/man-pages/man2/chown.2.html) documentation for more detail. + * @since v0.1.97 + */ + function chownSync(path: PathLike, uid: number, gid: number): void; + /** + * Sets the owner of the file. No arguments other than a possible exception are + * given to the completion callback. + * + * See the POSIX [`fchown(2)`](http://man7.org/linux/man-pages/man2/fchown.2.html) documentation for more detail. + * @since v0.4.7 + */ + function fchown(fd: number, uid: number, gid: number, callback: NoParamCallback): void; + namespace fchown { + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + function __promisify__(fd: number, uid: number, gid: number): Promise; + } + /** + * Sets the owner of the file. Returns `undefined`. + * + * See the POSIX [`fchown(2)`](http://man7.org/linux/man-pages/man2/fchown.2.html) documentation for more detail. + * @since v0.4.7 + * @param uid The file's new owner's user id. + * @param gid The file's new group's group id. + */ + function fchownSync(fd: number, uid: number, gid: number): void; + /** + * Set the owner of the symbolic link. No arguments other than a possible + * exception are given to the completion callback. + * + * See the POSIX [`lchown(2)`](http://man7.org/linux/man-pages/man2/lchown.2.html) documentation for more detail. + */ + function lchown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; + 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; + } + /** + * Set the owner for the path. Returns `undefined`. + * + * See the POSIX [`lchown(2)`](http://man7.org/linux/man-pages/man2/lchown.2.html) documentation for more details. + * @param uid The file's new owner's user id. + * @param gid The file's new group's group id. + */ + function lchownSync(path: PathLike, uid: number, gid: number): void; + /** + * Changes the access and modification times of a file in the same way as {@link utimes}, with the difference that if the path refers to a symbolic + * link, then the link is not dereferenced: instead, the timestamps of the + * symbolic link itself are changed. + * + * No arguments other than a possible exception are given to the completion + * callback. + * @since v14.5.0, v12.19.0 + */ + function lutimes(path: PathLike, atime: TimeLike, mtime: TimeLike, callback: NoParamCallback): void; + namespace lutimes { + /** + * Changes the access and modification times of a file in the same way as `fsPromises.utimes()`, + * with the difference that if the path refers to a symbolic link, then the link is not + * dereferenced: instead, the timestamps of the symbolic link itself are changed. + * @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: TimeLike, mtime: TimeLike): Promise; + } + /** + * Change the file system timestamps of the symbolic link referenced by `path`. + * Returns `undefined`, or throws an exception when parameters are incorrect or + * the operation fails. This is the synchronous version of {@link lutimes}. + * @since v14.5.0, v12.19.0 + */ + function lutimesSync(path: PathLike, atime: TimeLike, mtime: TimeLike): void; + /** + * Asynchronously changes the permissions of a file. No arguments other than a + * possible exception are given to the completion callback. + * + * See the POSIX [`chmod(2)`](http://man7.org/linux/man-pages/man2/chmod.2.html) documentation for more detail. + * + * ```js + * import { chmod } from 'node:fs'; + * + * chmod('my_file.txt', 0o775, (err) => { + * if (err) throw err; + * console.log('The permissions for file "my_file.txt" have been changed!'); + * }); + * ``` + * @since v0.1.30 + */ + function chmod(path: PathLike, mode: Mode, callback: NoParamCallback): void; + 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: Mode): Promise; + } + /** + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link chmod}. + * + * See the POSIX [`chmod(2)`](http://man7.org/linux/man-pages/man2/chmod.2.html) documentation for more detail. + * @since v0.6.7 + */ + function chmodSync(path: PathLike, mode: Mode): void; + /** + * Sets the permissions on the file. No arguments other than a possible exception + * are given to the completion callback. + * + * See the POSIX [`fchmod(2)`](http://man7.org/linux/man-pages/man2/fchmod.2.html) documentation for more detail. + * @since v0.4.7 + */ + function fchmod(fd: number, mode: Mode, callback: NoParamCallback): void; + 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: Mode): Promise; + } + /** + * Sets the permissions on the file. Returns `undefined`. + * + * See the POSIX [`fchmod(2)`](http://man7.org/linux/man-pages/man2/fchmod.2.html) documentation for more detail. + * @since v0.4.7 + */ + function fchmodSync(fd: number, mode: Mode): void; + /** + * Changes the permissions on a symbolic link. No arguments other than a possible + * exception are given to the completion callback. + * + * This method is only implemented on macOS. + * + * See the POSIX [`lchmod(2)`](https://www.freebsd.org/cgi/man.cgi?query=lchmod&sektion=2) documentation for more detail. + * @deprecated Since v0.4.7 + */ + function lchmod(path: PathLike, mode: Mode, callback: NoParamCallback): void; + /** @deprecated */ + 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: Mode): Promise; + } + /** + * Changes the permissions on a symbolic link. Returns `undefined`. + * + * This method is only implemented on macOS. + * + * See the POSIX [`lchmod(2)`](https://www.freebsd.org/cgi/man.cgi?query=lchmod&sektion=2) documentation for more detail. + * @deprecated Since v0.4.7 + */ + function lchmodSync(path: PathLike, mode: Mode): void; + /** + * Asynchronous [`stat(2)`](http://man7.org/linux/man-pages/man2/stat.2.html). The callback gets two arguments `(err, stats)` where`stats` is an `fs.Stats` object. + * + * In case of an error, the `err.code` will be one of `Common System Errors`. + * + * {@link stat} follows symbolic links. Use {@link lstat} to look at the + * links themselves. + * + * Using `fs.stat()` to check for the existence of a file before calling`fs.open()`, `fs.readFile()`, or `fs.writeFile()` is not recommended. + * Instead, user code should open/read/write the file directly and handle the + * error raised if the file is not available. + * + * To check if a file exists without manipulating it afterwards, {@link access} is recommended. + * + * For example, given the following directory structure: + * + * ```text + * - txtDir + * -- file.txt + * - app.js + * ``` + * + * The next program will check for the stats of the given paths: + * + * ```js + * import { stat } from 'node:fs'; + * + * const pathsToCheck = ['./txtDir', './txtDir/file.txt']; + * + * for (let i = 0; i < pathsToCheck.length; i++) { + * stat(pathsToCheck[i], (err, stats) => { + * console.log(stats.isDirectory()); + * console.log(stats); + * }); + * } + * ``` + * + * The resulting output will resemble: + * + * ```console + * true + * Stats { + * dev: 16777220, + * mode: 16877, + * nlink: 3, + * uid: 501, + * gid: 20, + * rdev: 0, + * blksize: 4096, + * ino: 14214262, + * size: 96, + * blocks: 0, + * atimeMs: 1561174653071.963, + * mtimeMs: 1561174614583.3518, + * ctimeMs: 1561174626623.5366, + * birthtimeMs: 1561174126937.2893, + * atime: 2019-06-22T03:37:33.072Z, + * mtime: 2019-06-22T03:36:54.583Z, + * ctime: 2019-06-22T03:37:06.624Z, + * birthtime: 2019-06-22T03:28:46.937Z + * } + * false + * Stats { + * dev: 16777220, + * mode: 33188, + * nlink: 1, + * uid: 501, + * gid: 20, + * rdev: 0, + * blksize: 4096, + * ino: 14214074, + * size: 8, + * blocks: 8, + * atimeMs: 1561174616618.8555, + * mtimeMs: 1561174614584, + * ctimeMs: 1561174614583.8145, + * birthtimeMs: 1561174007710.7478, + * atime: 2019-06-22T03:36:56.619Z, + * mtime: 2019-06-22T03:36:54.584Z, + * ctime: 2019-06-22T03:36:54.584Z, + * birthtime: 2019-06-22T03:26:47.711Z + * } + * ``` + * @since v0.0.2 + */ + function stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + function stat( + path: PathLike, + options: + | (StatOptions & { + bigint?: false | undefined; + throwIfNoEntry?: true | undefined; + }) + | undefined, + callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void, + ): void; + function stat( + path: PathLike, + options: StatOptions & { + bigint: true; + throwIfNoEntry?: true | undefined; + }, + callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats) => void, + ): void; + function stat( + path: PathLike, + options: StatOptions & { + bigint?: false | undefined; + throwIfNoEntry: false; + }, + callback: (err: NodeJS.ErrnoException | null, stats: Stats | undefined) => void, + ): void; + function stat( + path: PathLike, + options: StatOptions & { + bigint: true; + throwIfNoEntry: false; + }, + callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats | undefined) => void, + ): void; + function stat( + path: PathLike, + options: StatOptions & { + throwIfNoEntry?: true | undefined; + }, + callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats) => void, + ): void; + function stat( + path: PathLike, + options: StatOptions | undefined, + callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats | undefined) => void, + ): void; + namespace stat { + // TODO: aliased promisify signatures + /** + * 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; + function __promisify__( + path: PathLike, + options?: StatOptions & { + bigint?: false | undefined; + throwIfNoEntry?: true | undefined; + }, + ): Promise; + function __promisify__( + path: PathLike, + options: StatOptions & { + bigint: true; + throwIfNoEntry?: true | undefined; + }, + ): Promise; + function __promisify__( + path: PathLike, + options: StatOptions & { + bigint?: false | undefined; + throwIfNoEntry: false; + }, + ): Promise; + function __promisify__( + path: PathLike, + options: StatOptions & { + bigint: true; + throwIfNoEntry: false; + }, + ): Promise; + function __promisify__( + path: PathLike, + options: StatOptions & { + throwIfNoEntry?: true | undefined; + }, + ): Promise; + function __promisify__(path: PathLike, options?: StatOptions): Promise; + } + /** @deprecated This orphaned interface will be removed in a future version. */ + interface StatSyncFn extends Function { + (path: PathLike, options?: undefined): Stats; + ( + path: PathLike, + options?: StatSyncOptions & { + bigint?: false | undefined; + throwIfNoEntry: false; + }, + ): Stats | undefined; + ( + path: PathLike, + options: StatSyncOptions & { + bigint: true; + throwIfNoEntry: false; + }, + ): BigIntStats | undefined; + ( + path: PathLike, + options?: StatSyncOptions & { + bigint?: false | undefined; + }, + ): Stats; + ( + path: PathLike, + options: StatSyncOptions & { + bigint: true; + }, + ): BigIntStats; + ( + path: PathLike, + options: StatSyncOptions & { + bigint: boolean; + throwIfNoEntry?: false | undefined; + }, + ): Stats | BigIntStats; + (path: PathLike, options?: StatSyncOptions): Stats | BigIntStats | undefined; + } + /** + * 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; + function statSync( + path: PathLike, + options?: StatOptions & { + bigint?: false | undefined; + throwIfNoEntry?: true | undefined; + }, + ): Stats; + function statSync( + path: PathLike, + options: StatOptions & { + bigint: true; + throwIfNoEntry?: true | undefined; + }, + ): BigIntStats; + function statSync( + path: PathLike, + options: StatOptions & { + bigint?: false | undefined; + throwIfNoEntry: false; + }, + ): Stats | undefined; + function statSync( + path: PathLike, + options: StatOptions & { + bigint: true; + throwIfNoEntry: false; + }, + ): BigIntStats | undefined; + function statSync( + path: PathLike, + options: StatOptions & { + throwIfNoEntry?: true | undefined; + }, + ): Stats | BigIntStats; + function statSync(path: PathLike, options?: StatOptions): Stats | BigIntStats | undefined; + /** + * Invokes the callback with the `fs.Stats` for the file descriptor. + * + * See the POSIX [`fstat(2)`](http://man7.org/linux/man-pages/man2/fstat.2.html) documentation for more detail. + * @since v0.1.95 + */ + function fstat(fd: number, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + function fstat( + fd: number, + options: + | (StatOptions & { + bigint?: false | undefined; + }) + | undefined, + callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void, + ): void; + function fstat( + fd: number, + options: StatOptions & { + bigint: true; + }, + callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats) => void, + ): void; + function fstat( + fd: number, + options: StatOptions | undefined, + callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats) => void, + ): void; + namespace fstat { + /** + * Asynchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + function __promisify__( + fd: number, + options?: StatOptions & { + bigint?: false | undefined; + }, + ): Promise; + function __promisify__( + fd: number, + options: StatOptions & { + bigint: true; + }, + ): Promise; + function __promisify__(fd: number, options?: StatOptions): Promise; + } + /** + * Retrieves the `fs.Stats` for the file descriptor. + * + * See the POSIX [`fstat(2)`](http://man7.org/linux/man-pages/man2/fstat.2.html) documentation for more detail. + * @since v0.1.95 + */ + function fstatSync( + fd: number, + options?: StatOptions & { + bigint?: false | undefined; + }, + ): Stats; + function fstatSync( + fd: number, + options: StatOptions & { + bigint: true; + }, + ): BigIntStats; + function fstatSync(fd: number, options?: StatOptions): Stats | BigIntStats; + /** + * Retrieves the `fs.Stats` for the symbolic link referred to by the path. + * The callback gets two arguments `(err, stats)` where `stats` is a `fs.Stats` object. `lstat()` is identical to `stat()`, except that if `path` is a symbolic + * link, then the link itself is stat-ed, not the file that it refers to. + * + * See the POSIX [`lstat(2)`](http://man7.org/linux/man-pages/man2/lstat.2.html) documentation for more details. + * @since v0.1.30 + */ + function lstat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + function lstat( + path: PathLike, + options: + | (StatOptions & { + bigint?: false | undefined; + }) + | undefined, + callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void, + ): void; + function lstat( + path: PathLike, + options: StatOptions & { + bigint: true; + }, + callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats) => void, + ): void; + function lstat( + path: PathLike, + options: StatOptions | undefined, + callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats) => void, + ): void; + 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, + options?: StatOptions & { + bigint?: false | undefined; + }, + ): Promise; + function __promisify__( + path: PathLike, + options: StatOptions & { + bigint: true; + }, + ): Promise; + function __promisify__(path: PathLike, options?: StatOptions): Promise; + } + /** + * Asynchronous [`statfs(2)`](http://man7.org/linux/man-pages/man2/statfs.2.html). Returns information about the mounted file system which + * contains `path`. The callback gets two arguments `(err, stats)` where `stats`is an `fs.StatFs` object. + * + * In case of an error, the `err.code` will be one of `Common System Errors`. + * @since v19.6.0, v18.15.0 + * @param path A path to an existing file or directory on the file system to be queried. + */ + function statfs(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: StatsFs) => void): void; + function statfs( + path: PathLike, + options: + | (StatFsOptions & { + bigint?: false | undefined; + }) + | undefined, + callback: (err: NodeJS.ErrnoException | null, stats: StatsFs) => void, + ): void; + function statfs( + path: PathLike, + options: StatFsOptions & { + bigint: true; + }, + callback: (err: NodeJS.ErrnoException | null, stats: BigIntStatsFs) => void, + ): void; + function statfs( + path: PathLike, + options: StatFsOptions | undefined, + callback: (err: NodeJS.ErrnoException | null, stats: StatsFs | BigIntStatsFs) => void, + ): void; + namespace statfs { + /** + * Asynchronous statfs(2) - Returns information about the mounted file system which contains path. The callback gets two arguments (err, stats) where stats is an object. + * @param path A path to an existing file or directory on the file system to be queried. + */ + function __promisify__( + path: PathLike, + options?: StatFsOptions & { + bigint?: false | undefined; + }, + ): Promise; + function __promisify__( + path: PathLike, + options: StatFsOptions & { + bigint: true; + }, + ): Promise; + function __promisify__(path: PathLike, options?: StatFsOptions): Promise; + } + /** + * Synchronous [`statfs(2)`](http://man7.org/linux/man-pages/man2/statfs.2.html). Returns information about the mounted file system which + * contains `path`. + * + * In case of an error, the `err.code` will be one of `Common System Errors`. + * @since v19.6.0, v18.15.0 + * @param path A path to an existing file or directory on the file system to be queried. + */ + function statfsSync( + path: PathLike, + options?: StatFsOptions & { + bigint?: false | undefined; + }, + ): StatsFs; + function statfsSync( + path: PathLike, + options: StatFsOptions & { + bigint: true; + }, + ): BigIntStatsFs; + function statfsSync(path: PathLike, options?: StatFsOptions): StatsFs | BigIntStatsFs; + /** + * 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; + function lstatSync( + path: PathLike, + options?: StatOptions & { + bigint?: false | undefined; + throwIfNoEntry?: true | undefined; + }, + ): Stats; + function lstatSync( + path: PathLike, + options: StatOptions & { + bigint: true; + throwIfNoEntry?: true | undefined; + }, + ): BigIntStats; + function lstatSync( + path: PathLike, + options: StatOptions & { + bigint?: false | undefined; + throwIfNoEntry: false; + }, + ): Stats | undefined; + function lstatSync( + path: PathLike, + options: StatOptions & { + bigint: true; + throwIfNoEntry: false; + }, + ): BigIntStats | undefined; + function lstatSync( + path: PathLike, + options: StatOptions & { + throwIfNoEntry?: true | undefined; + }, + ): Stats | BigIntStats; + function lstatSync(path: PathLike, options?: StatOptions): Stats | BigIntStats | undefined; + /** + * Creates a new link from the `existingPath` to the `newPath`. See the POSIX [`link(2)`](http://man7.org/linux/man-pages/man2/link.2.html) documentation for more detail. No arguments other than + * a possible + * exception are given to the completion callback. + * @since v0.1.31 + */ + function link(existingPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; + 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 __promisify__(existingPath: PathLike, newPath: PathLike): Promise; + } + /** + * Creates a new link from the `existingPath` to the `newPath`. See the POSIX [`link(2)`](http://man7.org/linux/man-pages/man2/link.2.html) documentation for more detail. Returns `undefined`. + * @since v0.1.31 + */ + function linkSync(existingPath: PathLike, newPath: PathLike): void; + /** + * Creates the link called `path` pointing to `target`. No arguments other than a + * possible exception are given to the completion callback. + * + * See the POSIX [`symlink(2)`](http://man7.org/linux/man-pages/man2/symlink.2.html) documentation for more details. + * + * The `type` argument is only available on Windows and ignored on other platforms. + * It can be set to `'dir'`, `'file'`, or `'junction'`. If the `type` argument is + * not a string, Node.js will autodetect `target` type and use `'file'` or `'dir'`. + * If the `target` does not exist, `'file'` will be used. Windows junction points + * require the destination path to be absolute. When using `'junction'`, the`target` argument will automatically be normalized to absolute path. Junction + * points on NTFS volumes can only point to directories. + * + * Relative targets are relative to the link's parent directory. + * + * ```js + * import { symlink } from 'node:fs'; + * + * symlink('./mew', './mewtwo', callback); + * ``` + * + * The above example creates a symbolic link `mewtwo` which points to `mew` in the + * same directory: + * + * ```bash + * $ tree . + * . + * ├── mew + * └── mewtwo -> ./mew + * ``` + * @since v0.1.31 + * @param [type='null'] + */ + 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; + 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"; + } + /** + * Returns `undefined`. + * + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link symlink}. + * @since v0.1.31 + * @param [type='null'] + */ + function symlinkSync(target: PathLike, path: PathLike, type?: symlink.Type | null): void; + /** + * Reads the contents of the symbolic link referred to by `path`. The callback gets + * two arguments `(err, linkString)`. + * + * See the POSIX [`readlink(2)`](http://man7.org/linux/man-pages/man2/readlink.2.html) documentation for more details. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use for + * the link path passed to the callback. If the `encoding` is set to `'buffer'`, + * the link path returned will be passed as a `Buffer` object. + * @since v0.1.31 + */ + function readlink( + path: PathLike, + options: EncodingOption, + 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: BufferEncodingOption, + callback: (err: NodeJS.ErrnoException | null, linkString: NonSharedBuffer) => 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: EncodingOption, + callback: (err: NodeJS.ErrnoException | null, linkString: string | NonSharedBuffer) => 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; + 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?: EncodingOption): 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: BufferEncodingOption): 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?: EncodingOption): Promise; + } + /** + * Returns the symbolic link's string value. + * + * See the POSIX [`readlink(2)`](http://man7.org/linux/man-pages/man2/readlink.2.html) documentation for more details. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use for + * the link path returned. If the `encoding` is set to `'buffer'`, + * the link path returned will be passed as a `Buffer` object. + * @since v0.1.31 + */ + function readlinkSync(path: PathLike, options?: EncodingOption): 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: BufferEncodingOption): NonSharedBuffer; + /** + * 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?: EncodingOption): string | NonSharedBuffer; + /** + * Asynchronously computes the canonical pathname by resolving `.`, `..`, and + * symbolic links. + * + * A canonical pathname is not necessarily unique. Hard links and bind mounts can + * expose a file system entity through many pathnames. + * + * This function behaves like [`realpath(3)`](http://man7.org/linux/man-pages/man3/realpath.3.html), with some exceptions: + * + * 1. No case conversion is performed on case-insensitive file systems. + * 2. The maximum number of symbolic links is platform-independent and generally + * (much) higher than what the native [`realpath(3)`](http://man7.org/linux/man-pages/man3/realpath.3.html) implementation supports. + * + * The `callback` gets two arguments `(err, resolvedPath)`. May use `process.cwd` to resolve relative paths. + * + * Only paths that can be converted to UTF8 strings are supported. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use for + * the path passed to the callback. If the `encoding` is set to `'buffer'`, + * the path returned will be passed as a `Buffer` object. + * + * If `path` resolves to a socket or a pipe, the function will return a system + * dependent name for that object. + * @since v0.1.31 + */ + function realpath( + path: PathLike, + options: EncodingOption, + 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: BufferEncodingOption, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: NonSharedBuffer) => 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: EncodingOption, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | NonSharedBuffer) => 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; + 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?: EncodingOption): 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: BufferEncodingOption): 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?: EncodingOption): Promise; + /** + * Asynchronous [`realpath(3)`](http://man7.org/linux/man-pages/man3/realpath.3.html). + * + * The `callback` gets two arguments `(err, resolvedPath)`. + * + * Only paths that can be converted to UTF8 strings are supported. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use for + * the path passed to the callback. If the `encoding` is set to `'buffer'`, + * the path returned will be passed as a `Buffer` object. + * + * On Linux, when Node.js is linked against musl libc, the procfs file system must + * be mounted on `/proc` in order for this function to work. Glibc does not have + * this restriction. + * @since v9.2.0 + */ + function native( + path: PathLike, + options: EncodingOption, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void, + ): void; + function native( + path: PathLike, + options: BufferEncodingOption, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: NonSharedBuffer) => void, + ): void; + function native( + path: PathLike, + options: EncodingOption, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | NonSharedBuffer) => void, + ): void; + function native( + path: PathLike, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void, + ): void; + } + /** + * Returns the resolved pathname. + * + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link realpath}. + * @since v0.1.31 + */ + function realpathSync(path: PathLike, options?: EncodingOption): 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: BufferEncodingOption): NonSharedBuffer; + /** + * 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?: EncodingOption): string | NonSharedBuffer; + namespace realpathSync { + function native(path: PathLike, options?: EncodingOption): string; + function native(path: PathLike, options: BufferEncodingOption): NonSharedBuffer; + function native(path: PathLike, options?: EncodingOption): string | NonSharedBuffer; + } + /** + * Asynchronously removes a file or symbolic link. No arguments other than a + * possible exception are given to the completion callback. + * + * ```js + * import { unlink } from 'node:fs'; + * // Assuming that 'path/file.txt' is a regular file. + * unlink('path/file.txt', (err) => { + * if (err) throw err; + * console.log('path/file.txt was deleted'); + * }); + * ``` + * + * `fs.unlink()` will not work on a directory, empty or otherwise. To remove a + * directory, use {@link rmdir}. + * + * See the POSIX [`unlink(2)`](http://man7.org/linux/man-pages/man2/unlink.2.html) documentation for more details. + * @since v0.0.2 + */ + function unlink(path: PathLike, callback: NoParamCallback): void; + 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)`](http://man7.org/linux/man-pages/man2/unlink.2.html). Returns `undefined`. + * @since v0.1.21 + */ + function unlinkSync(path: PathLike): void; + /** @deprecated `rmdir()` no longer provides any options. This interface will be removed in a future version. */ + // TODO: remove in future major + interface RmDirOptions {} + /** + * Asynchronous [`rmdir(2)`](http://man7.org/linux/man-pages/man2/rmdir.2.html). No arguments other than a possible exception are given + * to the completion callback. + * + * Using `fs.rmdir()` on a file (not a directory) results in an `ENOENT` error on + * Windows and an `ENOTDIR` error on POSIX. + * + * To get a behavior similar to the `rm -rf` Unix command, use {@link rm} with options `{ recursive: true, force: true }`. + * @since v0.0.2 + */ + function rmdir(path: PathLike, callback: NoParamCallback): void; + 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): Promise; + } + /** + * Synchronous [`rmdir(2)`](http://man7.org/linux/man-pages/man2/rmdir.2.html). Returns `undefined`. + * + * Using `fs.rmdirSync()` on a file (not a directory) results in an `ENOENT` error + * on Windows and an `ENOTDIR` error on POSIX. + * + * To get a behavior similar to the `rm -rf` Unix command, use {@link rmSync} with options `{ recursive: true, force: true }`. + * @since v0.1.21 + */ + function rmdirSync(path: PathLike): void; + interface RmOptions { + /** + * When `true`, exceptions will be ignored if `path` does not exist. + * @default false + */ + force?: boolean | undefined; + /** + * If an `EBUSY`, `EMFILE`, `ENFILE`, `ENOTEMPTY`, or + * `EPERM` error is encountered, Node.js will retry the operation with a linear + * backoff wait of `retryDelay` ms longer on each try. This option represents the + * number of retries. This option is ignored if the `recursive` option is not + * `true`. + * @default 0 + */ + maxRetries?: number | undefined; + /** + * If `true`, perform a recursive directory removal. In + * recursive mode, operations are retried on failure. + * @default false + */ + recursive?: boolean | undefined; + /** + * The amount of time in milliseconds to wait between retries. + * This option is ignored if the `recursive` option is not `true`. + * @default 100 + */ + retryDelay?: number | undefined; + } + /** + * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). No arguments other than a possible exception are given to the + * completion callback. + * @since v14.14.0 + */ + function rm(path: PathLike, callback: NoParamCallback): void; + function rm(path: PathLike, options: RmOptions, callback: NoParamCallback): void; + namespace rm { + /** + * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). + */ + function __promisify__(path: PathLike, options?: RmOptions): Promise; + } + /** + * Synchronously removes files and directories (modeled on the standard POSIX `rm` utility). Returns `undefined`. + * @since v14.14.0 + */ + function rmSync(path: PathLike, options?: RmOptions): void; + interface MakeDirectoryOptions { + /** + * Indicates whether parent folders should be created. + * If a folder was created, the path to the first created folder will be returned. + * @default false + */ + recursive?: boolean | undefined; + /** + * A file mode. If a string is passed, it is parsed as an octal integer. If not specified + * @default 0o777 + */ + mode?: Mode | undefined; + } + /** + * Asynchronously creates a directory. + * + * The callback is given a possible exception and, if `recursive` is `true`, the + * first directory path created, `(err[, path])`.`path` can still be `undefined` when `recursive` is `true`, if no directory was + * created (for instance, if it was previously created). + * + * The optional `options` argument can be an integer specifying `mode` (permission + * and sticky bits), or an object with a `mode` property and a `recursive` property indicating whether parent directories should be created. Calling `fs.mkdir()` when `path` is a directory that + * exists results in an error only + * when `recursive` is false. If `recursive` is false and the directory exists, + * an `EEXIST` error occurs. + * + * ```js + * import { mkdir } from 'node:fs'; + * + * // Create ./tmp/a/apple, regardless of whether ./tmp and ./tmp/a exist. + * mkdir('./tmp/a/apple', { recursive: true }, (err) => { + * if (err) throw err; + * }); + * ``` + * + * On Windows, using `fs.mkdir()` on the root directory even with recursion will + * result in an error: + * + * ```js + * import { mkdir } from 'node:fs'; + * + * mkdir('/', { recursive: true }, (err) => { + * // => [Error: EPERM: operation not permitted, mkdir 'C:\'] + * }); + * ``` + * + * See the POSIX [`mkdir(2)`](http://man7.org/linux/man-pages/man2/mkdir.2.html) documentation for more details. + * @since v0.1.8 + */ + function mkdir( + path: PathLike, + options: MakeDirectoryOptions & { + recursive: true; + }, + callback: (err: NodeJS.ErrnoException | null, path?: string) => void, + ): void; + /** + * 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: + | Mode + | (MakeDirectoryOptions & { + recursive?: false | undefined; + }) + | null + | undefined, + callback: NoParamCallback, + ): void; + /** + * 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: Mode | MakeDirectoryOptions | null | undefined, + callback: (err: NodeJS.ErrnoException | null, path?: string) => void, + ): 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; + 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: MakeDirectoryOptions & { + recursive: true; + }, + ): 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 __promisify__( + path: PathLike, + options?: + | Mode + | (MakeDirectoryOptions & { + recursive?: false | undefined; + }) + | null, + ): 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 __promisify__( + path: PathLike, + options?: Mode | MakeDirectoryOptions | null, + ): Promise; + } + /** + * Synchronously creates a directory. Returns `undefined`, or if `recursive` is `true`, the first directory path created. + * This is the synchronous version of {@link mkdir}. + * + * See the POSIX [`mkdir(2)`](http://man7.org/linux/man-pages/man2/mkdir.2.html) documentation for more details. + * @since v0.1.21 + */ + function mkdirSync( + path: PathLike, + options: MakeDirectoryOptions & { + recursive: true; + }, + ): string | undefined; + /** + * 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?: + | Mode + | (MakeDirectoryOptions & { + recursive?: false | undefined; + }) + | null, + ): void; + /** + * 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?: Mode | MakeDirectoryOptions | null): string | undefined; + /** + * Creates a unique temporary directory. + * + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. Due to platform + * inconsistencies, avoid trailing `X` characters in `prefix`. Some platforms, + * notably the BSDs, can return more than six random characters, and replace + * trailing `X` characters in `prefix` with random characters. + * + * The created directory path is passed as a string to the callback's second + * parameter. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use. + * + * ```js + * import { mkdtemp } from 'node:fs'; + * import { join } from 'node:path'; + * import { tmpdir } from 'node:os'; + * + * mkdtemp(join(tmpdir(), 'foo-'), (err, directory) => { + * if (err) throw err; + * console.log(directory); + * // Prints: /tmp/foo-itXde2 or C:\Users\...\AppData\Local\Temp\foo-itXde2 + * }); + * ``` + * + * The `fs.mkdtemp()` method will append the six randomly selected characters + * directly to the `prefix` string. For instance, given a directory `/tmp`, if the + * intention is to create a temporary directory _within_`/tmp`, the `prefix`must end with a trailing platform-specific path separator + * (`import { sep } from 'node:path'`). + * + * ```js + * import { tmpdir } from 'node:os'; + * import { mkdtemp } from 'node:fs'; + * + * // The parent directory for the new temporary directory + * const tmpDir = tmpdir(); + * + * // This method is *INCORRECT*: + * mkdtemp(tmpDir, (err, directory) => { + * if (err) throw err; + * console.log(directory); + * // Will print something similar to `/tmpabc123`. + * // A new temporary directory is created at the file system root + * // rather than *within* the /tmp directory. + * }); + * + * // This method is *CORRECT*: + * import { sep } from 'node:path'; + * mkdtemp(`${tmpDir}${sep}`, (err, directory) => { + * if (err) throw err; + * console.log(directory); + * // Will print something similar to `/tmp/abc123`. + * // A new temporary directory is created within + * // the /tmp directory. + * }); + * ``` + * @since v5.10.0 + */ + function mkdtemp( + prefix: string, + options: EncodingOption, + 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: BufferEncodingOption, + callback: (err: NodeJS.ErrnoException | null, folder: NonSharedBuffer) => 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: EncodingOption, + callback: (err: NodeJS.ErrnoException | null, folder: string | NonSharedBuffer) => 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; + 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?: EncodingOption): 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: BufferEncodingOption): 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?: EncodingOption): Promise; + } + /** + * Returns the created directory path. + * + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link mkdtemp}. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use. + * @since v5.10.0 + */ + function mkdtempSync(prefix: string, options?: EncodingOption): 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: BufferEncodingOption): NonSharedBuffer; + /** + * 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?: EncodingOption): string | NonSharedBuffer; + interface DisposableTempDir extends Disposable { + /** + * The path of the created directory. + */ + path: string; + /** + * A function which removes the created directory. + */ + remove(): void; + /** + * The same as `remove`. + */ + [Symbol.dispose](): void; + } + /** + * Returns a disposable object whose `path` property holds the created directory + * path. When the object is disposed, the directory and its contents will be + * removed if it still exists. If the directory cannot be deleted, disposal will + * throw an error. The object has a `remove()` method which will perform the same + * task. + * + * + * + * For detailed information, see the documentation of `fs.mkdtemp()`. + * + * There is no callback-based version of this API because it is designed for use + * with the `using` syntax. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use. + * @since v24.4.0 + */ + function mkdtempDisposableSync(prefix: string, options?: EncodingOption): DisposableTempDir; + /** + * Reads the contents of a directory. The callback gets two arguments `(err, files)` where `files` is an array of the names of the files in the directory excluding `'.'` and `'..'`. + * + * See the POSIX [`readdir(3)`](http://man7.org/linux/man-pages/man3/readdir.3.html) documentation for more details. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use for + * the filenames passed to the callback. If the `encoding` is set to `'buffer'`, + * the filenames returned will be passed as `Buffer` objects. + * + * If `options.withFileTypes` is set to `true`, the `files` array will contain `fs.Dirent` objects. + * @since v0.1.8 + */ + function readdir( + path: PathLike, + options: + | { + encoding: BufferEncoding | null; + withFileTypes?: false | undefined; + recursive?: boolean | undefined; + } + | 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 | undefined; + recursive?: boolean | undefined; + } + | "buffer", + callback: (err: NodeJS.ErrnoException | null, files: NonSharedBuffer[]) => 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: + | (ObjectEncodingOptions & { + withFileTypes?: false | undefined; + recursive?: boolean | undefined; + }) + | BufferEncoding + | undefined + | null, + callback: (err: NodeJS.ErrnoException | null, files: string[] | NonSharedBuffer[]) => 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: ObjectEncodingOptions & { + withFileTypes: true; + recursive?: boolean | undefined; + }, + callback: (err: NodeJS.ErrnoException | null, files: Dirent[]) => 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 Must include `withFileTypes: true` and `encoding: 'buffer'`. + */ + function readdir( + path: PathLike, + options: { + encoding: "buffer"; + withFileTypes: true; + recursive?: boolean | undefined; + }, + callback: (err: NodeJS.ErrnoException | null, files: Dirent[]) => void, + ): void; + 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 | undefined; + recursive?: boolean | undefined; + } + | 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 | undefined; + recursive?: boolean | undefined; + }, + ): 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?: + | (ObjectEncodingOptions & { + withFileTypes?: false | undefined; + recursive?: boolean | undefined; + }) + | 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 If called with `withFileTypes: true` the result data will be an array of Dirent + */ + function __promisify__( + path: PathLike, + options: ObjectEncodingOptions & { + withFileTypes: true; + recursive?: boolean | undefined; + }, + ): 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 Must include `withFileTypes: true` and `encoding: 'buffer'`. + */ + function __promisify__( + path: PathLike, + options: { + encoding: "buffer"; + withFileTypes: true; + recursive?: boolean | undefined; + }, + ): Promise[]>; + } + /** + * Reads the contents of the directory. + * + * See the POSIX [`readdir(3)`](http://man7.org/linux/man-pages/man3/readdir.3.html) documentation for more details. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use for + * the filenames returned. If the `encoding` is set to `'buffer'`, + * the filenames returned will be passed as `Buffer` objects. + * + * If `options.withFileTypes` is set to `true`, the result will contain `fs.Dirent` objects. + * @since v0.1.21 + */ + function readdirSync( + path: PathLike, + options?: + | { + encoding: BufferEncoding | null; + withFileTypes?: false | undefined; + recursive?: boolean | undefined; + } + | 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 | undefined; + recursive?: boolean | undefined; + } + | "buffer", + ): NonSharedBuffer[]; + /** + * 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?: + | (ObjectEncodingOptions & { + withFileTypes?: false | undefined; + recursive?: boolean | undefined; + }) + | BufferEncoding + | null, + ): string[] | NonSharedBuffer[]; + /** + * 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: ObjectEncodingOptions & { + withFileTypes: true; + recursive?: boolean | undefined; + }, + ): Dirent[]; + /** + * 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 Must include `withFileTypes: true` and `encoding: 'buffer'`. + */ + function readdirSync( + path: PathLike, + options: { + encoding: "buffer"; + withFileTypes: true; + recursive?: boolean | undefined; + }, + ): Dirent[]; + /** + * Closes the file descriptor. No arguments other than a possible exception are + * given to the completion callback. + * + * Calling `fs.close()` on any file descriptor (`fd`) that is currently in use + * through any other `fs` operation may lead to undefined behavior. + * + * See the POSIX [`close(2)`](http://man7.org/linux/man-pages/man2/close.2.html) documentation for more detail. + * @since v0.0.2 + */ + function close(fd: number, callback?: NoParamCallback): void; + namespace close { + /** + * Asynchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + /** + * Closes the file descriptor. Returns `undefined`. + * + * Calling `fs.closeSync()` on any file descriptor (`fd`) that is currently in use + * through any other `fs` operation may lead to undefined behavior. + * + * See the POSIX [`close(2)`](http://man7.org/linux/man-pages/man2/close.2.html) documentation for more detail. + * @since v0.1.21 + */ + function closeSync(fd: number): void; + /** + * Asynchronous file open. See the POSIX [`open(2)`](http://man7.org/linux/man-pages/man2/open.2.html) documentation for more details. + * + * `mode` sets the file mode (permission and sticky bits), but only if the file was + * created. On Windows, only the write permission can be manipulated; see {@link chmod}. + * + * The callback gets two arguments `(err, fd)`. + * + * Some characters (`< > : " / \ | ? *`) are reserved under Windows as documented + * by [Naming Files, Paths, and Namespaces](https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file). Under NTFS, if the filename contains + * a colon, Node.js will open a file system stream, as described by [this MSDN page](https://docs.microsoft.com/en-us/windows/desktop/FileIO/using-streams). + * + * Functions based on `fs.open()` exhibit this behavior as well:`fs.writeFile()`, `fs.readFile()`, etc. + * @since v0.0.2 + * @param [flags='r'] See `support of file system `flags``. + * @param [mode=0o666] + */ + function open( + path: PathLike, + flags: OpenMode | undefined, + mode: Mode | 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. + * @param [flags='r'] See `support of file system `flags``. + */ + function open( + path: PathLike, + flags: OpenMode | undefined, + 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, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void; + 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: OpenMode, mode?: Mode | null): Promise; + } + /** + * Returns an integer representing the file descriptor. + * + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link open}. + * @since v0.1.21 + * @param [flags='r'] + * @param [mode=0o666] + */ + function openSync(path: PathLike, flags: OpenMode, mode?: Mode | null): number; + /** + * Change the file system timestamps of the object referenced by `path`. + * + * The `atime` and `mtime` arguments follow these rules: + * + * * Values can be either numbers representing Unix epoch time in seconds, `Date`s, or a numeric string like `'123456789.0'`. + * * If the value can not be converted to a number, or is `NaN`, `Infinity`, or `-Infinity`, an `Error` will be thrown. + * @since v0.4.2 + */ + function utimes(path: PathLike, atime: TimeLike, mtime: TimeLike, callback: NoParamCallback): void; + 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: TimeLike, mtime: TimeLike): Promise; + } + /** + * Returns `undefined`. + * + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link utimes}. + * @since v0.4.2 + */ + function utimesSync(path: PathLike, atime: TimeLike, mtime: TimeLike): void; + /** + * Change the file system timestamps of the object referenced by the supplied file + * descriptor. See {@link utimes}. + * @since v0.4.2 + */ + function futimes(fd: number, atime: TimeLike, mtime: TimeLike, callback: NoParamCallback): void; + 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: TimeLike, mtime: TimeLike): Promise; + } + /** + * Synchronous version of {@link futimes}. Returns `undefined`. + * @since v0.4.2 + */ + function futimesSync(fd: number, atime: TimeLike, mtime: TimeLike): void; + /** + * Request that all data for the open file descriptor is flushed to the storage + * device. The specific implementation is operating system and device specific. + * Refer to the POSIX [`fsync(2)`](http://man7.org/linux/man-pages/man2/fsync.2.html) documentation for more detail. No arguments other + * than a possible exception are given to the completion callback. + * @since v0.1.96 + */ + function fsync(fd: number, callback: NoParamCallback): void; + 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; + } + /** + * Request that all data for the open file descriptor is flushed to the storage + * device. The specific implementation is operating system and device specific. + * Refer to the POSIX [`fsync(2)`](http://man7.org/linux/man-pages/man2/fsync.2.html) documentation for more detail. Returns `undefined`. + * @since v0.1.96 + */ + function fsyncSync(fd: number): void; + interface WriteOptions { + /** + * @default 0 + */ + offset?: number | undefined; + /** + * @default `buffer.byteLength - offset` + */ + length?: number | undefined; + /** + * @default null + */ + position?: number | null | undefined; + } + /** + * Write `buffer` to the file specified by `fd`. + * + * `offset` determines the part of the buffer to be written, and `length` is + * an integer specifying the number of bytes to write. + * + * `position` refers to the offset from the beginning of the file where this data + * should be written. If `typeof position !== 'number'`, the data will be written + * at the current position. See [`pwrite(2)`](http://man7.org/linux/man-pages/man2/pwrite.2.html). + * + * The callback will be given three arguments `(err, bytesWritten, buffer)` where `bytesWritten` specifies how many _bytes_ were written from `buffer`. + * + * If this method is invoked as its `util.promisify()` ed version, it returns + * a promise for an `Object` with `bytesWritten` and `buffer` properties. + * + * It is unsafe to use `fs.write()` multiple times on the same file without waiting + * for the callback. For this scenario, {@link createWriteStream} is + * recommended. + * + * 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. + * @since v0.0.2 + * @param [offset=0] + * @param [length=buffer.byteLength - offset] + * @param [position='null'] + */ + 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 `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param options An object with the following properties: + * * `offset` The part of the buffer to be written. If not supplied, defaults to `0`. + * * `length` The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * * `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, + options: WriteOptions, + 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. + * @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: string, + position: number | undefined | null, + encoding: BufferEncoding | 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. + * @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: string, + 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. + */ + function write( + fd: number, + string: string, + callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void, + ): void; + 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 `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param options An object with the following properties: + * * `offset` The part of the buffer to be written. If not supplied, defaults to `0`. + * * `length` The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * * `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, + options?: WriteOptions, + ): 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. + * @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: string, + position?: number | null, + encoding?: BufferEncoding | null, + ): Promise<{ + bytesWritten: number; + buffer: string; + }>; + } + /** + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link write}. + * @since v0.1.21 + * @param [offset=0] + * @param [length=buffer.byteLength - offset] + * @param [position='null'] + * @return The number of bytes written. + */ + 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. + * @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: string, + position?: number | null, + encoding?: BufferEncoding | null, + ): number; + type ReadPosition = number | bigint; + interface ReadOptions { + /** + * @default 0 + */ + offset?: number | undefined; + /** + * @default `length of buffer` + */ + length?: number | undefined; + /** + * @default null + */ + position?: ReadPosition | null | undefined; + } + interface ReadOptionsWithBuffer extends ReadOptions { + buffer?: T | undefined; + } + /** @deprecated Use `ReadOptions` instead. */ + // TODO: remove in future major + interface ReadSyncOptions extends ReadOptions {} + /** @deprecated Use `ReadOptionsWithBuffer` instead. */ + // TODO: remove in future major + interface ReadAsyncOptions extends ReadOptionsWithBuffer {} + /** + * Read data from the file specified by `fd`. + * + * The callback is given the three arguments, `(err, bytesRead, buffer)`. + * + * If the file is not modified concurrently, the end-of-file is reached when the + * number of bytes read is zero. + * + * If this method is invoked as its `util.promisify()` ed version, it returns + * a promise for an `Object` with `bytesRead` and `buffer` properties. + * @since v0.0.2 + * @param buffer The buffer that the data will be written to. + * @param offset The position in `buffer` to write the data to. + * @param length The number of bytes to read. + * @param position Specifies where to begin reading from in the file. If `position` is `null` or `-1 `, data will be read from the current file position, and the file position will be updated. If + * `position` is an integer, the file position will be unchanged. + */ + function read( + fd: number, + buffer: TBuffer, + offset: number, + length: number, + position: ReadPosition | null, + callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void, + ): void; + /** + * Similar to the above `fs.read` function, this version takes an optional `options` object. + * If not otherwise specified in an `options` object, + * `buffer` defaults to `Buffer.alloc(16384)`, + * `offset` defaults to `0`, + * `length` defaults to `buffer.byteLength`, `- offset` as of Node 17.6.0 + * `position` defaults to `null` + * @since v12.17.0, 13.11.0 + */ + function read( + fd: number, + options: ReadOptionsWithBuffer, + callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void, + ): void; + function read( + fd: number, + buffer: TBuffer, + options: ReadOptions, + callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void, + ): void; + function read( + fd: number, + buffer: TBuffer, + callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void, + ): void; + function read( + fd: number, + callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: NonSharedBuffer) => void, + ): void; + 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: ReadPosition | null, + ): Promise<{ + bytesRead: number; + buffer: TBuffer; + }>; + function __promisify__( + fd: number, + options: ReadOptionsWithBuffer, + ): Promise<{ + bytesRead: number; + buffer: TBuffer; + }>; + function __promisify__(fd: number): Promise<{ + bytesRead: number; + buffer: NonSharedBuffer; + }>; + } + /** + * Returns the number of `bytesRead`. + * + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link read}. + * @since v0.1.21 + * @param [position='null'] + */ + function readSync( + fd: number, + buffer: NodeJS.ArrayBufferView, + offset: number, + length: number, + position: ReadPosition | null, + ): number; + /** + * Similar to the above `fs.readSync` function, this version takes an optional `options` object. + * If no `options` object is specified, it will default with the above values. + */ + function readSync(fd: number, buffer: NodeJS.ArrayBufferView, opts?: ReadOptions): number; + /** + * Asynchronously reads the entire contents of a file. + * + * ```js + * import { readFile } from 'node:fs'; + * + * readFile('/etc/passwd', (err, data) => { + * if (err) throw err; + * console.log(data); + * }); + * ``` + * + * The callback is passed two arguments `(err, data)`, where `data` is the + * contents of the file. + * + * If no encoding is specified, then the raw buffer is returned. + * + * If `options` is a string, then it specifies the encoding: + * + * ```js + * import { readFile } from 'node:fs'; + * + * readFile('/etc/passwd', 'utf8', callback); + * ``` + * + * When the path is a directory, the behavior of `fs.readFile()` and {@link readFileSync} is platform-specific. On macOS, Linux, and Windows, an + * error will be returned. On FreeBSD, a representation of the directory's contents + * will be returned. + * + * ```js + * import { readFile } from 'node:fs'; + * + * // macOS, Linux, and Windows + * readFile('', (err, data) => { + * // => [Error: EISDIR: illegal operation on a directory, read ] + * }); + * + * // FreeBSD + * readFile('', (err, data) => { + * // => null, + * }); + * ``` + * + * It is possible to abort an ongoing request using an `AbortSignal`. If a + * request is aborted the callback is called with an `AbortError`: + * + * ```js + * import { readFile } from 'node:fs'; + * + * const controller = new AbortController(); + * const signal = controller.signal; + * readFile(fileInfo[0].name, { signal }, (err, buf) => { + * // ... + * }); + * // When you want to abort the request + * controller.abort(); + * ``` + * + * The `fs.readFile()` function buffers the entire file. To minimize memory costs, + * when possible prefer streaming via `fs.createReadStream()`. + * + * Aborting an ongoing request does not abort individual operating + * system requests but rather the internal buffering `fs.readFile` performs. + * @since v0.1.29 + * @param path filename or file descriptor + */ + function readFile( + path: PathOrFileDescriptor, + options: + | ({ + encoding?: null | undefined; + flag?: string | undefined; + } & Abortable) + | undefined + | null, + callback: (err: NodeJS.ErrnoException | null, data: NonSharedBuffer) => 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. + * @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: PathOrFileDescriptor, + options: + | ({ + encoding: BufferEncoding; + flag?: string | undefined; + } & Abortable) + | BufferEncoding, + 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. + * 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: PathOrFileDescriptor, + options: + | (ObjectEncodingOptions & { + flag?: string | undefined; + } & Abortable) + | BufferEncoding + | undefined + | null, + callback: (err: NodeJS.ErrnoException | null, data: string | NonSharedBuffer) => 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: PathOrFileDescriptor, + callback: (err: NodeJS.ErrnoException | null, data: NonSharedBuffer) => void, + ): void; + 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: PathOrFileDescriptor, + options?: { + encoding?: null | undefined; + flag?: string | undefined; + } | 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: PathOrFileDescriptor, + options: + | { + encoding: BufferEncoding; + flag?: string | undefined; + } + | 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. + * 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: PathOrFileDescriptor, + options?: + | (ObjectEncodingOptions & { + flag?: string | undefined; + }) + | BufferEncoding + | null, + ): Promise; + } + /** + * Returns the contents of the `path`. + * + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link readFile}. + * + * If the `encoding` option is specified then this function returns a + * string. Otherwise it returns a buffer. + * + * Similar to {@link readFile}, when the path is a directory, the behavior of `fs.readFileSync()` is platform-specific. + * + * ```js + * import { readFileSync } from 'node:fs'; + * + * // macOS, Linux, and Windows + * readFileSync(''); + * // => [Error: EISDIR: illegal operation on a directory, read ] + * + * // FreeBSD + * readFileSync(''); // => + * ``` + * @since v0.1.8 + * @param path filename or file descriptor + */ + function readFileSync( + path: PathOrFileDescriptor, + options?: { + encoding?: null | undefined; + flag?: string | undefined; + } | null, + ): NonSharedBuffer; + /** + * 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. + * 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: PathOrFileDescriptor, + options: + | { + encoding: BufferEncoding; + flag?: string | undefined; + } + | BufferEncoding, + ): 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. + * 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: PathOrFileDescriptor, + options?: + | (ObjectEncodingOptions & { + flag?: string | undefined; + }) + | BufferEncoding + | null, + ): string | NonSharedBuffer; + type WriteFileOptions = + | ( + & ObjectEncodingOptions + & Abortable + & { + mode?: Mode | undefined; + flag?: string | undefined; + flush?: boolean | undefined; + } + ) + | BufferEncoding + | null; + /** + * When `file` is a filename, asynchronously writes data to the file, replacing the + * file if it already exists. `data` can be a string or a buffer. + * + * When `file` is a file descriptor, the behavior is similar to calling `fs.write()` directly (which is recommended). See the notes below on using + * a file descriptor. + * + * The `encoding` option is ignored if `data` is a buffer. + * + * The `mode` option only affects the newly created file. See {@link open} for more details. + * + * ```js + * import { writeFile } from 'node:fs'; + * import { Buffer } from 'node:buffer'; + * + * const data = new Uint8Array(Buffer.from('Hello Node.js')); + * writeFile('message.txt', data, (err) => { + * if (err) throw err; + * console.log('The file has been saved!'); + * }); + * ``` + * + * If `options` is a string, then it specifies the encoding: + * + * ```js + * import { writeFile } from 'node:fs'; + * + * writeFile('message.txt', 'Hello Node.js', 'utf8', callback); + * ``` + * + * It is unsafe to use `fs.writeFile()` multiple times on the same file without + * waiting for the callback. For this scenario, {@link createWriteStream} is + * recommended. + * + * Similarly to `fs.readFile` \- `fs.writeFile` is a convenience method that + * performs multiple `write` calls internally to write the buffer passed to it. + * For performance sensitive code consider using {@link createWriteStream}. + * + * It is possible to use an `AbortSignal` to cancel an `fs.writeFile()`. + * Cancelation is "best effort", and some amount of data is likely still + * to be written. + * + * ```js + * import { writeFile } from 'node:fs'; + * import { Buffer } from 'node:buffer'; + * + * const controller = new AbortController(); + * const { signal } = controller; + * const data = new Uint8Array(Buffer.from('Hello Node.js')); + * writeFile('message.txt', data, { signal }, (err) => { + * // When a request is aborted - the callback is called with an AbortError + * }); + * // When the request should be aborted + * controller.abort(); + * ``` + * + * Aborting an ongoing request does not abort individual operating + * system requests but rather the internal buffering `fs.writeFile` performs. + * @since v0.1.29 + * @param file filename or file descriptor + */ + function writeFile( + file: PathOrFileDescriptor, + data: string | NodeJS.ArrayBufferView, + 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. + * 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: PathOrFileDescriptor, + data: string | NodeJS.ArrayBufferView, + callback: NoParamCallback, + ): void; + 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: PathOrFileDescriptor, + data: string | NodeJS.ArrayBufferView, + options?: WriteFileOptions, + ): Promise; + } + /** + * Returns `undefined`. + * + * The `mode` option only affects the newly created file. See {@link open} for more details. + * + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link writeFile}. + * @since v0.1.29 + * @param file filename or file descriptor + */ + function writeFileSync( + file: PathOrFileDescriptor, + data: string | NodeJS.ArrayBufferView, + options?: WriteFileOptions, + ): void; + /** + * Asynchronously append data to a file, creating the file if it does not yet + * exist. `data` can be a string or a `Buffer`. + * + * The `mode` option only affects the newly created file. See {@link open} for more details. + * + * ```js + * import { appendFile } from 'node:fs'; + * + * appendFile('message.txt', 'data to append', (err) => { + * if (err) throw err; + * console.log('The "data to append" was appended to file!'); + * }); + * ``` + * + * If `options` is a string, then it specifies the encoding: + * + * ```js + * import { appendFile } from 'node:fs'; + * + * appendFile('message.txt', 'data to append', 'utf8', callback); + * ``` + * + * The `path` may be specified as a numeric file descriptor that has been opened + * for appending (using `fs.open()` or `fs.openSync()`). The file descriptor will + * not be closed automatically. + * + * ```js + * import { open, close, appendFile } from 'node:fs'; + * + * function closeFd(fd) { + * close(fd, (err) => { + * if (err) throw err; + * }); + * } + * + * open('message.txt', 'a', (err, fd) => { + * if (err) throw err; + * + * try { + * appendFile(fd, 'data to append', 'utf8', (err) => { + * closeFd(fd); + * if (err) throw err; + * }); + * } catch (err) { + * closeFd(fd); + * throw err; + * } + * }); + * ``` + * @since v0.6.7 + * @param path filename or file descriptor + */ + function appendFile( + path: PathOrFileDescriptor, + data: string | Uint8Array, + 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. + * 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: PathOrFileDescriptor, data: string | Uint8Array, callback: NoParamCallback): void; + 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: PathOrFileDescriptor, + data: string | Uint8Array, + options?: WriteFileOptions, + ): Promise; + } + /** + * Synchronously append data to a file, creating the file if it does not yet + * exist. `data` can be a string or a `Buffer`. + * + * The `mode` option only affects the newly created file. See {@link open} for more details. + * + * ```js + * import { appendFileSync } from 'node:fs'; + * + * try { + * appendFileSync('message.txt', 'data to append'); + * console.log('The "data to append" was appended to file!'); + * } catch (err) { + * // Handle the error + * } + * ``` + * + * If `options` is a string, then it specifies the encoding: + * + * ```js + * import { appendFileSync } from 'node:fs'; + * + * appendFileSync('message.txt', 'data to append', 'utf8'); + * ``` + * + * The `path` may be specified as a numeric file descriptor that has been opened + * for appending (using `fs.open()` or `fs.openSync()`). The file descriptor will + * not be closed automatically. + * + * ```js + * import { openSync, closeSync, appendFileSync } from 'node:fs'; + * + * let fd; + * + * try { + * fd = openSync('message.txt', 'a'); + * appendFileSync(fd, 'data to append', 'utf8'); + * } catch (err) { + * // Handle the error + * } finally { + * if (fd !== undefined) + * closeSync(fd); + * } + * ``` + * @since v0.6.7 + * @param path filename or file descriptor + */ + function appendFileSync( + path: PathOrFileDescriptor, + data: string | Uint8Array, + options?: WriteFileOptions, + ): void; + /** + * Watch for changes on `filename`. The callback `listener` will be called each + * time the file is accessed. + * + * The `options` argument may be omitted. If provided, it should be an object. The `options` object may contain a boolean named `persistent` that indicates + * whether the process should continue to run as long as files are being watched. + * The `options` object may specify an `interval` property indicating how often the + * target should be polled in milliseconds. + * + * The `listener` gets two arguments the current stat object and the previous + * stat object: + * + * ```js + * import { watchFile } from 'node:fs'; + * + * watchFile('message.text', (curr, prev) => { + * console.log(`the current mtime is: ${curr.mtime}`); + * console.log(`the previous mtime was: ${prev.mtime}`); + * }); + * ``` + * + * These stat objects are instances of `fs.Stat`. If the `bigint` option is `true`, + * the numeric values in these objects are specified as `BigInt`s. + * + * To be notified when the file was modified, not just accessed, it is necessary + * to compare `curr.mtimeMs` and `prev.mtimeMs`. + * + * When an `fs.watchFile` operation results in an `ENOENT` error, it + * will invoke the listener once, with all the fields zeroed (or, for dates, the + * Unix Epoch). If the file is created later on, the listener will be called + * again, with the latest stat objects. This is a change in functionality since + * v0.10. + * + * Using {@link watch} is more efficient than `fs.watchFile` and `fs.unwatchFile`. `fs.watch` should be used instead of `fs.watchFile` and `fs.unwatchFile` when possible. + * + * When a file being watched by `fs.watchFile()` disappears and reappears, + * then the contents of `previous` in the second callback event (the file's + * reappearance) will be the same as the contents of `previous` in the first + * callback event (its disappearance). + * + * This happens when: + * + * * the file is deleted, followed by a restore + * * the file is renamed and then renamed a second time back to its original name + * @since v0.1.31 + */ + interface WatchFileOptions { + bigint?: boolean | undefined; + persistent?: boolean | undefined; + interval?: number | undefined; + } + /** + * Watch for changes on `filename`. The callback `listener` will be called each + * time the file is accessed. + * + * The `options` argument may be omitted. If provided, it should be an object. The `options` object may contain a boolean named `persistent` that indicates + * whether the process should continue to run as long as files are being watched. + * The `options` object may specify an `interval` property indicating how often the + * target should be polled in milliseconds. + * + * The `listener` gets two arguments the current stat object and the previous + * stat object: + * + * ```js + * import { watchFile } from 'node:fs'; + * + * watchFile('message.text', (curr, prev) => { + * console.log(`the current mtime is: ${curr.mtime}`); + * console.log(`the previous mtime was: ${prev.mtime}`); + * }); + * ``` + * + * These stat objects are instances of `fs.Stat`. If the `bigint` option is `true`, + * the numeric values in these objects are specified as `BigInt`s. + * + * To be notified when the file was modified, not just accessed, it is necessary + * to compare `curr.mtimeMs` and `prev.mtimeMs`. + * + * When an `fs.watchFile` operation results in an `ENOENT` error, it + * will invoke the listener once, with all the fields zeroed (or, for dates, the + * Unix Epoch). If the file is created later on, the listener will be called + * again, with the latest stat objects. This is a change in functionality since + * v0.10. + * + * Using {@link watch} is more efficient than `fs.watchFile` and `fs.unwatchFile`. `fs.watch` should be used instead of `fs.watchFile` and `fs.unwatchFile` when possible. + * + * When a file being watched by `fs.watchFile()` disappears and reappears, + * then the contents of `previous` in the second callback event (the file's + * reappearance) will be the same as the contents of `previous` in the first + * callback event (its disappearance). + * + * This happens when: + * + * * the file is deleted, followed by a restore + * * the file is renamed and then renamed a second time back to its original name + * @since v0.1.31 + */ + function watchFile( + filename: PathLike, + options: + | (WatchFileOptions & { + bigint?: false | undefined; + }) + | undefined, + listener: StatsListener, + ): StatWatcher; + function watchFile( + filename: PathLike, + options: + | (WatchFileOptions & { + bigint: true; + }) + | undefined, + listener: BigIntStatsListener, + ): StatWatcher; + /** + * 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. + */ + function watchFile(filename: PathLike, listener: StatsListener): StatWatcher; + /** + * Stop watching for changes on `filename`. If `listener` is specified, only that + * particular listener is removed. Otherwise, _all_ listeners are removed, + * effectively stopping watching of `filename`. + * + * Calling `fs.unwatchFile()` with a filename that is not being watched is a + * no-op, not an error. + * + * Using {@link watch} is more efficient than `fs.watchFile()` and `fs.unwatchFile()`. `fs.watch()` should be used instead of `fs.watchFile()` and `fs.unwatchFile()` when possible. + * @since v0.1.31 + * @param listener Optional, a listener previously attached using `fs.watchFile()` + */ + function unwatchFile(filename: PathLike, listener?: StatsListener): void; + function unwatchFile(filename: PathLike, listener?: BigIntStatsListener): void; + type WatchIgnorePredicate = string | RegExp | ((filename: string) => boolean); + interface WatchOptions extends Abortable { + encoding?: BufferEncoding | "buffer" | undefined; + persistent?: boolean | undefined; + recursive?: boolean | undefined; + ignore?: WatchIgnorePredicate | readonly WatchIgnorePredicate[] | undefined; + } + interface WatchOptionsWithBufferEncoding extends WatchOptions { + encoding: "buffer"; + } + interface WatchOptionsWithStringEncoding extends WatchOptions { + encoding?: BufferEncoding | undefined; + } + type WatchEventType = "rename" | "change"; + type WatchListener = (event: WatchEventType, filename: T | null) => void; + type StatsListener = (curr: Stats, prev: Stats) => void; + type BigIntStatsListener = (curr: BigIntStats, prev: BigIntStats) => void; + /** + * Watch for changes on `filename`, where `filename` is either a file or a + * directory. + * + * The second argument is optional. If `options` is provided as a string, it + * specifies the `encoding`. Otherwise `options` should be passed as an object. + * + * The listener callback gets two arguments `(eventType, filename)`. `eventType`is either `'rename'` or `'change'`, and `filename` is the name of the file + * which triggered the event. + * + * On most platforms, `'rename'` is emitted whenever a filename appears or + * disappears in the directory. + * + * The listener callback is attached to the `'change'` event fired by `fs.FSWatcher`, but it is not the same thing as the `'change'` value of `eventType`. + * + * If a `signal` is passed, aborting the corresponding AbortController will close + * the returned `fs.FSWatcher`. + * @since v0.5.10 + * @param listener + */ + function watch( + filename: PathLike, + options?: WatchOptionsWithStringEncoding | BufferEncoding | null, + listener?: WatchListener, + ): FSWatcher; + function watch( + filename: PathLike, + options: WatchOptionsWithBufferEncoding | "buffer", + listener: WatchListener, + ): FSWatcher; + function watch( + filename: PathLike, + options: WatchOptions | BufferEncoding | "buffer" | null, + listener: WatchListener, + ): FSWatcher; + function watch(filename: PathLike, listener: WatchListener): FSWatcher; + /** + * Test whether or not the given path exists by checking with the file system. + * Then call the `callback` argument with either true or false: + * + * ```js + * import { exists } from 'node:fs'; + * + * exists('/etc/passwd', (e) => { + * console.log(e ? 'it exists' : 'no passwd!'); + * }); + * ``` + * + * **The parameters for this callback are not consistent with other Node.js** + * **callbacks.** Normally, the first parameter to a Node.js callback is an `err` parameter, optionally followed by other parameters. The `fs.exists()` callback + * has only one boolean parameter. This is one reason `fs.access()` is recommended + * instead of `fs.exists()`. + * + * Using `fs.exists()` to check for the existence of a file before calling `fs.open()`, `fs.readFile()`, or `fs.writeFile()` is not recommended. Doing + * so introduces a race condition, since other processes may change the file's + * state between the two calls. Instead, user code should open/read/write the + * file directly and handle the error raised if the file does not exist. + * + * **write (NOT RECOMMENDED)** + * + * ```js + * import { exists, open, close } from 'node:fs'; + * + * exists('myfile', (e) => { + * if (e) { + * console.error('myfile already exists'); + * } else { + * open('myfile', 'wx', (err, fd) => { + * if (err) throw err; + * + * try { + * writeMyData(fd); + * } finally { + * close(fd, (err) => { + * if (err) throw err; + * }); + * } + * }); + * } + * }); + * ``` + * + * **write (RECOMMENDED)** + * + * ```js + * import { open, close } from 'node:fs'; + * open('myfile', 'wx', (err, fd) => { + * if (err) { + * if (err.code === 'EEXIST') { + * console.error('myfile already exists'); + * return; + * } + * + * throw err; + * } + * + * try { + * writeMyData(fd); + * } finally { + * close(fd, (err) => { + * if (err) throw err; + * }); + * } + * }); + * ``` + * + * **read (NOT RECOMMENDED)** + * + * ```js + * import { open, close, exists } from 'node:fs'; + * + * exists('myfile', (e) => { + * if (e) { + * open('myfile', 'r', (err, fd) => { + * if (err) throw err; + * + * try { + * readMyData(fd); + * } finally { + * close(fd, (err) => { + * if (err) throw err; + * }); + * } + * }); + * } else { + * console.error('myfile does not exist'); + * } + * }); + * ``` + * + * **read (RECOMMENDED)** + * + * ```js + * import { open, close } from 'node:fs'; + * + * open('myfile', 'r', (err, fd) => { + * if (err) { + * if (err.code === 'ENOENT') { + * console.error('myfile does not exist'); + * return; + * } + * + * throw err; + * } + * + * try { + * readMyData(fd); + * } finally { + * close(fd, (err) => { + * if (err) throw err; + * }); + * } + * }); + * ``` + * + * The "not recommended" examples above check for existence and then use the + * file; the "recommended" examples are better because they use the file directly + * and handle the error, if any. + * + * In general, check for the existence of a file only if the file won't be + * used directly, for example when its existence is a signal from another + * process. + * @since v0.0.2 + * @deprecated Since v1.0.0 - Use {@link stat} or {@link access} instead. + */ + function exists(path: PathLike, callback: (exists: boolean) => void): void; + /** @deprecated */ + 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; + } + /** + * Returns `true` if the path exists, `false` otherwise. + * + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link exists}. + * + * `fs.exists()` is deprecated, but `fs.existsSync()` is not. The `callback` parameter to `fs.exists()` accepts parameters that are inconsistent with other + * Node.js callbacks. `fs.existsSync()` does not use a callback. + * + * ```js + * import { existsSync } from 'node:fs'; + * + * if (existsSync('/etc/passwd')) + * console.log('The path exists.'); + * ``` + * @since v0.1.21 + */ + 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; + } + /** + * Tests a user's permissions for the file or directory specified by `path`. + * The `mode` argument is an optional integer that specifies the accessibility + * checks to be performed. `mode` should be either the value `fs.constants.F_OK` or a mask consisting of the bitwise OR of any of `fs.constants.R_OK`, `fs.constants.W_OK`, and `fs.constants.X_OK` + * (e.g.`fs.constants.W_OK | fs.constants.R_OK`). Check `File access constants` for + * possible values of `mode`. + * + * The final argument, `callback`, is a callback function that is invoked with + * a possible error argument. If any of the accessibility checks fail, the error + * argument will be an `Error` object. The following examples check if `package.json` exists, and if it is readable or writable. + * + * ```js + * import { access, constants } from 'node:fs'; + * + * const file = 'package.json'; + * + * // Check if the file exists in the current directory. + * access(file, constants.F_OK, (err) => { + * console.log(`${file} ${err ? 'does not exist' : 'exists'}`); + * }); + * + * // Check if the file is readable. + * access(file, constants.R_OK, (err) => { + * console.log(`${file} ${err ? 'is not readable' : 'is readable'}`); + * }); + * + * // Check if the file is writable. + * access(file, constants.W_OK, (err) => { + * console.log(`${file} ${err ? 'is not writable' : 'is writable'}`); + * }); + * + * // Check if the file is readable and writable. + * access(file, constants.R_OK | constants.W_OK, (err) => { + * console.log(`${file} ${err ? 'is not' : 'is'} readable and writable`); + * }); + * ``` + * + * Do not use `fs.access()` to check for the accessibility of a file before calling `fs.open()`, `fs.readFile()`, or `fs.writeFile()`. Doing + * so introduces a race condition, since other processes may change the file's + * state between the two calls. Instead, user code should open/read/write the + * file directly and handle the error raised if the file is not accessible. + * + * **write (NOT RECOMMENDED)** + * + * ```js + * import { access, open, close } from 'node:fs'; + * + * access('myfile', (err) => { + * if (!err) { + * console.error('myfile already exists'); + * return; + * } + * + * open('myfile', 'wx', (err, fd) => { + * if (err) throw err; + * + * try { + * writeMyData(fd); + * } finally { + * close(fd, (err) => { + * if (err) throw err; + * }); + * } + * }); + * }); + * ``` + * + * **write (RECOMMENDED)** + * + * ```js + * import { open, close } from 'node:fs'; + * + * open('myfile', 'wx', (err, fd) => { + * if (err) { + * if (err.code === 'EEXIST') { + * console.error('myfile already exists'); + * return; + * } + * + * throw err; + * } + * + * try { + * writeMyData(fd); + * } finally { + * close(fd, (err) => { + * if (err) throw err; + * }); + * } + * }); + * ``` + * + * **read (NOT RECOMMENDED)** + * + * ```js + * import { access, open, close } from 'node:fs'; + * access('myfile', (err) => { + * if (err) { + * if (err.code === 'ENOENT') { + * console.error('myfile does not exist'); + * return; + * } + * + * throw err; + * } + * + * open('myfile', 'r', (err, fd) => { + * if (err) throw err; + * + * try { + * readMyData(fd); + * } finally { + * close(fd, (err) => { + * if (err) throw err; + * }); + * } + * }); + * }); + * ``` + * + * **read (RECOMMENDED)** + * + * ```js + * import { open, close } from 'node:fs'; + * + * open('myfile', 'r', (err, fd) => { + * if (err) { + * if (err.code === 'ENOENT') { + * console.error('myfile does not exist'); + * return; + * } + * + * throw err; + * } + * + * try { + * readMyData(fd); + * } finally { + * close(fd, (err) => { + * if (err) throw err; + * }); + * } + * }); + * ``` + * + * The "not recommended" examples above check for accessibility and then use the + * file; the "recommended" examples are better because they use the file directly + * and handle the error, if any. + * + * In general, check for the accessibility of a file only if the file will not be + * used directly, for example when its accessibility is a signal from another + * process. + * + * On Windows, access-control policies (ACLs) on a directory may limit access to + * a file or directory. The `fs.access()` function, however, does not check the + * ACL and therefore may report that a path is accessible even if the ACL restricts + * the user from reading or writing to it. + * @since v0.11.15 + * @param [mode=fs.constants.F_OK] + */ + 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. + */ + function access(path: PathLike, callback: NoParamCallback): void; + 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 or directory specified + * by `path`. The `mode` argument is an optional integer that specifies the + * accessibility checks to be performed. `mode` should be either the value `fs.constants.F_OK` or a mask consisting of the bitwise OR of any of `fs.constants.R_OK`, `fs.constants.W_OK`, and + * `fs.constants.X_OK` (e.g.`fs.constants.W_OK | fs.constants.R_OK`). Check `File access constants` for + * possible values of `mode`. + * + * If any of the accessibility checks fail, an `Error` will be thrown. Otherwise, + * the method will return `undefined`. + * + * ```js + * import { accessSync, constants } from 'node:fs'; + * + * try { + * accessSync('etc/passwd', constants.R_OK | constants.W_OK); + * console.log('can read/write'); + * } catch (err) { + * console.error('no access!'); + * } + * ``` + * @since v0.11.15 + * @param [mode=fs.constants.F_OK] + */ + function accessSync(path: PathLike, mode?: number): void; + interface StreamOptions { + flags?: string | undefined; + encoding?: BufferEncoding | undefined; + fd?: number | FileHandle | undefined; + mode?: number | undefined; + autoClose?: boolean | undefined; + emitClose?: boolean | undefined; + start?: number | undefined; + signal?: AbortSignal | null | undefined; + highWaterMark?: number | undefined; + } + interface FSImplementation { + open?: (...args: any[]) => any; + close?: (...args: any[]) => any; + } + interface CreateReadStreamFSImplementation extends FSImplementation { + read: (...args: any[]) => any; + } + interface CreateWriteStreamFSImplementation extends FSImplementation { + write: (...args: any[]) => any; + writev?: (...args: any[]) => any; + } + interface ReadStreamOptions extends StreamOptions { + fs?: CreateReadStreamFSImplementation | null | undefined; + end?: number | undefined; + } + interface WriteStreamOptions extends StreamOptions { + fs?: CreateWriteStreamFSImplementation | null | undefined; + flush?: boolean | undefined; + } + /** + * `options` can include `start` and `end` values to read a range of bytes from + * the file instead of the entire file. Both `start` and `end` are inclusive and + * start counting at 0, allowed values are in the + * \[0, [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER)\] range. If `fd` is specified and `start` is + * omitted or `undefined`, `fs.createReadStream()` reads sequentially from the + * current file position. The `encoding` can be any one of those accepted by `Buffer`. + * + * If `fd` is specified, `ReadStream` will ignore the `path` argument and will use + * the specified file descriptor. This means that no `'open'` event will be + * emitted. `fd` should be blocking; non-blocking `fd`s should be passed to `net.Socket`. + * + * If `fd` points to a character device that only supports blocking reads + * (such as keyboard or sound card), read operations do not finish until data is + * available. This can prevent the process from exiting and the stream from + * closing naturally. + * + * By default, the stream will emit a `'close'` event after it has been + * destroyed. Set the `emitClose` option to `false` to change this behavior. + * + * By providing the `fs` option, it is possible to override the corresponding `fs` implementations for `open`, `read`, and `close`. When providing the `fs` option, + * an override for `read` is required. If no `fd` is provided, an override for `open` is also required. If `autoClose` is `true`, an override for `close` is + * also required. + * + * ```js + * import { createReadStream } from 'node:fs'; + * + * // Create a stream from some character device. + * const stream = createReadStream('/dev/input/event0'); + * setTimeout(() => { + * stream.close(); // This may not close the stream. + * // Artificially marking end-of-stream, as if the underlying resource had + * // indicated end-of-file by itself, allows the stream to close. + * // This does not cancel pending read operations, and if there is such an + * // operation, the process may still not be able to exit successfully + * // until it finishes. + * stream.push(null); + * stream.read(0); + * }, 100); + * ``` + * + * If `autoClose` is false, then the file descriptor won't be closed, even if + * there's an error. It is the application's responsibility to close it and make + * sure there's no file descriptor leak. If `autoClose` is set to true (default + * behavior), on `'error'` or `'end'` the file descriptor will be closed + * automatically. + * + * `mode` sets the file mode (permission and sticky bits), but only if the + * file was created. + * + * An example to read the last 10 bytes of a file which is 100 bytes long: + * + * ```js + * import { createReadStream } from 'node:fs'; + * + * createReadStream('sample.txt', { start: 90, end: 99 }); + * ``` + * + * If `options` is a string, then it specifies the encoding. + * @since v0.1.31 + */ + function createReadStream(path: PathLike, options?: BufferEncoding | ReadStreamOptions): ReadStream; + /** + * `options` may also include a `start` option to allow writing data at some + * position past the beginning of the file, allowed values are in the + * \[0, [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER)\] range. Modifying a file rather than + * replacing it may require the `flags` option to be set to `r+` rather than the + * default `w`. The `encoding` can be any one of those accepted by `Buffer`. + * + * If `autoClose` is set to true (default behavior) on `'error'` or `'finish'` the file descriptor will be closed automatically. If `autoClose` is false, + * then the file descriptor won't be closed, even if there's an error. + * It is the application's responsibility to close it and make sure there's no + * file descriptor leak. + * + * By default, the stream will emit a `'close'` event after it has been + * destroyed. Set the `emitClose` option to `false` to change this behavior. + * + * By providing the `fs` option it is possible to override the corresponding `fs` implementations for `open`, `write`, `writev`, and `close`. Overriding `write()` without `writev()` can reduce + * performance as some optimizations (`_writev()`) + * will be disabled. When providing the `fs` option, overrides for at least one of `write` and `writev` are required. If no `fd` option is supplied, an override + * for `open` is also required. If `autoClose` is `true`, an override for `close` is also required. + * + * Like `fs.ReadStream`, if `fd` is specified, `fs.WriteStream` will ignore the `path` argument and will use the specified file descriptor. This means that no `'open'` event will be + * emitted. `fd` should be blocking; non-blocking `fd`s + * should be passed to `net.Socket`. + * + * If `options` is a string, then it specifies the encoding. + * @since v0.1.31 + */ + function createWriteStream(path: PathLike, options?: BufferEncoding | WriteStreamOptions): WriteStream; + /** + * Forces all currently queued I/O operations associated with the file to the + * operating system's synchronized I/O completion state. Refer to the POSIX [`fdatasync(2)`](http://man7.org/linux/man-pages/man2/fdatasync.2.html) documentation for details. No arguments other + * than a possible + * exception are given to the completion callback. + * @since v0.1.96 + */ + function fdatasync(fd: number, callback: NoParamCallback): void; + 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; + } + /** + * Forces all currently queued I/O operations associated with the file to the + * operating system's synchronized I/O completion state. Refer to the POSIX [`fdatasync(2)`](http://man7.org/linux/man-pages/man2/fdatasync.2.html) documentation for details. Returns `undefined`. + * @since v0.1.96 + */ + 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. + * + * `mode` is an optional integer that specifies the behavior + * of the copy operation. It is possible to create a mask consisting of the bitwise + * OR of two or more values (e.g.`fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE`). + * + * * `fs.constants.COPYFILE_EXCL`: The copy operation will fail if `dest` already + * exists. + * * `fs.constants.COPYFILE_FICLONE`: The copy operation will attempt to create a + * copy-on-write reflink. If the platform does not support copy-on-write, then a + * fallback copy mechanism is used. + * * `fs.constants.COPYFILE_FICLONE_FORCE`: The copy operation will attempt to + * create a copy-on-write reflink. If the platform does not support + * copy-on-write, then the operation will fail. + * + * ```js + * import { copyFile, constants } from 'node:fs'; + * + * function callback(err) { + * if (err) throw err; + * console.log('source.txt was copied to destination.txt'); + * } + * + * // destination.txt will be created or overwritten by default. + * copyFile('source.txt', 'destination.txt', callback); + * + * // By using COPYFILE_EXCL, the operation will fail if destination.txt exists. + * copyFile('source.txt', 'destination.txt', constants.COPYFILE_EXCL, callback); + * ``` + * @since v8.5.0 + * @param src source filename to copy + * @param dest destination filename of the copy operation + * @param [mode=0] modifiers for copy operation. + */ + function copyFile(src: PathLike, dest: PathLike, callback: NoParamCallback): void; + function copyFile(src: PathLike, dest: PathLike, mode: number, callback: NoParamCallback): void; + namespace copyFile { + function __promisify__(src: PathLike, dst: PathLike, mode?: number): Promise; + } + /** + * Synchronously copies `src` to `dest`. By default, `dest` is overwritten if it + * already exists. Returns `undefined`. 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. + * + * `mode` is an optional integer that specifies the behavior + * of the copy operation. It is possible to create a mask consisting of the bitwise + * OR of two or more values (e.g.`fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE`). + * + * * `fs.constants.COPYFILE_EXCL`: The copy operation will fail if `dest` already + * exists. + * * `fs.constants.COPYFILE_FICLONE`: The copy operation will attempt to create a + * copy-on-write reflink. If the platform does not support copy-on-write, then a + * fallback copy mechanism is used. + * * `fs.constants.COPYFILE_FICLONE_FORCE`: The copy operation will attempt to + * create a copy-on-write reflink. If the platform does not support + * copy-on-write, then the operation will fail. + * + * ```js + * import { copyFileSync, constants } from 'node:fs'; + * + * // destination.txt will be created or overwritten by default. + * copyFileSync('source.txt', 'destination.txt'); + * console.log('source.txt was copied to destination.txt'); + * + * // By using COPYFILE_EXCL, the operation will fail if destination.txt exists. + * copyFileSync('source.txt', 'destination.txt', constants.COPYFILE_EXCL); + * ``` + * @since v8.5.0 + * @param src source filename to copy + * @param dest destination filename of the copy operation + * @param [mode=0] modifiers for copy operation. + */ + function copyFileSync(src: PathLike, dest: PathLike, mode?: number): void; + /** + * Write an array of `ArrayBufferView`s to the file specified by `fd` using `writev()`. + * + * `position` is the offset from the beginning of the file where this data + * should be written. If `typeof position !== 'number'`, the data will be written + * at the current position. + * + * The callback will be given three arguments: `err`, `bytesWritten`, and `buffers`. `bytesWritten` is how many bytes were written from `buffers`. + * + * If this method is `util.promisify()` ed, it returns a promise for an `Object` with `bytesWritten` and `buffers` properties. + * + * It is unsafe to use `fs.writev()` multiple times on the same file without + * waiting for the callback. For this scenario, use {@link 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. + * @since v12.9.0 + * @param [position='null'] + */ + function writev( + fd: number, + buffers: TBuffers, + cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: TBuffers) => void, + ): void; + function writev( + fd: number, + buffers: TBuffers, + position: number | null, + cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: TBuffers) => void, + ): void; + // Providing a default type parameter doesn't provide true BC for userland consumers, but at least suppresses TS2314 + // TODO: remove default in future major version + interface WriteVResult { + bytesWritten: number; + buffers: T; + } + namespace writev { + function __promisify__( + fd: number, + buffers: TBuffers, + position?: number, + ): Promise>; + } + /** + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link writev}. + * @since v12.9.0 + * @param [position='null'] + * @return The number of bytes written. + */ + function writevSync(fd: number, buffers: readonly NodeJS.ArrayBufferView[], position?: number): number; + /** + * Read from a file specified by `fd` and write to an array of `ArrayBufferView`s + * using `readv()`. + * + * `position` is the offset from the beginning of the file from where data + * should be read. If `typeof position !== 'number'`, the data will be read + * from the current position. + * + * The callback will be given three arguments: `err`, `bytesRead`, and `buffers`. `bytesRead` is how many bytes were read from the file. + * + * If this method is invoked as its `util.promisify()` ed version, it returns + * a promise for an `Object` with `bytesRead` and `buffers` properties. + * @since v13.13.0, v12.17.0 + * @param [position='null'] + */ + function readv( + fd: number, + buffers: TBuffers, + cb: (err: NodeJS.ErrnoException | null, bytesRead: number, buffers: TBuffers) => void, + ): void; + function readv( + fd: number, + buffers: TBuffers, + position: number | null, + cb: (err: NodeJS.ErrnoException | null, bytesRead: number, buffers: TBuffers) => void, + ): void; + // Providing a default type parameter doesn't provide true BC for userland consumers, but at least suppresses TS2314 + // TODO: remove default in future major version + interface ReadVResult { + bytesRead: number; + buffers: T; + } + namespace readv { + function __promisify__( + fd: number, + buffers: TBuffers, + position?: number, + ): Promise>; + } + /** + * For detailed information, see the documentation of the asynchronous version of + * this API: {@link readv}. + * @since v13.13.0, v12.17.0 + * @param [position='null'] + * @return The number of bytes read. + */ + function readvSync(fd: number, buffers: readonly NodeJS.ArrayBufferView[], position?: number): number; + + interface OpenAsBlobOptions { + /** + * An optional mime type for the blob. + * + * @default 'undefined' + */ + type?: string | undefined; + } + + /** + * Returns a `Blob` whose data is backed by the given file. + * + * The file must not be modified after the `Blob` is created. Any modifications + * will cause reading the `Blob` data to fail with a `DOMException` error. + * Synchronous stat operations on the file when the `Blob` is created, and before + * each read in order to detect whether the file data has been modified on disk. + * + * ```js + * import { openAsBlob } from 'node:fs'; + * + * const blob = await openAsBlob('the.file.txt'); + * const ab = await blob.arrayBuffer(); + * blob.stream(); + * ``` + * @since v19.8.0 + */ + function openAsBlob(path: PathLike, options?: OpenAsBlobOptions): Promise; + + interface OpenDirOptions { + /** + * @default 'utf8' + */ + encoding?: BufferEncoding | undefined; + /** + * Number of directory entries that are buffered + * internally when reading from the directory. Higher values lead to better + * performance but higher memory usage. + * @default 32 + */ + bufferSize?: number | undefined; + /** + * @default false + */ + recursive?: boolean | undefined; + } + /** + * Synchronously open a directory. See [`opendir(3)`](http://man7.org/linux/man-pages/man3/opendir.3.html). + * + * Creates an `fs.Dir`, which contains all further functions for reading from + * and cleaning up the directory. + * + * The `encoding` option sets the encoding for the `path` while opening the + * directory and subsequent read operations. + * @since v12.12.0 + */ + function opendirSync(path: PathLike, options?: OpenDirOptions): Dir; + /** + * Asynchronously open a directory. See the POSIX [`opendir(3)`](http://man7.org/linux/man-pages/man3/opendir.3.html) documentation for + * more details. + * + * Creates an `fs.Dir`, which contains all further functions for reading from + * and cleaning up the directory. + * + * The `encoding` option sets the encoding for the `path` while opening the + * directory and subsequent read operations. + * @since v12.12.0 + */ + function opendir(path: PathLike, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; + function opendir( + path: PathLike, + options: OpenDirOptions, + cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void, + ): void; + namespace opendir { + function __promisify__(path: PathLike, options?: OpenDirOptions): Promise

; + } + interface BigIntStats extends StatsBase { + atimeNs: bigint; + mtimeNs: bigint; + ctimeNs: bigint; + birthtimeNs: bigint; + } + interface BigIntOptions { + bigint: true; + } + interface StatOptions { + bigint?: boolean | undefined; + throwIfNoEntry?: boolean | undefined; + } + /** @deprecated This orphaned interface will be removed in a future version. Use `StatOptions` instead. */ + interface StatSyncOptions extends StatOptions {} + interface CopyOptionsBase { + /** + * Dereference symlinks + * @default false + */ + dereference?: boolean | undefined; + /** + * When `force` is `false`, and the destination + * exists, throw an error. + * @default false + */ + errorOnExist?: boolean | undefined; + /** + * Overwrite existing file or directory. _The copy + * operation will ignore errors if you set this to false and the destination + * exists. Use the `errorOnExist` option to change this behavior. + * @default true + */ + force?: boolean | undefined; + /** + * Modifiers for copy operation. See `mode` flag of {@link copyFileSync()} + */ + mode?: number | undefined; + /** + * When `true` timestamps from `src` will + * be preserved. + * @default false + */ + preserveTimestamps?: boolean | undefined; + /** + * Copy directories recursively. + * @default false + */ + recursive?: boolean | undefined; + /** + * When true, path resolution for symlinks will be skipped + * @default false + */ + verbatimSymlinks?: boolean | undefined; + } + interface CopyOptions extends CopyOptionsBase { + /** + * Function to filter copied files/directories. Return + * `true` to copy the item, `false` to ignore it. + */ + filter?: ((source: string, destination: string) => boolean | Promise) | undefined; + } + interface CopySyncOptions extends CopyOptionsBase { + /** + * Function to filter copied files/directories. Return + * `true` to copy the item, `false` to ignore it. + */ + filter?: ((source: string, destination: string) => boolean) | undefined; + } + /** + * Asynchronously copies the entire directory structure from `src` to `dest`, + * including subdirectories and files. + * + * When copying a directory to another directory, globs are not supported and + * behavior is similar to `cp dir1/ dir2/`. + * @since v16.7.0 + * @experimental + * @param src source path to copy. + * @param dest destination path to copy to. + */ + function cp( + source: string | URL, + destination: string | URL, + callback: (err: NodeJS.ErrnoException | null) => void, + ): void; + function cp( + source: string | URL, + destination: string | URL, + opts: CopyOptions, + callback: (err: NodeJS.ErrnoException | null) => void, + ): void; + /** + * Synchronously copies the entire directory structure from `src` to `dest`, + * including subdirectories and files. + * + * When copying a directory to another directory, globs are not supported and + * behavior is similar to `cp dir1/ dir2/`. + * @since v16.7.0 + * @experimental + * @param src source path to copy. + * @param dest destination path to copy to. + */ + function cpSync(source: string | URL, destination: string | URL, opts?: CopySyncOptions): void; + + // TODO: collapse + interface _GlobOptions { + /** + * Current working directory. + * @default process.cwd() + */ + cwd?: string | URL | undefined; + /** + * `true` if the glob should return paths as `Dirent`s, `false` otherwise. + * @default false + * @since v22.2.0 + */ + withFileTypes?: boolean | undefined; + /** + * Function to filter out files/directories or a + * list of glob patterns to be excluded. If a function is provided, return + * `true` to exclude the item, `false` to include it. + * If a string array is provided, each string should be a glob pattern that + * specifies paths to exclude. Note: Negation patterns (e.g., '!foo.js') are + * not supported. + * @default undefined + */ + exclude?: ((fileName: T) => boolean) | readonly string[] | undefined; + } + interface GlobOptions extends _GlobOptions {} + interface GlobOptionsWithFileTypes extends _GlobOptions { + withFileTypes: true; + } + interface GlobOptionsWithoutFileTypes extends _GlobOptions { + withFileTypes?: false | undefined; + } + + /** + * Retrieves the files matching the specified pattern. + * + * ```js + * import { glob } from 'node:fs'; + * + * glob('*.js', (err, matches) => { + * if (err) throw err; + * console.log(matches); + * }); + * ``` + * @since v22.0.0 + */ + function glob( + pattern: string | readonly string[], + callback: (err: NodeJS.ErrnoException | null, matches: string[]) => void, + ): void; + function glob( + pattern: string | readonly string[], + options: GlobOptionsWithFileTypes, + callback: ( + err: NodeJS.ErrnoException | null, + matches: Dirent[], + ) => void, + ): void; + function glob( + pattern: string | readonly string[], + options: GlobOptionsWithoutFileTypes, + callback: ( + err: NodeJS.ErrnoException | null, + matches: string[], + ) => void, + ): void; + function glob( + pattern: string | readonly string[], + options: GlobOptions, + callback: ( + err: NodeJS.ErrnoException | null, + matches: Dirent[] | string[], + ) => void, + ): void; + /** + * ```js + * import { globSync } from 'node:fs'; + * + * console.log(globSync('*.js')); + * ``` + * @since v22.0.0 + * @returns paths of files that match the pattern. + */ + function globSync(pattern: string | readonly string[]): string[]; + function globSync( + pattern: string | readonly string[], + options: GlobOptionsWithFileTypes, + ): Dirent[]; + function globSync( + pattern: string | readonly string[], + options: GlobOptionsWithoutFileTypes, + ): string[]; + function globSync( + pattern: string | readonly string[], + options: GlobOptions, + ): Dirent[] | string[]; +} +declare module "node:fs" { + export * as promises from "node:fs/promises"; +} +declare module "fs" { + export * from "node:fs"; +} diff --git a/node_modules/@types/node/fs/promises.d.ts b/node_modules/@types/node/fs/promises.d.ts new file mode 100644 index 0000000..c9c2421 --- /dev/null +++ b/node_modules/@types/node/fs/promises.d.ts @@ -0,0 +1,1468 @@ +declare module "node:fs/promises" { + import { NonSharedBuffer } from "node:buffer"; + import { Abortable } from "node:events"; + import { Interface as ReadlineInterface } from "node:readline"; + import { + BigIntStats, + BigIntStatsFs, + BufferEncodingOption, + constants as fsConstants, + CopyOptions, + Dir, + Dirent, + EncodingOption, + GlobOptions, + GlobOptionsWithFileTypes, + GlobOptionsWithoutFileTypes, + MakeDirectoryOptions, + Mode, + ObjectEncodingOptions, + OpenDirOptions, + OpenMode, + PathLike, + ReadOptions, + ReadOptionsWithBuffer, + ReadPosition, + ReadStream, + ReadVResult, + RmOptions, + StatFsOptions, + StatOptions, + Stats, + StatsFs, + TimeLike, + WatchEventType, + WatchOptions as _WatchOptions, + WriteStream, + WriteVResult, + } from "node:fs"; + import { Stream } from "node:stream"; + import { ByteReadableStream, Transform, Writer } from "node:stream/iter"; + import { ReadableStream } from "node:stream/web"; + interface FileChangeInfo { + eventType: WatchEventType; + filename: T | null; + } + interface FlagAndOpenMode { + mode?: Mode | undefined; + flag?: OpenMode | undefined; + } + interface FileReadResult { + bytesRead: number; + buffer: T; + } + /** @deprecated This interface will be removed in a future version. Use `import { ReadOptionsWithBuffer } from "node:fs"` instead. */ + interface FileReadOptions { + /** + * @default `Buffer.alloc(0xffff)` + */ + buffer?: T; + /** + * @default 0 + */ + offset?: number | null; + /** + * @default `buffer.byteLength` + */ + length?: number | null; + position?: ReadPosition | null; + } + interface CreateReadStreamOptions extends Abortable { + encoding?: BufferEncoding | null | undefined; + autoClose?: boolean | undefined; + emitClose?: boolean | undefined; + start?: number | undefined; + end?: number | undefined; + highWaterMark?: number | undefined; + } + interface CreateWriteStreamOptions { + encoding?: BufferEncoding | null | undefined; + autoClose?: boolean | undefined; + emitClose?: boolean | undefined; + start?: number | undefined; + highWaterMark?: number | undefined; + flush?: boolean | undefined; + } + interface ReadableWebStreamOptions { + autoClose?: boolean | undefined; + } + interface PullOptions extends Abortable { + /** + * Close the file handle when the stream ends. + * @default false + */ + autoClose?: boolean | undefined; + /** + * Byte offset to begin reading from. When specified, + * reads use explicit positioning (`pread` semantics). + */ + start?: number | undefined; + /** + * Maximum number of bytes to read before ending the + * iterator. Reads stop when `limit` bytes have been delivered or EOF is + * reached, whichever comes first. + */ + limit?: number | undefined; + /** + * Size in bytes of the buffer allocated for each + * read operation. + * @default 131072 + */ + chunkSize?: number | undefined; + } + interface WriterOptions { + /** + * Close the file handle when the writer ends or fails. + * @default false + */ + autoClose?: boolean | undefined; + /** + * Byte offset to start writing at. When specified, + * writes use explicit positioning. + */ + start?: number | undefined; + /** + * Maximum number of bytes the writer will accept. + * Async writes (`write()`, `writev()`) that would exceed the limit reject + * with `ERR_OUT_OF_RANGE`. Sync writes (`writeSync()`, `writevSync()`) + * return `false`. + */ + limit?: number | undefined; + /** + * Maximum chunk size in bytes for synchronous write + * operations. Writes larger than this threshold fall back to async I/O. + * Set this to match the reader's `chunkSize` for optimal `pipeTo()` + * performance. + * @default 131072 + */ + chunkSize?: number | undefined; + } + // TODO: Add `EventEmitter` close + interface FileHandle { + /** + * The numeric file descriptor managed by the {FileHandle} object. + * @since v10.0.0 + */ + readonly fd: number; + /** + * Alias of `filehandle.writeFile()`. + * + * When operating on file handles, the mode cannot be changed from what it was set + * to with `fsPromises.open()`. Therefore, this is equivalent to `filehandle.writeFile()`. + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + appendFile( + data: string | Uint8Array, + options?: + | (ObjectEncodingOptions & Abortable) + | BufferEncoding + | null, + ): Promise; + /** + * Changes the ownership of the file. A wrapper for [`chown(2)`](http://man7.org/linux/man-pages/man2/chown.2.html). + * @since v10.0.0 + * @param uid The file's new owner's user id. + * @param gid The file's new group's group id. + * @return Fulfills with `undefined` upon success. + */ + chown(uid: number, gid: number): Promise; + /** + * Modifies the permissions on the file. See [`chmod(2)`](http://man7.org/linux/man-pages/man2/chmod.2.html). + * @since v10.0.0 + * @param mode the file mode bit mask. + * @return Fulfills with `undefined` upon success. + */ + chmod(mode: Mode): Promise; + /** + * Unlike the 16 KiB default `highWaterMark` for a `stream.Readable`, the stream + * returned by this method has a default `highWaterMark` of 64 KiB. + * + * `options` can include `start` and `end` values to read a range of bytes from + * the file instead of the entire file. Both `start` and `end` are inclusive and + * start counting at 0, allowed values are in the + * \[0, [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER)\] range. If `start` is + * omitted or `undefined`, `filehandle.createReadStream()` reads sequentially from + * the current file position. The `encoding` can be any one of those accepted by `Buffer`. + * + * If the `FileHandle` points to a character device that only supports blocking + * reads (such as keyboard or sound card), read operations do not finish until data + * is available. This can prevent the process from exiting and the stream from + * closing naturally. + * + * By default, the stream will emit a `'close'` event after it has been + * destroyed. Set the `emitClose` option to `false` to change this behavior. + * + * ```js + * import { open } from 'node:fs/promises'; + * + * const fd = await open('/dev/input/event0'); + * // Create a stream from some character device. + * const stream = fd.createReadStream(); + * setTimeout(() => { + * stream.close(); // This may not close the stream. + * // Artificially marking end-of-stream, as if the underlying resource had + * // indicated end-of-file by itself, allows the stream to close. + * // This does not cancel pending read operations, and if there is such an + * // operation, the process may still not be able to exit successfully + * // until it finishes. + * stream.push(null); + * stream.read(0); + * }, 100); + * ``` + * + * If `autoClose` is false, then the file descriptor won't be closed, even if + * there's an error. It is the application's responsibility to close it and make + * sure there's no file descriptor leak. If `autoClose` is set to true (default + * behavior), on `'error'` or `'end'` the file descriptor will be closed + * automatically. + * + * An example to read the last 10 bytes of a file which is 100 bytes long: + * + * ```js + * import { open } from 'node:fs/promises'; + * + * const fd = await open('sample.txt'); + * fd.createReadStream({ start: 90, end: 99 }); + * ``` + * @since v16.11.0 + */ + createReadStream(options?: CreateReadStreamOptions): ReadStream; + /** + * `options` may also include a `start` option to allow writing data at some + * position past the beginning of the file, allowed values are in the + * \[0, [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER)\] range. Modifying a file rather than + * replacing it may require the `flags` `open` option to be set to `r+` rather than + * the default `r`. The `encoding` can be any one of those accepted by `Buffer`. + * + * If `autoClose` is set to true (default behavior) on `'error'` or `'finish'` the file descriptor will be closed automatically. If `autoClose` is false, + * then the file descriptor won't be closed, even if there's an error. + * It is the application's responsibility to close it and make sure there's no + * file descriptor leak. + * + * By default, the stream will emit a `'close'` event after it has been + * destroyed. Set the `emitClose` option to `false` to change this behavior. + * @since v16.11.0 + */ + createWriteStream(options?: CreateWriteStreamOptions): WriteStream; + /** + * Forces all currently queued I/O operations associated with the file to the + * operating system's synchronized I/O completion state. Refer to the POSIX [`fdatasync(2)`](http://man7.org/linux/man-pages/man2/fdatasync.2.html) documentation for details. + * + * Unlike `filehandle.sync` this method does not flush modified metadata. + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + datasync(): Promise; + /** + * Return the file contents as an async iterable using the + * [`node:stream/iter`](https://nodejs.org/docs/latest-v25.x/api/stream_iter.html) pull model. Reads are performed in `chunkSize`-byte + * chunks (default 128 KB). If transforms are provided, they are applied + * via [`stream/iter pull()`](https://nodejs.org/docs/latest-v25.x/api/stream_iter.html#pullsource-transforms-options). + * + * The file handle is locked while the iterable is being consumed and unlocked + * when iteration completes, an error occurs, or the consumer breaks. + * + * This function is only available when the `--experimental-stream-iter` flag is + * enabled. + * + * ```js + * import { open } from 'node:fs/promises'; + * import { text } from 'node:stream/iter'; + * import { compressGzip } from 'node:zlib/iter'; + * + * const fh = await open('input.txt', 'r'); + * + * // Read as text + * console.log(await text(fh.pull({ autoClose: true }))); + * + * // Read 1 KB starting at byte 100 + * const fh2 = await open('input.txt', 'r'); + * console.log(await text(fh2.pull({ start: 100, limit: 1024, autoClose: true }))); + * + * // Read with compression + * const fh3 = await open('input.txt', 'r'); + * const compressed = fh3.pull(compressGzip(), { autoClose: true }); + * ``` + * @since v25.9.0 + * @experimental + */ + pull(...transforms: Transform[]): ByteReadableStream; + pull(...args: [...transforms: Transform[], options: PullOptions]): ByteReadableStream; + /** + * Request that all data for the open file descriptor is flushed to the storage + * device. The specific implementation is operating system and device specific. + * Refer to the POSIX [`fsync(2)`](http://man7.org/linux/man-pages/man2/fsync.2.html) documentation for more detail. + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + sync(): Promise; + /** + * Reads data from the file and stores that in the given buffer. + * + * If the file is not modified concurrently, the end-of-file is reached when the + * number of bytes read is zero. + * @since v10.0.0 + * @param buffer A buffer that will be filled with the file data read. + * @param offset The location in the buffer at which to start filling. + * @param length The number of bytes to read. + * @param position The location where to begin reading data from the file. If `null`, data will be read from the current file position, and the position will be updated. If `position` is an + * integer, the current file position will remain unchanged. + * @return Fulfills upon success with an object with two properties: + */ + read( + buffer: T, + offset?: number | null, + length?: number | null, + position?: ReadPosition | null, + ): Promise>; + read( + buffer: T, + options?: ReadOptions, + ): Promise>; + read( + options?: ReadOptionsWithBuffer, + ): Promise>; + /** + * Returns a byte-oriented `ReadableStream` that may be used to read the file's + * contents. + * + * An error will be thrown if this method is called more than once or is called + * after the `FileHandle` is closed or closing. + * + * ```js + * import { + * open, + * } from 'node:fs/promises'; + * + * const file = await open('./some/file/to/read'); + * + * for await (const chunk of file.readableWebStream()) + * console.log(chunk); + * + * await file.close(); + * ``` + * + * While the `ReadableStream` will read the file to completion, it will not + * close the `FileHandle` automatically. User code must still call the`fileHandle.close()` method. + * @since v17.0.0 + */ + readableWebStream(options?: ReadableWebStreamOptions): ReadableStream; + /** + * Asynchronously reads the entire contents of a file. + * + * If `options` is a string, then it specifies the `encoding`. + * + * The `FileHandle` has to support reading. + * + * If one or more `filehandle.read()` calls are made on a file handle and then a `filehandle.readFile()` call is made, the data will be read from the current + * position till the end of the file. It doesn't always read from the beginning + * of the file. + * @since v10.0.0 + * @return Fulfills upon a successful read with the contents of the file. If no encoding is specified (using `options.encoding`), the data is returned as a {Buffer} object. Otherwise, the + * data will be a string. + */ + readFile( + options?: + | ({ encoding?: null | undefined } & Abortable) + | 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. + */ + readFile( + options: + | ({ encoding: BufferEncoding } & Abortable) + | 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. + */ + readFile( + options?: + | (ObjectEncodingOptions & Abortable) + | BufferEncoding + | null, + ): Promise; + /** + * Convenience method to create a `readline` interface and stream over the file. + * See `filehandle.createReadStream()` for the options. + * + * ```js + * import { open } from 'node:fs/promises'; + * + * const file = await open('./some/file/to/read'); + * + * for await (const line of file.readLines()) { + * console.log(line); + * } + * ``` + * @since v18.11.0 + */ + readLines(options?: CreateReadStreamOptions): ReadlineInterface; + /** + * @since v10.0.0 + * @return Fulfills with an {fs.Stats} for the file. + */ + stat( + opts?: StatOptions & { + bigint?: false | undefined; + }, + ): Promise; + stat( + opts: StatOptions & { + bigint: true; + }, + ): Promise; + stat(opts?: StatOptions): Promise; + /** + * Truncates the file. + * + * If the file was larger than `len` bytes, only the first `len` bytes will be + * retained in the file. + * + * The following example retains only the first four bytes of the file: + * + * ```js + * import { open } from 'node:fs/promises'; + * + * let filehandle = null; + * try { + * filehandle = await open('temp.txt', 'r+'); + * await filehandle.truncate(4); + * } finally { + * await filehandle?.close(); + * } + * ``` + * + * If the file previously was shorter than `len` bytes, it is extended, and the + * extended part is filled with null bytes (`'\0'`): + * + * If `len` is negative then `0` will be used. + * @since v10.0.0 + * @param [len=0] + * @return Fulfills with `undefined` upon success. + */ + truncate(len?: number): Promise; + /** + * Change the file system timestamps of the object referenced by the `FileHandle` then fulfills the promise with no arguments upon success. + * @since v10.0.0 + */ + utimes(atime: TimeLike, mtime: TimeLike): Promise; + /** + * Asynchronously writes data to a file, replacing the file if it already exists. `data` can be a string, a buffer, an + * [AsyncIterable](https://tc39.github.io/ecma262/#sec-asynciterable-interface), or an + * [Iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol) object. + * The promise is fulfilled with no arguments upon success. + * + * If `options` is a string, then it specifies the `encoding`. + * + * The `FileHandle` has to support writing. + * + * It is unsafe to use `filehandle.writeFile()` multiple times on the same file + * without waiting for the promise to be fulfilled (or rejected). + * + * If one or more `filehandle.write()` calls are made on a file handle and then a`filehandle.writeFile()` call is made, the data will be written from the + * current position till the end of the file. It doesn't always write from the + * beginning of the file. + * @since v10.0.0 + */ + writeFile( + data: string | Uint8Array, + options?: + | (ObjectEncodingOptions & Abortable) + | BufferEncoding + | null, + ): Promise; + /** + * Write `buffer` to the file. + * + * The promise is fulfilled with an object containing two properties: + * + * It is unsafe to use `filehandle.write()` multiple times on the same file + * without waiting for the promise to be fulfilled (or rejected). For this + * scenario, use `filehandle.createWriteStream()`. + * + * On Linux, positional writes do not 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. + * @since v10.0.0 + * @param offset The start position from within `buffer` where the data to write begins. + * @param [length=buffer.byteLength - offset] The number of bytes from `buffer` to write. + * @param [position='null'] The offset from the beginning of the file where the data from `buffer` should be written. If `position` is not a `number`, the data will be written at the current + * position. See the POSIX pwrite(2) documentation for more detail. + */ + write( + buffer: TBuffer, + offset?: number | null, + length?: number | null, + position?: number | null, + ): Promise<{ + bytesWritten: number; + buffer: TBuffer; + }>; + write( + buffer: TBuffer, + options?: { offset?: number; length?: number; position?: number }, + ): Promise<{ + bytesWritten: number; + buffer: TBuffer; + }>; + write( + data: string, + position?: number | null, + encoding?: BufferEncoding | null, + ): Promise<{ + bytesWritten: number; + buffer: string; + }>; + /** + * Write an array of [ArrayBufferView](https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView) s to the file. + * + * The promise is fulfilled with an object containing a two properties: + * + * It is unsafe to call `writev()` multiple times on the same file without waiting + * for the promise to be fulfilled (or rejected). + * + * 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. + * @since v12.9.0 + * @param [position='null'] The offset from the beginning of the file where the data from `buffers` should be written. If `position` is not a `number`, the data will be written at the current + * position. + */ + writev( + buffers: TBuffers, + position?: number, + ): Promise>; + /** + * Return a [`node:stream/iter`](https://nodejs.org/docs/latest-v25.x/api/stream_iter.html) writer backed by this file handle. + * + * The writer supports both `Symbol.asyncDispose` and `Symbol.dispose`: + * + * * `await using w = fh.writer()` — if the writer is still open (no `end()` + * called), `asyncDispose` calls `fail()`. If `end()` is pending, it waits + * for it to complete. + * * `using w = fh.writer()` — calls `fail()` unconditionally. + * + * The `writeSync()` and `writevSync()` methods enable the try-sync fast path + * used by [`stream/iter pipeTo()`](https://nodejs.org/docs/latest-v25.x/api/stream_iter.html#pipetosource-transforms-writer). When the reader's chunk size matches the + * writer's `chunkSize`, all writes in a `pipeTo()` pipeline complete + * synchronously with zero promise overhead. + * + * This function is only available when the `--experimental-stream-iter` flag is + * enabled. + * + * ```js + * import { open } from 'node:fs/promises'; + * import { from, pipeTo } from 'node:stream/iter'; + * import { compressGzip } from 'node:zlib/iter'; + * + * // Async pipeline + * const fh = await open('output.gz', 'w'); + * await pipeTo(from('Hello!'), compressGzip(), fh.writer({ autoClose: true })); + * + * // Sync pipeline with limit + * const src = await open('input.txt', 'r'); + * const dst = await open('output.txt', 'w'); + * const w = dst.writer({ limit: 1024 * 1024 }); // Max 1 MB + * await pipeTo(src.pull({ autoClose: true }), w); + * await w.end(); + * await dst.close(); + * ``` + * @since v25.9.0 + * @experimental + */ + writer(options?: WriterOptions): Writer; + /** + * Read from a file and write to an array of [ArrayBufferView](https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView) s + * @since v13.13.0, v12.17.0 + * @param [position='null'] The offset from the beginning of the file where the data should be read from. If `position` is not a `number`, the data will be read from the current position. + * @return Fulfills upon success an object containing two properties: + */ + readv( + buffers: TBuffers, + position?: number, + ): Promise>; + /** + * Closes the file handle after waiting for any pending operation on the handle to + * complete. + * + * ```js + * import { open } from 'node:fs/promises'; + * + * let filehandle; + * try { + * filehandle = await open('thefile.txt', 'r'); + * } finally { + * await filehandle?.close(); + * } + * ``` + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + close(): Promise; + /** + * Calls `filehandle.close()` and returns a promise that fulfills when the + * filehandle is closed. + * @since v20.4.0, v18.8.0 + */ + [Symbol.asyncDispose](): Promise; + } + const constants: typeof fsConstants; + /** + * Tests a user's permissions for the file or directory specified by `path`. + * The `mode` argument is an optional integer that specifies the accessibility + * checks to be performed. `mode` should be either the value `fs.constants.F_OK` or a mask consisting of the bitwise OR of any of `fs.constants.R_OK`, `fs.constants.W_OK`, and `fs.constants.X_OK` + * (e.g.`fs.constants.W_OK | fs.constants.R_OK`). Check `File access constants` for + * possible values of `mode`. + * + * If the accessibility check is successful, the promise is fulfilled with no + * value. If any of the accessibility checks fail, the promise is rejected + * with an [Error](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) object. The following example checks if the file`/etc/passwd` can be read and + * written by the current process. + * + * ```js + * import { access, constants } from 'node:fs/promises'; + * + * try { + * await access('/etc/passwd', constants.R_OK | constants.W_OK); + * console.log('can access'); + * } catch { + * console.error('cannot access'); + * } + * ``` + * + * Using `fsPromises.access()` to check for the accessibility of a file before + * calling `fsPromises.open()` is not recommended. Doing so introduces a race + * condition, since other processes may change the file's state between the two + * calls. Instead, user code should open/read/write the file directly and handle + * the error raised if the file is not accessible. + * @since v10.0.0 + * @param [mode=fs.constants.F_OK] + * @return Fulfills with `undefined` upon success. + */ + function access(path: PathLike, mode?: number): Promise; + /** + * Asynchronously copies `src` to `dest`. By default, `dest` is overwritten if it + * already exists. + * + * No guarantees are made about the atomicity of the copy operation. If an + * error occurs after the destination file has been opened for writing, an attempt + * will be made to remove the destination. + * + * ```js + * import { copyFile, constants } from 'node:fs/promises'; + * + * try { + * await copyFile('source.txt', 'destination.txt'); + * console.log('source.txt was copied to destination.txt'); + * } catch { + * console.error('The file could not be copied'); + * } + * + * // By using COPYFILE_EXCL, the operation will fail if destination.txt exists. + * try { + * await copyFile('source.txt', 'destination.txt', constants.COPYFILE_EXCL); + * console.log('source.txt was copied to destination.txt'); + * } catch { + * console.error('The file could not be copied'); + * } + * ``` + * @since v10.0.0 + * @param src source filename to copy + * @param dest destination filename of the copy operation + * @param [mode=0] Optional modifiers that specify the behavior of the copy operation. It is possible to create a mask consisting of the bitwise OR of two or more values (e.g. + * `fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE`) + * @return Fulfills with `undefined` upon success. + */ + function copyFile(src: PathLike, dest: PathLike, mode?: number): Promise; + /** + * Opens a `FileHandle`. + * + * Refer to the POSIX [`open(2)`](http://man7.org/linux/man-pages/man2/open.2.html) documentation for more detail. + * + * Some characters (`< > : " / \ | ? *`) are reserved under Windows as documented + * by [Naming Files, Paths, and Namespaces](https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file). Under NTFS, if the filename contains + * a colon, Node.js will open a file system stream, as described by [this MSDN page](https://docs.microsoft.com/en-us/windows/desktop/FileIO/using-streams). + * @since v10.0.0 + * @param [flags='r'] See `support of file system `flags``. + * @param [mode=0o666] Sets the file mode (permission and sticky bits) if the file is created. + * @return Fulfills with a {FileHandle} object. + */ + function open(path: PathLike, flags?: string | number, mode?: Mode): Promise; + /** + * Renames `oldPath` to `newPath`. + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + function rename(oldPath: PathLike, newPath: PathLike): Promise; + /** + * Truncates (shortens or extends the length) of the content at `path` to `len` bytes. + * @since v10.0.0 + * @param [len=0] + * @return Fulfills with `undefined` upon success. + */ + function truncate(path: PathLike, len?: number): Promise; + /** + * Removes the directory identified by `path`. + * + * Using `fsPromises.rmdir()` on a file (not a directory) results in the + * promise being rejected with an `ENOENT` error on Windows and an `ENOTDIR` error on POSIX. + * + * To get a behavior similar to the `rm -rf` Unix command, use `fsPromises.rm()` with options `{ recursive: true, force: true }`. + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + function rmdir(path: PathLike): Promise; + /** + * Removes files and directories (modeled on the standard POSIX `rm` utility). + * @since v14.14.0 + * @return Fulfills with `undefined` upon success. + */ + function rm(path: PathLike, options?: RmOptions): Promise; + /** + * Asynchronously creates a directory. + * + * The optional `options` argument can be an integer specifying `mode` (permission + * and sticky bits), or an object with a `mode` property and a `recursive` property indicating whether parent directories should be created. Calling `fsPromises.mkdir()` when `path` is a directory + * that exists results in a + * rejection only when `recursive` is false. + * + * ```js + * import { mkdir } from 'node:fs/promises'; + * + * try { + * const projectFolder = new URL('./test/project/', import.meta.url); + * const createDir = await mkdir(projectFolder, { recursive: true }); + * + * console.log(`created ${createDir}`); + * } catch (err) { + * console.error(err.message); + * } + * ``` + * @since v10.0.0 + * @return Upon success, fulfills with `undefined` if `recursive` is `false`, or the first directory path created if `recursive` is `true`. + */ + function mkdir( + path: PathLike, + options: MakeDirectoryOptions & { + recursive: true; + }, + ): 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?: + | Mode + | (MakeDirectoryOptions & { + recursive?: false | undefined; + }) + | null, + ): 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?: Mode | MakeDirectoryOptions | null): Promise; + /** + * Reads the contents of a directory. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use for + * the filenames. If the `encoding` is set to `'buffer'`, the filenames returned + * will be passed as `Buffer` objects. + * + * If `options.withFileTypes` is set to `true`, the returned array will contain `fs.Dirent` objects. + * + * ```js + * import { readdir } from 'node:fs/promises'; + * + * try { + * const files = await readdir(path); + * for (const file of files) + * console.log(file); + * } catch (err) { + * console.error(err); + * } + * ``` + * @since v10.0.0 + * @return Fulfills with an array of the names of the files in the directory excluding `'.'` and `'..'`. + */ + function readdir( + path: PathLike, + options?: + | (ObjectEncodingOptions & { + withFileTypes?: false | undefined; + recursive?: boolean | undefined; + }) + | 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 | undefined; + recursive?: boolean | undefined; + } + | "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?: + | (ObjectEncodingOptions & { + withFileTypes?: false | undefined; + recursive?: boolean | undefined; + }) + | 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 If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + function readdir( + path: PathLike, + options: ObjectEncodingOptions & { + withFileTypes: true; + recursive?: boolean | undefined; + }, + ): Promise; + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a directory. If a URL is provided, it must use the `file:` protocol. + * @param options Must include `withFileTypes: true` and `encoding: 'buffer'`. + */ + function readdir( + path: PathLike, + options: { + encoding: "buffer"; + withFileTypes: true; + recursive?: boolean | undefined; + }, + ): Promise[]>; + /** + * Reads the contents of the symbolic link referred to by `path`. See the POSIX [`readlink(2)`](http://man7.org/linux/man-pages/man2/readlink.2.html) documentation for more detail. The promise is + * fulfilled with the`linkString` upon success. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use for + * the link path returned. If the `encoding` is set to `'buffer'`, the link path + * returned will be passed as a `Buffer` object. + * @since v10.0.0 + * @return Fulfills with the `linkString` upon success. + */ + function readlink(path: PathLike, options?: ObjectEncodingOptions | 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: BufferEncodingOption): 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?: ObjectEncodingOptions | string | null, + ): Promise; + /** + * Creates a symbolic link. + * + * The `type` argument is only used on Windows platforms and can be one of `'dir'`, `'file'`, or `'junction'`. If the `type` argument is not a string, Node.js will + * autodetect `target` type and use `'file'` or `'dir'`. If the `target` does not + * exist, `'file'` will be used. Windows junction points require the destination + * path to be absolute. When using `'junction'`, the `target` argument will + * automatically be normalized to absolute path. Junction points on NTFS volumes + * can only point to directories. + * @since v10.0.0 + * @param [type='null'] + * @return Fulfills with `undefined` upon success. + */ + function symlink(target: PathLike, path: PathLike, type?: string | null): Promise; + /** + * Equivalent to `fsPromises.stat()` unless `path` refers to a symbolic link, + * in which case the link itself is stat-ed, not the file that it refers to. + * Refer to the POSIX [`lstat(2)`](http://man7.org/linux/man-pages/man2/lstat.2.html) document for more detail. + * @since v10.0.0 + * @return Fulfills with the {fs.Stats} object for the given symbolic link `path`. + */ + function lstat( + path: PathLike, + opts?: StatOptions & { + bigint?: false | undefined; + }, + ): Promise; + function lstat( + path: PathLike, + opts: StatOptions & { + bigint: true; + }, + ): Promise; + function lstat(path: PathLike, opts?: StatOptions): Promise; + /** + * @since v10.0.0 + * @return Fulfills with the {fs.Stats} object for the given `path`. + */ + function stat(path: PathLike): Promise; + function stat( + path: PathLike, + opts?: StatOptions & { + bigint?: false | undefined; + throwIfNoEntry?: true | undefined; + }, + ): Promise; + function stat( + path: PathLike, + opts: StatOptions & { + bigint: true; + throwIfNoEntry?: true | undefined; + }, + ): Promise; + function stat( + path: PathLike, + opts: StatOptions & { + bigint?: false | undefined; + throwIfNoEntry: false; + }, + ): Promise; + function stat( + path: PathLike, + opts: StatOptions & { + bigint: true; + throwIfNoEntry: false; + }, + ): Promise; + function stat( + path: PathLike, + opts: StatOptions & { + throwIfNoEntry?: true | undefined; + }, + ): Promise; + function stat(path: PathLike, opts?: StatOptions): Promise; + /** + * @since v19.6.0, v18.15.0 + * @return Fulfills with the {fs.StatFs} object for the given `path`. + */ + function statfs( + path: PathLike, + opts?: StatFsOptions & { + bigint?: false | undefined; + }, + ): Promise; + function statfs( + path: PathLike, + opts: StatFsOptions & { + bigint: true; + }, + ): Promise; + function statfs(path: PathLike, opts?: StatFsOptions): Promise; + /** + * Creates a new link from the `existingPath` to the `newPath`. See the POSIX [`link(2)`](http://man7.org/linux/man-pages/man2/link.2.html) documentation for more detail. + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + function link(existingPath: PathLike, newPath: PathLike): Promise; + /** + * If `path` refers to a symbolic link, then the link is removed without affecting + * the file or directory to which that link refers. If the `path` refers to a file + * path that is not a symbolic link, the file is deleted. See the POSIX [`unlink(2)`](http://man7.org/linux/man-pages/man2/unlink.2.html) documentation for more detail. + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + function unlink(path: PathLike): Promise; + /** + * Changes the permissions of a file. + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + function chmod(path: PathLike, mode: Mode): Promise; + /** + * Changes the permissions on a symbolic link. + * + * This method is only implemented on macOS. + * @deprecated Since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + function lchmod(path: PathLike, mode: Mode): Promise; + /** + * Changes the ownership on a symbolic link. + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + function lchown(path: PathLike, uid: number, gid: number): Promise; + /** + * Changes the access and modification times of a file in the same way as `fsPromises.utimes()`, with the difference that if the path refers to a + * symbolic link, then the link is not dereferenced: instead, the timestamps of + * the symbolic link itself are changed. + * @since v14.5.0, v12.19.0 + * @return Fulfills with `undefined` upon success. + */ + function lutimes(path: PathLike, atime: TimeLike, mtime: TimeLike): Promise; + /** + * Changes the ownership of a file. + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + function chown(path: PathLike, uid: number, gid: number): Promise; + /** + * Change the file system timestamps of the object referenced by `path`. + * + * The `atime` and `mtime` arguments follow these rules: + * + * * Values can be either numbers representing Unix epoch time, `Date`s, or a + * numeric string like `'123456789.0'`. + * * If the value can not be converted to a number, or is `NaN`, `Infinity`, or `-Infinity`, an `Error` will be thrown. + * @since v10.0.0 + * @return Fulfills with `undefined` upon success. + */ + function utimes(path: PathLike, atime: TimeLike, mtime: TimeLike): Promise; + /** + * Determines the actual location of `path` using the same semantics as the `fs.realpath.native()` function. + * + * Only paths that can be converted to UTF8 strings are supported. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use for + * the path. If the `encoding` is set to `'buffer'`, the path returned will be + * passed as a `Buffer` object. + * + * On Linux, when Node.js is linked against musl libc, the procfs file system must + * be mounted on `/proc` in order for this function to work. Glibc does not have + * this restriction. + * @since v10.0.0 + * @return Fulfills with the resolved path upon success. + */ + function realpath(path: PathLike, options?: ObjectEncodingOptions | 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: BufferEncodingOption): 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?: ObjectEncodingOptions | BufferEncoding | null, + ): Promise; + /** + * Creates a unique temporary directory. A unique directory name is generated by + * appending six random characters to the end of the provided `prefix`. Due to + * platform inconsistencies, avoid trailing `X` characters in `prefix`. Some + * platforms, notably the BSDs, can return more than six random characters, and + * replace trailing `X` characters in `prefix` with random characters. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use. + * + * ```js + * import { mkdtemp } from 'node:fs/promises'; + * import { join } from 'node:path'; + * import { tmpdir } from 'node:os'; + * + * try { + * await mkdtemp(join(tmpdir(), 'foo-')); + * } catch (err) { + * console.error(err); + * } + * ``` + * + * The `fsPromises.mkdtemp()` method will append the six randomly selected + * characters directly to the `prefix` string. For instance, given a directory `/tmp`, if the intention is to create a temporary directory _within_ `/tmp`, the `prefix` must end with a trailing + * platform-specific path separator + * (`import { sep } from 'node:path'`). + * @since v10.0.0 + * @return Fulfills with a string containing the file system path of the newly created temporary directory. + */ + function mkdtemp(prefix: string, options?: ObjectEncodingOptions | 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: BufferEncodingOption): 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?: ObjectEncodingOptions | BufferEncoding | null, + ): Promise; + interface DisposableTempDir extends AsyncDisposable { + /** + * The path of the created directory. + */ + path: string; + /** + * A function which removes the created directory. + */ + remove(): Promise; + /** + * The same as `remove`. + */ + [Symbol.asyncDispose](): Promise; + } + /** + * The resulting Promise holds an async-disposable object whose `path` property + * holds the created directory path. When the object is disposed, the directory + * and its contents will be removed asynchronously if it still exists. If the + * directory cannot be deleted, disposal will throw an error. The object has an + * async `remove()` method which will perform the same task. + * + * Both this function and the disposal function on the resulting object are + * async, so it should be used with `await` + `await using` as in + * `await using dir = await fsPromises.mkdtempDisposable('prefix')`. + * + * + * + * For detailed information, see the documentation of `fsPromises.mkdtemp()`. + * + * The optional `options` argument can be a string specifying an encoding, or an + * object with an `encoding` property specifying the character encoding to use. + * @since v24.4.0 + */ + function mkdtempDisposable(prefix: PathLike, options?: EncodingOption): Promise; + /** + * Asynchronously writes data to a file, replacing the file if it already exists. `data` can be a string, a buffer, an + * [AsyncIterable](https://tc39.github.io/ecma262/#sec-asynciterable-interface), or an + * [Iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol) object. + * + * The `encoding` option is ignored if `data` is a buffer. + * + * If `options` is a string, then it specifies the encoding. + * + * The `mode` option only affects the newly created file. See `fs.open()` for more details. + * + * Any specified `FileHandle` has to support writing. + * + * It is unsafe to use `fsPromises.writeFile()` multiple times on the same file + * without waiting for the promise to be settled. + * + * Similarly to `fsPromises.readFile` \- `fsPromises.writeFile` is a convenience + * method that performs multiple `write` calls internally to write the buffer + * passed to it. For performance sensitive code consider using `fs.createWriteStream()` or `filehandle.createWriteStream()`. + * + * It is possible to use an `AbortSignal` to cancel an `fsPromises.writeFile()`. + * Cancelation is "best effort", and some amount of data is likely still + * to be written. + * + * ```js + * import { writeFile } from 'node:fs/promises'; + * import { Buffer } from 'node:buffer'; + * + * try { + * const controller = new AbortController(); + * const { signal } = controller; + * const data = new Uint8Array(Buffer.from('Hello Node.js')); + * const promise = writeFile('message.txt', data, { signal }); + * + * // Abort the request before the promise settles. + * controller.abort(); + * + * await promise; + * } catch (err) { + * // When a request is aborted - err is an AbortError + * console.error(err); + * } + * ``` + * + * Aborting an ongoing request does not abort individual operating + * system requests but rather the internal buffering `fs.writeFile` performs. + * @since v10.0.0 + * @param file filename or `FileHandle` + * @return Fulfills with `undefined` upon success. + */ + function writeFile( + file: PathLike | FileHandle, + data: + | string + | NodeJS.ArrayBufferView + | Iterable + | AsyncIterable + | Stream, + options?: + | (ObjectEncodingOptions & { + mode?: Mode | undefined; + flag?: OpenMode | undefined; + /** + * If all data is successfully written to the file, and `flush` + * is `true`, `filehandle.sync()` is used to flush the data. + * @default false + */ + flush?: boolean | undefined; + } & Abortable) + | BufferEncoding + | null, + ): Promise; + /** + * Asynchronously append data to a file, creating the file if it does not yet + * exist. `data` can be a string or a `Buffer`. + * + * If `options` is a string, then it specifies the `encoding`. + * + * The `mode` option only affects the newly created file. See `fs.open()` for more details. + * + * The `path` may be specified as a `FileHandle` that has been opened + * for appending (using `fsPromises.open()`). + * @since v10.0.0 + * @param path filename or {FileHandle} + * @return Fulfills with `undefined` upon success. + */ + function appendFile( + path: PathLike | FileHandle, + data: string | Uint8Array, + options?: (ObjectEncodingOptions & FlagAndOpenMode & { flush?: boolean | undefined }) | BufferEncoding | null, + ): Promise; + /** + * Asynchronously reads the entire contents of a file. + * + * If no encoding is specified (using `options.encoding`), the data is returned + * as a `Buffer` object. Otherwise, the data will be a string. + * + * If `options` is a string, then it specifies the encoding. + * + * When the `path` is a directory, the behavior of `fsPromises.readFile()` is + * platform-specific. On macOS, Linux, and Windows, the promise will be rejected + * with an error. On FreeBSD, a representation of the directory's contents will be + * returned. + * + * An example of reading a `package.json` file located in the same directory of the + * running code: + * + * ```js + * import { readFile } from 'node:fs/promises'; + * try { + * const filePath = new URL('./package.json', import.meta.url); + * const contents = await readFile(filePath, { encoding: 'utf8' }); + * console.log(contents); + * } catch (err) { + * console.error(err.message); + * } + * ``` + * + * It is possible to abort an ongoing `readFile` using an `AbortSignal`. If a + * request is aborted the promise returned is rejected with an `AbortError`: + * + * ```js + * import { readFile } from 'node:fs/promises'; + * + * try { + * const controller = new AbortController(); + * const { signal } = controller; + * const promise = readFile(fileName, { signal }); + * + * // Abort the request before the promise settles. + * controller.abort(); + * + * await promise; + * } catch (err) { + * // When a request is aborted - err is an AbortError + * console.error(err); + * } + * ``` + * + * Aborting an ongoing request does not abort individual operating + * system requests but rather the internal buffering `fs.readFile` performs. + * + * Any specified `FileHandle` has to support reading. + * @since v10.0.0 + * @param path filename or `FileHandle` + * @return Fulfills with the contents of the file. + */ + function readFile( + path: PathLike | FileHandle, + options?: + | ({ + encoding?: null | undefined; + flag?: OpenMode | undefined; + } & Abortable) + | 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?: OpenMode | undefined; + } & Abortable) + | 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?: + | ( + & ObjectEncodingOptions + & Abortable + & { + flag?: OpenMode | undefined; + } + ) + | BufferEncoding + | null, + ): Promise; + /** + * Asynchronously open a directory for iterative scanning. See the POSIX [`opendir(3)`](http://man7.org/linux/man-pages/man3/opendir.3.html) documentation for more detail. + * + * Creates an `fs.Dir`, which contains all further functions for reading from + * and cleaning up the directory. + * + * The `encoding` option sets the encoding for the `path` while opening the + * directory and subsequent read operations. + * + * Example using async iteration: + * + * ```js + * import { opendir } from 'node:fs/promises'; + * + * try { + * const dir = await opendir('./'); + * for await (const dirent of dir) + * console.log(dirent.name); + * } catch (err) { + * console.error(err); + * } + * ``` + * + * When using the async iterator, the `fs.Dir` object will be automatically + * closed after the iterator exits. + * @since v12.12.0 + * @return Fulfills with an {fs.Dir}. + */ + function opendir(path: PathLike, options?: OpenDirOptions): Promise; + interface WatchOptions extends _WatchOptions { + maxQueue?: number | undefined; + overflow?: "ignore" | "throw" | undefined; + } + interface WatchOptionsWithBufferEncoding extends WatchOptions { + encoding: "buffer"; + } + interface WatchOptionsWithStringEncoding extends WatchOptions { + encoding?: BufferEncoding | undefined; + } + /** + * Returns an async iterator that watches for changes on `filename`, where `filename`is either a file or a directory. + * + * ```js + * import { watch } from 'node:fs/promises'; + * + * const ac = new AbortController(); + * const { signal } = ac; + * setTimeout(() => ac.abort(), 10000); + * + * (async () => { + * try { + * const watcher = watch(__filename, { signal }); + * for await (const event of watcher) + * console.log(event); + * } catch (err) { + * if (err.name === 'AbortError') + * return; + * throw err; + * } + * })(); + * ``` + * + * On most platforms, `'rename'` is emitted whenever a filename appears or + * disappears in the directory. + * + * All the `caveats` for `fs.watch()` also apply to `fsPromises.watch()`. + * @since v15.9.0, v14.18.0 + * @return of objects with the properties: + */ + function watch( + filename: PathLike, + options?: WatchOptionsWithStringEncoding | BufferEncoding, + ): NodeJS.AsyncIterator>; + function watch( + filename: PathLike, + options: WatchOptionsWithBufferEncoding | "buffer", + ): NodeJS.AsyncIterator>; + function watch( + filename: PathLike, + options: WatchOptions | BufferEncoding | "buffer", + ): NodeJS.AsyncIterator>; + /** + * Asynchronously copies the entire directory structure from `src` to `dest`, + * including subdirectories and files. + * + * When copying a directory to another directory, globs are not supported and + * behavior is similar to `cp dir1/ dir2/`. + * @since v16.7.0 + * @experimental + * @param src source path to copy. + * @param dest destination path to copy to. + * @return Fulfills with `undefined` upon success. + */ + function cp(source: string | URL, destination: string | URL, opts?: CopyOptions): Promise; + /** + * ```js + * import { glob } from 'node:fs/promises'; + * + * for await (const entry of glob('*.js')) + * console.log(entry); + * ``` + * @since v22.0.0 + * @returns An AsyncIterator that yields the paths of files + * that match the pattern. + */ + function glob(pattern: string | readonly string[]): NodeJS.AsyncIterator; + function glob( + pattern: string | readonly string[], + options: GlobOptionsWithFileTypes, + ): NodeJS.AsyncIterator; + function glob( + pattern: string | readonly string[], + options: GlobOptionsWithoutFileTypes, + ): NodeJS.AsyncIterator; + function glob( + pattern: string | readonly string[], + options: GlobOptions, + ): NodeJS.AsyncIterator; +} +declare module "fs/promises" { + export * from "node:fs/promises"; +} diff --git a/node_modules/@types/node/globals.d.ts b/node_modules/@types/node/globals.d.ts new file mode 100644 index 0000000..36e7f90 --- /dev/null +++ b/node_modules/@types/node/globals.d.ts @@ -0,0 +1,150 @@ +declare var global: typeof globalThis; + +declare var process: NodeJS.Process; + +interface ErrorConstructor { + /** + * Creates a `.stack` property on `targetObject`, which when accessed returns + * a string representing the location in the code at which + * `Error.captureStackTrace()` was called. + * + * ```js + * const myObject = {}; + * Error.captureStackTrace(myObject); + * myObject.stack; // Similar to `new Error().stack` + * ``` + * + * The first line of the trace will be prefixed with + * `${myObject.name}: ${myObject.message}`. + * + * The optional `constructorOpt` argument accepts a function. If given, all frames + * above `constructorOpt`, including `constructorOpt`, will be omitted from the + * generated stack trace. + * + * The `constructorOpt` argument is useful for hiding implementation + * details of error generation from the user. For instance: + * + * ```js + * function a() { + * b(); + * } + * + * function b() { + * c(); + * } + * + * function c() { + * // Create an error without stack trace to avoid calculating the stack trace twice. + * const { stackTraceLimit } = Error; + * Error.stackTraceLimit = 0; + * const error = new Error(); + * Error.stackTraceLimit = stackTraceLimit; + * + * // Capture the stack trace above function b + * Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace + * throw error; + * } + * + * a(); + * ``` + */ + captureStackTrace(targetObject: object, constructorOpt?: Function): void; + /** + * @see https://v8.dev/docs/stack-trace-api#customizing-stack-traces + */ + prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any; + /** + * The `Error.stackTraceLimit` property specifies the number of stack frames + * collected by a stack trace (whether generated by `new Error().stack` or + * `Error.captureStackTrace(obj)`). + * + * The default value is `10` but may be set to any valid JavaScript number. Changes + * will affect any stack trace captured _after_ the value has been changed. + * + * If set to a non-number value, or set to a negative number, stack traces will + * not capture any frames. + */ + stackTraceLimit: number; +} + +/** + * Enable this API with the `--expose-gc` CLI flag. + */ +declare var gc: NodeJS.GCFunction | undefined; + +declare namespace NodeJS { + interface CallSite { + getColumnNumber(): number | null; + getEnclosingColumnNumber(): number | null; + getEnclosingLineNumber(): number | null; + getEvalOrigin(): string | undefined; + getFileName(): string | null; + getFunction(): Function | undefined; + getFunctionName(): string | null; + getLineNumber(): number | null; + getMethodName(): string | null; + getPosition(): number; + getPromiseIndex(): number | null; + getScriptHash(): string; + getScriptNameOrSourceURL(): string | null; + getThis(): unknown; + getTypeName(): string | null; + isAsync(): boolean; + isConstructor(): boolean; + isEval(): boolean; + isNative(): boolean; + isPromiseAll(): boolean; + isToplevel(): boolean; + } + + interface ErrnoException extends Error { + errno?: number | undefined; + code?: string | undefined; + path?: string | undefined; + syscall?: string | undefined; + } + + interface RefCounted { + ref(): this; + unref(): this; + } + + interface Dict { + [key: string]: T | undefined; + } + + interface ReadOnlyDict { + readonly [key: string]: T | undefined; + } + + type PartialOptions = { [K in keyof T]?: T[K] | undefined }; + + interface GCFunction { + (minor?: boolean): void; + (options: NodeJS.GCOptions & { execution: "async" }): Promise; + (options: NodeJS.GCOptions): void; + } + + interface GCOptions { + execution?: "sync" | "async" | undefined; + flavor?: "regular" | "last-resort" | undefined; + type?: "major-snapshot" | "major" | "minor" | undefined; + filename?: string | undefined; + } + + /** An iterable iterator returned by the Node.js API. */ + interface Iterator extends IteratorObject { + [Symbol.iterator](): NodeJS.Iterator; + } + + /** An async iterable iterator returned by the Node.js API. */ + interface AsyncIterator extends AsyncIteratorObject { + [Symbol.asyncIterator](): NodeJS.AsyncIterator; + } + + /** The [`BufferSource`](https://webidl.spec.whatwg.org/#BufferSource) type from the Web IDL specification. */ + type BufferSource = NonSharedArrayBufferView | ArrayBuffer; + + /** The [`AllowSharedBufferSource`](https://webidl.spec.whatwg.org/#AllowSharedBufferSource) type from the Web IDL specification. */ + type AllowSharedBufferSource = ArrayBufferView | ArrayBufferLike; +} diff --git a/node_modules/@types/node/globals.typedarray.d.ts b/node_modules/@types/node/globals.typedarray.d.ts new file mode 100644 index 0000000..e69dd0c --- /dev/null +++ b/node_modules/@types/node/globals.typedarray.d.ts @@ -0,0 +1,101 @@ +export {}; // Make this a module + +declare global { + namespace NodeJS { + type TypedArray = + | Uint8Array + | Uint8ClampedArray + | Uint16Array + | Uint32Array + | Int8Array + | Int16Array + | Int32Array + | BigUint64Array + | BigInt64Array + | Float16Array + | Float32Array + | Float64Array; + type ArrayBufferView = + | TypedArray + | DataView; + + // The following aliases are required to allow use of non-shared ArrayBufferViews in @types/node + // while maintaining compatibility with TS <=5.6. + // TODO: remove once @types/node no longer supports TS 5.6, and replace with native types. + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedUint8Array = Uint8Array; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedUint8ClampedArray = Uint8ClampedArray; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedUint16Array = Uint16Array; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedUint32Array = Uint32Array; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedInt8Array = Int8Array; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedInt16Array = Int16Array; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedInt32Array = Int32Array; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedBigUint64Array = BigUint64Array; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedBigInt64Array = BigInt64Array; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedFloat16Array = Float16Array; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedFloat32Array = Float32Array; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedFloat64Array = Float64Array; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedDataView = DataView; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedTypedArray = TypedArray; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedArrayBufferView = ArrayBufferView; + } +} diff --git a/node_modules/@types/node/http.d.ts b/node_modules/@types/node/http.d.ts new file mode 100644 index 0000000..c2e00e7 --- /dev/null +++ b/node_modules/@types/node/http.d.ts @@ -0,0 +1,2147 @@ +declare module "node:http" { + import { NonSharedBuffer } from "node:buffer"; + import { LookupOptions } from "node:dns"; + import { EventEmitter } from "node:events"; + import * as net from "node:net"; + import * as stream from "node:stream"; + import { URL } from "node:url"; + // incoming headers will never contain number + interface IncomingHttpHeaders extends NodeJS.Dict { + accept?: string | undefined; + "accept-encoding"?: string | undefined; + "accept-language"?: string | undefined; + "accept-patch"?: string | undefined; + "accept-ranges"?: string | undefined; + "access-control-allow-credentials"?: string | undefined; + "access-control-allow-headers"?: string | undefined; + "access-control-allow-methods"?: string | undefined; + "access-control-allow-origin"?: string | undefined; + "access-control-expose-headers"?: string | undefined; + "access-control-max-age"?: string | undefined; + "access-control-request-headers"?: string | undefined; + "access-control-request-method"?: string | undefined; + age?: string | undefined; + allow?: string | undefined; + "alt-svc"?: string | undefined; + authorization?: string | undefined; + "cache-control"?: string | undefined; + connection?: string | undefined; + "content-disposition"?: string | undefined; + "content-encoding"?: string | undefined; + "content-language"?: string | undefined; + "content-length"?: string | undefined; + "content-location"?: string | undefined; + "content-range"?: string | undefined; + "content-type"?: string | undefined; + cookie?: string | undefined; + date?: string | undefined; + etag?: string | undefined; + expect?: string | undefined; + expires?: string | undefined; + forwarded?: string | undefined; + from?: string | undefined; + host?: string | undefined; + "if-match"?: string | undefined; + "if-modified-since"?: string | undefined; + "if-none-match"?: string | undefined; + "if-unmodified-since"?: string | undefined; + "last-modified"?: string | undefined; + location?: string | undefined; + origin?: string | undefined; + pragma?: string | undefined; + "proxy-authenticate"?: string | undefined; + "proxy-authorization"?: string | undefined; + "public-key-pins"?: string | undefined; + range?: string | undefined; + referer?: string | undefined; + "retry-after"?: string | undefined; + "sec-fetch-site"?: string | undefined; + "sec-fetch-mode"?: string | undefined; + "sec-fetch-user"?: string | undefined; + "sec-fetch-dest"?: string | undefined; + "sec-websocket-accept"?: string | undefined; + "sec-websocket-extensions"?: string | undefined; + "sec-websocket-key"?: string | undefined; + "sec-websocket-protocol"?: string | undefined; + "sec-websocket-version"?: string | undefined; + "set-cookie"?: string[] | undefined; + "strict-transport-security"?: string | undefined; + tk?: string | undefined; + trailer?: string | undefined; + "transfer-encoding"?: string | undefined; + upgrade?: string | undefined; + "user-agent"?: string | undefined; + vary?: string | undefined; + via?: string | undefined; + warning?: string | undefined; + "www-authenticate"?: string | undefined; + } + // outgoing headers allows numbers (as they are converted internally to strings) + type OutgoingHttpHeader = number | string | string[]; + interface OutgoingHttpHeaders extends NodeJS.Dict { + accept?: string | string[] | undefined; + "accept-charset"?: string | string[] | undefined; + "accept-encoding"?: string | string[] | undefined; + "accept-language"?: string | string[] | undefined; + "accept-ranges"?: string | undefined; + "access-control-allow-credentials"?: string | undefined; + "access-control-allow-headers"?: string | undefined; + "access-control-allow-methods"?: string | undefined; + "access-control-allow-origin"?: string | undefined; + "access-control-expose-headers"?: string | undefined; + "access-control-max-age"?: string | undefined; + "access-control-request-headers"?: string | undefined; + "access-control-request-method"?: string | undefined; + age?: string | undefined; + allow?: string | undefined; + authorization?: string | undefined; + "cache-control"?: string | undefined; + "cdn-cache-control"?: string | undefined; + connection?: string | string[] | undefined; + "content-disposition"?: string | undefined; + "content-encoding"?: string | undefined; + "content-language"?: string | undefined; + "content-length"?: string | number | undefined; + "content-location"?: string | undefined; + "content-range"?: string | undefined; + "content-security-policy"?: string | undefined; + "content-security-policy-report-only"?: string | undefined; + "content-type"?: string | undefined; + cookie?: string | string[] | undefined; + dav?: string | string[] | undefined; + dnt?: string | undefined; + date?: string | undefined; + etag?: string | undefined; + expect?: string | undefined; + expires?: string | undefined; + forwarded?: string | undefined; + from?: string | undefined; + host?: string | undefined; + "if-match"?: string | undefined; + "if-modified-since"?: string | undefined; + "if-none-match"?: string | undefined; + "if-range"?: string | undefined; + "if-unmodified-since"?: string | undefined; + "last-modified"?: string | undefined; + link?: string | string[] | undefined; + location?: string | undefined; + "max-forwards"?: string | undefined; + origin?: string | undefined; + pragma?: string | string[] | undefined; + "proxy-authenticate"?: string | string[] | undefined; + "proxy-authorization"?: string | undefined; + "public-key-pins"?: string | undefined; + "public-key-pins-report-only"?: string | undefined; + range?: string | undefined; + referer?: string | undefined; + "referrer-policy"?: string | undefined; + refresh?: string | undefined; + "retry-after"?: string | undefined; + "sec-websocket-accept"?: string | undefined; + "sec-websocket-extensions"?: string | string[] | undefined; + "sec-websocket-key"?: string | undefined; + "sec-websocket-protocol"?: string | string[] | undefined; + "sec-websocket-version"?: string | undefined; + server?: string | undefined; + "set-cookie"?: string | string[] | undefined; + "strict-transport-security"?: string | undefined; + te?: string | undefined; + trailer?: string | undefined; + "transfer-encoding"?: string | undefined; + "user-agent"?: string | undefined; + upgrade?: string | undefined; + "upgrade-insecure-requests"?: string | undefined; + vary?: string | undefined; + via?: string | string[] | undefined; + warning?: string | undefined; + "www-authenticate"?: string | string[] | undefined; + "x-content-type-options"?: string | undefined; + "x-dns-prefetch-control"?: string | undefined; + "x-frame-options"?: string | undefined; + "x-xss-protection"?: string | undefined; + } + interface ClientRequestArgs extends Pick { + _defaultAgent?: Agent | undefined; + agent?: Agent | boolean | undefined; + auth?: string | null | undefined; + createConnection?: + | (( + options: ClientRequestArgs, + oncreate: (err: Error | null, socket: stream.Duplex) => void, + ) => stream.Duplex | null | undefined) + | undefined; + defaultPort?: number | string | undefined; + family?: number | undefined; + headers?: OutgoingHttpHeaders | readonly string[] | undefined; + host?: string | null | undefined; + hostname?: string | null | undefined; + insecureHTTPParser?: boolean | undefined; + localAddress?: string | undefined; + localPort?: number | undefined; + lookup?: net.LookupFunction | undefined; + /** + * @default 16384 + */ + maxHeaderSize?: number | undefined; + method?: string | undefined; + path?: string | null | undefined; + port?: number | string | null | undefined; + protocol?: string | null | undefined; + setDefaultHeaders?: boolean | undefined; + setHost?: boolean | undefined; + signal?: AbortSignal | undefined; + socketPath?: string | undefined; + timeout?: number | undefined; + uniqueHeaders?: Array | undefined; + joinDuplicateHeaders?: boolean | undefined; + } + interface ServerOptions< + Request extends typeof IncomingMessage = typeof IncomingMessage, + Response extends typeof ServerResponse> = typeof ServerResponse, + > { + /** + * Specifies the `IncomingMessage` class to be used. Useful for extending the original `IncomingMessage`. + */ + IncomingMessage?: Request | undefined; + /** + * Specifies the `ServerResponse` class to be used. Useful for extending the original `ServerResponse`. + */ + ServerResponse?: Response | undefined; + /** + * Sets the timeout value in milliseconds for receiving the entire request from the client. + * @see Server.requestTimeout for more information. + * @default 300000 + * @since v18.0.0 + */ + requestTimeout?: number | undefined; + /** + * It joins the field line values of multiple headers in a request with `, ` instead of discarding the duplicates. + * @default false + * @since v18.14.0 + */ + joinDuplicateHeaders?: boolean | undefined; + /** + * The number of milliseconds of inactivity a server needs to wait for additional incoming data, + * after it has finished writing the last response, before a socket will be destroyed. + * @see Server.keepAliveTimeout for more information. + * @default 5000 + * @since v18.0.0 + */ + keepAliveTimeout?: number | undefined; + /** + * An additional buffer time added to the + * `server.keepAliveTimeout` to extend the internal socket timeout. + * @since 24.6.0 + * @default 1000 + */ + keepAliveTimeoutBuffer?: number | undefined; + /** + * Sets the interval value in milliseconds to check for request and headers timeout in incomplete requests. + * @default 30000 + */ + connectionsCheckingInterval?: number | undefined; + /** + * Sets the timeout value in milliseconds for receiving the complete HTTP headers from the client. + * See {@link Server.headersTimeout} for more information. + * @default 60000 + * @since 18.0.0 + */ + headersTimeout?: number | undefined; + /** + * Optionally overrides all `socket`s' `readableHighWaterMark` and `writableHighWaterMark`. + * This affects `highWaterMark` property of both `IncomingMessage` and `ServerResponse`. + * Default: @see stream.getDefaultHighWaterMark(). + * @since v20.1.0 + */ + highWaterMark?: number | undefined; + /** + * Use an insecure HTTP parser that accepts invalid HTTP headers when `true`. + * Using the insecure parser should be avoided. + * See --insecure-http-parser for more information. + * @default false + */ + insecureHTTPParser?: boolean | undefined; + /** + * Optionally overrides the value of `--max-http-header-size` for requests received by + * this server, i.e. the maximum length of request headers in bytes. + * @default 16384 + * @since v13.3.0 + */ + maxHeaderSize?: number | undefined; + /** + * If set to `true`, it disables the use of Nagle's algorithm immediately after a new incoming connection is received. + * @default true + * @since v16.5.0 + */ + noDelay?: boolean | undefined; + /** + * If set to `true`, it forces the server to respond with a 400 (Bad Request) status code + * to any HTTP/1.1 request message that lacks a Host header (as mandated by the specification). + * @default true + * @since 20.0.0 + */ + requireHostHeader?: boolean | undefined; + /** + * If set to `true`, it enables keep-alive functionality on the socket immediately after a new incoming connection is received, + * similarly on what is done in `socket.setKeepAlive([enable][, initialDelay])`. + * @default false + * @since v16.5.0 + */ + keepAlive?: boolean | undefined; + /** + * If set to a positive number, it sets the initial delay before the first keepalive probe is sent on an idle socket. + * @default 0 + * @since v16.5.0 + */ + keepAliveInitialDelay?: number | undefined; + /** + * A list of response headers that should be sent only once. + * If the header's value is an array, the items will be joined using `; `. + */ + uniqueHeaders?: Array | undefined; + /** + * A callback which receives an + * incoming request and returns a boolean, to control which upgrade attempts + * should be accepted. Accepted upgrades will fire an `'upgrade'` event (or + * their sockets will be destroyed, if no listener is registered) while + * rejected upgrades will fire a `'request'` event like any non-upgrade + * request. + * @since v24.9.0 + * @default () => server.listenerCount('upgrade') > 0 + */ + shouldUpgradeCallback?: ((request: InstanceType) => boolean) | undefined; + /** + * If set to `true`, an error is thrown when writing to an HTTP response which does not have a body. + * @default false + * @since v18.17.0, v20.2.0 + */ + rejectNonStandardBodyWrites?: boolean | undefined; + /** + * If set to `true`, requests without `Content-Length` + * or `Transfer-Encoding` headers (indicating no body) will be initialized with an + * already-ended body stream, so they will never emit any stream events + * (like `'data'` or `'end'`). You can use `req.readableEnded` to detect this case. + * @since v25.1.0 + * @default false + */ + optimizeEmptyRequests?: boolean | undefined; + } + type RequestListener< + Request extends typeof IncomingMessage = typeof IncomingMessage, + Response extends typeof ServerResponse> = typeof ServerResponse, + > = (request: InstanceType, response: InstanceType & { req: InstanceType }) => void; + interface ServerEventMap< + Request extends typeof IncomingMessage = typeof IncomingMessage, + Response extends typeof ServerResponse> = typeof ServerResponse, + > extends net.ServerEventMap { + "checkContinue": Parameters>; + "checkExpectation": Parameters>; + "clientError": [exception: Error, socket: stream.Duplex]; + "connect": [request: InstanceType, socket: stream.Duplex, head: NonSharedBuffer]; + "connection": [socket: net.Socket]; + "dropRequest": [request: InstanceType, socket: stream.Duplex]; + "request": Parameters>; + "upgrade": [req: InstanceType, socket: stream.Duplex, head: NonSharedBuffer]; + } + /** + * @since v0.1.17 + */ + class Server< + Request extends typeof IncomingMessage = typeof IncomingMessage, + Response extends typeof ServerResponse> = typeof ServerResponse, + > extends net.Server { + constructor(requestListener?: RequestListener); + constructor(options: ServerOptions, requestListener?: RequestListener); + /** + * Sets the timeout value for sockets, and emits a `'timeout'` event on + * the Server object, passing the socket as an argument, if a timeout + * occurs. + * + * If there is a `'timeout'` event listener on the Server object, then it + * will be called with the timed-out socket as an argument. + * + * By default, the Server does not timeout sockets. However, if a callback + * is assigned to the Server's `'timeout'` event, timeouts must be handled + * explicitly. + * @since v0.9.12 + * @param [msecs=0 (no timeout)] + */ + setTimeout(msecs?: number, callback?: (socket: net.Socket) => void): this; + setTimeout(callback: (socket: net.Socket) => void): this; + /** + * Limits maximum incoming headers count. If set to 0, no limit will be applied. + * @since v0.7.0 + */ + maxHeadersCount: number | null; + /** + * The maximum number of requests socket can handle + * before closing keep alive connection. + * + * A value of `0` will disable the limit. + * + * When the limit is reached it will set the `Connection` header value to `close`, + * but will not actually close the connection, subsequent requests sent + * after the limit is reached will get `503 Service Unavailable` as a response. + * @since v16.10.0 + */ + maxRequestsPerSocket: number | null; + /** + * The number of milliseconds of inactivity before a socket is presumed + * to have timed out. + * + * A value of `0` will disable the timeout behavior on incoming connections. + * + * The socket timeout logic is set up on connection, so changing this + * value only affects new connections to the server, not any existing connections. + * @since v0.9.12 + */ + timeout: number; + /** + * Limit the amount of time the parser will wait to receive the complete HTTP + * headers. + * + * If the timeout expires, the server responds with status 408 without + * forwarding the request to the request listener and then closes the connection. + * + * It must be set to a non-zero value (e.g. 120 seconds) to protect against + * potential Denial-of-Service attacks in case the server is deployed without a + * reverse proxy in front. + * @since v11.3.0, v10.14.0 + */ + headersTimeout: number; + /** + * The number of milliseconds of inactivity a server needs to wait for additional + * incoming data, after it has finished writing the last response, before a socket + * will be destroyed. + * + * This timeout value is combined with the + * `server.keepAliveTimeoutBuffer` option to determine the actual socket + * timeout, calculated as: + * socketTimeout = keepAliveTimeout + keepAliveTimeoutBuffer + * If the server receives new data before the keep-alive timeout has fired, it + * will reset the regular inactivity timeout, i.e., `server.timeout`. + * + * A value of `0` will disable the keep-alive timeout behavior on incoming + * connections. + * A value of `0` makes the HTTP server behave similarly to Node.js versions prior + * to 8.0.0, which did not have a keep-alive timeout. + * + * The socket timeout logic is set up on connection, so changing this value only + * affects new connections to the server, not any existing connections. + * @since v8.0.0 + */ + keepAliveTimeout: number; + /** + * An additional buffer time added to the + * `server.keepAliveTimeout` to extend the internal socket timeout. + * + * This buffer helps reduce connection reset (`ECONNRESET`) errors by increasing + * the socket timeout slightly beyond the advertised keep-alive timeout. + * + * This option applies only to new incoming connections. + * @since v24.6.0 + * @default 1000 + */ + keepAliveTimeoutBuffer: number; + /** + * Sets the timeout value in milliseconds for receiving the entire request from + * the client. + * + * If the timeout expires, the server responds with status 408 without + * forwarding the request to the request listener and then closes the connection. + * + * It must be set to a non-zero value (e.g. 120 seconds) to protect against + * potential Denial-of-Service attacks in case the server is deployed without a + * reverse proxy in front. + * @since v14.11.0 + */ + requestTimeout: number; + /** + * Closes all connections connected to this server. + * @since v18.2.0 + */ + closeAllConnections(): void; + /** + * Closes all connections connected to this server which are not sending a request + * or waiting for a response. + * @since v18.2.0 + */ + closeIdleConnections(): void; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: ServerEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: ServerEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners( + eventName: E, + ): ((...args: ServerEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): ((...args: ServerEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface OutgoingMessageEventMap extends stream.WritableEventMap { + "prefinish": []; + } + /** + * This class serves as the parent class of {@link ClientRequest} and {@link ServerResponse}. It is an abstract outgoing message from + * the perspective of the participants of an HTTP transaction. + * @since v0.1.17 + */ + class OutgoingMessage extends stream.Writable { + constructor(); + readonly req: Request; + chunkedEncoding: boolean; + shouldKeepAlive: boolean; + useChunkedEncodingByDefault: boolean; + sendDate: boolean; + /** + * @deprecated Use `writableEnded` instead. + */ + finished: boolean; + /** + * Read-only. `true` if the headers were sent, otherwise `false`. + * @since v0.9.3 + */ + readonly headersSent: boolean; + /** + * Alias of `outgoingMessage.socket`. + * @since v0.3.0 + * @deprecated Since v15.12.0,v14.17.1 - Use `socket` instead. + */ + readonly connection: net.Socket | null; + /** + * Reference to the underlying socket. Usually, users will not want to access + * this property. + * + * After calling `outgoingMessage.end()`, this property will be nulled. + * @since v0.3.0 + */ + readonly socket: net.Socket | null; + /** + * Once a socket is associated with the message and is connected, `socket.setTimeout()` will be called with `msecs` as the first parameter. + * @since v0.9.12 + * @param callback Optional function to be called when a timeout occurs. Same as binding to the `timeout` event. + */ + setTimeout(msecs: number, callback?: () => void): this; + /** + * Sets a single header value. If the header already exists in the to-be-sent + * headers, its value will be replaced. Use an array of strings to send multiple + * headers with the same name. + * @since v0.4.0 + * @param name Header name + * @param value Header value + */ + setHeader(name: string, value: number | string | readonly string[]): this; + /** + * Sets multiple header values for implicit headers. headers must be an instance of + * `Headers` or `Map`, if a header already exists in the to-be-sent headers, its + * value will be replaced. + * + * ```js + * const headers = new Headers({ foo: 'bar' }); + * outgoingMessage.setHeaders(headers); + * ``` + * + * or + * + * ```js + * const headers = new Map([['foo', 'bar']]); + * outgoingMessage.setHeaders(headers); + * ``` + * + * When headers have been set with `outgoingMessage.setHeaders()`, they will be + * merged with any headers passed to `response.writeHead()`, with the headers passed + * to `response.writeHead()` given precedence. + * + * ```js + * // Returns content-type = text/plain + * const server = http.createServer((req, res) => { + * const headers = new Headers({ 'Content-Type': 'text/html' }); + * res.setHeaders(headers); + * res.writeHead(200, { 'Content-Type': 'text/plain' }); + * res.end('ok'); + * }); + * ``` + * + * @since v19.6.0, v18.15.0 + * @param name Header name + * @param value Header value + */ + setHeaders(headers: Headers | Map): this; + /** + * Append a single header value to the header object. + * + * If the value is an array, this is equivalent to calling this method multiple + * times. + * + * If there were no previous values for the header, this is equivalent to calling `outgoingMessage.setHeader(name, value)`. + * + * Depending of the value of `options.uniqueHeaders` when the client request or the + * server were created, this will end up in the header being sent multiple times or + * a single time with values joined using `; `. + * @since v18.3.0, v16.17.0 + * @param name Header name + * @param value Header value + */ + appendHeader(name: string, value: string | readonly string[]): this; + /** + * Gets the value of the HTTP header with the given name. If that header is not + * set, the returned value will be `undefined`. + * @since v0.4.0 + * @param name Name of header + */ + getHeader(name: string): number | string | string[] | undefined; + /** + * Returns a shallow copy of the current outgoing headers. Since a shallow + * copy is used, array values may be mutated without additional calls to + * various header-related HTTP module methods. The keys of the returned + * object are the header names and the values are the respective header + * values. All header names are lowercase. + * + * The object returned by the `outgoingMessage.getHeaders()` method does + * not prototypically inherit from the JavaScript `Object`. This means that + * typical `Object` methods such as `obj.toString()`, `obj.hasOwnProperty()`, + * and others are not defined and will not work. + * + * ```js + * outgoingMessage.setHeader('Foo', 'bar'); + * outgoingMessage.setHeader('Set-Cookie', ['foo=bar', 'bar=baz']); + * + * const headers = outgoingMessage.getHeaders(); + * // headers === { foo: 'bar', 'set-cookie': ['foo=bar', 'bar=baz'] } + * ``` + * @since v7.7.0 + */ + getHeaders(): OutgoingHttpHeaders; + /** + * Returns an array containing the unique names of the current outgoing headers. + * All names are lowercase. + * @since v7.7.0 + */ + getHeaderNames(): string[]; + /** + * Returns `true` if the header identified by `name` is currently set in the + * outgoing headers. The header name is case-insensitive. + * + * ```js + * const hasContentType = outgoingMessage.hasHeader('content-type'); + * ``` + * @since v7.7.0 + */ + hasHeader(name: string): boolean; + /** + * Removes a header that is queued for implicit sending. + * + * ```js + * outgoingMessage.removeHeader('Content-Encoding'); + * ``` + * @since v0.4.0 + * @param name Header name + */ + removeHeader(name: string): void; + /** + * Adds HTTP trailers (headers but at the end of the message) to the message. + * + * Trailers will **only** be emitted if the message is chunked encoded. If not, + * the trailers will be silently discarded. + * + * HTTP requires the `Trailer` header to be sent to emit trailers, + * with a list of header field names in its value, e.g. + * + * ```js + * message.writeHead(200, { 'Content-Type': 'text/plain', + * 'Trailer': 'Content-MD5' }); + * message.write(fileData); + * message.addTrailers({ 'Content-MD5': '7895bf4b8828b55ceaf47747b4bca667' }); + * message.end(); + * ``` + * + * Attempting to set a header field name or value that contains invalid characters + * will result in a `TypeError` being thrown. + * @since v0.3.0 + */ + addTrailers(headers: OutgoingHttpHeaders | ReadonlyArray<[string, string]>): void; + /** + * Flushes the message headers. + * + * For efficiency reason, Node.js normally buffers the message headers + * until `outgoingMessage.end()` is called or the first chunk of message data + * is written. It then tries to pack the headers and data into a single TCP + * packet. + * + * It is usually desired (it saves a TCP round-trip), but not when the first + * data is not sent until possibly much later. `outgoingMessage.flushHeaders()` bypasses the optimization and kickstarts the message. + * @since v1.6.0 + */ + flushHeaders(): void; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: OutgoingMessageEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: OutgoingMessageEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: OutgoingMessageEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners( + eventName: E, + ): ((...args: OutgoingMessageEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: OutgoingMessageEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: OutgoingMessageEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: OutgoingMessageEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: OutgoingMessageEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: OutgoingMessageEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): ((...args: OutgoingMessageEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: OutgoingMessageEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + /** + * This object is created internally by an HTTP server, not by the user. It is + * passed as the second parameter to the `'request'` event. + * @since v0.1.17 + */ + class ServerResponse extends OutgoingMessage { + /** + * When using implicit headers (not calling `response.writeHead()` explicitly), + * this property controls the status code that will be sent to the client when + * the headers get flushed. + * + * ```js + * response.statusCode = 404; + * ``` + * + * After response header was sent to the client, this property indicates the + * status code which was sent out. + * @since v0.4.0 + */ + statusCode: number; + /** + * When using implicit headers (not calling `response.writeHead()` explicitly), + * this property controls the status message that will be sent to the client when + * the headers get flushed. If this is left as `undefined` then the standard + * message for the status code will be used. + * + * ```js + * response.statusMessage = 'Not found'; + * ``` + * + * After response header was sent to the client, this property indicates the + * status message which was sent out. + * @since v0.11.8 + */ + statusMessage: string; + /** + * If set to `true`, Node.js will check whether the `Content-Length` header value and the size of the body, in bytes, are equal. + * Mismatching the `Content-Length` header value will result + * in an `Error` being thrown, identified by `code:``'ERR_HTTP_CONTENT_LENGTH_MISMATCH'`. + * @since v18.10.0, v16.18.0 + */ + strictContentLength: boolean; + constructor(req: Request); + assignSocket(socket: net.Socket): void; + detachSocket(socket: net.Socket): void; + /** + * Sends an HTTP/1.1 100 Continue message to the client, indicating that + * the request body should be sent. See the `'checkContinue'` event on `Server`. + * @since v0.3.0 + */ + writeContinue(callback?: () => void): void; + /** + * Sends an HTTP/1.1 103 Early Hints message to the client with a Link header, + * indicating that the user agent can preload/preconnect the linked resources. + * The `hints` is an object containing the values of headers to be sent with + * early hints message. The optional `callback` argument will be called when + * the response message has been written. + * + * **Example** + * + * ```js + * const earlyHintsLink = '; rel=preload; as=style'; + * response.writeEarlyHints({ + * 'link': earlyHintsLink, + * }); + * + * const earlyHintsLinks = [ + * '; rel=preload; as=style', + * '; rel=preload; as=script', + * ]; + * response.writeEarlyHints({ + * 'link': earlyHintsLinks, + * 'x-trace-id': 'id for diagnostics', + * }); + * + * const earlyHintsCallback = () => console.log('early hints message sent'); + * response.writeEarlyHints({ + * 'link': earlyHintsLinks, + * }, earlyHintsCallback); + * ``` + * @since v18.11.0 + * @param hints An object containing the values of headers + * @param callback Will be called when the response message has been written + */ + writeEarlyHints(hints: Record, callback?: () => void): void; + /** + * Sends a response header to the request. The status code is a 3-digit HTTP + * status code, like `404`. The last argument, `headers`, are the response headers. + * Optionally one can give a human-readable `statusMessage` as the second + * argument. + * + * `headers` may be an `Array` where the keys and values are in the same list. + * It is _not_ a list of tuples. So, the even-numbered offsets are key values, + * and the odd-numbered offsets are the associated values. The array is in the same + * format as `request.rawHeaders`. + * + * Returns a reference to the `ServerResponse`, so that calls can be chained. + * + * ```js + * const body = 'hello world'; + * response + * .writeHead(200, { + * 'Content-Length': Buffer.byteLength(body), + * 'Content-Type': 'text/plain', + * }) + * .end(body); + * ``` + * + * This method must only be called once on a message and it must + * be called before `response.end()` is called. + * + * If `response.write()` or `response.end()` are called before calling + * this, the implicit/mutable headers will be calculated and call this function. + * + * When headers have been set with `response.setHeader()`, they will be merged + * with any headers passed to `response.writeHead()`, with the headers passed + * to `response.writeHead()` given precedence. + * + * If this method is called and `response.setHeader()` has not been called, + * it will directly write the supplied header values onto the network channel + * without caching internally, and the `response.getHeader()` on the header + * will not yield the expected result. If progressive population of headers is + * desired with potential future retrieval and modification, use `response.setHeader()` instead. + * + * ```js + * // Returns content-type = text/plain + * const server = http.createServer((req, res) => { + * res.setHeader('Content-Type', 'text/html'); + * res.setHeader('X-Foo', 'bar'); + * res.writeHead(200, { 'Content-Type': 'text/plain' }); + * res.end('ok'); + * }); + * ``` + * + * `Content-Length` is read in bytes, not characters. Use `Buffer.byteLength()` to determine the length of the body in bytes. Node.js + * will check whether `Content-Length` and the length of the body which has + * been transmitted are equal or not. + * + * Attempting to set a header field name or value that contains invalid characters + * will result in a `Error` being thrown. + * @since v0.1.30 + */ + writeHead( + statusCode: number, + statusMessage?: string, + headers?: OutgoingHttpHeaders | OutgoingHttpHeader[], + ): this; + writeHead(statusCode: number, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this; + /** + * Sends a HTTP/1.1 102 Processing message to the client, indicating that + * the request body should be sent. + * @since v10.0.0 + */ + writeProcessing(callback?: () => void): void; + } + interface InformationEvent { + httpVersion: string; + httpVersionMajor: number; + httpVersionMinor: number; + statusCode: number; + statusMessage: string; + headers: IncomingHttpHeaders; + rawHeaders: string[]; + } + interface ClientRequestEventMap extends stream.WritableEventMap { + /** @deprecated Listen for the `'close'` event instead. */ + "abort": []; + "connect": [response: IncomingMessage, socket: net.Socket, head: NonSharedBuffer]; + "continue": []; + "information": [info: InformationEvent]; + "response": [response: IncomingMessage]; + "socket": [socket: net.Socket]; + "timeout": []; + "upgrade": [response: IncomingMessage, socket: net.Socket, head: NonSharedBuffer]; + } + /** + * This object is created internally and returned from {@link request}. It + * represents an _in-progress_ request whose header has already been queued. The + * header is still mutable using the `setHeader(name, value)`, `getHeader(name)`, `removeHeader(name)` API. The actual header will + * be sent along with the first data chunk or when calling `request.end()`. + * + * To get the response, add a listener for `'response'` to the request object. `'response'` will be emitted from the request object when the response + * headers have been received. The `'response'` event is executed with one + * argument which is an instance of {@link IncomingMessage}. + * + * During the `'response'` event, one can add listeners to the + * response object; particularly to listen for the `'data'` event. + * + * If no `'response'` handler is added, then the response will be + * entirely discarded. However, if a `'response'` event handler is added, + * then the data from the response object **must** be consumed, either by + * calling `response.read()` whenever there is a `'readable'` event, or + * by adding a `'data'` handler, or by calling the `.resume()` method. + * Until the data is consumed, the `'end'` event will not fire. Also, until + * the data is read it will consume memory that can eventually lead to a + * 'process out of memory' error. + * + * For backward compatibility, `res` will only emit `'error'` if there is an `'error'` listener registered. + * + * Set `Content-Length` header to limit the response body size. + * If `response.strictContentLength` is set to `true`, mismatching the `Content-Length` header value will result in an `Error` being thrown, + * identified by `code:``'ERR_HTTP_CONTENT_LENGTH_MISMATCH'`. + * + * `Content-Length` value should be in bytes, not characters. Use `Buffer.byteLength()` to determine the length of the body in bytes. + * @since v0.1.17 + */ + class ClientRequest extends OutgoingMessage { + /** + * The `request.aborted` property will be `true` if the request has + * been aborted. + * @since v0.11.14 + * @deprecated Since v17.0.0, v16.12.0 - Check `destroyed` instead. + */ + aborted: boolean; + /** + * The request host. + * @since v14.5.0, v12.19.0 + */ + host: string; + /** + * The request protocol. + * @since v14.5.0, v12.19.0 + */ + protocol: string; + /** + * When sending request through a keep-alive enabled agent, the underlying socket + * might be reused. But if server closes connection at unfortunate time, client + * may run into a 'ECONNRESET' error. + * + * ```js + * import http from 'node:http'; + * const agent = new http.Agent({ keepAlive: true }); + * + * // Server has a 5 seconds keep-alive timeout by default + * http + * .createServer((req, res) => { + * res.write('hello\n'); + * res.end(); + * }) + * .listen(3000); + * + * setInterval(() => { + * // Adapting a keep-alive agent + * http.get('http://localhost:3000', { agent }, (res) => { + * res.on('data', (data) => { + * // Do nothing + * }); + * }); + * }, 5000); // Sending request on 5s interval so it's easy to hit idle timeout + * ``` + * + * By marking a request whether it reused socket or not, we can do + * automatic error retry base on it. + * + * ```js + * import http from 'node:http'; + * const agent = new http.Agent({ keepAlive: true }); + * + * function retriableRequest() { + * const req = http + * .get('http://localhost:3000', { agent }, (res) => { + * // ... + * }) + * .on('error', (err) => { + * // Check if retry is needed + * if (req.reusedSocket && err.code === 'ECONNRESET') { + * retriableRequest(); + * } + * }); + * } + * + * retriableRequest(); + * ``` + * @since v13.0.0, v12.16.0 + */ + reusedSocket: boolean; + /** + * Limits maximum response headers count. If set to 0, no limit will be applied. + */ + maxHeadersCount: number; + constructor(url: string | URL | ClientRequestArgs, cb?: (res: IncomingMessage) => void); + /** + * The request method. + * @since v0.1.97 + */ + method: string; + /** + * The request path. + * @since v0.4.0 + */ + path: string; + /** + * Marks the request as aborting. Calling this will cause remaining data + * in the response to be dropped and the socket to be destroyed. + * @since v0.3.8 + * @deprecated Since v14.1.0,v13.14.0 - Use `destroy` instead. + */ + abort(): void; + onSocket(socket: net.Socket): void; + /** + * Once a socket is assigned to this request and is connected `socket.setTimeout()` will be called. + * @since v0.5.9 + * @param timeout Milliseconds before a request times out. + * @param callback Optional function to be called when a timeout occurs. Same as binding to the `'timeout'` event. + */ + setTimeout(timeout: number, callback?: () => void): this; + /** + * Once a socket is assigned to this request and is connected `socket.setNoDelay()` will be called. + * @since v0.5.9 + */ + setNoDelay(noDelay?: boolean): void; + /** + * Once a socket is assigned to this request and is connected `socket.setKeepAlive()` will be called. + * @since v0.5.9 + */ + setSocketKeepAlive(enable?: boolean, initialDelay?: number): void; + /** + * Returns an array containing the unique names of the current outgoing raw + * headers. Header names are returned with their exact casing being set. + * + * ```js + * request.setHeader('Foo', 'bar'); + * request.setHeader('Set-Cookie', ['foo=bar', 'bar=baz']); + * + * const headerNames = request.getRawHeaderNames(); + * // headerNames === ['Foo', 'Set-Cookie'] + * ``` + * @since v15.13.0, v14.17.0 + */ + getRawHeaderNames(): string[]; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: ClientRequestEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: ClientRequestEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: ClientRequestEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: ClientRequestEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: ClientRequestEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: ClientRequestEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: ClientRequestEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: ClientRequestEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: ClientRequestEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): ((...args: ClientRequestEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: ClientRequestEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface IncomingMessageEventMap extends stream.ReadableEventMap { + /** @deprecated Listen for `'close'` event instead. */ + "aborted": []; + } + /** + * An `IncomingMessage` object is created by {@link Server} or {@link ClientRequest} and passed as the first argument to the `'request'` and `'response'` event respectively. It may be used to + * access response + * status, headers, and data. + * + * Different from its `socket` value which is a subclass of `stream.Duplex`, the `IncomingMessage` itself extends `stream.Readable` and is created separately to + * parse and emit the incoming HTTP headers and payload, as the underlying socket + * may be reused multiple times in case of keep-alive. + * @since v0.1.17 + */ + class IncomingMessage extends stream.Readable { + constructor(socket: net.Socket); + /** + * The `message.aborted` property will be `true` if the request has + * been aborted. + * @since v10.1.0 + * @deprecated Since v17.0.0,v16.12.0 - Check `message.destroyed` from stream.Readable. + */ + aborted: boolean; + /** + * In case of server request, the HTTP version sent by the client. In the case of + * client response, the HTTP version of the connected-to server. + * Probably either `'1.1'` or `'1.0'`. + * + * Also `message.httpVersionMajor` is the first integer and `message.httpVersionMinor` is the second. + * @since v0.1.1 + */ + httpVersion: string; + httpVersionMajor: number; + httpVersionMinor: number; + /** + * The `message.complete` property will be `true` if a complete HTTP message has + * been received and successfully parsed. + * + * This property is particularly useful as a means of determining if a client or + * server fully transmitted a message before a connection was terminated: + * + * ```js + * const req = http.request({ + * host: '127.0.0.1', + * port: 8080, + * method: 'POST', + * }, (res) => { + * res.resume(); + * res.on('end', () => { + * if (!res.complete) + * console.error( + * 'The connection was terminated while the message was still being sent'); + * }); + * }); + * ``` + * @since v0.3.0 + */ + complete: boolean; + /** + * Alias for `message.socket`. + * @since v0.1.90 + * @deprecated Since v16.0.0 - Use `socket`. + */ + connection: net.Socket; + /** + * The `net.Socket` object associated with the connection. + * + * With HTTPS support, use `request.socket.getPeerCertificate()` to obtain the + * client's authentication details. + * + * This property is guaranteed to be an instance of the `net.Socket` class, + * a subclass of `stream.Duplex`, unless the user specified a socket + * type other than `net.Socket` or internally nulled. + * @since v0.3.0 + */ + socket: net.Socket; + /** + * The request/response headers object. + * + * Key-value pairs of header names and values. Header names are lower-cased. + * + * ```js + * // Prints something like: + * // + * // { 'user-agent': 'curl/7.22.0', + * // host: '127.0.0.1:8000', + * // accept: '*' } + * console.log(request.headers); + * ``` + * + * Duplicates in raw headers are handled in the following ways, depending on the + * header name: + * + * * Duplicates of `age`, `authorization`, `content-length`, `content-type`, `etag`, `expires`, `from`, `host`, `if-modified-since`, `if-unmodified-since`, `last-modified`, `location`, + * `max-forwards`, `proxy-authorization`, `referer`, `retry-after`, `server`, or `user-agent` are discarded. + * To allow duplicate values of the headers listed above to be joined, + * use the option `joinDuplicateHeaders` in {@link request} and {@link createServer}. See RFC 9110 Section 5.3 for more + * information. + * * `set-cookie` is always an array. Duplicates are added to the array. + * * For duplicate `cookie` headers, the values are joined together with `; `. + * * For all other headers, the values are joined together with `, `. + * @since v0.1.5 + */ + headers: IncomingHttpHeaders; + /** + * Similar to `message.headers`, but there is no join logic and the values are + * always arrays of strings, even for headers received just once. + * + * ```js + * // Prints something like: + * // + * // { 'user-agent': ['curl/7.22.0'], + * // host: ['127.0.0.1:8000'], + * // accept: ['*'] } + * console.log(request.headersDistinct); + * ``` + * @since v18.3.0, v16.17.0 + */ + headersDistinct: NodeJS.Dict; + /** + * The raw request/response headers list exactly as they were received. + * + * The keys and values are in the same list. It is _not_ a + * list of tuples. So, the even-numbered offsets are key values, and the + * odd-numbered offsets are the associated values. + * + * Header names are not lowercased, and duplicates are not merged. + * + * ```js + * // Prints something like: + * // + * // [ 'user-agent', + * // 'this is invalid because there can be only one', + * // 'User-Agent', + * // 'curl/7.22.0', + * // 'Host', + * // '127.0.0.1:8000', + * // 'ACCEPT', + * // '*' ] + * console.log(request.rawHeaders); + * ``` + * @since v0.11.6 + */ + rawHeaders: string[]; + /** + * The request/response trailers object. Only populated at the `'end'` event. + * @since v0.3.0 + */ + trailers: NodeJS.Dict; + /** + * Similar to `message.trailers`, but there is no join logic and the values are + * always arrays of strings, even for headers received just once. + * Only populated at the `'end'` event. + * @since v18.3.0, v16.17.0 + */ + trailersDistinct: NodeJS.Dict; + /** + * The raw request/response trailer keys and values exactly as they were + * received. Only populated at the `'end'` event. + * @since v0.11.6 + */ + rawTrailers: string[]; + /** + * Calls `message.socket.setTimeout(msecs, callback)`. + * @since v0.5.9 + */ + setTimeout(msecs: number, callback?: () => void): this; + /** + * **Only valid for request obtained from {@link Server}.** + * + * The request method as a string. Read only. Examples: `'GET'`, `'DELETE'`. + * @since v0.1.1 + */ + method?: string | undefined; + /** + * **Only valid for request obtained from {@link Server}.** + * + * Request URL string. This contains only the URL that is present in the actual + * HTTP request. Take the following request: + * + * ```http + * GET /status?name=ryan HTTP/1.1 + * Accept: text/plain + * ``` + * + * To parse the URL into its parts: + * + * ```js + * new URL(`http://${process.env.HOST ?? 'localhost'}${request.url}`); + * ``` + * + * When `request.url` is `'/status?name=ryan'` and `process.env.HOST` is undefined: + * + * ```console + * $ node + * > new URL(`http://${process.env.HOST ?? 'localhost'}${request.url}`); + * URL { + * href: 'http://localhost/status?name=ryan', + * origin: 'http://localhost', + * protocol: 'http:', + * username: '', + * password: '', + * host: 'localhost', + * hostname: 'localhost', + * port: '', + * pathname: '/status', + * search: '?name=ryan', + * searchParams: URLSearchParams { 'name' => 'ryan' }, + * hash: '' + * } + * ``` + * + * Ensure that you set `process.env.HOST` to the server's host name, or consider replacing this part entirely. If using `req.headers.host`, ensure proper + * validation is used, as clients may specify a custom `Host` header. + * @since v0.1.90 + */ + url?: string | undefined; + /** + * **Only valid for response obtained from {@link ClientRequest}.** + * + * The 3-digit HTTP response status code. E.G. `404`. + * @since v0.1.1 + */ + statusCode?: number | undefined; + /** + * **Only valid for response obtained from {@link ClientRequest}.** + * + * The HTTP response status message (reason phrase). E.G. `OK` or `Internal Server Error`. + * @since v0.11.10 + */ + statusMessage?: string | undefined; + /** + * Calls `destroy()` on the socket that received the `IncomingMessage`. If `error` is provided, an `'error'` event is emitted on the socket and `error` is passed + * as an argument to any listeners on the event. + * @since v0.3.0 + */ + destroy(error?: Error): this; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: IncomingMessageEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: IncomingMessageEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: IncomingMessageEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners( + eventName: E, + ): ((...args: IncomingMessageEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: IncomingMessageEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: IncomingMessageEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: IncomingMessageEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: IncomingMessageEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: IncomingMessageEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): ((...args: IncomingMessageEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: IncomingMessageEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface ProxyEnv extends NodeJS.ProcessEnv { + HTTP_PROXY?: string | undefined; + HTTPS_PROXY?: string | undefined; + NO_PROXY?: string | undefined; + http_proxy?: string | undefined; + https_proxy?: string | undefined; + no_proxy?: string | undefined; + } + interface AgentOptions extends NodeJS.PartialOptions { + /** + * Keep sockets around in a pool to be used by other requests in the future. Default = false + */ + keepAlive?: boolean | undefined; + /** + * 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 | undefined; + /** + * Milliseconds to subtract from + * the server-provided `keep-alive: timeout=...` hint when determining socket + * expiration time. This buffer helps ensure the agent closes the socket + * slightly before the server does, reducing the chance of sending a request + * on a socket that’s about to be closed by the server. + * @since v24.7.0 + * @default 1000 + */ + agentKeepAliveTimeoutBuffer?: number | undefined; + /** + * Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity + */ + maxSockets?: number | undefined; + /** + * Maximum number of sockets allowed for all hosts in total. Each request will use a new socket until the maximum is reached. Default: Infinity. + */ + maxTotalSockets?: number | undefined; + /** + * Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256. + */ + maxFreeSockets?: number | undefined; + /** + * Socket timeout in milliseconds. This will set the timeout after the socket is connected. + */ + timeout?: number | undefined; + /** + * Scheduling strategy to apply when picking the next free socket to use. + * @default `lifo` + */ + scheduling?: "fifo" | "lifo" | undefined; + /** + * Environment variables for proxy configuration. See + * [Built-in Proxy Support](https://nodejs.org/docs/latest-v25.x/api/http.html#built-in-proxy-support) for details. + * @since v24.5.0 + */ + proxyEnv?: ProxyEnv | undefined; + /** + * Default port to use when the port is not specified in requests. + * @since v24.5.0 + */ + defaultPort?: number | undefined; + /** + * The protocol to use for the agent. + * @since v24.5.0 + */ + protocol?: string | undefined; + } + /** + * An `Agent` is responsible for managing connection persistence + * and reuse for HTTP clients. It maintains a queue of pending requests + * for a given host and port, reusing a single socket connection for each + * until the queue is empty, at which time the socket is either destroyed + * or put into a pool where it is kept to be used again for requests to the + * same host and port. Whether it is destroyed or pooled depends on the `keepAlive` `option`. + * + * Pooled connections have TCP Keep-Alive enabled for them, but servers may + * still close idle connections, in which case they will be removed from the + * pool and a new connection will be made when a new HTTP request is made for + * that host and port. Servers may also refuse to allow multiple requests + * over the same connection, in which case the connection will have to be + * remade for every request and cannot be pooled. The `Agent` will still make + * the requests to that server, but each one will occur over a new connection. + * + * When a connection is closed by the client or the server, it is removed + * from the pool. Any unused sockets in the pool will be unrefed so as not + * to keep the Node.js process running when there are no outstanding requests. + * (see `socket.unref()`). + * + * It is good practice, to `destroy()` an `Agent` instance when it is no + * longer in use, because unused sockets consume OS resources. + * + * Sockets are removed from an agent when the socket emits either + * a `'close'` event or an `'agentRemove'` event. When intending to keep one + * HTTP request open for a long time without keeping it in the agent, something + * like the following may be done: + * + * ```js + * http.get(options, (res) => { + * // Do stuff + * }).on('socket', (socket) => { + * socket.emit('agentRemove'); + * }); + * ``` + * + * An agent may also be used for an individual request. By providing `{agent: false}` as an option to the `http.get()` or `http.request()` functions, a one-time use `Agent` with default options + * will be used + * for the client connection. + * + * `agent:false`: + * + * ```js + * http.get({ + * hostname: 'localhost', + * port: 80, + * path: '/', + * agent: false, // Create a new agent just for this one request + * }, (res) => { + * // Do stuff with response + * }); + * ``` + * + * `options` in [`socket.connect()`](https://nodejs.org/docs/latest-v25.x/api/net.html#socketconnectoptions-connectlistener) are also supported. + * + * To configure any of them, a custom {@link Agent} instance must be created. + * + * ```js + * import http from 'node:http'; + * const keepAliveAgent = new http.Agent({ keepAlive: true }); + * options.agent = keepAliveAgent; + * http.request(options, onResponseCallback) + * ``` + * @since v0.3.4 + */ + class Agent extends EventEmitter { + /** + * By default set to 256. For agents with `keepAlive` enabled, this + * sets the maximum number of sockets that will be left open in the free + * state. + * @since v0.11.7 + */ + maxFreeSockets: number; + /** + * By default set to `Infinity`. Determines how many concurrent sockets the agent + * can have open per origin. Origin is the returned value of `agent.getName()`. + * @since v0.3.6 + */ + maxSockets: number; + /** + * By default set to `Infinity`. Determines how many concurrent sockets the agent + * can have open. Unlike `maxSockets`, this parameter applies across all origins. + * @since v14.5.0, v12.19.0 + */ + maxTotalSockets: number; + /** + * An object which contains arrays of sockets currently awaiting use by + * the agent when `keepAlive` is enabled. Do not modify. + * + * Sockets in the `freeSockets` list will be automatically destroyed and + * removed from the array on `'timeout'`. + * @since v0.11.4 + */ + readonly freeSockets: NodeJS.ReadOnlyDict; + /** + * An object which contains arrays of sockets currently in use by the + * agent. Do not modify. + * @since v0.3.6 + */ + readonly sockets: NodeJS.ReadOnlyDict; + /** + * An object which contains queues of requests that have not yet been assigned to + * sockets. Do not modify. + * @since v0.5.9 + */ + readonly requests: NodeJS.ReadOnlyDict; + constructor(opts?: AgentOptions); + /** + * Destroy any sockets that are currently in use by the agent. + * + * It is usually not necessary to do this. However, if using an + * agent with `keepAlive` enabled, then it is best to explicitly shut down + * the agent when it is no longer needed. Otherwise, + * sockets might stay open for quite a long time before the server + * terminates them. + * @since v0.11.4 + */ + destroy(): void; + /** + * Produces a socket/stream to be used for HTTP requests. + * + * By default, this function behaves identically to `net.createConnection()`, + * synchronously returning the created socket. The optional `callback` parameter in the + * signature is **not** used by this default implementation. + * + * However, custom agents may override this method to provide greater flexibility, + * for example, to create sockets asynchronously. When overriding `createConnection`: + * + * 1. **Synchronous socket creation**: The overriding method can return the + * socket/stream directly. + * 2. **Asynchronous socket creation**: The overriding method can accept the `callback` + * and pass the created socket/stream to it (e.g., `callback(null, newSocket)`). + * If an error occurs during socket creation, it should be passed as the first + * argument to the `callback` (e.g., `callback(err)`). + * + * The agent will call the provided `createConnection` function with `options` and + * this internal `callback`. The `callback` provided by the agent has a signature + * of `(err, stream)`. + * @since v0.11.4 + * @param options Options containing connection details. Check + * `net.createConnection` for the format of the options. For custom agents, + * this object is passed to the custom `createConnection` function. + * @param callback (Optional, primarily for custom agents) A function to be + * called by a custom `createConnection` implementation when the socket is + * created, especially for asynchronous operations. + * @returns The created socket. This is returned by the default + * implementation or by a custom synchronous `createConnection` implementation. + * If a custom `createConnection` uses the `callback` for asynchronous + * operation, this return value might not be the primary way to obtain the socket. + */ + createConnection( + options: ClientRequestArgs, + callback?: (err: Error | null, stream: stream.Duplex) => void, + ): stream.Duplex | null | undefined; + /** + * Called when `socket` is detached from a request and could be persisted by the`Agent`. Default behavior is to: + * + * ```js + * socket.setKeepAlive(true, this.keepAliveMsecs); + * socket.unref(); + * return true; + * ``` + * + * This method can be overridden by a particular `Agent` subclass. If this + * method returns a falsy value, the socket will be destroyed instead of persisting + * it for use with the next request. + * + * The `socket` argument can be an instance of `net.Socket`, a subclass of `stream.Duplex`. + * @since v8.1.0 + */ + keepSocketAlive(socket: stream.Duplex): void; + /** + * Called when `socket` is attached to `request` after being persisted because of + * the keep-alive options. Default behavior is to: + * + * ```js + * socket.ref(); + * ``` + * + * This method can be overridden by a particular `Agent` subclass. + * + * The `socket` argument can be an instance of `net.Socket`, a subclass of `stream.Duplex`. + * @since v8.1.0 + */ + reuseSocket(socket: stream.Duplex, request: ClientRequest): void; + /** + * Get a unique name for a set of request options, to determine whether a + * connection can be reused. For an HTTP agent, this returns`host:port:localAddress` or `host:port:localAddress:family`. For an HTTPS agent, + * the name includes the CA, cert, ciphers, and other HTTPS/TLS-specific options + * that determine socket reusability. + * @since v0.11.4 + * @param options A set of options providing information for name generation + */ + getName(options?: ClientRequestArgs): string; + } + const METHODS: string[]; + const STATUS_CODES: { + [errorCode: number]: string | undefined; + [errorCode: string]: string | undefined; + }; + /** + * Returns a new instance of {@link Server}. + * + * The `requestListener` is a function which is automatically + * added to the `'request'` event. + * + * ```js + * import http from 'node:http'; + * + * // Create a local server to receive data from + * const server = http.createServer((req, res) => { + * res.writeHead(200, { 'Content-Type': 'application/json' }); + * res.end(JSON.stringify({ + * data: 'Hello World!', + * })); + * }); + * + * server.listen(8000); + * ``` + * + * ```js + * import http from 'node:http'; + * + * // Create a local server to receive data from + * const server = http.createServer(); + * + * // Listen to the request event + * server.on('request', (request, res) => { + * res.writeHead(200, { 'Content-Type': 'application/json' }); + * res.end(JSON.stringify({ + * data: 'Hello World!', + * })); + * }); + * + * server.listen(8000); + * ``` + * @since v0.1.13 + */ + function createServer< + Request extends typeof IncomingMessage = typeof IncomingMessage, + Response extends typeof ServerResponse> = typeof ServerResponse, + >(requestListener?: RequestListener): Server; + function createServer< + Request extends typeof IncomingMessage = typeof IncomingMessage, + Response extends typeof ServerResponse> = typeof ServerResponse, + >( + 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 {} + /** + * `options` in `socket.connect()` are also supported. + * + * Node.js maintains several connections per server to make HTTP requests. + * This function allows one to transparently issue requests. + * + * `url` can be a string or a `URL` object. If `url` is a + * string, it is automatically parsed with `new URL()`. If it is a `URL` object, it will be automatically converted to an ordinary `options` object. + * + * If both `url` and `options` are specified, the objects are merged, with the `options` properties taking precedence. + * + * The optional `callback` parameter will be added as a one-time listener for + * the `'response'` event. + * + * `http.request()` returns an instance of the {@link ClientRequest} class. The `ClientRequest` instance is a writable stream. If one needs to + * upload a file with a POST request, then write to the `ClientRequest` object. + * + * ```js + * import http from 'node:http'; + * import { Buffer } from 'node:buffer'; + * + * const postData = JSON.stringify({ + * 'msg': 'Hello World!', + * }); + * + * const options = { + * hostname: 'www.google.com', + * port: 80, + * path: '/upload', + * method: 'POST', + * headers: { + * 'Content-Type': 'application/json', + * 'Content-Length': Buffer.byteLength(postData), + * }, + * }; + * + * const req = http.request(options, (res) => { + * console.log(`STATUS: ${res.statusCode}`); + * console.log(`HEADERS: ${JSON.stringify(res.headers)}`); + * res.setEncoding('utf8'); + * res.on('data', (chunk) => { + * console.log(`BODY: ${chunk}`); + * }); + * res.on('end', () => { + * console.log('No more data in response.'); + * }); + * }); + * + * req.on('error', (e) => { + * console.error(`problem with request: ${e.message}`); + * }); + * + * // Write data to request body + * req.write(postData); + * req.end(); + * ``` + * + * In the example `req.end()` was called. With `http.request()` one + * must always call `req.end()` to signify the end of the request - + * even if there is no data being written to the request body. + * + * If any error is encountered during the request (be that with DNS resolution, + * TCP level errors, or actual HTTP parse errors) an `'error'` event is emitted + * on the returned request object. As with all `'error'` events, if no listeners + * are registered the error will be thrown. + * + * There are a few special headers that should be noted. + * + * * Sending a 'Connection: keep-alive' will notify Node.js that the connection to + * the server should be persisted until the next request. + * * Sending a 'Content-Length' header will disable the default chunked encoding. + * * Sending an 'Expect' header will immediately send the request headers. + * Usually, when sending 'Expect: 100-continue', both a timeout and a listener + * for the `'continue'` event should be set. See RFC 2616 Section 8.2.3 for more + * information. + * * Sending an Authorization header will override using the `auth` option + * to compute basic authentication. + * + * Example using a `URL` as `options`: + * + * ```js + * const options = new URL('http://abc:xyz@example.com'); + * + * const req = http.request(options, (res) => { + * // ... + * }); + * ``` + * + * In a successful request, the following events will be emitted in the following + * order: + * + * * `'socket'` + * * `'response'` + * * `'data'` any number of times, on the `res` object + * (`'data'` will not be emitted at all if the response body is empty, for + * instance, in most redirects) + * * `'end'` on the `res` object + * * `'close'` + * + * In the case of a connection error, the following events will be emitted: + * + * * `'socket'` + * * `'error'` + * * `'close'` + * + * In the case of a premature connection close before the response is received, + * the following events will be emitted in the following order: + * + * * `'socket'` + * * `'error'` with an error with message `'Error: socket hang up'` and code `'ECONNRESET'` + * * `'close'` + * + * In the case of a premature connection close after the response is received, + * the following events will be emitted in the following order: + * + * * `'socket'` + * * `'response'` + * * `'data'` any number of times, on the `res` object + * * (connection closed here) + * * `'aborted'` on the `res` object + * * `'close'` + * * `'error'` on the `res` object with an error with message `'Error: aborted'` and code `'ECONNRESET'` + * * `'close'` on the `res` object + * + * If `req.destroy()` is called before a socket is assigned, the following + * events will be emitted in the following order: + * + * * (`req.destroy()` called here) + * * `'error'` with an error with message `'Error: socket hang up'` and code `'ECONNRESET'`, or the error with which `req.destroy()` was called + * * `'close'` + * + * If `req.destroy()` is called before the connection succeeds, the following + * events will be emitted in the following order: + * + * * `'socket'` + * * (`req.destroy()` called here) + * * `'error'` with an error with message `'Error: socket hang up'` and code `'ECONNRESET'`, or the error with which `req.destroy()` was called + * * `'close'` + * + * If `req.destroy()` is called after the response is received, the following + * events will be emitted in the following order: + * + * * `'socket'` + * * `'response'` + * * `'data'` any number of times, on the `res` object + * * (`req.destroy()` called here) + * * `'aborted'` on the `res` object + * * `'close'` + * * `'error'` on the `res` object with an error with message `'Error: aborted'` and code `'ECONNRESET'`, or the error with which `req.destroy()` was called + * * `'close'` on the `res` object + * + * If `req.abort()` is called before a socket is assigned, the following + * events will be emitted in the following order: + * + * * (`req.abort()` called here) + * * `'abort'` + * * `'close'` + * + * If `req.abort()` is called before the connection succeeds, the following + * events will be emitted in the following order: + * + * * `'socket'` + * * (`req.abort()` called here) + * * `'abort'` + * * `'error'` with an error with message `'Error: socket hang up'` and code `'ECONNRESET'` + * * `'close'` + * + * If `req.abort()` is called after the response is received, the following + * events will be emitted in the following order: + * + * * `'socket'` + * * `'response'` + * * `'data'` any number of times, on the `res` object + * * (`req.abort()` called here) + * * `'abort'` + * * `'aborted'` on the `res` object + * * `'error'` on the `res` object with an error with message `'Error: aborted'` and code `'ECONNRESET'`. + * * `'close'` + * * `'close'` on the `res` object + * + * Setting the `timeout` option or using the `setTimeout()` function will + * not abort the request or do anything besides add a `'timeout'` event. + * + * Passing an `AbortSignal` and then calling `abort()` on the corresponding `AbortController` will behave the same way as calling `.destroy()` on the + * request. Specifically, the `'error'` event will be emitted with an error with + * the message `'AbortError: The operation was aborted'`, the code `'ABORT_ERR'` and the `cause`, if one was provided. + * @since v0.3.6 + */ + function request(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; + function request( + url: string | URL, + options: RequestOptions, + callback?: (res: IncomingMessage) => void, + ): ClientRequest; + /** + * Since most requests are GET requests without bodies, Node.js provides this + * convenience method. The only difference between this method and {@link request} is that it sets the method to GET by default and calls `req.end()` automatically. The callback must take care to + * consume the response + * data for reasons stated in {@link ClientRequest} section. + * + * The `callback` is invoked with a single argument that is an instance of {@link IncomingMessage}. + * + * JSON fetching example: + * + * ```js + * http.get('http://localhost:8000/', (res) => { + * const { statusCode } = res; + * const contentType = res.headers['content-type']; + * + * let error; + * // Any 2xx status code signals a successful response but + * // here we're only checking for 200. + * if (statusCode !== 200) { + * error = new Error('Request Failed.\n' + + * `Status Code: ${statusCode}`); + * } else if (!/^application\/json/.test(contentType)) { + * error = new Error('Invalid content-type.\n' + + * `Expected application/json but received ${contentType}`); + * } + * if (error) { + * console.error(error.message); + * // Consume response data to free up memory + * res.resume(); + * return; + * } + * + * res.setEncoding('utf8'); + * let rawData = ''; + * res.on('data', (chunk) => { rawData += chunk; }); + * res.on('end', () => { + * try { + * const parsedData = JSON.parse(rawData); + * console.log(parsedData); + * } catch (e) { + * console.error(e.message); + * } + * }); + * }).on('error', (e) => { + * console.error(`Got error: ${e.message}`); + * }); + * + * // Create a local server to receive data from + * const server = http.createServer((req, res) => { + * res.writeHead(200, { 'Content-Type': 'application/json' }); + * res.end(JSON.stringify({ + * data: 'Hello World!', + * })); + * }); + * + * server.listen(8000); + * ``` + * @since v0.3.6 + * @param options Accepts the same `options` as {@link request}, with the method set to GET by default. + */ + function get(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; + function get(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; + /** + * Performs the low-level validations on the provided `name` that are done when `res.setHeader(name, value)` is called. + * + * Passing illegal value as `name` will result in a `TypeError` being thrown, + * identified by `code: 'ERR_INVALID_HTTP_TOKEN'`. + * + * It is not necessary to use this method before passing headers to an HTTP request + * or response. The HTTP module will automatically validate such headers. + * + * Example: + * + * ```js + * import { validateHeaderName } from 'node:http'; + * + * try { + * validateHeaderName(''); + * } catch (err) { + * console.error(err instanceof TypeError); // --> true + * console.error(err.code); // --> 'ERR_INVALID_HTTP_TOKEN' + * console.error(err.message); // --> 'Header name must be a valid HTTP token [""]' + * } + * ``` + * @since v14.3.0 + * @param [label='Header name'] Label for error message. + */ + function validateHeaderName(name: string): void; + /** + * Performs the low-level validations on the provided `value` that are done when `res.setHeader(name, value)` is called. + * + * Passing illegal value as `value` will result in a `TypeError` being thrown. + * + * * Undefined value error is identified by `code: 'ERR_HTTP_INVALID_HEADER_VALUE'`. + * * Invalid value character error is identified by `code: 'ERR_INVALID_CHAR'`. + * + * It is not necessary to use this method before passing headers to an HTTP request + * or response. The HTTP module will automatically validate such headers. + * + * Examples: + * + * ```js + * import { validateHeaderValue } from 'node:http'; + * + * try { + * validateHeaderValue('x-my-header', undefined); + * } catch (err) { + * console.error(err instanceof TypeError); // --> true + * console.error(err.code === 'ERR_HTTP_INVALID_HEADER_VALUE'); // --> true + * console.error(err.message); // --> 'Invalid value "undefined" for header "x-my-header"' + * } + * + * try { + * validateHeaderValue('x-my-header', 'oʊmɪɡə'); + * } catch (err) { + * console.error(err instanceof TypeError); // --> true + * console.error(err.code === 'ERR_INVALID_CHAR'); // --> true + * console.error(err.message); // --> 'Invalid character in header content ["x-my-header"]' + * } + * ``` + * @since v14.3.0 + * @param name Header name + * @param value Header value + */ + function validateHeaderValue(name: string, value: string): void; + /** + * Set the maximum number of idle HTTP parsers. + * @since v18.8.0, v16.18.0 + * @param [max=1000] + */ + function setMaxIdleHTTPParsers(max: number): void; + /** + * Dynamically resets the global configurations to enable built-in proxy support for + * `fetch()` and `http.request()`/`https.request()` at runtime, as an alternative + * to using the `--use-env-proxy` flag or `NODE_USE_ENV_PROXY` environment variable. + * It can also be used to override settings configured from the environment variables. + * + * As this function resets the global configurations, any previously configured + * `http.globalAgent`, `https.globalAgent` or undici global dispatcher would be + * overridden after this function is invoked. It's recommended to invoke it before any + * requests are made and avoid invoking it in the middle of any requests. + * + * See [Built-in Proxy Support](https://nodejs.org/docs/latest-v25.x/api/http.html#built-in-proxy-support) for details on proxy URL formats and `NO_PROXY` + * syntax. + * @since v25.4.0 + * @param proxyEnv An object containing proxy configuration. This accepts the + * same options as the `proxyEnv` option accepted by {@link Agent}. **Default:** + * `process.env`. + * @returns A function that restores the original agent and dispatcher + * settings to the state before this `http.setGlobalProxyFromEnv()` is invoked. + */ + function setGlobalProxyFromEnv(proxyEnv?: ProxyEnv): () => void; + /** + * Global instance of `Agent` which is used as the default for all HTTP client + * requests. Diverges from a default `Agent` configuration by having `keepAlive` + * enabled and a `timeout` of 5 seconds. + * @since v0.5.9 + */ + let globalAgent: Agent; + /** + * Read-only property specifying the maximum allowed size of HTTP headers in bytes. + * Defaults to 16KB. Configurable using the `--max-http-header-size` CLI option. + */ + const maxHeaderSize: number; + /** + * A browser-compatible implementation of `WebSocket`. + * @since v22.5.0 + */ + const WebSocket: typeof import("undici-types").WebSocket; + /** + * @since v22.5.0 + */ + const CloseEvent: typeof import("undici-types").CloseEvent; + /** + * @since v22.5.0 + */ + const MessageEvent: typeof import("undici-types").MessageEvent; +} +declare module "http" { + export * from "node:http"; +} diff --git a/node_modules/@types/node/http2.d.ts b/node_modules/@types/node/http2.d.ts new file mode 100644 index 0000000..a026ef5 --- /dev/null +++ b/node_modules/@types/node/http2.d.ts @@ -0,0 +1,2489 @@ +declare module "node:http2" { + import { NonSharedBuffer } from "node:buffer"; + import { InternalEventEmitter } from "node:events"; + import * as fs from "node:fs"; + import * as net from "node:net"; + import * as stream from "node:stream"; + import * as tls from "node:tls"; + import * as url from "node:url"; + import { + IncomingHttpHeaders as Http1IncomingHttpHeaders, + IncomingMessage, + OutgoingHttpHeaders, + ServerResponse, + } from "node:http"; + interface IncomingHttpStatusHeader { + ":status"?: number | undefined; + } + interface IncomingHttpHeaders extends Http1IncomingHttpHeaders { + ":path"?: string | undefined; + ":method"?: string | undefined; + ":authority"?: string | undefined; + ":scheme"?: string | undefined; + ":protocol"?: string | undefined; + } + // Http2Stream + interface StreamState { + localWindowSize?: number | undefined; + state?: number | undefined; + localClose?: number | undefined; + remoteClose?: number | undefined; + /** @deprecated */ + sumDependencyWeight?: number | undefined; + /** @deprecated */ + weight?: number | undefined; + } + interface ServerStreamResponseOptions { + endStream?: boolean | undefined; + waitForTrailers?: boolean | undefined; + } + interface StatOptions { + offset: number; + length: number; + } + interface ServerStreamFileResponseOptions { + statCheck?: + | ((stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions) => void) + | undefined; + waitForTrailers?: boolean | undefined; + offset?: number | undefined; + length?: number | undefined; + } + interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions { + onError?: ((err: NodeJS.ErrnoException) => void) | undefined; + } + interface Http2StreamEventMap extends stream.DuplexEventMap { + "aborted": []; + "data": [chunk: string | NonSharedBuffer]; + "frameError": [type: number, code: number, id: number]; + "ready": []; + "streamClosed": [code: number]; + "timeout": []; + "trailers": [trailers: IncomingHttpHeaders, flags: number]; + "wantTrailers": []; + } + interface Http2Stream extends stream.Duplex { + /** + * Set to `true` if the `Http2Stream` instance was aborted abnormally. When set, + * the `'aborted'` event will have been emitted. + * @since v8.4.0 + */ + readonly aborted: boolean; + /** + * This property shows the number of characters currently buffered to be written. + * See `net.Socket.bufferSize` for details. + * @since v11.2.0, v10.16.0 + */ + readonly bufferSize: number; + /** + * Set to `true` if the `Http2Stream` instance has been closed. + * @since v9.4.0 + */ + readonly closed: boolean; + /** + * Set to `true` if the `Http2Stream` instance has been destroyed and is no longer + * usable. + * @since v8.4.0 + */ + readonly destroyed: boolean; + /** + * Set to `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. + * @since v10.11.0 + */ + readonly endAfterHeaders: boolean; + /** + * The numeric stream identifier of this `Http2Stream` instance. Set to `undefined` if the stream identifier has not yet been assigned. + * @since v8.4.0 + */ + readonly id?: number | undefined; + /** + * Set to `true` if the `Http2Stream` instance has not yet been assigned a + * numeric stream identifier. + * @since v9.4.0 + */ + readonly pending: boolean; + /** + * Set to the `RST_STREAM` `error code` reported when the `Http2Stream` is + * destroyed after either receiving an `RST_STREAM` frame from the connected peer, + * calling `http2stream.close()`, or `http2stream.destroy()`. Will be `undefined` if the `Http2Stream` has not been closed. + * @since v8.4.0 + */ + readonly rstCode: number; + /** + * An object containing the outbound headers sent for this `Http2Stream`. + * @since v9.5.0 + */ + readonly sentHeaders: OutgoingHttpHeaders; + /** + * An array of objects containing the outbound informational (additional) headers + * sent for this `Http2Stream`. + * @since v9.5.0 + */ + readonly sentInfoHeaders?: OutgoingHttpHeaders[] | undefined; + /** + * An object containing the outbound trailers sent for this `HttpStream`. + * @since v9.5.0 + */ + readonly sentTrailers?: OutgoingHttpHeaders | undefined; + /** + * A reference to the `Http2Session` instance that owns this `Http2Stream`. The + * value will be `undefined` after the `Http2Stream` instance is destroyed. + * @since v8.4.0 + */ + readonly session: Http2Session | undefined; + /** + * Provides miscellaneous information about the current state of the `Http2Stream`. + * + * A current state of this `Http2Stream`. + * @since v8.4.0 + */ + readonly state: StreamState; + /** + * Closes the `Http2Stream` instance by sending an `RST_STREAM` frame to the + * connected HTTP/2 peer. + * @since v8.4.0 + * @param [code=http2.constants.NGHTTP2_NO_ERROR] Unsigned 32-bit integer identifying the error code. + * @param callback An optional function registered to listen for the `'close'` event. + */ + close(code?: number, callback?: () => void): void; + /** + * @deprecated Priority signaling is no longer supported in Node.js. + */ + priority(options: unknown): void; + /** + * ```js + * import http2 from 'node:http2'; + * const client = http2.connect('http://example.org:8000'); + * const { NGHTTP2_CANCEL } = http2.constants; + * const req = client.request({ ':path': '/' }); + * + * // Cancel the stream if there's no activity after 5 seconds + * req.setTimeout(5000, () => req.close(NGHTTP2_CANCEL)); + * ``` + * @since v8.4.0 + */ + setTimeout(msecs: number, callback?: () => void): void; + /** + * Sends a trailing `HEADERS` frame to the connected HTTP/2 peer. This method + * will cause the `Http2Stream` to be immediately closed and must only be + * called after the `'wantTrailers'` event has been emitted. When sending a + * request or sending a response, the `options.waitForTrailers` option must be set + * in order to keep the `Http2Stream` open after the final `DATA` frame so that + * trailers can be sent. + * + * ```js + * import http2 from 'node:http2'; + * const server = http2.createServer(); + * server.on('stream', (stream) => { + * stream.respond(undefined, { waitForTrailers: true }); + * stream.on('wantTrailers', () => { + * stream.sendTrailers({ xyz: 'abc' }); + * }); + * stream.end('Hello World'); + * }); + * ``` + * + * The HTTP/1 specification forbids trailers from containing HTTP/2 pseudo-header + * fields (e.g. `':method'`, `':path'`, etc). + * @since v10.0.0 + */ + sendTrailers(headers: OutgoingHttpHeaders): void; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: Http2StreamEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: Http2StreamEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: Http2StreamEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: Http2StreamEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: Http2StreamEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: Http2StreamEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: Http2StreamEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: Http2StreamEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: Http2StreamEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: Http2StreamEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: Http2StreamEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface ClientHttp2StreamEventMap extends Http2StreamEventMap { + "continue": []; + "headers": [headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number, rawHeaders: string[]]; + "push": [headers: IncomingHttpHeaders, flags: number]; + "response": [headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number, rawHeaders: string[]]; + } + interface ClientHttp2Stream extends Http2Stream { + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: ClientHttp2StreamEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: ClientHttp2StreamEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners( + eventName: E, + ): ((...args: ClientHttp2StreamEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): ((...args: ClientHttp2StreamEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface ServerHttp2Stream extends Http2Stream { + /** + * True if headers were sent, false otherwise (read-only). + * @since v8.4.0 + */ + readonly headersSent: boolean; + /** + * Read-only property mapped to the `SETTINGS_ENABLE_PUSH` flag of the remote + * client's most recent `SETTINGS` frame. Will be `true` if the remote peer + * accepts push streams, `false` otherwise. Settings are the same for every `Http2Stream` in the same `Http2Session`. + * @since v8.4.0 + */ + readonly pushAllowed: boolean; + /** + * Sends an additional informational `HEADERS` frame to the connected HTTP/2 peer. + * @since v8.4.0 + */ + additionalHeaders(headers: OutgoingHttpHeaders): void; + /** + * Initiates a push stream. The callback is invoked with the new `Http2Stream` instance created for the push stream passed as the second argument, or an `Error` passed as the first argument. + * + * ```js + * import http2 from 'node:http2'; + * const server = http2.createServer(); + * server.on('stream', (stream) => { + * stream.respond({ ':status': 200 }); + * stream.pushStream({ ':path': '/' }, (err, pushStream, headers) => { + * if (err) throw err; + * pushStream.respond({ ':status': 200 }); + * pushStream.end('some pushed data'); + * }); + * stream.end('some data'); + * }); + * ``` + * + * Setting the weight of a push stream is not allowed in the `HEADERS` frame. Pass + * a `weight` value to `http2stream.priority` with the `silent` option set to `true` to enable server-side bandwidth balancing between concurrent streams. + * + * Calling `http2stream.pushStream()` from within a pushed stream is not permitted + * and will throw an error. + * @since v8.4.0 + * @param callback Callback that is called once the push stream has been initiated. + */ + pushStream( + headers: OutgoingHttpHeaders, + callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void, + ): void; + pushStream( + headers: OutgoingHttpHeaders, + options?: Pick, + callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void, + ): void; + /** + * ```js + * import http2 from 'node:http2'; + * const server = http2.createServer(); + * server.on('stream', (stream) => { + * stream.respond({ ':status': 200 }); + * stream.end('some data'); + * }); + * ``` + * + * Initiates a response. When the `options.waitForTrailers` option is set, the `'wantTrailers'` event + * will be emitted immediately after queuing the last chunk of payload data to be sent. + * The `http2stream.sendTrailers()` method can then be used to send trailing header fields to the peer. + * + * When `options.waitForTrailers` is set, the `Http2Stream` will not automatically + * close when the final `DATA` frame is transmitted. User code must call either `http2stream.sendTrailers()` or `http2stream.close()` to close the `Http2Stream`. + * + * ```js + * import http2 from 'node:http2'; + * const server = http2.createServer(); + * server.on('stream', (stream) => { + * stream.respond({ ':status': 200 }, { waitForTrailers: true }); + * stream.on('wantTrailers', () => { + * stream.sendTrailers({ ABC: 'some value to send' }); + * }); + * stream.end('some data'); + * }); + * ``` + * @since v8.4.0 + */ + respond(headers?: OutgoingHttpHeaders | readonly string[], options?: ServerStreamResponseOptions): void; + /** + * Initiates a response whose data is read from the given file descriptor. No + * validation is performed on the given file descriptor. If an error occurs while + * attempting to read data using the file descriptor, the `Http2Stream` will be + * closed using an `RST_STREAM` frame using the standard `INTERNAL_ERROR` code. + * + * When used, the `Http2Stream` object's `Duplex` interface will be closed + * automatically. + * + * ```js + * import http2 from 'node:http2'; + * import fs from 'node:fs'; + * + * const server = http2.createServer(); + * server.on('stream', (stream) => { + * const fd = fs.openSync('/some/file', 'r'); + * + * const stat = fs.fstatSync(fd); + * const headers = { + * 'content-length': stat.size, + * 'last-modified': stat.mtime.toUTCString(), + * 'content-type': 'text/plain; charset=utf-8', + * }; + * stream.respondWithFD(fd, headers); + * stream.on('close', () => fs.closeSync(fd)); + * }); + * ``` + * + * The optional `options.statCheck` function may be specified to give user code + * an opportunity to set additional content headers based on the `fs.Stat` details + * of the given fd. If the `statCheck` function is provided, the `http2stream.respondWithFD()` method will + * perform an `fs.fstat()` call to collect details on the provided file descriptor. + * + * The `offset` and `length` options may be used to limit the response to a + * specific range subset. This can be used, for instance, to support HTTP Range + * requests. + * + * The file descriptor or `FileHandle` is not closed when the stream is closed, + * so it will need to be closed manually once it is no longer needed. + * Using the same file descriptor concurrently for multiple streams + * is not supported and may result in data loss. Re-using a file descriptor + * after a stream has finished is supported. + * + * When the `options.waitForTrailers` option is set, the `'wantTrailers'` event + * will be emitted immediately after queuing the last chunk of payload data to be + * sent. The `http2stream.sendTrailers()` method can then be used to sent trailing + * header fields to the peer. + * + * When `options.waitForTrailers` is set, the `Http2Stream` will not automatically + * close when the final `DATA` frame is transmitted. User code _must_ call either `http2stream.sendTrailers()` + * or `http2stream.close()` to close the `Http2Stream`. + * + * ```js + * import http2 from 'node:http2'; + * import fs from 'node:fs'; + * + * const server = http2.createServer(); + * server.on('stream', (stream) => { + * const fd = fs.openSync('/some/file', 'r'); + * + * const stat = fs.fstatSync(fd); + * const headers = { + * 'content-length': stat.size, + * 'last-modified': stat.mtime.toUTCString(), + * 'content-type': 'text/plain; charset=utf-8', + * }; + * stream.respondWithFD(fd, headers, { waitForTrailers: true }); + * stream.on('wantTrailers', () => { + * stream.sendTrailers({ ABC: 'some value to send' }); + * }); + * + * stream.on('close', () => fs.closeSync(fd)); + * }); + * ``` + * @since v8.4.0 + * @param fd A readable file descriptor. + */ + respondWithFD( + fd: number | fs.promises.FileHandle, + headers?: OutgoingHttpHeaders, + options?: ServerStreamFileResponseOptions, + ): void; + /** + * Sends a regular file as the response. The `path` must specify a regular file + * or an `'error'` event will be emitted on the `Http2Stream` object. + * + * When used, the `Http2Stream` object's `Duplex` interface will be closed + * automatically. + * + * The optional `options.statCheck` function may be specified to give user code + * an opportunity to set additional content headers based on the `fs.Stat` details + * of the given file: + * + * If an error occurs while attempting to read the file data, the `Http2Stream` will be closed using an + * `RST_STREAM` frame using the standard `INTERNAL_ERROR` code. + * If the `onError` callback is defined, then it will be called. Otherwise, the stream will be destroyed. + * + * Example using a file path: + * + * ```js + * import http2 from 'node:http2'; + * const server = http2.createServer(); + * server.on('stream', (stream) => { + * function statCheck(stat, headers) { + * headers['last-modified'] = stat.mtime.toUTCString(); + * } + * + * function onError(err) { + * // stream.respond() can throw if the stream has been destroyed by + * // the other side. + * try { + * if (err.code === 'ENOENT') { + * stream.respond({ ':status': 404 }); + * } else { + * stream.respond({ ':status': 500 }); + * } + * } catch (err) { + * // Perform actual error handling. + * console.error(err); + * } + * stream.end(); + * } + * + * stream.respondWithFile('/some/file', + * { 'content-type': 'text/plain; charset=utf-8' }, + * { statCheck, onError }); + * }); + * ``` + * + * The `options.statCheck` function may also be used to cancel the send operation + * by returning `false`. For instance, a conditional request may check the stat + * results to determine if the file has been modified to return an appropriate `304` response: + * + * ```js + * import http2 from 'node:http2'; + * const server = http2.createServer(); + * server.on('stream', (stream) => { + * function statCheck(stat, headers) { + * // Check the stat here... + * stream.respond({ ':status': 304 }); + * return false; // Cancel the send operation + * } + * stream.respondWithFile('/some/file', + * { 'content-type': 'text/plain; charset=utf-8' }, + * { statCheck }); + * }); + * ``` + * + * The `content-length` header field will be automatically set. + * + * The `offset` and `length` options may be used to limit the response to a + * specific range subset. This can be used, for instance, to support HTTP Range + * requests. + * + * The `options.onError` function may also be used to handle all the errors + * that could happen before the delivery of the file is initiated. The + * default behavior is to destroy the stream. + * + * When the `options.waitForTrailers` option is set, the `'wantTrailers'` event + * will be emitted immediately after queuing the last chunk of payload data to be + * sent. The `http2stream.sendTrailers()` method can then be used to sent trailing + * header fields to the peer. + * + * When `options.waitForTrailers` is set, the `Http2Stream` will not automatically + * close when the final `DATA` frame is transmitted. User code must call either`http2stream.sendTrailers()` or `http2stream.close()` to close the`Http2Stream`. + * + * ```js + * import http2 from 'node:http2'; + * const server = http2.createServer(); + * server.on('stream', (stream) => { + * stream.respondWithFile('/some/file', + * { 'content-type': 'text/plain; charset=utf-8' }, + * { waitForTrailers: true }); + * stream.on('wantTrailers', () => { + * stream.sendTrailers({ ABC: 'some value to send' }); + * }); + * }); + * ``` + * @since v8.4.0 + */ + respondWithFile( + path: string, + headers?: OutgoingHttpHeaders, + options?: ServerStreamFileResponseOptionsWithError, + ): void; + } + // Http2Session + interface Settings { + headerTableSize?: number | undefined; + enablePush?: boolean | undefined; + initialWindowSize?: number | undefined; + maxFrameSize?: number | undefined; + maxConcurrentStreams?: number | undefined; + maxHeaderListSize?: number | undefined; + enableConnectProtocol?: boolean | undefined; + customSettings?: { [key: number]: number }; + } + interface ClientSessionRequestOptions { + endStream?: boolean | undefined; + exclusive?: boolean | undefined; + parent?: number | undefined; + waitForTrailers?: boolean | undefined; + signal?: AbortSignal | undefined; + } + interface SessionState { + effectiveLocalWindowSize?: number | undefined; + effectiveRecvDataLength?: number | undefined; + nextStreamID?: number | undefined; + localWindowSize?: number | undefined; + lastProcStreamID?: number | undefined; + remoteWindowSize?: number | undefined; + outboundQueueSize?: number | undefined; + deflateDynamicTableSize?: number | undefined; + inflateDynamicTableSize?: number | undefined; + } + interface Http2SessionEventMap { + "close": []; + "connect": [session: Http2Session, socket: net.Socket | tls.TLSSocket]; + "error": [err: Error]; + "frameError": [type: number, code: number, id: number]; + "goaway": [errorCode: number, lastStreamID: number, opaqueData?: NonSharedBuffer]; + "localSettings": [settings: Settings]; + "ping": [payload: Buffer]; + "remoteSettings": [settings: Settings]; + "stream": [ + stream: Http2Stream, + headers: IncomingHttpHeaders & IncomingHttpStatusHeader, + flags: number, + rawHeaders: string[], + ]; + "timeout": []; + } + interface Http2Session extends InternalEventEmitter { + /** + * Value will be `undefined` if the `Http2Session` is not yet connected to a + * socket, `h2c` if the `Http2Session` is not connected to a `TLSSocket`, or + * will return the value of the connected `TLSSocket`'s own `alpnProtocol` property. + * @since v9.4.0 + */ + readonly alpnProtocol?: string | undefined; + /** + * Will be `true` if this `Http2Session` instance has been closed, otherwise `false`. + * @since v9.4.0 + */ + readonly closed: boolean; + /** + * Will be `true` if this `Http2Session` instance is still connecting, will be set + * to `false` before emitting `connect` event and/or calling the `http2.connect` callback. + * @since v10.0.0 + */ + readonly connecting: boolean; + /** + * Will be `true` if this `Http2Session` instance has been destroyed and must no + * longer be used, otherwise `false`. + * @since v8.4.0 + */ + readonly destroyed: boolean; + /** + * Value is `undefined` if the `Http2Session` session socket has not yet been + * connected, `true` if the `Http2Session` is connected with a `TLSSocket`, + * and `false` if the `Http2Session` is connected to any other kind of socket + * or stream. + * @since v9.4.0 + */ + readonly encrypted?: boolean | undefined; + /** + * A prototype-less object describing the current local settings of this `Http2Session`. + * The local settings are local to _this_`Http2Session` instance. + * @since v8.4.0 + */ + readonly localSettings: Settings; + /** + * If the `Http2Session` is connected to a `TLSSocket`, the `originSet` property + * will return an `Array` of origins for which the `Http2Session` may be + * considered authoritative. + * + * The `originSet` property is only available when using a secure TLS connection. + * @since v9.4.0 + */ + readonly originSet?: string[] | undefined; + /** + * Indicates whether the `Http2Session` is currently waiting for acknowledgment of + * a sent `SETTINGS` frame. Will be `true` after calling the `http2session.settings()` method. + * Will be `false` once all sent `SETTINGS` frames have been acknowledged. + * @since v8.4.0 + */ + readonly pendingSettingsAck: boolean; + /** + * A prototype-less object describing the current remote settings of this`Http2Session`. + * The remote settings are set by the _connected_ HTTP/2 peer. + * @since v8.4.0 + */ + readonly remoteSettings: Settings; + /** + * Returns a `Proxy` object that acts as a `net.Socket` (or `tls.TLSSocket`) but + * limits available methods to ones safe to use with HTTP/2. + * + * `destroy`, `emit`, `end`, `pause`, `read`, `resume`, and `write` will throw + * an error with code `ERR_HTTP2_NO_SOCKET_MANIPULATION`. See `Http2Session and Sockets` for more information. + * + * `setTimeout` method will be called on this `Http2Session`. + * + * All other interactions will be routed directly to the socket. + * @since v8.4.0 + */ + readonly socket: net.Socket | tls.TLSSocket; + /** + * Provides miscellaneous information about the current state of the`Http2Session`. + * + * An object describing the current status of this `Http2Session`. + * @since v8.4.0 + */ + readonly state: SessionState; + /** + * The `http2session.type` will be equal to `http2.constants.NGHTTP2_SESSION_SERVER` if this `Http2Session` instance is a + * server, and `http2.constants.NGHTTP2_SESSION_CLIENT` if the instance is a + * client. + * @since v8.4.0 + */ + readonly type: number; + /** + * Gracefully closes the `Http2Session`, allowing any existing streams to + * complete on their own and preventing new `Http2Stream` instances from being + * created. Once closed, `http2session.destroy()`_might_ be called if there + * are no open `Http2Stream` instances. + * + * If specified, the `callback` function is registered as a handler for the`'close'` event. + * @since v9.4.0 + */ + close(callback?: () => void): void; + /** + * Immediately terminates the `Http2Session` and the associated `net.Socket` or `tls.TLSSocket`. + * + * Once destroyed, the `Http2Session` will emit the `'close'` event. If `error` is not undefined, an `'error'` event will be emitted immediately before the `'close'` event. + * + * If there are any remaining open `Http2Streams` associated with the `Http2Session`, those will also be destroyed. + * @since v8.4.0 + * @param error An `Error` object if the `Http2Session` is being destroyed due to an error. + * @param code The HTTP/2 error code to send in the final `GOAWAY` frame. If unspecified, and `error` is not undefined, the default is `INTERNAL_ERROR`, otherwise defaults to `NO_ERROR`. + */ + destroy(error?: Error, code?: number): void; + /** + * Transmits a `GOAWAY` frame to the connected peer _without_ shutting down the`Http2Session`. + * @since v9.4.0 + * @param code An HTTP/2 error code + * @param lastStreamID The numeric ID of the last processed `Http2Stream` + * @param opaqueData A `TypedArray` or `DataView` instance containing additional data to be carried within the `GOAWAY` frame. + */ + goaway(code?: number, lastStreamID?: number, opaqueData?: NodeJS.ArrayBufferView): void; + /** + * Sends a `PING` frame to the connected HTTP/2 peer. A `callback` function must + * be provided. The method will return `true` if the `PING` was sent, `false` otherwise. + * + * The maximum number of outstanding (unacknowledged) pings is determined by the `maxOutstandingPings` configuration option. The default maximum is 10. + * + * If provided, the `payload` must be a `Buffer`, `TypedArray`, or `DataView` containing 8 bytes of data that will be transmitted with the `PING` and + * returned with the ping acknowledgment. + * + * The callback will be invoked with three arguments: an error argument that will + * be `null` if the `PING` was successfully acknowledged, a `duration` argument + * that reports the number of milliseconds elapsed since the ping was sent and the + * acknowledgment was received, and a `Buffer` containing the 8-byte `PING` payload. + * + * ```js + * session.ping(Buffer.from('abcdefgh'), (err, duration, payload) => { + * if (!err) { + * console.log(`Ping acknowledged in ${duration} milliseconds`); + * console.log(`With payload '${payload.toString()}'`); + * } + * }); + * ``` + * + * If the `payload` argument is not specified, the default payload will be the + * 64-bit timestamp (little endian) marking the start of the `PING` duration. + * @since v8.9.3 + * @param payload Optional ping payload. + */ + ping(callback: (err: Error | null, duration: number, payload: NonSharedBuffer) => void): boolean; + ping( + payload: NodeJS.ArrayBufferView, + callback: (err: Error | null, duration: number, payload: NonSharedBuffer) => void, + ): boolean; + /** + * Calls `ref()` on this `Http2Session` instance's underlying `net.Socket`. + * @since v9.4.0 + */ + ref(): void; + /** + * Sets the local endpoint's window size. + * The `windowSize` is the total window size to set, not + * the delta. + * + * ```js + * import http2 from 'node:http2'; + * + * const server = http2.createServer(); + * const expectedWindowSize = 2 ** 20; + * server.on('connect', (session) => { + * + * // Set local window size to be 2 ** 20 + * session.setLocalWindowSize(expectedWindowSize); + * }); + * ``` + * @since v15.3.0, v14.18.0 + */ + setLocalWindowSize(windowSize: number): void; + /** + * Used to set a callback function that is called when there is no activity on + * the `Http2Session` after `msecs` milliseconds. The given `callback` is + * registered as a listener on the `'timeout'` event. + * @since v8.4.0 + */ + setTimeout(msecs: number, callback?: () => void): void; + /** + * Updates the current local settings for this `Http2Session` and sends a new `SETTINGS` frame to the connected HTTP/2 peer. + * + * Once called, the `http2session.pendingSettingsAck` property will be `true` while the session is waiting for the remote peer to acknowledge the new + * settings. + * + * The new settings will not become effective until the `SETTINGS` acknowledgment + * is received and the `'localSettings'` event is emitted. It is possible to send + * multiple `SETTINGS` frames while acknowledgment is still pending. + * @since v8.4.0 + * @param callback Callback that is called once the session is connected or right away if the session is already connected. + */ + settings( + settings: Settings, + callback?: (err: Error | null, settings: Settings, duration: number) => void, + ): void; + /** + * Calls `unref()` on this `Http2Session`instance's underlying `net.Socket`. + * @since v9.4.0 + */ + unref(): void; + } + interface ClientHttp2SessionEventMap extends Http2SessionEventMap { + "altsvc": [alt: string, origin: string, streamId: number]; + "connect": [session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket]; + "origin": [origins: string[]]; + "stream": [ + stream: ClientHttp2Stream, + headers: IncomingHttpHeaders & IncomingHttpStatusHeader, + flags: number, + rawHeaders: string[], + ]; + } + interface ClientHttp2Session extends Http2Session { + /** + * For HTTP/2 Client `Http2Session` instances only, the `http2session.request()` creates and returns an `Http2Stream` instance that can be used to send an + * HTTP/2 request to the connected server. + * + * When a `ClientHttp2Session` is first created, the socket may not yet be + * connected. if `clienthttp2session.request()` is called during this time, the + * actual request will be deferred until the socket is ready to go. + * If the `session` is closed before the actual request be executed, an `ERR_HTTP2_GOAWAY_SESSION` is thrown. + * + * This method is only available if `http2session.type` is equal to `http2.constants.NGHTTP2_SESSION_CLIENT`. + * + * ```js + * import http2 from 'node:http2'; + * const clientSession = http2.connect('https://localhost:1234'); + * const { + * HTTP2_HEADER_PATH, + * HTTP2_HEADER_STATUS, + * } = http2.constants; + * + * const req = clientSession.request({ [HTTP2_HEADER_PATH]: '/' }); + * req.on('response', (headers) => { + * console.log(headers[HTTP2_HEADER_STATUS]); + * req.on('data', (chunk) => { // .. }); + * req.on('end', () => { // .. }); + * }); + * ``` + * + * When the `options.waitForTrailers` option is set, the `'wantTrailers'` event + * is emitted immediately after queuing the last chunk of payload data to be sent. + * The `http2stream.sendTrailers()` method can then be called to send trailing + * headers to the peer. + * + * When `options.waitForTrailers` is set, the `Http2Stream` will not automatically + * close when the final `DATA` frame is transmitted. User code must call either`http2stream.sendTrailers()` or `http2stream.close()` to close the`Http2Stream`. + * + * When `options.signal` is set with an `AbortSignal` and then `abort` on the + * corresponding `AbortController` is called, the request will emit an `'error'`event with an `AbortError` error. + * + * The `:method` and `:path` pseudo-headers are not specified within `headers`, + * they respectively default to: + * + * * `:method` \= `'GET'` + * * `:path` \= `/` + * @since v8.4.0 + */ + request( + headers?: OutgoingHttpHeaders | readonly string[], + options?: ClientSessionRequestOptions, + ): ClientHttp2Stream; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: ClientHttp2StreamEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: ClientHttp2StreamEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners( + eventName: E, + ): ((...args: ClientHttp2StreamEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): ((...args: ClientHttp2StreamEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: ClientHttp2StreamEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface AlternativeServiceOptions { + origin: number | string | url.URL; + } + interface ServerHttp2SessionEventMap< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + > extends Http2SessionEventMap { + "connect": [ + session: ServerHttp2Session, + socket: net.Socket | tls.TLSSocket, + ]; + "stream": [stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number, rawHeaders: string[]]; + } + interface ServerHttp2Session< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + > extends Http2Session { + readonly server: + | Http2Server + | Http2SecureServer; + /** + * Submits an `ALTSVC` frame (as defined by [RFC 7838](https://tools.ietf.org/html/rfc7838)) to the connected client. + * + * ```js + * import http2 from 'node:http2'; + * + * const server = http2.createServer(); + * server.on('session', (session) => { + * // Set altsvc for origin https://example.org:80 + * session.altsvc('h2=":8000"', 'https://example.org:80'); + * }); + * + * server.on('stream', (stream) => { + * // Set altsvc for a specific stream + * stream.session.altsvc('h2=":8000"', stream.id); + * }); + * ``` + * + * Sending an `ALTSVC` frame with a specific stream ID indicates that the alternate + * service is associated with the origin of the given `Http2Stream`. + * + * The `alt` and origin string _must_ contain only ASCII bytes and are + * strictly interpreted as a sequence of ASCII bytes. The special value `'clear'`may be passed to clear any previously set alternative service for a given + * domain. + * + * When a string is passed for the `originOrStream` argument, it will be parsed as + * a URL and the origin will be derived. For instance, the origin for the + * HTTP URL `'https://example.org/foo/bar'` is the ASCII string`'https://example.org'`. An error will be thrown if either the given string + * cannot be parsed as a URL or if a valid origin cannot be derived. + * + * A `URL` object, or any object with an `origin` property, may be passed as`originOrStream`, in which case the value of the `origin` property will be + * used. The value of the `origin` property _must_ be a properly serialized + * ASCII origin. + * @since v9.4.0 + * @param alt A description of the alternative service configuration as defined by `RFC 7838`. + * @param originOrStream Either a URL string specifying the origin (or an `Object` with an `origin` property) or the numeric identifier of an active `Http2Stream` as given by the + * `http2stream.id` property. + */ + altsvc(alt: string, originOrStream: number | string | url.URL | AlternativeServiceOptions): void; + /** + * Submits an `ORIGIN` frame (as defined by [RFC 8336](https://tools.ietf.org/html/rfc8336)) to the connected client + * to advertise the set of origins for which the server is capable of providing + * authoritative responses. + * + * ```js + * import http2 from 'node:http2'; + * const options = getSecureOptionsSomehow(); + * const server = http2.createSecureServer(options); + * server.on('stream', (stream) => { + * stream.respond(); + * stream.end('ok'); + * }); + * server.on('session', (session) => { + * session.origin('https://example.com', 'https://example.org'); + * }); + * ``` + * + * When a string is passed as an `origin`, it will be parsed as a URL and the + * origin will be derived. For instance, the origin for the HTTP URL `'https://example.org/foo/bar'` is the ASCII string` 'https://example.org'`. An error will be thrown if either the given + * string + * cannot be parsed as a URL or if a valid origin cannot be derived. + * + * A `URL` object, or any object with an `origin` property, may be passed as + * an `origin`, in which case the value of the `origin` property will be + * used. The value of the `origin` property _must_ be a properly serialized + * ASCII origin. + * + * Alternatively, the `origins` option may be used when creating a new HTTP/2 + * server using the `http2.createSecureServer()` method: + * + * ```js + * import http2 from 'node:http2'; + * const options = getSecureOptionsSomehow(); + * options.origins = ['https://example.com', 'https://example.org']; + * const server = http2.createSecureServer(options); + * server.on('stream', (stream) => { + * stream.respond(); + * stream.end('ok'); + * }); + * ``` + * @since v10.12.0 + * @param origins One or more URL Strings passed as separate arguments. + */ + origin( + ...origins: Array< + | string + | url.URL + | { + origin: string; + } + > + ): void; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: ( + ...args: ServerHttp2SessionEventMap[E] + ) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit( + eventName: E, + ...args: ServerHttp2SessionEventMap[E] + ): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: ( + ...args: ServerHttp2SessionEventMap[E] + ) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners( + eventName: E, + ): (( + ...args: ServerHttp2SessionEventMap[E] + ) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: ( + ...args: ServerHttp2SessionEventMap[E] + ) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: ( + ...args: ServerHttp2SessionEventMap[E] + ) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: ( + ...args: ServerHttp2SessionEventMap[E] + ) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: ( + ...args: ServerHttp2SessionEventMap[E] + ) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: ( + ...args: ServerHttp2SessionEventMap[E] + ) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): (( + ...args: ServerHttp2SessionEventMap[E] + ) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: ( + ...args: ServerHttp2SessionEventMap[E] + ) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + // Http2Server + interface SessionOptions { + /** + * Sets the maximum dynamic table size for deflating header fields. + * @default 4Kib + */ + maxDeflateDynamicTableSize?: number | undefined; + /** + * Sets the maximum number of settings entries per `SETTINGS` frame. + * The minimum value allowed is `1`. + * @default 32 + */ + maxSettings?: number | undefined; + /** + * Sets the maximum memory that the `Http2Session` is permitted to use. + * The value is expressed in terms of number of megabytes, e.g. `1` equal 1 megabyte. + * The minimum value allowed is `1`. + * This is a credit based limit, existing `Http2Stream`s may cause this limit to be exceeded, + * but new `Http2Stream` instances will be rejected while this limit is exceeded. + * The current number of `Http2Stream` sessions, the current memory use of the header compression tables, + * current data queued to be sent, and unacknowledged `PING` and `SETTINGS` frames are all counted towards the current limit. + * @default 10 + */ + maxSessionMemory?: number | undefined; + /** + * Sets the maximum number of header entries. + * This is similar to `server.maxHeadersCount` or `request.maxHeadersCount` in the `node:http` module. + * The minimum value is `1`. + * @default 128 + */ + maxHeaderListPairs?: number | undefined; + /** + * Sets the maximum number of outstanding, unacknowledged pings. + * @default 10 + */ + maxOutstandingPings?: number | undefined; + /** + * Sets the maximum allowed size for a serialized, compressed block of headers. + * Attempts to send headers that exceed this limit will result in + * a `'frameError'` event being emitted and the stream being closed and destroyed. + */ + maxSendHeaderBlockLength?: number | undefined; + /** + * Strategy used for determining the amount of padding to use for `HEADERS` and `DATA` frames. + * @default http2.constants.PADDING_STRATEGY_NONE + */ + paddingStrategy?: number | undefined; + /** + * Sets the maximum number of concurrent streams for the remote peer as if a `SETTINGS` frame had been received. + * Will be overridden if the remote peer sets its own value for `maxConcurrentStreams`. + * @default 100 + */ + peerMaxConcurrentStreams?: number | undefined; + /** + * The initial settings to send to the remote peer upon connection. + */ + settings?: Settings | undefined; + /** + * The array of integer values determines the settings types, + * which are included in the `CustomSettings`-property of the received remoteSettings. + * Please see the `CustomSettings`-property of the `Http2Settings` object for more information, on the allowed setting types. + */ + remoteCustomSettings?: number[] | undefined; + /** + * Specifies a timeout in milliseconds that + * a server should wait when an [`'unknownProtocol'`][] is emitted. If the + * socket has not been destroyed by that time the server will destroy it. + * @default 100000 + */ + unknownProtocolTimeout?: number | undefined; + /** + * If `true`, it turns on strict leading + * and trailing whitespace validation for HTTP/2 header field names and values + * as per [RFC-9113](https://www.rfc-editor.org/rfc/rfc9113.html#section-8.2.1). + * @since v24.2.0 + * @default true + */ + strictFieldWhitespaceValidation?: boolean | undefined; + } + interface ClientSessionOptions extends SessionOptions { + /** + * Sets the maximum number of reserved push streams the client will accept at any given time. + * Once the current number of currently reserved push streams exceeds reaches this limit, + * new push streams sent by the server will be automatically rejected. + * The minimum allowed value is 0. The maximum allowed value is 232-1. + * A negative value sets this option to the maximum allowed value. + * @default 200 + */ + maxReservedRemoteStreams?: number | undefined; + /** + * An optional callback that receives the `URL` instance passed to `connect` and the `options` object, + * and returns any `Duplex` stream that is to be used as the connection for this session. + */ + createConnection?: ((authority: url.URL, option: SessionOptions) => stream.Duplex) | undefined; + /** + * The protocol to connect with, if not set in the `authority`. + * Value may be either `'http:'` or `'https:'`. + * @default 'https:' + */ + protocol?: "http:" | "https:" | undefined; + } + interface ServerSessionOptions< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + > extends SessionOptions { + maxSessionRejectedStreams?: number | undefined; + maxSessionInvalidFrames?: number | undefined; + streamResetBurst?: number | undefined; + streamResetRate?: number | undefined; + /** @deprecated Use `http1Options.IncomingMessage` instead. */ + Http1IncomingMessage?: Http1Request | undefined; + /** @deprecated Use `http1Options.ServerResponse` instead. */ + Http1ServerResponse?: Http1Response | undefined; + http1Options?: Http1Options | undefined; + Http2ServerRequest?: Http2Request | undefined; + Http2ServerResponse?: Http2Response | undefined; + strictSingleValueFields?: boolean | undefined; + } + interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions {} + interface SecureServerSessionOptions< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + > extends ServerSessionOptions, tls.TlsOptions {} + interface ServerOptions< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + > extends ServerSessionOptions {} + interface SecureServerOptions< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + > extends SecureServerSessionOptions { + allowHTTP1?: boolean | undefined; + origins?: string[] | undefined; + } + interface Http1Options< + Request extends typeof IncomingMessage, + Response extends typeof ServerResponse>, + > { + IncomingMessage?: Request | undefined; + ServerResponse?: Response | undefined; + keepAliveTimeout?: number | undefined; + } + interface Http2ServerCommon { + setTimeout(msec?: number, callback?: () => void): this; + /** + * Throws ERR_HTTP2_INVALID_SETTING_VALUE for invalid settings values. + * Throws ERR_INVALID_ARG_TYPE for invalid settings argument. + */ + updateSettings(settings: Settings): void; + } + interface Http2ServerEventMap< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + > extends net.ServerEventMap, Pick { + "checkContinue": [request: InstanceType, response: InstanceType]; + "request": [request: InstanceType, response: InstanceType]; + "session": [session: ServerHttp2Session]; + "sessionError": [ + err: Error, + session: ServerHttp2Session, + ]; + } + interface Http2Server< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + > extends net.Server, Http2ServerCommon { + // #region InternalEventEmitter + addListener( + eventName: E, + listener: ( + ...args: Http2ServerEventMap[E] + ) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit( + eventName: E, + ...args: Http2ServerEventMap[E] + ): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: ( + ...args: Http2ServerEventMap[E] + ) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners( + eventName: E, + ): ((...args: Http2ServerEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: ( + ...args: Http2ServerEventMap[E] + ) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: ( + ...args: Http2ServerEventMap[E] + ) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: ( + ...args: Http2ServerEventMap[E] + ) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: ( + ...args: Http2ServerEventMap[E] + ) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: ( + ...args: Http2ServerEventMap[E] + ) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): ((...args: Http2ServerEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: ( + ...args: Http2ServerEventMap[E] + ) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface Http2SecureServerEventMap< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + > extends tls.ServerEventMap, Http2ServerEventMap { + "unknownProtocol": [socket: tls.TLSSocket]; + } + interface Http2SecureServer< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + > extends tls.Server, Http2ServerCommon { + // #region InternalEventEmitter + addListener( + eventName: E, + listener: ( + ...args: Http2SecureServerEventMap[E] + ) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit( + eventName: E, + ...args: Http2SecureServerEventMap[E] + ): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: ( + ...args: Http2SecureServerEventMap[E] + ) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners( + eventName: E, + ): (( + ...args: Http2SecureServerEventMap[E] + ) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: ( + ...args: Http2SecureServerEventMap[E] + ) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: ( + ...args: Http2SecureServerEventMap[E] + ) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: ( + ...args: Http2SecureServerEventMap[E] + ) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: ( + ...args: Http2SecureServerEventMap[E] + ) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: ( + ...args: Http2SecureServerEventMap[E] + ) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): (( + ...args: Http2SecureServerEventMap[E] + ) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: ( + ...args: Http2SecureServerEventMap[E] + ) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface Http2ServerRequestEventMap extends stream.ReadableEventMap { + "aborted": [hadError: boolean, code: number]; + "data": [chunk: string | NonSharedBuffer]; + } + /** + * A `Http2ServerRequest` object is created by {@link Server} or {@link SecureServer} and passed as the first argument to the `'request'` event. It may be used to access a request status, + * headers, and + * data. + * @since v8.4.0 + */ + class Http2ServerRequest extends stream.Readable { + constructor( + stream: ServerHttp2Stream, + headers: IncomingHttpHeaders, + options: stream.ReadableOptions, + rawHeaders: readonly string[], + ); + /** + * The `request.aborted` property will be `true` if the request has + * been aborted. + * @since v10.1.0 + */ + readonly aborted: boolean; + /** + * The request authority pseudo header field. Because HTTP/2 allows requests + * to set either `:authority` or `host`, this value is derived from `req.headers[':authority']` if present. Otherwise, it is derived from `req.headers['host']`. + * @since v8.4.0 + */ + readonly authority: string; + /** + * See `request.socket`. + * @since v8.4.0 + * @deprecated Since v13.0.0 - Use `socket`. + */ + readonly connection: net.Socket | tls.TLSSocket; + /** + * The `request.complete` property will be `true` if the request has + * been completed, aborted, or destroyed. + * @since v12.10.0 + */ + readonly complete: boolean; + /** + * The request/response headers object. + * + * Key-value pairs of header names and values. Header names are lower-cased. + * + * ```js + * // Prints something like: + * // + * // { 'user-agent': 'curl/7.22.0', + * // host: '127.0.0.1:8000', + * // accept: '*' } + * console.log(request.headers); + * ``` + * + * See `HTTP/2 Headers Object`. + * + * In HTTP/2, the request path, host name, protocol, and method are represented as + * special headers prefixed with the `:` character (e.g. `':path'`). These special + * headers will be included in the `request.headers` object. Care must be taken not + * to inadvertently modify these special headers or errors may occur. For instance, + * removing all headers from the request will cause errors to occur: + * + * ```js + * removeAllHeaders(request.headers); + * assert(request.url); // Fails because the :path header has been removed + * ``` + * @since v8.4.0 + */ + readonly headers: IncomingHttpHeaders; + /** + * In case of server request, the HTTP version sent by the client. In the case of + * client response, the HTTP version of the connected-to server. Returns `'2.0'`. + * + * Also `message.httpVersionMajor` is the first integer and `message.httpVersionMinor` is the second. + * @since v8.4.0 + */ + readonly httpVersion: string; + readonly httpVersionMinor: number; + readonly httpVersionMajor: number; + /** + * The request method as a string. Read-only. Examples: `'GET'`, `'DELETE'`. + * @since v8.4.0 + */ + readonly method: string; + /** + * The raw request/response headers list exactly as they were received. + * + * The keys and values are in the same list. It is _not_ a + * list of tuples. So, the even-numbered offsets are key values, and the + * odd-numbered offsets are the associated values. + * + * Header names are not lowercased, and duplicates are not merged. + * + * ```js + * // Prints something like: + * // + * // [ 'user-agent', + * // 'this is invalid because there can be only one', + * // 'User-Agent', + * // 'curl/7.22.0', + * // 'Host', + * // '127.0.0.1:8000', + * // 'ACCEPT', + * // '*' ] + * console.log(request.rawHeaders); + * ``` + * @since v8.4.0 + */ + readonly rawHeaders: string[]; + /** + * The raw request/response trailer keys and values exactly as they were + * received. Only populated at the `'end'` event. + * @since v8.4.0 + */ + readonly rawTrailers: string[]; + /** + * The request scheme pseudo header field indicating the scheme + * portion of the target URL. + * @since v8.4.0 + */ + readonly scheme: string; + /** + * Returns a `Proxy` object that acts as a `net.Socket` (or `tls.TLSSocket`) but + * applies getters, setters, and methods based on HTTP/2 logic. + * + * `destroyed`, `readable`, and `writable` properties will be retrieved from and + * set on `request.stream`. + * + * `destroy`, `emit`, `end`, `on` and `once` methods will be called on `request.stream`. + * + * `setTimeout` method will be called on `request.stream.session`. + * + * `pause`, `read`, `resume`, and `write` will throw an error with code `ERR_HTTP2_NO_SOCKET_MANIPULATION`. See `Http2Session and Sockets` for + * more information. + * + * All other interactions will be routed directly to the socket. With TLS support, + * use `request.socket.getPeerCertificate()` to obtain the client's + * authentication details. + * @since v8.4.0 + */ + readonly socket: net.Socket | tls.TLSSocket; + /** + * The `Http2Stream` object backing the request. + * @since v8.4.0 + */ + readonly stream: ServerHttp2Stream; + /** + * The request/response trailers object. Only populated at the `'end'` event. + * @since v8.4.0 + */ + readonly trailers: IncomingHttpHeaders; + /** + * Request URL string. This contains only the URL that is present in the actual + * HTTP request. If the request is: + * + * ```http + * GET /status?name=ryan HTTP/1.1 + * Accept: text/plain + * ``` + * + * Then `request.url` will be: + * + * ```js + * '/status?name=ryan' + * ``` + * + * To parse the url into its parts, `new URL()` can be used: + * + * ```console + * $ node + * > new URL('/status?name=ryan', 'http://example.com') + * URL { + * href: 'http://example.com/status?name=ryan', + * origin: 'http://example.com', + * protocol: 'http:', + * username: '', + * password: '', + * host: 'example.com', + * hostname: 'example.com', + * port: '', + * pathname: '/status', + * search: '?name=ryan', + * searchParams: URLSearchParams { 'name' => 'ryan' }, + * hash: '' + * } + * ``` + * @since v8.4.0 + */ + url: string; + /** + * Sets the `Http2Stream`'s timeout value to `msecs`. If a callback is + * provided, then it is added as a listener on the `'timeout'` event on + * the response object. + * + * If no `'timeout'` listener is added to the request, the response, or + * the server, then `Http2Stream`s are destroyed when they time out. If a + * handler is assigned to the request, the response, or the server's `'timeout'`events, timed out sockets must be handled explicitly. + * @since v8.4.0 + */ + setTimeout(msecs: number, callback?: () => void): void; + read(size?: number): Buffer | string | null; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: Http2ServerRequestEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: Http2ServerRequestEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: Http2ServerRequestEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners( + eventName: E, + ): ((...args: Http2ServerRequestEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: Http2ServerRequestEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: Http2ServerRequestEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: Http2ServerRequestEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: Http2ServerRequestEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: Http2ServerRequestEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): ((...args: Http2ServerRequestEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: Http2ServerRequestEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + /** + * This object is created internally by an HTTP server, not by the user. It is + * passed as the second parameter to the `'request'` event. + * @since v8.4.0 + */ + class Http2ServerResponse extends stream.Writable { + constructor(stream: ServerHttp2Stream); + /** + * See `response.socket`. + * @since v8.4.0 + * @deprecated Since v13.0.0 - Use `socket`. + */ + readonly connection: net.Socket | tls.TLSSocket; + /** + * Append a single header value to the header object. + * + * If the value is an array, this is equivalent to calling this method multiple times. + * + * If there were no previous values for the header, this is equivalent to calling {@link setHeader}. + * + * Attempting to set a header field name or value that contains invalid characters will result in a + * [TypeError](https://nodejs.org/docs/latest-v25.x/api/errors.html#class-typeerror) being thrown. + * + * ```js + * // Returns headers including "set-cookie: a" and "set-cookie: b" + * const server = http2.createServer((req, res) => { + * res.setHeader('set-cookie', 'a'); + * res.appendHeader('set-cookie', 'b'); + * res.writeHead(200); + * res.end('ok'); + * }); + * ``` + * @since v20.12.0 + */ + appendHeader(name: string, value: string | string[]): void; + /** + * Boolean value that indicates whether the response has completed. Starts + * as `false`. After `response.end()` executes, the value will be `true`. + * @since v8.4.0 + * @deprecated Since v13.4.0,v12.16.0 - Use `writableEnded`. + */ + readonly finished: boolean; + /** + * True if headers were sent, false otherwise (read-only). + * @since v8.4.0 + */ + readonly headersSent: boolean; + /** + * A reference to the original HTTP2 `request` object. + * @since v15.7.0 + */ + readonly req: Request; + /** + * Returns a `Proxy` object that acts as a `net.Socket` (or `tls.TLSSocket`) but + * applies getters, setters, and methods based on HTTP/2 logic. + * + * `destroyed`, `readable`, and `writable` properties will be retrieved from and + * set on `response.stream`. + * + * `destroy`, `emit`, `end`, `on` and `once` methods will be called on `response.stream`. + * + * `setTimeout` method will be called on `response.stream.session`. + * + * `pause`, `read`, `resume`, and `write` will throw an error with code `ERR_HTTP2_NO_SOCKET_MANIPULATION`. See `Http2Session and Sockets` for + * more information. + * + * All other interactions will be routed directly to the socket. + * + * ```js + * import http2 from 'node:http2'; + * const server = http2.createServer((req, res) => { + * const ip = req.socket.remoteAddress; + * const port = req.socket.remotePort; + * res.end(`Your IP address is ${ip} and your source port is ${port}.`); + * }).listen(3000); + * ``` + * @since v8.4.0 + */ + readonly socket: net.Socket | tls.TLSSocket; + /** + * The `Http2Stream` object backing the response. + * @since v8.4.0 + */ + readonly stream: ServerHttp2Stream; + /** + * When true, the Date header will be automatically generated and sent in + * the response if it is not already present in the headers. Defaults to true. + * + * This should only be disabled for testing; HTTP requires the Date header + * in responses. + * @since v8.4.0 + */ + sendDate: boolean; + /** + * When using implicit headers (not calling `response.writeHead()` explicitly), + * this property controls the status code that will be sent to the client when + * the headers get flushed. + * + * ```js + * response.statusCode = 404; + * ``` + * + * After response header was sent to the client, this property indicates the + * status code which was sent out. + * @since v8.4.0 + */ + statusCode: number; + /** + * Status message is not supported by HTTP/2 (RFC 7540 8.1.2.4). It returns + * an empty string. + * @since v8.4.0 + */ + statusMessage: ""; + /** + * This method adds HTTP trailing headers (a header but at the end of the + * message) to the response. + * + * Attempting to set a header field name or value that contains invalid characters + * will result in a `TypeError` being thrown. + * @since v8.4.0 + */ + addTrailers(trailers: OutgoingHttpHeaders): void; + /** + * This method signals to the server that all of the response headers and body + * have been sent; that server should consider this message complete. + * The method, `response.end()`, MUST be called on each response. + * + * If `data` is specified, it is equivalent to calling `response.write(data, encoding)` followed by `response.end(callback)`. + * + * If `callback` is specified, it will be called when the response stream + * is finished. + * @since v8.4.0 + */ + end(callback?: () => void): this; + end(data: string | Uint8Array, callback?: () => void): this; + end(data: string | Uint8Array, encoding: BufferEncoding, callback?: () => void): this; + /** + * Reads out a header that has already been queued but not sent to the client. + * The name is case-insensitive. + * + * ```js + * const contentType = response.getHeader('content-type'); + * ``` + * @since v8.4.0 + */ + getHeader(name: string): string; + /** + * Returns an array containing the unique names of the current outgoing headers. + * All header names are lowercase. + * + * ```js + * response.setHeader('Foo', 'bar'); + * response.setHeader('Set-Cookie', ['foo=bar', 'bar=baz']); + * + * const headerNames = response.getHeaderNames(); + * // headerNames === ['foo', 'set-cookie'] + * ``` + * @since v8.4.0 + */ + getHeaderNames(): string[]; + /** + * Returns a shallow copy of the current outgoing headers. Since a shallow copy + * is used, array values may be mutated without additional calls to various + * header-related http module methods. The keys of the returned object are the + * header names and the values are the respective header values. All header names + * are lowercase. + * + * The object returned by the `response.getHeaders()` method _does not_ prototypically inherit from the JavaScript `Object`. This means that typical `Object` methods such as `obj.toString()`, + * `obj.hasOwnProperty()`, and others + * are not defined and _will not work_. + * + * ```js + * response.setHeader('Foo', 'bar'); + * response.setHeader('Set-Cookie', ['foo=bar', 'bar=baz']); + * + * const headers = response.getHeaders(); + * // headers === { foo: 'bar', 'set-cookie': ['foo=bar', 'bar=baz'] } + * ``` + * @since v8.4.0 + */ + getHeaders(): OutgoingHttpHeaders; + /** + * Returns `true` if the header identified by `name` is currently set in the + * outgoing headers. The header name matching is case-insensitive. + * + * ```js + * const hasContentType = response.hasHeader('content-type'); + * ``` + * @since v8.4.0 + */ + hasHeader(name: string): boolean; + /** + * Removes a header that has been queued for implicit sending. + * + * ```js + * response.removeHeader('Content-Encoding'); + * ``` + * @since v8.4.0 + */ + removeHeader(name: string): void; + /** + * Sets a single header value for implicit headers. If this header already exists + * in the to-be-sent headers, its value will be replaced. Use an array of strings + * here to send multiple headers with the same name. + * + * ```js + * response.setHeader('Content-Type', 'text/html; charset=utf-8'); + * ``` + * + * or + * + * ```js + * response.setHeader('Set-Cookie', ['type=ninja', 'language=javascript']); + * ``` + * + * Attempting to set a header field name or value that contains invalid characters + * will result in a `TypeError` being thrown. + * + * When headers have been set with `response.setHeader()`, they will be merged + * with any headers passed to `response.writeHead()`, with the headers passed + * to `response.writeHead()` given precedence. + * + * ```js + * // Returns content-type = text/plain + * const server = http2.createServer((req, res) => { + * res.setHeader('Content-Type', 'text/html; charset=utf-8'); + * res.setHeader('X-Foo', 'bar'); + * res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' }); + * res.end('ok'); + * }); + * ``` + * @since v8.4.0 + */ + setHeader(name: string, value: number | string | readonly string[]): void; + /** + * Sets the `Http2Stream`'s timeout value to `msecs`. If a callback is + * provided, then it is added as a listener on the `'timeout'` event on + * the response object. + * + * If no `'timeout'` listener is added to the request, the response, or + * the server, then `Http2Stream` s are destroyed when they time out. If a + * handler is assigned to the request, the response, or the server's `'timeout'` events, timed out sockets must be handled explicitly. + * @since v8.4.0 + */ + setTimeout(msecs: number, callback?: () => void): void; + /** + * If this method is called and `response.writeHead()` has not been called, + * it will switch to implicit header mode and flush the implicit headers. + * + * This sends a chunk of the response body. This method may + * be called multiple times to provide successive parts of the body. + * + * In the `node:http` module, the response body is omitted when the + * request is a HEAD request. Similarly, the `204` and `304` responses _must not_ include a message body. + * + * `chunk` can be a string or a buffer. If `chunk` is a string, + * the second parameter specifies how to encode it into a byte stream. + * By default the `encoding` is `'utf8'`. `callback` will be called when this chunk + * of data is flushed. + * + * This is the raw HTTP body and has nothing to do with higher-level multi-part + * body encodings that may be used. + * + * The first time `response.write()` is called, it will send the buffered + * header information and the first chunk of the body to the client. The second + * time `response.write()` is called, Node.js assumes data will be streamed, + * and sends the new data separately. That is, the response is buffered up to the + * first chunk of the body. + * + * Returns `true` if the entire data was flushed successfully to the kernel + * buffer. Returns `false` if all or part of the data was queued in user memory.`'drain'` will be emitted when the buffer is free again. + * @since v8.4.0 + */ + write(chunk: string | Uint8Array, callback?: (err: Error) => void): boolean; + write(chunk: string | Uint8Array, encoding: BufferEncoding, callback?: (err: Error) => void): boolean; + /** + * Sends a status `100 Continue` to the client, indicating that the request body + * should be sent. See the `'checkContinue'` event on `Http2Server` and `Http2SecureServer`. + * @since v8.4.0 + */ + writeContinue(): void; + /** + * Sends a status `103 Early Hints` to the client with a Link header, + * indicating that the user agent can preload/preconnect the linked resources. + * The `hints` is an object containing the values of headers to be sent with + * early hints message. + * + * **Example** + * + * ```js + * const earlyHintsLink = '; rel=preload; as=style'; + * response.writeEarlyHints({ + * 'link': earlyHintsLink, + * }); + * + * const earlyHintsLinks = [ + * '; rel=preload; as=style', + * '; rel=preload; as=script', + * ]; + * response.writeEarlyHints({ + * 'link': earlyHintsLinks, + * }); + * ``` + * @since v18.11.0 + */ + writeEarlyHints(hints: Record): void; + /** + * Sends a response header to the request. The status code is a 3-digit HTTP + * status code, like `404`. The last argument, `headers`, are the response headers. + * + * Returns a reference to the `Http2ServerResponse`, so that calls can be chained. + * + * For compatibility with `HTTP/1`, a human-readable `statusMessage` may be + * passed as the second argument. However, because the `statusMessage` has no + * meaning within HTTP/2, the argument will have no effect and a process warning + * will be emitted. + * + * ```js + * const body = 'hello world'; + * response.writeHead(200, { + * 'Content-Length': Buffer.byteLength(body), + * 'Content-Type': 'text/plain; charset=utf-8', + * }); + * ``` + * + * `Content-Length` is given in bytes not characters. The`Buffer.byteLength()` API may be used to determine the number of bytes in a + * given encoding. On outbound messages, Node.js does not check if Content-Length + * and the length of the body being transmitted are equal or not. However, when + * receiving messages, Node.js will automatically reject messages when the `Content-Length` does not match the actual payload size. + * + * This method may be called at most one time on a message before `response.end()` is called. + * + * If `response.write()` or `response.end()` are called before calling + * this, the implicit/mutable headers will be calculated and call this function. + * + * When headers have been set with `response.setHeader()`, they will be merged + * with any headers passed to `response.writeHead()`, with the headers passed + * to `response.writeHead()` given precedence. + * + * ```js + * // Returns content-type = text/plain + * const server = http2.createServer((req, res) => { + * res.setHeader('Content-Type', 'text/html; charset=utf-8'); + * res.setHeader('X-Foo', 'bar'); + * res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' }); + * res.end('ok'); + * }); + * ``` + * + * Attempting to set a header field name or value that contains invalid characters + * will result in a `TypeError` being thrown. + * @since v8.4.0 + */ + writeHead(statusCode: number, headers?: OutgoingHttpHeaders | readonly string[]): this; + writeHead(statusCode: number, statusMessage: string, headers?: OutgoingHttpHeaders | readonly string[]): this; + /** + * Call `http2stream.pushStream()` with the given headers, and wrap the + * given `Http2Stream` on a newly created `Http2ServerResponse` as the callback + * parameter if successful. When `Http2ServerRequest` is closed, the callback is + * called with an error `ERR_HTTP2_INVALID_STREAM`. + * @since v8.4.0 + * @param headers An object describing the headers + * @param callback Called once `http2stream.pushStream()` is finished, or either when the attempt to create the pushed `Http2Stream` has failed or has been rejected, or the state of + * `Http2ServerRequest` is closed prior to calling the `http2stream.pushStream()` method + */ + createPushResponse( + headers: OutgoingHttpHeaders, + callback: (err: Error | null, res: Http2ServerResponse) => void, + ): void; + } + 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_CREDENTIALS: string; + const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS: string; + const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS: string; + const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: string; + const HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS: string; + const HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS: string; + const HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD: 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; + } + /** + * This symbol can be set as a property on the HTTP/2 headers object with + * an array value in order to provide a list of headers considered sensitive. + */ + const sensitiveHeaders: symbol; + /** + * Returns an object containing the default settings for an `Http2Session` instance. This method returns a new object instance every time it is called + * so instances returned may be safely modified for use. + * @since v8.4.0 + */ + function getDefaultSettings(): Settings; + /** + * Returns a `Buffer` instance containing serialized representation of the given + * HTTP/2 settings as specified in the [HTTP/2](https://tools.ietf.org/html/rfc7540) specification. This is intended + * for use with the `HTTP2-Settings` header field. + * + * ```js + * import http2 from 'node:http2'; + * + * const packed = http2.getPackedSettings({ enablePush: false }); + * + * console.log(packed.toString('base64')); + * // Prints: AAIAAAAA + * ``` + * @since v8.4.0 + */ + function getPackedSettings(settings: Settings): NonSharedBuffer; + /** + * Returns a `HTTP/2 Settings Object` containing the deserialized settings from + * the given `Buffer` as generated by `http2.getPackedSettings()`. + * @since v8.4.0 + * @param buf The packed settings. + */ + function getUnpackedSettings(buf: Uint8Array): Settings; + /** + * Returns a `net.Server` instance that creates and manages `Http2Session` instances. + * + * Since there are no browsers known that support [unencrypted HTTP/2](https://http2.github.io/faq/#does-http2-require-encryption), the use of {@link createSecureServer} is necessary when + * communicating + * with browser clients. + * + * ```js + * import http2 from 'node:http2'; + * + * // Create an unencrypted HTTP/2 server. + * // Since there are no browsers known that support + * // unencrypted HTTP/2, the use of `http2.createSecureServer()` + * // is necessary when communicating with browser clients. + * const server = http2.createServer(); + * + * server.on('stream', (stream, headers) => { + * stream.respond({ + * 'content-type': 'text/html; charset=utf-8', + * ':status': 200, + * }); + * stream.end('

Hello World

'); + * }); + * + * server.listen(8000); + * ``` + * @since v8.4.0 + * @param onRequestHandler See `Compatibility API` + */ + function createServer( + onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void, + ): Http2Server; + function createServer< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + >( + options: ServerOptions, + onRequestHandler?: (request: InstanceType, response: InstanceType) => void, + ): Http2Server; + /** + * Returns a `tls.Server` instance that creates and manages `Http2Session` instances. + * + * ```js + * import http2 from 'node:http2'; + * import fs from 'node:fs'; + * + * const options = { + * key: fs.readFileSync('server-key.pem'), + * cert: fs.readFileSync('server-cert.pem'), + * }; + * + * // Create a secure HTTP/2 server + * const server = http2.createSecureServer(options); + * + * server.on('stream', (stream, headers) => { + * stream.respond({ + * 'content-type': 'text/html; charset=utf-8', + * ':status': 200, + * }); + * stream.end('

Hello World

'); + * }); + * + * server.listen(8443); + * ``` + * @since v8.4.0 + * @param onRequestHandler See `Compatibility API` + */ + function createSecureServer( + onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void, + ): Http2SecureServer; + function createSecureServer< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + >( + options: SecureServerOptions, + onRequestHandler?: (request: InstanceType, response: InstanceType) => void, + ): Http2SecureServer; + /** + * Returns a `ClientHttp2Session` instance. + * + * ```js + * import http2 from 'node:http2'; + * const client = http2.connect('https://localhost:1234'); + * + * // Use the client + * + * client.close(); + * ``` + * @since v8.4.0 + * @param authority The remote HTTP/2 server to connect to. This must be in the form of a minimal, valid URL with the `http://` or `https://` prefix, host name, and IP port (if a non-default port + * is used). Userinfo (user ID and password), path, querystring, and fragment details in the URL will be ignored. + * @param listener Will be registered as a one-time listener of the {@link 'connect'} event. + */ + function connect( + authority: string | url.URL, + listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void, + ): ClientHttp2Session; + function connect( + authority: string | url.URL, + options?: ClientSessionOptions | SecureClientSessionOptions, + listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void, + ): ClientHttp2Session; + /** + * Create an HTTP/2 server session from an existing socket. + * @param socket A Duplex Stream + * @param options Any `{@link createServer}` options can be provided. + * @since v20.12.0 + */ + function performServerHandshake< + Http1Request extends typeof IncomingMessage = typeof IncomingMessage, + Http1Response extends typeof ServerResponse> = typeof ServerResponse, + Http2Request extends typeof Http2ServerRequest = typeof Http2ServerRequest, + Http2Response extends typeof Http2ServerResponse> = typeof Http2ServerResponse, + >( + socket: stream.Duplex, + options?: ServerOptions, + ): ServerHttp2Session; +} +declare module "node:http2" { + export { OutgoingHttpHeaders } from "node:http"; +} +declare module "http2" { + export * from "node:http2"; +} diff --git a/node_modules/@types/node/https.d.ts b/node_modules/@types/node/https.d.ts new file mode 100644 index 0000000..b10aad0 --- /dev/null +++ b/node_modules/@types/node/https.d.ts @@ -0,0 +1,400 @@ +declare module "node:https" { + import * as http from "node:http"; + import { Duplex } from "node:stream"; + import * as tls from "node:tls"; + import { URL } from "node:url"; + interface ServerOptions< + Request extends typeof http.IncomingMessage = typeof http.IncomingMessage, + Response extends typeof http.ServerResponse> = typeof http.ServerResponse, + > extends http.ServerOptions, tls.TlsOptions {} + interface RequestOptions extends http.RequestOptions, tls.SecureContextOptions { + checkServerIdentity?: + | ((hostname: string, cert: tls.DetailedPeerCertificate) => Error | undefined) + | undefined; + rejectUnauthorized?: boolean | undefined; // Defaults to true + servername?: string | undefined; // SNI TLS Extension + } + interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions { + maxCachedSessions?: number | undefined; + } + /** + * An `Agent` object for HTTPS similar to `http.Agent`. See {@link request} for more information. + * + * Like `http.Agent`, the `createConnection(options[, callback])` method can be overridden + * to customize how TLS connections are established. + * + * > See `agent.createConnection()` for details on overriding this method, + * > including asynchronous socket creation with a callback. + * @since v0.4.5 + */ + class Agent extends http.Agent { + constructor(options?: AgentOptions); + options: AgentOptions; + createConnection( + options: RequestOptions, + callback?: (err: Error | null, stream: Duplex) => void, + ): Duplex | null | undefined; + getName(options?: RequestOptions): string; + } + interface ServerEventMap< + Request extends typeof http.IncomingMessage = typeof http.IncomingMessage, + Response extends typeof http.ServerResponse> = typeof http.ServerResponse, + > extends http.ServerEventMap, tls.ServerEventMap {} + /** + * See `http.Server` for more information. + * @since v0.3.4 + */ + class Server< + Request extends typeof http.IncomingMessage = typeof http.IncomingMessage, + Response extends typeof http.ServerResponse> = typeof http.ServerResponse, + > extends tls.Server { + constructor(requestListener?: http.RequestListener); + constructor( + options: ServerOptions, + requestListener?: http.RequestListener, + ); + /** + * Closes all connections connected to this server. + * @since v18.2.0 + */ + closeAllConnections(): void; + /** + * Closes all connections connected to this server which are not sending a request or waiting for a response. + * @since v18.2.0 + */ + closeIdleConnections(): void; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: ServerEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: ServerEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners( + eventName: E, + ): ((...args: ServerEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): ((...args: ServerEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface Server< + Request extends typeof http.IncomingMessage = typeof http.IncomingMessage, + Response extends typeof http.ServerResponse> = typeof http.ServerResponse, + > extends http.Server {} + /** + * ```js + * // curl -k https://localhost:8000/ + * import https from 'node:https'; + * import fs from 'node:fs'; + * + * const options = { + * key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), + * cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem'), + * }; + * + * https.createServer(options, (req, res) => { + * res.writeHead(200); + * res.end('hello world\n'); + * }).listen(8000); + * ``` + * + * Or + * + * ```js + * import https from 'node:https'; + * import fs from 'node:fs'; + * + * const options = { + * pfx: fs.readFileSync('test/fixtures/test_cert.pfx'), + * passphrase: 'sample', + * }; + * + * https.createServer(options, (req, res) => { + * res.writeHead(200); + * res.end('hello world\n'); + * }).listen(8000); + * ``` + * @since v0.3.4 + * @param options Accepts `options` from `createServer`, `createSecureContext` and `createServer`. + * @param requestListener A listener to be added to the `'request'` event. + */ + function createServer< + Request extends typeof http.IncomingMessage = typeof http.IncomingMessage, + Response extends typeof http.ServerResponse> = typeof http.ServerResponse, + >(requestListener?: http.RequestListener): Server; + function createServer< + Request extends typeof http.IncomingMessage = typeof http.IncomingMessage, + Response extends typeof http.ServerResponse> = typeof http.ServerResponse, + >( + options: ServerOptions, + requestListener?: http.RequestListener, + ): Server; + /** + * Makes a request to a secure web server. + * + * The following additional `options` from `tls.connect()` are also accepted: `ca`, `cert`, `ciphers`, `clientCertEngine`, `crl`, `dhparam`, `ecdhCurve`, `honorCipherOrder`, `key`, `passphrase`, + * `pfx`, `rejectUnauthorized`, `secureOptions`, `secureProtocol`, `servername`, `sessionIdContext`, `highWaterMark`. + * + * `options` can be an object, a string, or a `URL` object. If `options` is a + * string, it is automatically parsed with `new URL()`. If it is a `URL` object, it will be automatically converted to an ordinary `options` object. + * + * `https.request()` returns an instance of the `http.ClientRequest` class. The `ClientRequest` instance is a writable stream. If one needs to + * upload a file with a POST request, then write to the `ClientRequest` object. + * + * ```js + * import https from 'node:https'; + * + * const options = { + * hostname: 'encrypted.google.com', + * port: 443, + * path: '/', + * method: 'GET', + * }; + * + * const req = https.request(options, (res) => { + * console.log('statusCode:', res.statusCode); + * console.log('headers:', res.headers); + * + * res.on('data', (d) => { + * process.stdout.write(d); + * }); + * }); + * + * req.on('error', (e) => { + * console.error(e); + * }); + * req.end(); + * ``` + * + * Example using options from `tls.connect()`: + * + * ```js + * const options = { + * hostname: 'encrypted.google.com', + * port: 443, + * path: '/', + * method: 'GET', + * key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), + * cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem'), + * }; + * options.agent = new https.Agent(options); + * + * const req = https.request(options, (res) => { + * // ... + * }); + * ``` + * + * Alternatively, opt out of connection pooling by not using an `Agent`. + * + * ```js + * const options = { + * hostname: 'encrypted.google.com', + * port: 443, + * path: '/', + * method: 'GET', + * key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), + * cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem'), + * agent: false, + * }; + * + * const req = https.request(options, (res) => { + * // ... + * }); + * ``` + * + * Example using a `URL` as `options`: + * + * ```js + * const options = new URL('https://abc:xyz@example.com'); + * + * const req = https.request(options, (res) => { + * // ... + * }); + * ``` + * + * Example pinning on certificate fingerprint, or the public key (similar to`pin-sha256`): + * + * ```js + * import tls from 'node:tls'; + * import https from 'node:https'; + * import crypto from 'node:crypto'; + * + * function sha256(s) { + * return crypto.createHash('sha256').update(s).digest('base64'); + * } + * const options = { + * hostname: 'github.com', + * port: 443, + * path: '/', + * method: 'GET', + * checkServerIdentity: function(host, cert) { + * // Make sure the certificate is issued to the host we are connected to + * const err = tls.checkServerIdentity(host, cert); + * if (err) { + * return err; + * } + * + * // Pin the public key, similar to HPKP pin-sha256 pinning + * const pubkey256 = 'pL1+qb9HTMRZJmuC/bB/ZI9d302BYrrqiVuRyW+DGrU='; + * if (sha256(cert.pubkey) !== pubkey256) { + * const msg = 'Certificate verification error: ' + + * `The public key of '${cert.subject.CN}' ` + + * 'does not match our pinned fingerprint'; + * return new Error(msg); + * } + * + * // Pin the exact certificate, rather than the pub key + * const cert256 = '25:FE:39:32:D9:63:8C:8A:FC:A1:9A:29:87:' + + * 'D8:3E:4C:1D:98:DB:71:E4:1A:48:03:98:EA:22:6A:BD:8B:93:16'; + * if (cert.fingerprint256 !== cert256) { + * const msg = 'Certificate verification error: ' + + * `The certificate of '${cert.subject.CN}' ` + + * 'does not match our pinned fingerprint'; + * return new Error(msg); + * } + * + * // This loop is informational only. + * // Print the certificate and public key fingerprints of all certs in the + * // chain. Its common to pin the public key of the issuer on the public + * // internet, while pinning the public key of the service in sensitive + * // environments. + * do { + * console.log('Subject Common Name:', cert.subject.CN); + * console.log(' Certificate SHA256 fingerprint:', cert.fingerprint256); + * + * hash = crypto.createHash('sha256'); + * console.log(' Public key ping-sha256:', sha256(cert.pubkey)); + * + * lastprint256 = cert.fingerprint256; + * cert = cert.issuerCertificate; + * } while (cert.fingerprint256 !== lastprint256); + * + * }, + * }; + * + * options.agent = new https.Agent(options); + * const req = https.request(options, (res) => { + * console.log('All OK. Server matched our pinned cert or public key'); + * console.log('statusCode:', res.statusCode); + * // Print the HPKP values + * console.log('headers:', res.headers['public-key-pins']); + * + * res.on('data', (d) => {}); + * }); + * + * req.on('error', (e) => { + * console.error(e.message); + * }); + * req.end(); + * ``` + * + * Outputs for example: + * + * ```text + * Subject Common Name: github.com + * Certificate SHA256 fingerprint: 25:FE:39:32:D9:63:8C:8A:FC:A1:9A:29:87:D8:3E:4C:1D:98:DB:71:E4:1A:48:03:98:EA:22:6A:BD:8B:93:16 + * Public key ping-sha256: pL1+qb9HTMRZJmuC/bB/ZI9d302BYrrqiVuRyW+DGrU= + * Subject Common Name: DigiCert SHA2 Extended Validation Server CA + * Certificate SHA256 fingerprint: 40:3E:06:2A:26:53:05:91:13:28:5B:AF:80:A0:D4:AE:42:2C:84:8C:9F:78:FA:D0:1F:C9:4B:C5:B8:7F:EF:1A + * Public key ping-sha256: RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho= + * Subject Common Name: DigiCert High Assurance EV Root CA + * Certificate SHA256 fingerprint: 74:31:E5:F4:C3:C1:CE:46:90:77:4F:0B:61:E0:54:40:88:3B:A9:A0:1E:D0:0B:A6:AB:D7:80:6E:D3:B1:18:CF + * Public key ping-sha256: WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18= + * All OK. Server matched our pinned cert or public key + * statusCode: 200 + * headers: max-age=0; pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18="; pin-sha256="RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho="; + * pin-sha256="k2v657xBsOVe1PQRwOsHsw3bsGT2VzIqz5K+59sNQws="; pin-sha256="K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q="; pin-sha256="IQBnNBEiFuhj+8x6X8XLgh01V9Ic5/V3IRQLNFFc7v4="; + * pin-sha256="iie1VXtL7HzAMF+/PVPR9xzT80kQxdZeJ+zduCB3uj0="; pin-sha256="LvRiGEjRqfzurezaWuj8Wie2gyHMrW5Q06LspMnox7A="; includeSubDomains + * ``` + * @since v0.3.6 + * @param options Accepts all `options` from `request`, with some differences in default values: + */ + 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; + /** + * Like `http.get()` but for HTTPS. + * + * `options` can be an object, a string, or a `URL` object. If `options` is a + * string, it is automatically parsed with `new URL()`. If it is a `URL` object, it will be automatically converted to an ordinary `options` object. + * + * ```js + * import https from 'node:https'; + * + * https.get('https://encrypted.google.com/', (res) => { + * console.log('statusCode:', res.statusCode); + * console.log('headers:', res.headers); + * + * res.on('data', (d) => { + * process.stdout.write(d); + * }); + * + * }).on('error', (e) => { + * console.error(e); + * }); + * ``` + * @since v0.3.6 + * @param options Accepts the same `options` as {@link request}, with the `method` always set to `GET`. + */ + 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; +} +declare module "https" { + export * from "node:https"; +} diff --git a/node_modules/@types/node/index.d.ts b/node_modules/@types/node/index.d.ts new file mode 100644 index 0000000..14dd60b --- /dev/null +++ b/node_modules/@types/node/index.d.ts @@ -0,0 +1,117 @@ +/** + * License for programmatically and manually incorporated + * documentation aka. `JSDoc` from https://github.com/nodejs/node/tree/master/doc + * + * Copyright Node.js contributors. All rights reserved. + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +// NOTE: These definitions support Node.js and TypeScript 5.8+. + +// Reference required TypeScript libraries: +/// +/// +/// + +// Iterator definitions required for compatibility with TypeScript <5.6: +/// + +// Definitions for Node.js modules specific to TypeScript 5.7+: +/// +/// + +// Definitions for Node.js modules that are not specific to any version of TypeScript: +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// diff --git a/node_modules/@types/node/inspector.d.ts b/node_modules/@types/node/inspector.d.ts new file mode 100644 index 0000000..cf385b7 --- /dev/null +++ b/node_modules/@types/node/inspector.d.ts @@ -0,0 +1,264 @@ +declare module "node:inspector" { + import { EventEmitter } from "node:events"; + /** + * 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. + */ + connect(): void; + /** + * Connects a session to the inspector back-end. + * An exception will be thrown if this API was not called on a Worker thread. + * @since v12.11.0 + */ + connectToMainThread(): 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; + } + /** + * Activate inspector on host and port. Equivalent to `node --inspect=[[host:]port]`, but can be done programmatically 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. + * + * See the [security warning](https://nodejs.org/docs/latest-v25.x/api/cli.html#warning-binding-inspector-to-a-public-ipport-combination-is-insecure) + * regarding the `host` parameter usage. + * @param port Port to listen on for inspector connections. Defaults to what was specified on the CLI. + * @param host Host to listen on for inspector connections. Defaults to what was specified on the CLI. + * @param wait Block until a client has connected. Defaults to what was specified on the CLI. + * @returns Disposable that calls `inspector.close()`. + */ + function open(port?: number, host?: string, wait?: boolean): Disposable; + /** + * 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. + * + * ```console + * $ node --inspect -p 'inspector.url()' + * Debugger listening on ws://127.0.0.1:9229/166e272e-7a30-4d09-97ce-f1c012b43c34 + * For help, see: https://nodejs.org/en/docs/inspector + * ws://127.0.0.1:9229/166e272e-7a30-4d09-97ce-f1c012b43c34 + * + * $ node --inspect=localhost:3000 -p 'inspector.url()' + * Debugger listening on ws://localhost:3000/51cf8d0e-3c36-4c59-8efd-54519839e56a + * For help, see: https://nodejs.org/en/docs/inspector + * ws://localhost:3000/51cf8d0e-3c36-4c59-8efd-54519839e56a + * + * $ node -p 'inspector.url()' + * undefined + * ``` + */ + function url(): string | undefined; + /** + * Blocks until a client (existing or connected later) has sent `Runtime.runIfWaitingForDebugger` command. + * + * An exception will be thrown if there is no active inspector. + * @since v12.7.0 + */ + function waitForDebugger(): void; + // These methods are exposed by the V8 inspector console API (inspector/v8-console.h). + // The method signatures differ from those of the Node.js console, and are deliberately + // typed permissively. + interface InspectorConsole { + debug(...data: any[]): void; + error(...data: any[]): void; + info(...data: any[]): void; + log(...data: any[]): void; + warn(...data: any[]): void; + dir(...data: any[]): void; + dirxml(...data: any[]): void; + table(...data: any[]): void; + trace(...data: any[]): void; + group(...data: any[]): void; + groupCollapsed(...data: any[]): void; + groupEnd(...data: any[]): void; + clear(...data: any[]): void; + count(label?: any): void; + countReset(label?: any): void; + assert(value?: any, ...data: any[]): void; + profile(label?: any): void; + profileEnd(label?: any): void; + time(label?: any): void; + timeLog(label?: any): void; + timeStamp(label?: any): void; + } + /** + * An object to send messages to the remote inspector console. + * @since v11.0.0 + */ + const console: InspectorConsole; + // DevTools protocol event broadcast methods + namespace Network { + /** + * This feature is only available with the `--experimental-network-inspection` flag enabled. + * + * Broadcasts the `Network.requestWillBeSent` event to connected frontends. This event indicates that + * the application is about to send an HTTP request. + * @since v22.6.0 + */ + function requestWillBeSent(params: RequestWillBeSentEventDataType): void; + /** + * This feature is only available with the `--experimental-network-inspection` flag enabled. + * + * Broadcasts the `Network.dataReceived` event to connected frontends, or buffers the data if + * `Network.streamResourceContent` command was not invoked for the given request yet. + * + * Also enables `Network.getResponseBody` command to retrieve the response data. + * @since v24.2.0 + */ + function dataReceived(params: DataReceivedEventDataType): void; + /** + * This feature is only available with the `--experimental-network-inspection` flag enabled. + * + * Enables `Network.getRequestPostData` command to retrieve the request data. + * @since v24.3.0 + */ + function dataSent(params: unknown): void; + /** + * This feature is only available with the `--experimental-network-inspection` flag enabled. + * + * Broadcasts the `Network.responseReceived` event to connected frontends. This event indicates that + * HTTP response is available. + * @since v22.6.0 + */ + function responseReceived(params: ResponseReceivedEventDataType): void; + /** + * This feature is only available with the `--experimental-network-inspection` flag enabled. + * + * Broadcasts the `Network.loadingFinished` event to connected frontends. This event indicates that + * HTTP request has finished loading. + * @since v22.6.0 + */ + function loadingFinished(params: LoadingFinishedEventDataType): void; + /** + * This feature is only available with the `--experimental-network-inspection` flag enabled. + * + * Broadcasts the `Network.loadingFailed` event to connected frontends. This event indicates that + * HTTP request has failed to load. + * @since v22.7.0 + */ + function loadingFailed(params: LoadingFailedEventDataType): void; + /** + * This feature is only available with the `--experimental-network-inspection` flag enabled. + * + * Broadcasts the `Network.webSocketCreated` event to connected frontends. This event indicates that + * a WebSocket connection has been initiated. + * @since v24.7.0 + */ + function webSocketCreated(params: WebSocketCreatedEventDataType): void; + /** + * This feature is only available with the `--experimental-network-inspection` flag enabled. + * + * Broadcasts the `Network.webSocketHandshakeResponseReceived` event to connected frontends. + * This event indicates that the WebSocket handshake response has been received. + * @since v24.7.0 + */ + function webSocketHandshakeResponseReceived(params: WebSocketHandshakeResponseReceivedEventDataType): void; + /** + * This feature is only available with the `--experimental-network-inspection` flag enabled. + * + * Broadcasts the `Network.webSocketClosed` event to connected frontends. + * This event indicates that a WebSocket connection has been closed. + * @since v24.7.0 + */ + function webSocketClosed(params: WebSocketClosedEventDataType): void; + } + namespace NetworkResources { + /** + * This feature is only available with the `--experimental-inspector-network-resource` flag enabled. + * + * The inspector.NetworkResources.put method is used to provide a response for a loadNetworkResource + * request issued via the Chrome DevTools Protocol (CDP). + * This is typically triggered when a source map is specified by URL, and a DevTools frontend—such as + * Chrome—requests the resource to retrieve the source map. + * + * This method allows developers to predefine the resource content to be served in response to such CDP requests. + * + * ```js + * const inspector = require('node:inspector'); + * // By preemptively calling put to register the resource, a source map can be resolved when + * // a loadNetworkResource request is made from the frontend. + * async function setNetworkResources() { + * const mapUrl = 'http://localhost:3000/dist/app.js.map'; + * const tsUrl = 'http://localhost:3000/src/app.ts'; + * const distAppJsMap = await fetch(mapUrl).then((res) => res.text()); + * const srcAppTs = await fetch(tsUrl).then((res) => res.text()); + * inspector.NetworkResources.put(mapUrl, distAppJsMap); + * inspector.NetworkResources.put(tsUrl, srcAppTs); + * }; + * setNetworkResources().then(() => { + * require('./dist/app'); + * }); + * ``` + * + * For more details, see the official CDP documentation: [Network.loadNetworkResource](https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-loadNetworkResource) + * @since v24.5.0 + * @experimental + */ + function put(url: string, data: string): void; + } + namespace DOMStorage { + /** + * This feature is only available with the + * `--experimental-storage-inspection` flag enabled. + * + * Broadcasts the `DOMStorage.domStorageItemAdded` event to connected frontends. + * This event indicates that a new item has been added to the storage. + * @since v25.5.0 + */ + function domStorageItemAdded(params: DomStorageItemAddedEventDataType): void; + /** + * This feature is only available with the + * `--experimental-storage-inspection` flag enabled. + * + * Broadcasts the `DOMStorage.domStorageItemRemoved` event to connected frontends. + * This event indicates that an item has been removed from the storage. + * @since v25.5.0 + */ + function domStorageItemRemoved(params: DomStorageItemRemovedEventDataType): void; + /** + * This feature is only available with the + * `--experimental-storage-inspection` flag enabled. + + * Broadcasts the `DOMStorage.domStorageItemUpdated` event to connected frontends. + * This event indicates that a storage item has been updated. + * @since v25.5.0 + */ + function domStorageItemUpdated(params: DomStorageItemUpdatedEventDataType): void; + /** + * This feature is only available with the + * `--experimental-storage-inspection` flag enabled. + * + * Broadcasts the `DOMStorage.domStorageItemsCleared` event to connected + * frontends. This event indicates that all items have been cleared from the + * storage. + * @since v25.5.0 + */ + function domStorageItemsCleared(params: DomStorageItemsClearedEventDataType): void; + /** + * This feature is only available with the + * `--experimental-storage-inspection` flag enabled. + * @since v25.5.0 + */ + function registerStorage(params: unknown): void; + } +} +declare module "inspector" { + export * from "node:inspector"; +} diff --git a/node_modules/@types/node/inspector.generated.d.ts b/node_modules/@types/node/inspector.generated.d.ts new file mode 100644 index 0000000..0e2e441 --- /dev/null +++ b/node_modules/@types/node/inspector.generated.d.ts @@ -0,0 +1,4406 @@ +// These definitions are automatically generated by the generate-inspector script. +// Do not edit this file directly. +// See scripts/generate-inspector/README.md for information on how to update the protocol definitions. +// Changes to the module itself should be added to the generator template (scripts/generate-inspector/inspector.d.ts.template). + +declare module "node:inspector" { + 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 | undefined; + /** + * Object class (constructor) name. Specified for object type values only. + */ + className?: string | undefined; + /** + * 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 | undefined; + /** + * String representation of the object. + */ + description?: string | undefined; + /** + * Unique object identifier (for non-primitive values). + */ + objectId?: RemoteObjectId | undefined; + /** + * Preview containing abbreviated property values. Specified for object type values only. + * @experimental + */ + preview?: ObjectPreview | undefined; + /** + * @experimental + */ + customPreview?: CustomPreview | undefined; + } + /** + * @experimental + */ + interface CustomPreview { + header: string; + hasBody: boolean; + formatterObjectId: RemoteObjectId; + bindRemoteObjectFunctionId: RemoteObjectId; + configObjectId?: RemoteObjectId | undefined; + } + /** + * Object containing abbreviated remote object value. + * @experimental + */ + interface ObjectPreview { + /** + * Object type. + */ + type: string; + /** + * Object subtype hint. Specified for object type values only. + */ + subtype?: string | undefined; + /** + * String representation of the object. + */ + description?: string | undefined; + /** + * 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[] | undefined; + } + /** + * @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 | undefined; + /** + * Nested value preview. + */ + valuePreview?: ObjectPreview | undefined; + /** + * Object subtype hint. Specified for object type values only. + */ + subtype?: string | undefined; + } + /** + * @experimental + */ + interface EntryPreview { + /** + * Preview of the key. Specified for map-like collection entries. + */ + key?: ObjectPreview | undefined; + /** + * 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 | undefined; + /** + * True if the value associated with the property may be changed (data descriptors only). + */ + writable?: boolean | undefined; + /** + * A function which serves as a getter for the property, or undefined if there is no getter (accessor descriptors only). + */ + get?: RemoteObject | undefined; + /** + * A function which serves as a setter for the property, or undefined if there is no setter (accessor descriptors only). + */ + set?: RemoteObject | undefined; + /** + * 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 | undefined; + /** + * True if the property is owned for the object. + */ + isOwn?: boolean | undefined; + /** + * Property symbol object, if the property is of the symbol type. + */ + symbol?: RemoteObject | undefined; + } + /** + * 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 | undefined; + } + /** + * 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 | undefined; + /** + * Remote object handle. + */ + objectId?: RemoteObjectId | undefined; + } + /** + * 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?: object | undefined; + } + /** + * 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 | undefined; + /** + * URL of the exception location, to be used when the script was not reported. + */ + url?: string | undefined; + /** + * JavaScript stack trace if available. + */ + stackTrace?: StackTrace | undefined; + /** + * Exception object if available. + */ + exception?: RemoteObject | undefined; + /** + * Identifier of the context where exception happened. + */ + executionContextId?: ExecutionContextId | undefined; + } + /** + * 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 | undefined; + /** + * JavaScript function name. + */ + callFrames: CallFrame[]; + /** + * Asynchronous JavaScript stack trace that preceded this stack, if available. + */ + parent?: StackTrace | undefined; + /** + * Asynchronous JavaScript stack trace that preceded this stack, if available. + * @experimental + */ + parentId?: StackTraceId | undefined; + } + /** + * 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 | undefined; + } + interface EvaluateParameterType { + /** + * Expression to evaluate. + */ + expression: string; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string | undefined; + /** + * Determines whether Command Line API should be available during the evaluation. + */ + includeCommandLineAPI?: boolean | undefined; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean | undefined; + /** + * 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 | undefined; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean | undefined; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean | undefined; + /** + * Whether execution should be treated as initiated by user in the UI. + */ + userGesture?: boolean | undefined; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean | undefined; + } + 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 | undefined; + /** + * Whether preview should be generated for the result. + */ + generatePreview?: boolean | undefined; + } + 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 | undefined; + /** + * Call arguments. All call arguments must belong to the same JavaScript world as the target object. + */ + arguments?: CallArgument[] | undefined; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean | undefined; + /** + * Whether the result is expected to be a JSON object which should be sent by value. + */ + returnByValue?: boolean | undefined; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean | undefined; + /** + * Whether execution should be treated as initiated by user in the UI. + */ + userGesture?: boolean | undefined; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean | undefined; + /** + * Specifies execution context which global object will be used to call function on. Either executionContextId or objectId should be specified. + */ + executionContextId?: ExecutionContextId | undefined; + /** + * 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 | undefined; + } + 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 | undefined; + /** + * If true, returns accessor properties (with getter/setter) only; internal properties are not returned either. + * @experimental + */ + accessorPropertiesOnly?: boolean | undefined; + /** + * Whether preview should be generated for the results. + * @experimental + */ + generatePreview?: boolean | undefined; + } + 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 | undefined; + } + 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 | undefined; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string | undefined; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean | undefined; + /** + * Determines whether Command Line API should be available during the evaluation. + */ + includeCommandLineAPI?: boolean | undefined; + /** + * Whether the result is expected to be a JSON object which should be sent by value. + */ + returnByValue?: boolean | undefined; + /** + * Whether preview should be generated for the result. + */ + generatePreview?: boolean | undefined; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean | undefined; + } + 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 | undefined; + } + interface EvaluateReturnType { + /** + * Evaluation result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails | undefined; + } + interface AwaitPromiseReturnType { + /** + * Promise result. Will contain rejected value if promise was rejected. + */ + result: RemoteObject; + /** + * Exception details if stack strace is available. + */ + exceptionDetails?: ExceptionDetails | undefined; + } + interface CallFunctionOnReturnType { + /** + * Call result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails | undefined; + } + interface GetPropertiesReturnType { + /** + * Object properties. + */ + result: PropertyDescriptor[]; + /** + * Internal object properties (only of the element itself). + */ + internalProperties?: InternalPropertyDescriptor[] | undefined; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails | undefined; + } + interface CompileScriptReturnType { + /** + * Id of the script. + */ + scriptId?: ScriptId | undefined; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails | undefined; + } + interface RunScriptReturnType { + /** + * Run result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails | undefined; + } + 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 | undefined; + /** + * 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 | undefined; + } + interface InspectRequestedEventDataType { + object: RemoteObject; + hints: object; + } + } + 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 | undefined; + } + /** + * 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 | undefined; + /** + * 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 | undefined; + } + /** + * 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 | undefined; + /** + * Location in the source code where scope starts + */ + startLocation?: Location | undefined; + /** + * Location in the source code where scope ends + */ + endLocation?: Location | undefined; + } + /** + * 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 | undefined; + type?: string | undefined; + } + 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 | undefined; + /** + * Regex pattern for the URLs of the resources to set breakpoints on. Either url or urlRegex must be specified. + */ + urlRegex?: string | undefined; + /** + * Script hash of the resources to set breakpoint on. + */ + scriptHash?: string | undefined; + /** + * Offset in the line to set breakpoint at. + */ + columnNumber?: number | undefined; + /** + * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true. + */ + condition?: string | undefined; + } + 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 | undefined; + } + 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 | undefined; + /** + * Only consider locations which are in the same (non-nested) function as start. + */ + restrictToFunction?: boolean | undefined; + } + interface ContinueToLocationParameterType { + /** + * Location to continue to. + */ + location: Location; + targetCallFrames?: string | undefined; + } + 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 | undefined; + } + 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 | undefined; + /** + * If true, treats string parameter as regex. + */ + isRegex?: boolean | undefined; + } + 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 | undefined; + } + 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 | undefined; + /** + * Specifies whether command line API should be available to the evaluated expression, defaults to false. + */ + includeCommandLineAPI?: boolean | undefined; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean | undefined; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean | undefined; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean | undefined; + /** + * Whether to throw an exception if side effect cannot be ruled out during evaluation. + */ + throwOnSideEffect?: boolean | undefined; + } + 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[] | undefined; + /** + * Whether current call stack was modified after applying the changes. + */ + stackChanged?: boolean | undefined; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace | undefined; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId | undefined; + /** + * Exception details if any. + */ + exceptionDetails?: Runtime.ExceptionDetails | undefined; + } + interface RestartFrameReturnType { + /** + * New stack trace. + */ + callFrames: CallFrame[]; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace | undefined; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId | undefined; + } + interface GetScriptSourceReturnType { + /** + * Script source. + */ + scriptSource: string; + } + interface EvaluateOnCallFrameReturnType { + /** + * Object wrapper for the evaluation result. + */ + result: Runtime.RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: Runtime.ExceptionDetails | undefined; + } + 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?: object | undefined; + /** + * True, if this script is generated as a result of the live edit operation. + * @experimental + */ + isLiveEdit?: boolean | undefined; + /** + * URL of source map associated with script (if any). + */ + sourceMapURL?: string | undefined; + /** + * True, if this script has sourceURL. + */ + hasSourceURL?: boolean | undefined; + /** + * True, if this script is ES6 module. + */ + isModule?: boolean | undefined; + /** + * This script length. + */ + length?: number | undefined; + /** + * JavaScript top stack frame of where the script parsed event was triggered if available. + * @experimental + */ + stackTrace?: Runtime.StackTrace | undefined; + } + 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?: object | undefined; + /** + * URL of source map associated with script (if any). + */ + sourceMapURL?: string | undefined; + /** + * True, if this script has sourceURL. + */ + hasSourceURL?: boolean | undefined; + /** + * True, if this script is ES6 module. + */ + isModule?: boolean | undefined; + /** + * This script length. + */ + length?: number | undefined; + /** + * JavaScript top stack frame of where the script parsed event was triggered if available. + * @experimental + */ + stackTrace?: Runtime.StackTrace | undefined; + } + 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?: object | undefined; + /** + * Hit breakpoints IDs + */ + hitBreakpoints?: string[] | undefined; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace | undefined; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId | undefined; + /** + * 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 | undefined; + } + } + 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 | undefined; + /** + * Line number in the resource that generated this message (1-based). + */ + line?: number | undefined; + /** + * Column number in the resource that generated this message (1-based). + */ + column?: number | undefined; + } + 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 | undefined; + /** + * Child node ids. + */ + children?: number[] | undefined; + /** + * The reason of being not optimized. The function may be deoptimized or marked as don't optimize. + */ + deoptReason?: string | undefined; + /** + * An array of source position ticks. + */ + positionTicks?: PositionTickInfo[] | undefined; + } + /** + * 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[] | undefined; + /** + * Time intervals between adjacent samples in microseconds. The first delta is relative to the profile startTime. + */ + timeDeltas?: number[] | undefined; + } + /** + * 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[]; + } + interface SetSamplingIntervalParameterType { + /** + * New sampling interval in microseconds. + */ + interval: number; + } + interface StartPreciseCoverageParameterType { + /** + * Collect accurate call counts beyond simple 'covered' or 'not covered'. + */ + callCount?: boolean | undefined; + /** + * Collect block-based coverage. + */ + detailed?: boolean | undefined; + } + 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 ConsoleProfileStartedEventDataType { + id: string; + /** + * Location of console.profile(). + */ + location: Debugger.Location; + /** + * Profile title passed as an argument to console.profile(). + */ + title?: string | undefined; + } + interface ConsoleProfileFinishedEventDataType { + id: string; + /** + * Location of console.profileEnd(). + */ + location: Debugger.Location; + profile: Profile; + /** + * Profile title passed as an argument to console.profile(). + */ + title?: string | undefined; + } + } + 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 | undefined; + } + interface StopTrackingHeapObjectsParameterType { + /** + * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken when the tracking is stopped. + */ + reportProgress?: boolean | undefined; + } + interface TakeHeapSnapshotParameterType { + /** + * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken. + */ + reportProgress?: boolean | undefined; + } + interface GetObjectByHeapObjectIdParameterType { + objectId: HeapSnapshotObjectId; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string | undefined; + } + 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 | undefined; + } + 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 | undefined; + } + 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 IO { + type StreamHandle = string; + interface ReadParameterType { + /** + * Handle of the stream to read. + */ + handle: StreamHandle; + /** + * Seek to the specified offset before reading (if not specified, proceed with offset + * following the last read). Some types of streams may only support sequential reads. + */ + offset?: number | undefined; + /** + * Maximum number of bytes to read (left upon the agent discretion if not specified). + */ + size?: number | undefined; + } + interface CloseParameterType { + /** + * Handle of the stream to close. + */ + handle: StreamHandle; + } + interface ReadReturnType { + /** + * Data that were read. + */ + data: string; + /** + * Set if the end-of-file condition occurred while reading. + */ + eof: boolean; + } + } + namespace Network { + /** + * Resource type as it was perceived by the rendering engine. + */ + type ResourceType = string; + /** + * Unique request identifier. + */ + type RequestId = string; + /** + * UTC time in seconds, counted from January 1, 1970. + */ + type TimeSinceEpoch = number; + /** + * Monotonically increasing time in seconds since an arbitrary point in the past. + */ + type MonotonicTime = number; + /** + * Information about the request initiator. + */ + interface Initiator { + /** + * Type of this initiator. + */ + type: string; + /** + * Initiator JavaScript stack trace, set for Script only. + * Requires the Debugger domain to be enabled. + */ + stack?: Runtime.StackTrace | undefined; + /** + * Initiator URL, set for Parser type or for Script type (when script is importing module) or for SignedExchange type. + */ + url?: string | undefined; + /** + * Initiator line number, set for Parser type or for Script type (when script is importing + * module) (0-based). + */ + lineNumber?: number | undefined; + /** + * Initiator column number, set for Parser type or for Script type (when script is importing + * module) (0-based). + */ + columnNumber?: number | undefined; + /** + * Set if another request triggered this request (e.g. preflight). + */ + requestId?: RequestId | undefined; + } + /** + * HTTP request data. + */ + interface Request { + url: string; + method: string; + headers: Headers; + hasPostData: boolean; + } + /** + * HTTP response data. + */ + interface Response { + url: string; + status: number; + statusText: string; + headers: Headers; + mimeType: string; + charset: string; + } + /** + * Request / response headers as keys / values of JSON object. + */ + interface Headers { + } + interface LoadNetworkResourcePageResult { + success: boolean; + stream?: IO.StreamHandle | undefined; + } + /** + * WebSocket response data. + */ + interface WebSocketResponse { + /** + * HTTP response status code. + */ + status: number; + /** + * HTTP response status text. + */ + statusText: string; + /** + * HTTP response headers. + */ + headers: Headers; + } + interface EnableParameterType { + /** + * Buffer size in bytes to use when preserving network payloads (XHRs, etc). + * @experimental + */ + maxTotalBufferSize?: number | undefined; + /** + * Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc). + * @experimental + */ + maxResourceBufferSize?: number | undefined; + } + interface GetRequestPostDataParameterType { + /** + * Identifier of the network request to get content for. + */ + requestId: RequestId; + } + interface GetResponseBodyParameterType { + /** + * Identifier of the network request to get content for. + */ + requestId: RequestId; + } + interface StreamResourceContentParameterType { + /** + * Identifier of the request to stream. + */ + requestId: RequestId; + } + interface LoadNetworkResourceParameterType { + /** + * URL of the resource to get content for. + */ + url: string; + } + interface GetRequestPostDataReturnType { + /** + * Request body string, omitting files from multipart requests + */ + postData: string; + } + interface GetResponseBodyReturnType { + /** + * Response body. + */ + body: string; + /** + * True, if content was sent as base64. + */ + base64Encoded: boolean; + } + interface StreamResourceContentReturnType { + /** + * Data that has been buffered until streaming is enabled. + */ + bufferedData: string; + } + interface LoadNetworkResourceReturnType { + resource: LoadNetworkResourcePageResult; + } + interface RequestWillBeSentEventDataType { + /** + * Request identifier. + */ + requestId: RequestId; + /** + * Request data. + */ + request: Request; + /** + * Request initiator. + */ + initiator: Initiator; + /** + * Timestamp. + */ + timestamp: MonotonicTime; + /** + * Timestamp. + */ + wallTime: TimeSinceEpoch; + } + interface ResponseReceivedEventDataType { + /** + * Request identifier. + */ + requestId: RequestId; + /** + * Timestamp. + */ + timestamp: MonotonicTime; + /** + * Resource type. + */ + type: ResourceType; + /** + * Response data. + */ + response: Response; + } + interface LoadingFailedEventDataType { + /** + * Request identifier. + */ + requestId: RequestId; + /** + * Timestamp. + */ + timestamp: MonotonicTime; + /** + * Resource type. + */ + type: ResourceType; + /** + * Error message. + */ + errorText: string; + } + interface LoadingFinishedEventDataType { + /** + * Request identifier. + */ + requestId: RequestId; + /** + * Timestamp. + */ + timestamp: MonotonicTime; + } + interface DataReceivedEventDataType { + /** + * Request identifier. + */ + requestId: RequestId; + /** + * Timestamp. + */ + timestamp: MonotonicTime; + /** + * Data chunk length. + */ + dataLength: number; + /** + * Actual bytes received (might be less than dataLength for compressed encodings). + */ + encodedDataLength: number; + /** + * Data that was received. + * @experimental + */ + data?: string | undefined; + } + interface WebSocketCreatedEventDataType { + /** + * Request identifier. + */ + requestId: RequestId; + /** + * WebSocket request URL. + */ + url: string; + /** + * Request initiator. + */ + initiator: Initiator; + } + interface WebSocketClosedEventDataType { + /** + * Request identifier. + */ + requestId: RequestId; + /** + * Timestamp. + */ + timestamp: MonotonicTime; + } + interface WebSocketHandshakeResponseReceivedEventDataType { + /** + * Request identifier. + */ + requestId: RequestId; + /** + * Timestamp. + */ + timestamp: MonotonicTime; + /** + * WebSocket response data. + */ + response: WebSocketResponse; + } + } + namespace NodeRuntime { + interface NotifyWhenWaitingForDisconnectParameterType { + enabled: boolean; + } + } + namespace NodeTracing { + interface TraceConfig { + /** + * Controls how the trace buffer stores data. + */ + recordMode?: string | undefined; + /** + * Included category filters. + */ + includedCategories: string[]; + } + interface StartParameterType { + traceConfig: TraceConfig; + } + interface GetCategoriesReturnType { + /** + * A list of supported tracing categories. + */ + categories: string[]; + } + interface DataCollectedEventDataType { + value: object[]; + } + } + 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 Target { + type SessionID = string; + type TargetID = string; + interface TargetInfo { + targetId: TargetID; + type: string; + title: string; + url: string; + attached: boolean; + canAccessOpener: boolean; + } + interface SetAutoAttachParameterType { + autoAttach: boolean; + waitForDebuggerOnStart: boolean; + } + interface GetTargetsReturnType { + targetInfos: TargetInfo[]; + } + interface TargetCreatedEventDataType { + targetInfo: TargetInfo; + } + interface AttachedToTargetEventDataType { + sessionId: SessionID; + targetInfo: TargetInfo; + waitingForDebugger: boolean; + } + } + namespace DOMStorage { + type SerializedStorageKey = string; + /** + * DOM Storage identifier. + */ + interface StorageId { + /** + * Security origin for the storage. + */ + securityOrigin?: string | undefined; + /** + * Represents a key by which DOM Storage keys its CachedStorageAreas + */ + storageKey?: SerializedStorageKey | undefined; + /** + * Whether the storage is local storage (not session storage). + */ + isLocalStorage: boolean; + } + /** + * DOM Storage item. + */ + type Item = string[]; + interface ClearParameterType { + storageId: StorageId; + } + interface GetDOMStorageItemsParameterType { + storageId: StorageId; + } + interface RemoveDOMStorageItemParameterType { + storageId: StorageId; + key: string; + } + interface SetDOMStorageItemParameterType { + storageId: StorageId; + key: string; + value: string; + } + interface GetDOMStorageItemsReturnType { + entries: Item[]; + } + interface DomStorageItemAddedEventDataType { + storageId: StorageId; + key: string; + newValue: string; + } + interface DomStorageItemRemovedEventDataType { + storageId: StorageId; + key: string; + } + interface DomStorageItemUpdatedEventDataType { + storageId: StorageId; + key: string; + oldValue: string; + newValue: string; + } + interface DomStorageItemsClearedEventDataType { + storageId: StorageId; + } + } + namespace Storage { + type SerializedStorageKey = string; + interface GetStorageKeyParameterType { + frameId?: string | undefined; + } + interface GetStorageKeyReturnType { + storageKey: SerializedStorageKey; + } + } + interface Session { + /** + * 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. + * + * ```js + * session.post('Runtime.evaluate', { expression: '2 + 2' }, + * (error, { result }) => console.log(result)); + * // Output: { type: 'number', value: 4, description: '4' } + * ``` + * + * The latest version of the V8 inspector protocol is published on the + * [Chrome DevTools Protocol Viewer](https://chromedevtools.github.io/devtools-protocol/v8/). + * + * Node.js inspector supports all the Chrome DevTools Protocol domains declared + * by V8. Chrome DevTools Protocol domain provides an interface for interacting + * with one of the runtime agents used to inspect the application state and listen + * to the run-time events. + */ + post(method: string, callback?: (err: Error | null, params?: object) => void): void; + post(method: string, params?: object, callback?: (err: Error | null, params?: object) => 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; + 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; + /** + * Read a chunk of the stream + */ + post(method: "IO.read", params?: IO.ReadParameterType, callback?: (err: Error | null, params: IO.ReadReturnType) => void): void; + post(method: "IO.read", callback?: (err: Error | null, params: IO.ReadReturnType) => void): void; + post(method: "IO.close", params?: IO.CloseParameterType, callback?: (err: Error | null) => void): void; + post(method: "IO.close", callback?: (err: Error | null) => void): void; + /** + * Disables network tracking, prevents network events from being sent to the client. + */ + post(method: "Network.disable", callback?: (err: Error | null) => void): void; + /** + * Enables network tracking, network events will now be delivered to the client. + */ + post(method: "Network.enable", params?: Network.EnableParameterType, callback?: (err: Error | null) => void): void; + post(method: "Network.enable", callback?: (err: Error | null) => void): void; + /** + * Returns post data sent with the request. Returns an error when no data was sent with the request. + */ + post(method: "Network.getRequestPostData", params?: Network.GetRequestPostDataParameterType, callback?: (err: Error | null, params: Network.GetRequestPostDataReturnType) => void): void; + post(method: "Network.getRequestPostData", callback?: (err: Error | null, params: Network.GetRequestPostDataReturnType) => void): void; + /** + * Returns content served for the given request. + */ + post(method: "Network.getResponseBody", params?: Network.GetResponseBodyParameterType, callback?: (err: Error | null, params: Network.GetResponseBodyReturnType) => void): void; + post(method: "Network.getResponseBody", callback?: (err: Error | null, params: Network.GetResponseBodyReturnType) => void): void; + /** + * Enables streaming of the response for the given requestId. + * If enabled, the dataReceived event contains the data that was received during streaming. + * @experimental + */ + post( + method: "Network.streamResourceContent", + params?: Network.StreamResourceContentParameterType, + callback?: (err: Error | null, params: Network.StreamResourceContentReturnType) => void + ): void; + post(method: "Network.streamResourceContent", callback?: (err: Error | null, params: Network.StreamResourceContentReturnType) => void): void; + /** + * Fetches the resource and returns the content. + */ + post(method: "Network.loadNetworkResource", params?: Network.LoadNetworkResourceParameterType, callback?: (err: Error | null, params: Network.LoadNetworkResourceReturnType) => void): void; + post(method: "Network.loadNetworkResource", callback?: (err: Error | null, params: Network.LoadNetworkResourceReturnType) => void): void; + /** + * Enable the NodeRuntime events except by `NodeRuntime.waitingForDisconnect`. + */ + post(method: "NodeRuntime.enable", callback?: (err: Error | null) => void): void; + /** + * Disable NodeRuntime events + */ + post(method: "NodeRuntime.disable", 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; + /** + * 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; + post(method: "Target.getTargets", callback?: (err: Error | null, params: Target.GetTargetsReturnType) => void): void; + post(method: "Target.setAutoAttach", params?: Target.SetAutoAttachParameterType, callback?: (err: Error | null) => void): void; + post(method: "Target.setAutoAttach", callback?: (err: Error | null) => void): void; + post(method: "DOMStorage.clear", params?: DOMStorage.ClearParameterType, callback?: (err: Error | null) => void): void; + post(method: "DOMStorage.clear", callback?: (err: Error | null) => void): void; + /** + * Disables storage tracking, prevents storage events from being sent to the client. + */ + post(method: "DOMStorage.disable", callback?: (err: Error | null) => void): void; + /** + * Enables storage tracking, storage events will now be delivered to the client. + */ + post(method: "DOMStorage.enable", callback?: (err: Error | null) => void): void; + post( + method: "DOMStorage.getDOMStorageItems", + params?: DOMStorage.GetDOMStorageItemsParameterType, + callback?: (err: Error | null, params: DOMStorage.GetDOMStorageItemsReturnType) => void + ): void; + post(method: "DOMStorage.getDOMStorageItems", callback?: (err: Error | null, params: DOMStorage.GetDOMStorageItemsReturnType) => void): void; + post(method: "DOMStorage.removeDOMStorageItem", params?: DOMStorage.RemoveDOMStorageItemParameterType, callback?: (err: Error | null) => void): void; + post(method: "DOMStorage.removeDOMStorageItem", callback?: (err: Error | null) => void): void; + post(method: "DOMStorage.setDOMStorageItem", params?: DOMStorage.SetDOMStorageItemParameterType, callback?: (err: Error | null) => void): void; + post(method: "DOMStorage.setDOMStorageItem", callback?: (err: Error | null) => void): void; + /** + * @experimental + */ + post(method: "Storage.getStorageKey", params?: Storage.GetStorageKeyParameterType, callback?: (err: Error | null, params: Storage.GetStorageKeyReturnType) => void): void; + post(method: "Storage.getStorageKey", callback?: (err: Error | null, params: Storage.GetStorageKeyReturnType) => void): void; + 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; + /** + * Fired when page is about to send HTTP request. + */ + addListener(event: "Network.requestWillBeSent", listener: (message: InspectorNotification) => void): this; + /** + * Fired when HTTP response is available. + */ + addListener(event: "Network.responseReceived", listener: (message: InspectorNotification) => void): this; + addListener(event: "Network.loadingFailed", listener: (message: InspectorNotification) => void): this; + addListener(event: "Network.loadingFinished", listener: (message: InspectorNotification) => void): this; + /** + * Fired when data chunk was received over the network. + */ + addListener(event: "Network.dataReceived", listener: (message: InspectorNotification) => void): this; + /** + * Fired upon WebSocket creation. + */ + addListener(event: "Network.webSocketCreated", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket is closed. + */ + addListener(event: "Network.webSocketClosed", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket handshake response becomes available. + */ + addListener(event: "Network.webSocketHandshakeResponseReceived", 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; + /** + * This event is fired when the runtime is waiting for the debugger. For + * example, when inspector.waitingForDebugger is called + */ + addListener(event: "NodeRuntime.waitingForDebugger", listener: () => 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; + addListener(event: "Target.targetCreated", listener: (message: InspectorNotification) => void): this; + addListener(event: "Target.attachedToTarget", listener: (message: InspectorNotification) => void): this; + addListener(event: "DOMStorage.domStorageItemAdded", listener: (message: InspectorNotification) => void): this; + addListener(event: "DOMStorage.domStorageItemRemoved", listener: (message: InspectorNotification) => void): this; + addListener(event: "DOMStorage.domStorageItemUpdated", listener: (message: InspectorNotification) => void): this; + addListener(event: "DOMStorage.domStorageItemsCleared", listener: (message: InspectorNotification) => 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: "Network.requestWillBeSent", message: InspectorNotification): boolean; + emit(event: "Network.responseReceived", message: InspectorNotification): boolean; + emit(event: "Network.loadingFailed", message: InspectorNotification): boolean; + emit(event: "Network.loadingFinished", message: InspectorNotification): boolean; + emit(event: "Network.dataReceived", message: InspectorNotification): boolean; + emit(event: "Network.webSocketCreated", message: InspectorNotification): boolean; + emit(event: "Network.webSocketClosed", message: InspectorNotification): boolean; + emit(event: "Network.webSocketHandshakeResponseReceived", message: InspectorNotification): boolean; + emit(event: "NodeRuntime.waitingForDisconnect"): boolean; + emit(event: "NodeRuntime.waitingForDebugger"): 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: "Target.targetCreated", message: InspectorNotification): boolean; + emit(event: "Target.attachedToTarget", message: InspectorNotification): boolean; + emit(event: "DOMStorage.domStorageItemAdded", message: InspectorNotification): boolean; + emit(event: "DOMStorage.domStorageItemRemoved", message: InspectorNotification): boolean; + emit(event: "DOMStorage.domStorageItemUpdated", message: InspectorNotification): boolean; + emit(event: "DOMStorage.domStorageItemsCleared", message: InspectorNotification): 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; + /** + * Fired when page is about to send HTTP request. + */ + on(event: "Network.requestWillBeSent", listener: (message: InspectorNotification) => void): this; + /** + * Fired when HTTP response is available. + */ + on(event: "Network.responseReceived", listener: (message: InspectorNotification) => void): this; + on(event: "Network.loadingFailed", listener: (message: InspectorNotification) => void): this; + on(event: "Network.loadingFinished", listener: (message: InspectorNotification) => void): this; + /** + * Fired when data chunk was received over the network. + */ + on(event: "Network.dataReceived", listener: (message: InspectorNotification) => void): this; + /** + * Fired upon WebSocket creation. + */ + on(event: "Network.webSocketCreated", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket is closed. + */ + on(event: "Network.webSocketClosed", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket handshake response becomes available. + */ + on(event: "Network.webSocketHandshakeResponseReceived", 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; + /** + * This event is fired when the runtime is waiting for the debugger. For + * example, when inspector.waitingForDebugger is called + */ + on(event: "NodeRuntime.waitingForDebugger", listener: () => 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; + on(event: "Target.targetCreated", listener: (message: InspectorNotification) => void): this; + on(event: "Target.attachedToTarget", listener: (message: InspectorNotification) => void): this; + on(event: "DOMStorage.domStorageItemAdded", listener: (message: InspectorNotification) => void): this; + on(event: "DOMStorage.domStorageItemRemoved", listener: (message: InspectorNotification) => void): this; + on(event: "DOMStorage.domStorageItemUpdated", listener: (message: InspectorNotification) => void): this; + on(event: "DOMStorage.domStorageItemsCleared", listener: (message: InspectorNotification) => 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; + /** + * Fired when page is about to send HTTP request. + */ + once(event: "Network.requestWillBeSent", listener: (message: InspectorNotification) => void): this; + /** + * Fired when HTTP response is available. + */ + once(event: "Network.responseReceived", listener: (message: InspectorNotification) => void): this; + once(event: "Network.loadingFailed", listener: (message: InspectorNotification) => void): this; + once(event: "Network.loadingFinished", listener: (message: InspectorNotification) => void): this; + /** + * Fired when data chunk was received over the network. + */ + once(event: "Network.dataReceived", listener: (message: InspectorNotification) => void): this; + /** + * Fired upon WebSocket creation. + */ + once(event: "Network.webSocketCreated", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket is closed. + */ + once(event: "Network.webSocketClosed", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket handshake response becomes available. + */ + once(event: "Network.webSocketHandshakeResponseReceived", 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; + /** + * This event is fired when the runtime is waiting for the debugger. For + * example, when inspector.waitingForDebugger is called + */ + once(event: "NodeRuntime.waitingForDebugger", listener: () => 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; + once(event: "Target.targetCreated", listener: (message: InspectorNotification) => void): this; + once(event: "Target.attachedToTarget", listener: (message: InspectorNotification) => void): this; + once(event: "DOMStorage.domStorageItemAdded", listener: (message: InspectorNotification) => void): this; + once(event: "DOMStorage.domStorageItemRemoved", listener: (message: InspectorNotification) => void): this; + once(event: "DOMStorage.domStorageItemUpdated", listener: (message: InspectorNotification) => void): this; + once(event: "DOMStorage.domStorageItemsCleared", listener: (message: InspectorNotification) => 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; + /** + * Fired when page is about to send HTTP request. + */ + prependListener(event: "Network.requestWillBeSent", listener: (message: InspectorNotification) => void): this; + /** + * Fired when HTTP response is available. + */ + prependListener(event: "Network.responseReceived", listener: (message: InspectorNotification) => void): this; + prependListener(event: "Network.loadingFailed", listener: (message: InspectorNotification) => void): this; + prependListener(event: "Network.loadingFinished", listener: (message: InspectorNotification) => void): this; + /** + * Fired when data chunk was received over the network. + */ + prependListener(event: "Network.dataReceived", listener: (message: InspectorNotification) => void): this; + /** + * Fired upon WebSocket creation. + */ + prependListener(event: "Network.webSocketCreated", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket is closed. + */ + prependListener(event: "Network.webSocketClosed", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket handshake response becomes available. + */ + prependListener(event: "Network.webSocketHandshakeResponseReceived", 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; + /** + * This event is fired when the runtime is waiting for the debugger. For + * example, when inspector.waitingForDebugger is called + */ + prependListener(event: "NodeRuntime.waitingForDebugger", listener: () => 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; + prependListener(event: "Target.targetCreated", listener: (message: InspectorNotification) => void): this; + prependListener(event: "Target.attachedToTarget", listener: (message: InspectorNotification) => void): this; + prependListener(event: "DOMStorage.domStorageItemAdded", listener: (message: InspectorNotification) => void): this; + prependListener(event: "DOMStorage.domStorageItemRemoved", listener: (message: InspectorNotification) => void): this; + prependListener(event: "DOMStorage.domStorageItemUpdated", listener: (message: InspectorNotification) => void): this; + prependListener(event: "DOMStorage.domStorageItemsCleared", listener: (message: InspectorNotification) => 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; + /** + * Fired when page is about to send HTTP request. + */ + prependOnceListener(event: "Network.requestWillBeSent", listener: (message: InspectorNotification) => void): this; + /** + * Fired when HTTP response is available. + */ + prependOnceListener(event: "Network.responseReceived", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "Network.loadingFailed", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "Network.loadingFinished", listener: (message: InspectorNotification) => void): this; + /** + * Fired when data chunk was received over the network. + */ + prependOnceListener(event: "Network.dataReceived", listener: (message: InspectorNotification) => void): this; + /** + * Fired upon WebSocket creation. + */ + prependOnceListener(event: "Network.webSocketCreated", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket is closed. + */ + prependOnceListener(event: "Network.webSocketClosed", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket handshake response becomes available. + */ + prependOnceListener(event: "Network.webSocketHandshakeResponseReceived", 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; + /** + * This event is fired when the runtime is waiting for the debugger. For + * example, when inspector.waitingForDebugger is called + */ + prependOnceListener(event: "NodeRuntime.waitingForDebugger", listener: () => 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; + prependOnceListener(event: "Target.targetCreated", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "Target.attachedToTarget", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "DOMStorage.domStorageItemAdded", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "DOMStorage.domStorageItemRemoved", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "DOMStorage.domStorageItemUpdated", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "DOMStorage.domStorageItemsCleared", listener: (message: InspectorNotification) => void): this; + } +} +declare module "node:inspector/promises" { + export { + Schema, + Runtime, + Debugger, + Console, + Profiler, + HeapProfiler, + IO, + Network, + NodeRuntime, + NodeTracing, + NodeWorker, + Target, + DOMStorage, + Storage, + } from 'inspector'; +} +declare module "node:inspector/promises" { + import { + InspectorNotification, + Schema, + Runtime, + Debugger, + Console, + Profiler, + HeapProfiler, + IO, + Network, + NodeRuntime, + NodeTracing, + NodeWorker, + Target, + DOMStorage, + Storage, + } from "inspector"; + /** + * The `inspector.Session` is used for dispatching messages to the V8 inspector + * back-end and receiving message responses and notifications. + * @since v19.0.0 + */ + interface Session { + /** + * Posts a message to the inspector back-end. + * + * ```js + * import { Session } from 'node:inspector/promises'; + * try { + * const session = new Session(); + * session.connect(); + * const result = await session.post('Runtime.evaluate', { expression: '2 + 2' }); + * console.log(result); + * } catch (error) { + * console.error(error); + * } + * // Output: { result: { type: 'number', value: 4, description: '4' } } + * ``` + * + * The latest version of the V8 inspector protocol is published on the + * [Chrome DevTools Protocol Viewer](https://chromedevtools.github.io/devtools-protocol/v8/). + * + * Node.js inspector supports all the Chrome DevTools Protocol domains declared + * by V8. Chrome DevTools Protocol domain provides an interface for interacting + * with one of the runtime agents used to inspect the application state and listen + * to the run-time events. + */ + post(method: string, params?: object): Promise; + /** + * Returns supported domains. + */ + post(method: "Schema.getDomains"): Promise; + /** + * Evaluates expression on global object. + */ + post(method: "Runtime.evaluate", params?: Runtime.EvaluateParameterType): Promise; + /** + * Add handler to promise with given promise object id. + */ + post(method: "Runtime.awaitPromise", params?: Runtime.AwaitPromiseParameterType): Promise; + /** + * 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): Promise; + /** + * Returns properties of a given object. Object group of the result is inherited from the target object. + */ + post(method: "Runtime.getProperties", params?: Runtime.GetPropertiesParameterType): Promise; + /** + * Releases remote object with given id. + */ + post(method: "Runtime.releaseObject", params?: Runtime.ReleaseObjectParameterType): Promise; + /** + * Releases all remote objects that belong to a given group. + */ + post(method: "Runtime.releaseObjectGroup", params?: Runtime.ReleaseObjectGroupParameterType): Promise; + /** + * Tells inspected instance to run if it was waiting for debugger to attach. + */ + post(method: "Runtime.runIfWaitingForDebugger"): Promise; + /** + * 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"): Promise; + /** + * Disables reporting of execution contexts creation. + */ + post(method: "Runtime.disable"): Promise; + /** + * Discards collected exceptions and console API calls. + */ + post(method: "Runtime.discardConsoleEntries"): Promise; + /** + * @experimental + */ + post(method: "Runtime.setCustomObjectFormatterEnabled", params?: Runtime.SetCustomObjectFormatterEnabledParameterType): Promise; + /** + * Compiles expression. + */ + post(method: "Runtime.compileScript", params?: Runtime.CompileScriptParameterType): Promise; + /** + * Runs script with given id in a given context. + */ + post(method: "Runtime.runScript", params?: Runtime.RunScriptParameterType): Promise; + post(method: "Runtime.queryObjects", params?: Runtime.QueryObjectsParameterType): Promise; + /** + * Returns all let, const and class variables from global scope. + */ + post(method: "Runtime.globalLexicalScopeNames", params?: Runtime.GlobalLexicalScopeNamesParameterType): Promise; + /** + * 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"): Promise; + /** + * Disables debugger for given page. + */ + post(method: "Debugger.disable"): Promise; + /** + * Activates / deactivates all breakpoints on the page. + */ + post(method: "Debugger.setBreakpointsActive", params?: Debugger.SetBreakpointsActiveParameterType): Promise; + /** + * Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc). + */ + post(method: "Debugger.setSkipAllPauses", params?: Debugger.SetSkipAllPausesParameterType): Promise; + /** + * 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): Promise; + /** + * Sets JavaScript breakpoint at a given location. + */ + post(method: "Debugger.setBreakpoint", params?: Debugger.SetBreakpointParameterType): Promise; + /** + * Removes JavaScript breakpoint. + */ + post(method: "Debugger.removeBreakpoint", params?: Debugger.RemoveBreakpointParameterType): Promise; + /** + * Returns possible locations for breakpoint. scriptId in start and end range locations should be the same. + */ + post(method: "Debugger.getPossibleBreakpoints", params?: Debugger.GetPossibleBreakpointsParameterType): Promise; + /** + * Continues execution until specific location is reached. + */ + post(method: "Debugger.continueToLocation", params?: Debugger.ContinueToLocationParameterType): Promise; + /** + * @experimental + */ + post(method: "Debugger.pauseOnAsyncCall", params?: Debugger.PauseOnAsyncCallParameterType): Promise; + /** + * Steps over the statement. + */ + post(method: "Debugger.stepOver"): Promise; + /** + * Steps into the function call. + */ + post(method: "Debugger.stepInto", params?: Debugger.StepIntoParameterType): Promise; + /** + * Steps out of the function call. + */ + post(method: "Debugger.stepOut"): Promise; + /** + * Stops on the next JavaScript statement. + */ + post(method: "Debugger.pause"): Promise; + /** + * 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"): Promise; + /** + * Resumes JavaScript execution. + */ + post(method: "Debugger.resume"): Promise; + /** + * Returns stack trace with given stackTraceId. + * @experimental + */ + post(method: "Debugger.getStackTrace", params?: Debugger.GetStackTraceParameterType): Promise; + /** + * Searches for given string in script content. + */ + post(method: "Debugger.searchInContent", params?: Debugger.SearchInContentParameterType): Promise; + /** + * Edits JavaScript source live. + */ + post(method: "Debugger.setScriptSource", params?: Debugger.SetScriptSourceParameterType): Promise; + /** + * Restarts particular call frame from the beginning. + */ + post(method: "Debugger.restartFrame", params?: Debugger.RestartFrameParameterType): Promise; + /** + * Returns source for the script with given id. + */ + post(method: "Debugger.getScriptSource", params?: Debugger.GetScriptSourceParameterType): Promise; + /** + * 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): Promise; + /** + * Evaluates expression on a given call frame. + */ + post(method: "Debugger.evaluateOnCallFrame", params?: Debugger.EvaluateOnCallFrameParameterType): Promise; + /** + * 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): Promise; + /** + * Changes return value in top frame. Available only at return break position. + * @experimental + */ + post(method: "Debugger.setReturnValue", params?: Debugger.SetReturnValueParameterType): Promise; + /** + * Enables or disables async call stacks tracking. + */ + post(method: "Debugger.setAsyncCallStackDepth", params?: Debugger.SetAsyncCallStackDepthParameterType): Promise; + /** + * 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): Promise; + /** + * 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): Promise; + /** + * Enables console domain, sends the messages collected so far to the client by means of the messageAdded notification. + */ + post(method: "Console.enable"): Promise; + /** + * Disables console domain, prevents further console messages from being reported to the client. + */ + post(method: "Console.disable"): Promise; + /** + * Does nothing. + */ + post(method: "Console.clearMessages"): Promise; + post(method: "Profiler.enable"): Promise; + post(method: "Profiler.disable"): Promise; + /** + * Changes CPU profiler sampling interval. Must be called before CPU profiles recording started. + */ + post(method: "Profiler.setSamplingInterval", params?: Profiler.SetSamplingIntervalParameterType): Promise; + post(method: "Profiler.start"): Promise; + post(method: "Profiler.stop"): Promise; + /** + * 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): Promise; + /** + * Disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code. + */ + post(method: "Profiler.stopPreciseCoverage"): Promise; + /** + * Collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started. + */ + post(method: "Profiler.takePreciseCoverage"): Promise; + /** + * Collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection. + */ + post(method: "Profiler.getBestEffortCoverage"): Promise; + post(method: "HeapProfiler.enable"): Promise; + post(method: "HeapProfiler.disable"): Promise; + post(method: "HeapProfiler.startTrackingHeapObjects", params?: HeapProfiler.StartTrackingHeapObjectsParameterType): Promise; + post(method: "HeapProfiler.stopTrackingHeapObjects", params?: HeapProfiler.StopTrackingHeapObjectsParameterType): Promise; + post(method: "HeapProfiler.takeHeapSnapshot", params?: HeapProfiler.TakeHeapSnapshotParameterType): Promise; + post(method: "HeapProfiler.collectGarbage"): Promise; + post(method: "HeapProfiler.getObjectByHeapObjectId", params?: HeapProfiler.GetObjectByHeapObjectIdParameterType): Promise; + /** + * 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): Promise; + post(method: "HeapProfiler.getHeapObjectId", params?: HeapProfiler.GetHeapObjectIdParameterType): Promise; + post(method: "HeapProfiler.startSampling", params?: HeapProfiler.StartSamplingParameterType): Promise; + post(method: "HeapProfiler.stopSampling"): Promise; + post(method: "HeapProfiler.getSamplingProfile"): Promise; + /** + * Read a chunk of the stream + */ + post(method: "IO.read", params?: IO.ReadParameterType): Promise; + post(method: "IO.close", params?: IO.CloseParameterType): Promise; + /** + * Disables network tracking, prevents network events from being sent to the client. + */ + post(method: "Network.disable"): Promise; + /** + * Enables network tracking, network events will now be delivered to the client. + */ + post(method: "Network.enable", params?: Network.EnableParameterType): Promise; + /** + * Returns post data sent with the request. Returns an error when no data was sent with the request. + */ + post(method: "Network.getRequestPostData", params?: Network.GetRequestPostDataParameterType): Promise; + /** + * Returns content served for the given request. + */ + post(method: "Network.getResponseBody", params?: Network.GetResponseBodyParameterType): Promise; + /** + * Enables streaming of the response for the given requestId. + * If enabled, the dataReceived event contains the data that was received during streaming. + * @experimental + */ + post(method: "Network.streamResourceContent", params?: Network.StreamResourceContentParameterType): Promise; + /** + * Fetches the resource and returns the content. + */ + post(method: "Network.loadNetworkResource", params?: Network.LoadNetworkResourceParameterType): Promise; + /** + * Enable the NodeRuntime events except by `NodeRuntime.waitingForDisconnect`. + */ + post(method: "NodeRuntime.enable"): Promise; + /** + * Disable NodeRuntime events + */ + post(method: "NodeRuntime.disable"): Promise; + /** + * Enable the `NodeRuntime.waitingForDisconnect`. + */ + post(method: "NodeRuntime.notifyWhenWaitingForDisconnect", params?: NodeRuntime.NotifyWhenWaitingForDisconnectParameterType): Promise; + /** + * Gets supported tracing categories. + */ + post(method: "NodeTracing.getCategories"): Promise; + /** + * Start trace events collection. + */ + post(method: "NodeTracing.start", params?: NodeTracing.StartParameterType): Promise; + /** + * Stop trace events collection. Remaining collected events will be sent as a sequence of + * dataCollected events followed by tracingComplete event. + */ + post(method: "NodeTracing.stop"): Promise; + /** + * Sends protocol message over session with given id. + */ + post(method: "NodeWorker.sendMessageToWorker", params?: NodeWorker.SendMessageToWorkerParameterType): Promise; + /** + * Instructs the inspector to attach to running workers. Will also attach to new workers + * as they start + */ + post(method: "NodeWorker.enable", params?: NodeWorker.EnableParameterType): Promise; + /** + * Detaches from all running workers and disables attaching to new workers as they are started. + */ + post(method: "NodeWorker.disable"): Promise; + /** + * Detached from the worker with given sessionId. + */ + post(method: "NodeWorker.detach", params?: NodeWorker.DetachParameterType): Promise; + post(method: "Target.getTargets"): Promise; + post(method: "Target.setAutoAttach", params?: Target.SetAutoAttachParameterType): Promise; + post(method: "DOMStorage.clear", params?: DOMStorage.ClearParameterType): Promise; + /** + * Disables storage tracking, prevents storage events from being sent to the client. + */ + post(method: "DOMStorage.disable"): Promise; + /** + * Enables storage tracking, storage events will now be delivered to the client. + */ + post(method: "DOMStorage.enable"): Promise; + post(method: "DOMStorage.getDOMStorageItems", params?: DOMStorage.GetDOMStorageItemsParameterType): Promise; + post(method: "DOMStorage.removeDOMStorageItem", params?: DOMStorage.RemoveDOMStorageItemParameterType): Promise; + post(method: "DOMStorage.setDOMStorageItem", params?: DOMStorage.SetDOMStorageItemParameterType): Promise; + /** + * @experimental + */ + post(method: "Storage.getStorageKey", params?: Storage.GetStorageKeyParameterType): Promise; + 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; + /** + * Fired when page is about to send HTTP request. + */ + addListener(event: "Network.requestWillBeSent", listener: (message: InspectorNotification) => void): this; + /** + * Fired when HTTP response is available. + */ + addListener(event: "Network.responseReceived", listener: (message: InspectorNotification) => void): this; + addListener(event: "Network.loadingFailed", listener: (message: InspectorNotification) => void): this; + addListener(event: "Network.loadingFinished", listener: (message: InspectorNotification) => void): this; + /** + * Fired when data chunk was received over the network. + */ + addListener(event: "Network.dataReceived", listener: (message: InspectorNotification) => void): this; + /** + * Fired upon WebSocket creation. + */ + addListener(event: "Network.webSocketCreated", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket is closed. + */ + addListener(event: "Network.webSocketClosed", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket handshake response becomes available. + */ + addListener(event: "Network.webSocketHandshakeResponseReceived", 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; + /** + * This event is fired when the runtime is waiting for the debugger. For + * example, when inspector.waitingForDebugger is called + */ + addListener(event: "NodeRuntime.waitingForDebugger", listener: () => 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; + addListener(event: "Target.targetCreated", listener: (message: InspectorNotification) => void): this; + addListener(event: "Target.attachedToTarget", listener: (message: InspectorNotification) => void): this; + addListener(event: "DOMStorage.domStorageItemAdded", listener: (message: InspectorNotification) => void): this; + addListener(event: "DOMStorage.domStorageItemRemoved", listener: (message: InspectorNotification) => void): this; + addListener(event: "DOMStorage.domStorageItemUpdated", listener: (message: InspectorNotification) => void): this; + addListener(event: "DOMStorage.domStorageItemsCleared", listener: (message: InspectorNotification) => 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: "Network.requestWillBeSent", message: InspectorNotification): boolean; + emit(event: "Network.responseReceived", message: InspectorNotification): boolean; + emit(event: "Network.loadingFailed", message: InspectorNotification): boolean; + emit(event: "Network.loadingFinished", message: InspectorNotification): boolean; + emit(event: "Network.dataReceived", message: InspectorNotification): boolean; + emit(event: "Network.webSocketCreated", message: InspectorNotification): boolean; + emit(event: "Network.webSocketClosed", message: InspectorNotification): boolean; + emit(event: "Network.webSocketHandshakeResponseReceived", message: InspectorNotification): boolean; + emit(event: "NodeRuntime.waitingForDisconnect"): boolean; + emit(event: "NodeRuntime.waitingForDebugger"): 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: "Target.targetCreated", message: InspectorNotification): boolean; + emit(event: "Target.attachedToTarget", message: InspectorNotification): boolean; + emit(event: "DOMStorage.domStorageItemAdded", message: InspectorNotification): boolean; + emit(event: "DOMStorage.domStorageItemRemoved", message: InspectorNotification): boolean; + emit(event: "DOMStorage.domStorageItemUpdated", message: InspectorNotification): boolean; + emit(event: "DOMStorage.domStorageItemsCleared", message: InspectorNotification): 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; + /** + * Fired when page is about to send HTTP request. + */ + on(event: "Network.requestWillBeSent", listener: (message: InspectorNotification) => void): this; + /** + * Fired when HTTP response is available. + */ + on(event: "Network.responseReceived", listener: (message: InspectorNotification) => void): this; + on(event: "Network.loadingFailed", listener: (message: InspectorNotification) => void): this; + on(event: "Network.loadingFinished", listener: (message: InspectorNotification) => void): this; + /** + * Fired when data chunk was received over the network. + */ + on(event: "Network.dataReceived", listener: (message: InspectorNotification) => void): this; + /** + * Fired upon WebSocket creation. + */ + on(event: "Network.webSocketCreated", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket is closed. + */ + on(event: "Network.webSocketClosed", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket handshake response becomes available. + */ + on(event: "Network.webSocketHandshakeResponseReceived", 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; + /** + * This event is fired when the runtime is waiting for the debugger. For + * example, when inspector.waitingForDebugger is called + */ + on(event: "NodeRuntime.waitingForDebugger", listener: () => 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; + on(event: "Target.targetCreated", listener: (message: InspectorNotification) => void): this; + on(event: "Target.attachedToTarget", listener: (message: InspectorNotification) => void): this; + on(event: "DOMStorage.domStorageItemAdded", listener: (message: InspectorNotification) => void): this; + on(event: "DOMStorage.domStorageItemRemoved", listener: (message: InspectorNotification) => void): this; + on(event: "DOMStorage.domStorageItemUpdated", listener: (message: InspectorNotification) => void): this; + on(event: "DOMStorage.domStorageItemsCleared", listener: (message: InspectorNotification) => 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; + /** + * Fired when page is about to send HTTP request. + */ + once(event: "Network.requestWillBeSent", listener: (message: InspectorNotification) => void): this; + /** + * Fired when HTTP response is available. + */ + once(event: "Network.responseReceived", listener: (message: InspectorNotification) => void): this; + once(event: "Network.loadingFailed", listener: (message: InspectorNotification) => void): this; + once(event: "Network.loadingFinished", listener: (message: InspectorNotification) => void): this; + /** + * Fired when data chunk was received over the network. + */ + once(event: "Network.dataReceived", listener: (message: InspectorNotification) => void): this; + /** + * Fired upon WebSocket creation. + */ + once(event: "Network.webSocketCreated", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket is closed. + */ + once(event: "Network.webSocketClosed", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket handshake response becomes available. + */ + once(event: "Network.webSocketHandshakeResponseReceived", 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; + /** + * This event is fired when the runtime is waiting for the debugger. For + * example, when inspector.waitingForDebugger is called + */ + once(event: "NodeRuntime.waitingForDebugger", listener: () => 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; + once(event: "Target.targetCreated", listener: (message: InspectorNotification) => void): this; + once(event: "Target.attachedToTarget", listener: (message: InspectorNotification) => void): this; + once(event: "DOMStorage.domStorageItemAdded", listener: (message: InspectorNotification) => void): this; + once(event: "DOMStorage.domStorageItemRemoved", listener: (message: InspectorNotification) => void): this; + once(event: "DOMStorage.domStorageItemUpdated", listener: (message: InspectorNotification) => void): this; + once(event: "DOMStorage.domStorageItemsCleared", listener: (message: InspectorNotification) => 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; + /** + * Fired when page is about to send HTTP request. + */ + prependListener(event: "Network.requestWillBeSent", listener: (message: InspectorNotification) => void): this; + /** + * Fired when HTTP response is available. + */ + prependListener(event: "Network.responseReceived", listener: (message: InspectorNotification) => void): this; + prependListener(event: "Network.loadingFailed", listener: (message: InspectorNotification) => void): this; + prependListener(event: "Network.loadingFinished", listener: (message: InspectorNotification) => void): this; + /** + * Fired when data chunk was received over the network. + */ + prependListener(event: "Network.dataReceived", listener: (message: InspectorNotification) => void): this; + /** + * Fired upon WebSocket creation. + */ + prependListener(event: "Network.webSocketCreated", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket is closed. + */ + prependListener(event: "Network.webSocketClosed", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket handshake response becomes available. + */ + prependListener(event: "Network.webSocketHandshakeResponseReceived", 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; + /** + * This event is fired when the runtime is waiting for the debugger. For + * example, when inspector.waitingForDebugger is called + */ + prependListener(event: "NodeRuntime.waitingForDebugger", listener: () => 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; + prependListener(event: "Target.targetCreated", listener: (message: InspectorNotification) => void): this; + prependListener(event: "Target.attachedToTarget", listener: (message: InspectorNotification) => void): this; + prependListener(event: "DOMStorage.domStorageItemAdded", listener: (message: InspectorNotification) => void): this; + prependListener(event: "DOMStorage.domStorageItemRemoved", listener: (message: InspectorNotification) => void): this; + prependListener(event: "DOMStorage.domStorageItemUpdated", listener: (message: InspectorNotification) => void): this; + prependListener(event: "DOMStorage.domStorageItemsCleared", listener: (message: InspectorNotification) => 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; + /** + * Fired when page is about to send HTTP request. + */ + prependOnceListener(event: "Network.requestWillBeSent", listener: (message: InspectorNotification) => void): this; + /** + * Fired when HTTP response is available. + */ + prependOnceListener(event: "Network.responseReceived", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "Network.loadingFailed", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "Network.loadingFinished", listener: (message: InspectorNotification) => void): this; + /** + * Fired when data chunk was received over the network. + */ + prependOnceListener(event: "Network.dataReceived", listener: (message: InspectorNotification) => void): this; + /** + * Fired upon WebSocket creation. + */ + prependOnceListener(event: "Network.webSocketCreated", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket is closed. + */ + prependOnceListener(event: "Network.webSocketClosed", listener: (message: InspectorNotification) => void): this; + /** + * Fired when WebSocket handshake response becomes available. + */ + prependOnceListener(event: "Network.webSocketHandshakeResponseReceived", 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; + /** + * This event is fired when the runtime is waiting for the debugger. For + * example, when inspector.waitingForDebugger is called + */ + prependOnceListener(event: "NodeRuntime.waitingForDebugger", listener: () => 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; + prependOnceListener(event: "Target.targetCreated", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "Target.attachedToTarget", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "DOMStorage.domStorageItemAdded", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "DOMStorage.domStorageItemRemoved", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "DOMStorage.domStorageItemUpdated", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "DOMStorage.domStorageItemsCleared", listener: (message: InspectorNotification) => void): this; + } +} diff --git a/node_modules/@types/node/inspector/promises.d.ts b/node_modules/@types/node/inspector/promises.d.ts new file mode 100644 index 0000000..e75ff20 --- /dev/null +++ b/node_modules/@types/node/inspector/promises.d.ts @@ -0,0 +1,35 @@ +declare module "node:inspector/promises" { + import { EventEmitter } from "node:events"; + export { close, console, NetworkResources, open, url, waitForDebugger } from "node:inspector"; + /** + * The `inspector.Session` is used for dispatching messages to the V8 inspector + * back-end and receiving message responses and notifications. + * @since v19.0.0 + */ + export 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. + */ + connect(): void; + /** + * Connects a session to the inspector back-end. + * An exception will be thrown if this API was not called on a Worker thread. + * @since v12.11.0 + */ + connectToMainThread(): 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; + } +} +declare module "inspector/promises" { + export * from "node:inspector/promises"; +} diff --git a/node_modules/@types/node/module.d.ts b/node_modules/@types/node/module.d.ts new file mode 100644 index 0000000..ae6c329 --- /dev/null +++ b/node_modules/@types/node/module.d.ts @@ -0,0 +1,755 @@ +declare module "node:module" { + import { URL } from "node:url"; + class Module { + constructor(id: string, parent?: Module); + } + interface Module extends NodeJS.Module {} + namespace Module { + export { Module }; + } + namespace Module { + /** + * A list of the names of all modules provided by Node.js. Can be used to verify + * if a module is maintained by a third party or not. + * + * Note: the list doesn't contain prefix-only modules like `node:test`. + * @since v9.3.0, v8.10.0, v6.13.0 + */ + const builtinModules: readonly string[]; + /** + * @since v12.2.0 + * @param path Filename to be used to construct the require + * function. Must be a file URL object, file URL string, or absolute path + * string. + */ + function createRequire(path: string | URL): NodeJS.Require; + namespace constants { + /** + * The following constants are returned as the `status` field in the object returned by + * {@link enableCompileCache} to indicate the result of the attempt to enable the + * [module compile cache](https://nodejs.org/docs/latest-v25.x/api/module.html#module-compile-cache). + * @since v22.8.0 + */ + namespace compileCacheStatus { + /** + * Node.js has enabled the compile cache successfully. The directory used to store the + * compile cache will be returned in the `directory` field in the + * returned object. + */ + const ENABLED: number; + /** + * The compile cache has already been enabled before, either by a previous call to + * {@link enableCompileCache}, or by the `NODE_COMPILE_CACHE=dir` + * environment variable. The directory used to store the + * compile cache will be returned in the `directory` field in the + * returned object. + */ + const ALREADY_ENABLED: number; + /** + * Node.js fails to enable the compile cache. This can be caused by the lack of + * permission to use the specified directory, or various kinds of file system errors. + * The detail of the failure will be returned in the `message` field in the + * returned object. + */ + const FAILED: number; + /** + * Node.js cannot enable the compile cache because the environment variable + * `NODE_DISABLE_COMPILE_CACHE=1` has been set. + */ + const DISABLED: number; + } + } + interface EnableCompileCacheOptions { + /** + * Optional. Directory to store the compile cache. If not specified, + * the directory specified by the `NODE_COMPILE_CACHE=dir` environment variable + * will be used if it's set, or `path.join(os.tmpdir(), 'node-compile-cache')` + * otherwise. + * @since v25.0.0 + */ + directory?: string | undefined; + /** + * Optional. If `true`, enables portable compile cache so that + * the cache can be reused even if the project directory is moved. This is a best-effort + * feature. If not specified, it will depend on whether the environment variable + * `NODE_COMPILE_CACHE_PORTABLE=1` is set. + * @since v25.0.0 + */ + portable?: boolean | undefined; + } + interface EnableCompileCacheResult { + /** + * One of the {@link constants.compileCacheStatus} + */ + status: number; + /** + * If Node.js cannot enable the compile cache, this contains + * the error message. Only set if `status` is `module.constants.compileCacheStatus.FAILED`. + */ + message?: string; + /** + * If the compile cache is enabled, this contains the directory + * where the compile cache is stored. Only set if `status` is + * `module.constants.compileCacheStatus.ENABLED` or + * `module.constants.compileCacheStatus.ALREADY_ENABLED`. + */ + directory?: string; + } + /** + * Enable [module compile cache](https://nodejs.org/docs/latest-v25.x/api/module.html#module-compile-cache) + * in the current Node.js instance. + * + * For general use cases, it's recommended to call `module.enableCompileCache()` without + * specifying the `options.directory`, so that the directory can be overridden by the + * `NODE_COMPILE_CACHE` environment variable when necessary. + * + * Since compile cache is supposed to be a optimization that is not mission critical, this + * method is designed to not throw any exception when the compile cache cannot be enabled. + * Instead, it will return an object containing an error message in the `message` field to + * aid debugging. If compile cache is enabled successfully, the `directory` field in the + * returned object contains the path to the directory where the compile cache is stored. The + * `status` field in the returned object would be one of the `module.constants.compileCacheStatus` + * values to indicate the result of the attempt to enable the + * [module compile cache](https://nodejs.org/docs/latest-v25.x/api/module.html#module-compile-cache). + * + * This method only affects the current Node.js instance. To enable it in child worker threads, + * either call this method in child worker threads too, or set the + * `process.env.NODE_COMPILE_CACHE` value to compile cache directory so the behavior can + * be inherited into the child workers. The directory can be obtained either from the + * `directory` field returned by this method, or with {@link getCompileCacheDir}. + * @since v22.8.0 + * @param options Optional. If a string is passed, it is considered to be `options.directory`. + */ + function enableCompileCache(options?: string | EnableCompileCacheOptions): EnableCompileCacheResult; + /** + * Flush the [module compile cache](https://nodejs.org/docs/latest-v25.x/api/module.html#module-compile-cache) + * accumulated from modules already loaded + * in the current Node.js instance to disk. This returns after all the flushing + * file system operations come to an end, no matter they succeed or not. If there + * are any errors, this will fail silently, since compile cache misses should not + * interfere with the actual operation of the application. + * @since v22.10.0 + */ + function flushCompileCache(): void; + /** + * @since v22.8.0 + * @return Path to the [module compile cache](https://nodejs.org/docs/latest-v25.x/api/module.html#module-compile-cache) + * directory if it is enabled, or `undefined` otherwise. + */ + function getCompileCacheDir(): string | undefined; + /** + * ```text + * /path/to/project + * ├ packages/ + * ├ bar/ + * ├ bar.js + * └ package.json // name = '@foo/bar' + * └ qux/ + * ├ node_modules/ + * └ some-package/ + * └ package.json // name = 'some-package' + * ├ qux.js + * └ package.json // name = '@foo/qux' + * ├ main.js + * └ package.json // name = '@foo' + * ``` + * ```js + * // /path/to/project/packages/bar/bar.js + * import { findPackageJSON } from 'node:module'; + * + * findPackageJSON('..', import.meta.url); + * // '/path/to/project/package.json' + * // Same result when passing an absolute specifier instead: + * findPackageJSON(new URL('../', import.meta.url)); + * findPackageJSON(import.meta.resolve('../')); + * + * findPackageJSON('some-package', import.meta.url); + * // '/path/to/project/packages/bar/node_modules/some-package/package.json' + * // When passing an absolute specifier, you might get a different result if the + * // resolved module is inside a subfolder that has nested `package.json`. + * findPackageJSON(import.meta.resolve('some-package')); + * // '/path/to/project/packages/bar/node_modules/some-package/some-subfolder/package.json' + * + * findPackageJSON('@foo/qux', import.meta.url); + * // '/path/to/project/packages/qux/package.json' + * ``` + * @since v22.14.0 + * @param specifier The specifier for the module whose `package.json` to + * retrieve. When passing a _bare specifier_, the `package.json` at the root of + * the package is returned. When passing a _relative specifier_ or an _absolute specifier_, + * the closest parent `package.json` is returned. + * @param base The absolute location (`file:` URL string or FS path) of the + * containing module. For CJS, use `__filename` (not `__dirname`!); for ESM, use + * `import.meta.url`. You do not need to pass it if `specifier` is an _absolute specifier_. + * @returns A path if the `package.json` is found. When `startLocation` + * is a package, the package's root `package.json`; when a relative or unresolved, the closest + * `package.json` to the `startLocation`. + */ + function findPackageJSON(specifier: string | URL, base?: string | URL): string | undefined; + /** + * @since v18.6.0, v16.17.0 + */ + function isBuiltin(moduleName: string): boolean; + interface RegisterOptions { + /** + * If you want to resolve `specifier` relative to a + * base URL, such as `import.meta.url`, you can pass that URL here. This + * property is ignored if the `parentURL` is supplied as the second argument. + * @default 'data:' + */ + parentURL?: string | URL | undefined; + /** + * Any arbitrary, cloneable JavaScript value to pass into the + * {@link initialize} hook. + */ + data?: Data | undefined; + /** + * [Transferable objects](https://nodejs.org/docs/latest-v25.x/api/worker_threads.html#portpostmessagevalue-transferlist) + * to be passed into the `initialize` hook. + */ + transferList?: any[] | undefined; + } + /* eslint-disable @definitelytyped/no-unnecessary-generics */ + /** + * Register a module that exports hooks that customize Node.js module + * resolution and loading behavior. See + * [Customization hooks](https://nodejs.org/docs/latest-v25.x/api/module.html#customization-hooks). + * + * This feature requires `--allow-worker` if used with the + * [Permission Model](https://nodejs.org/docs/latest-v25.x/api/permissions.html#permission-model). + * @since v20.6.0, v18.19.0 + * @deprecated Use `module.registerHooks()` instead. + * @param specifier Customization hooks to be registered; this should be + * the same string that would be passed to `import()`, except that if it is + * relative, it is resolved relative to `parentURL`. + * @param parentURL f you want to resolve `specifier` relative to a base + * URL, such as `import.meta.url`, you can pass that URL here. + */ + function register( + specifier: string | URL, + parentURL?: string | URL, + options?: RegisterOptions, + ): void; + function register(specifier: string | URL, options?: RegisterOptions): void; + interface RegisterHooksOptions { + /** + * See [load hook](https://nodejs.org/docs/latest-v25.x/api/module.html#loadurl-context-nextload). + * @default undefined + */ + load?: LoadHookSync | undefined; + /** + * See [resolve hook](https://nodejs.org/docs/latest-v25.x/api/module.html#resolvespecifier-context-nextresolve). + * @default undefined + */ + resolve?: ResolveHookSync | undefined; + } + interface ModuleHooks { + /** + * Deregister the hook instance. + */ + deregister(): void; + } + /** + * Register [hooks](https://nodejs.org/docs/latest-v25.x/api/module.html#customization-hooks) + * that customize Node.js module resolution and loading behavior. + * @since v22.15.0 + * @experimental + */ + function registerHooks(options: RegisterHooksOptions): ModuleHooks; + interface StripTypeScriptTypesOptions { + /** + * Possible values are: + * * `'strip'` Only strip type annotations without performing the transformation of TypeScript features. + * * `'transform'` Strip type annotations and transform TypeScript features to JavaScript. + * @default 'strip' + */ + mode?: "strip" | "transform" | undefined; + /** + * Only when `mode` is `'transform'`, if `true`, a source map + * will be generated for the transformed code. + * @default false + */ + sourceMap?: boolean | undefined; + /** + * Specifies the source url used in the source map. + */ + sourceUrl?: string | undefined; + } + /** + * `module.stripTypeScriptTypes()` removes type annotations from TypeScript code. It + * can be used to strip type annotations from TypeScript code before running it + * with `vm.runInContext()` or `vm.compileFunction()`. + * By default, it will throw an error if the code contains TypeScript features + * that require transformation such as `Enums`, + * see [type-stripping](https://nodejs.org/docs/latest-v25.x/api/typescript.md#type-stripping) for more information. + * When mode is `'transform'`, it also transforms TypeScript features to JavaScript, + * see [transform TypeScript features](https://nodejs.org/docs/latest-v25.x/api/typescript.md#typescript-features) for more information. + * When mode is `'strip'`, source maps are not generated, because locations are preserved. + * If `sourceMap` is provided, when mode is `'strip'`, an error will be thrown. + * + * _WARNING_: The output of this function should not be considered stable across Node.js versions, + * due to changes in the TypeScript parser. + * + * ```js + * import { stripTypeScriptTypes } from 'node:module'; + * const code = 'const a: number = 1;'; + * const strippedCode = stripTypeScriptTypes(code); + * console.log(strippedCode); + * // Prints: const a = 1; + * ``` + * + * If `sourceUrl` is provided, it will be used appended as a comment at the end of the output: + * + * ```js + * import { stripTypeScriptTypes } from 'node:module'; + * const code = 'const a: number = 1;'; + * const strippedCode = stripTypeScriptTypes(code, { mode: 'strip', sourceUrl: 'source.ts' }); + * console.log(strippedCode); + * // Prints: const a = 1\n\n//# sourceURL=source.ts; + * ``` + * + * When `mode` is `'transform'`, the code is transformed to JavaScript: + * + * ```js + * import { stripTypeScriptTypes } from 'node:module'; + * const code = ` + * namespace MathUtil { + * export const add = (a: number, b: number) => a + b; + * }`; + * const strippedCode = stripTypeScriptTypes(code, { mode: 'transform', sourceMap: true }); + * console.log(strippedCode); + * // Prints: + * // var MathUtil; + * // (function(MathUtil) { + * // MathUtil.add = (a, b)=>a + b; + * // })(MathUtil || (MathUtil = {})); + * // # sourceMappingURL=data:application/json;base64, ... + * ``` + * @since v22.13.0 + * @param code The code to strip type annotations from. + * @returns The code with type annotations stripped. + */ + function stripTypeScriptTypes(code: string, options?: StripTypeScriptTypesOptions): string; + /* eslint-enable @definitelytyped/no-unnecessary-generics */ + /** + * The `module.syncBuiltinESMExports()` method updates all the live bindings for + * builtin `ES Modules` to match the properties of the `CommonJS` exports. It + * does not add or remove exported names from the `ES Modules`. + * + * ```js + * import fs from 'node:fs'; + * import assert from 'node:assert'; + * import { syncBuiltinESMExports } from 'node:module'; + * + * fs.readFile = newAPI; + * + * delete fs.readFileSync; + * + * function newAPI() { + * // ... + * } + * + * fs.newAPI = newAPI; + * + * syncBuiltinESMExports(); + * + * import('node:fs').then((esmFS) => { + * // It syncs the existing readFile property with the new value + * assert.strictEqual(esmFS.readFile, newAPI); + * // readFileSync has been deleted from the required fs + * assert.strictEqual('readFileSync' in fs, false); + * // syncBuiltinESMExports() does not remove readFileSync from esmFS + * assert.strictEqual('readFileSync' in esmFS, true); + * // syncBuiltinESMExports() does not add names + * assert.strictEqual(esmFS.newAPI, undefined); + * }); + * ``` + * @since v12.12.0 + */ + function syncBuiltinESMExports(): void; + interface ImportAttributes extends NodeJS.Dict { + type?: string | undefined; + } + type ImportPhase = "source" | "evaluation"; + type ModuleFormat = + | "addon" + | "builtin" + | "commonjs" + | "commonjs-typescript" + | "json" + | "module" + | "module-typescript" + | "wasm"; + type ModuleSource = string | ArrayBuffer | NodeJS.TypedArray; + type InitializeHook = (data: Data) => void | Promise; + interface ResolveHookContext { + conditions: string[]; + importAttributes: ImportAttributes; + parentURL: string | undefined; + } + interface ResolveFnOutput { + format?: string | null | undefined; + importAttributes?: ImportAttributes | undefined; + shortCircuit?: boolean | undefined; + url: string; + } + type ResolveHook = ( + specifier: string, + context: ResolveHookContext, + nextResolve: ( + specifier: string, + context?: Partial, + ) => ResolveFnOutput | Promise, + ) => ResolveFnOutput | Promise; + type ResolveHookSync = ( + specifier: string, + context: ResolveHookContext, + nextResolve: ( + specifier: string, + context?: Partial, + ) => ResolveFnOutput, + ) => ResolveFnOutput; + interface LoadHookContext { + conditions: string[]; + format: string | null | undefined; + importAttributes: ImportAttributes; + } + interface LoadFnOutput { + format: string | null | undefined; + shortCircuit?: boolean | undefined; + source?: ModuleSource | undefined; + } + type LoadHook = ( + url: string, + context: LoadHookContext, + nextLoad: ( + url: string, + context?: Partial, + ) => LoadFnOutput | Promise, + ) => LoadFnOutput | Promise; + type LoadHookSync = ( + url: string, + context: LoadHookContext, + nextLoad: ( + url: string, + context?: Partial, + ) => LoadFnOutput, + ) => LoadFnOutput; + interface SourceMapsSupport { + /** + * If the source maps support is enabled + */ + enabled: boolean; + /** + * If the support is enabled for files in `node_modules`. + */ + nodeModules: boolean; + /** + * If the support is enabled for generated code from `eval` or `new Function`. + */ + generatedCode: boolean; + } + /** + * This method returns whether the [Source Map v3](https://tc39.es/ecma426/) support for stack + * traces is enabled. + * @since v23.7.0, v22.14.0 + */ + function getSourceMapsSupport(): SourceMapsSupport; + /** + * `path` is the resolved path for the file for which a corresponding source map + * should be fetched. + * @since v13.7.0, v12.17.0 + * @return Returns `module.SourceMap` if a source map is found, `undefined` otherwise. + */ + function findSourceMap(path: string): SourceMap | undefined; + interface SetSourceMapsSupportOptions { + /** + * If enabling the support for files in `node_modules`. + * @default false + */ + nodeModules?: boolean | undefined; + /** + * If enabling the support for generated code from `eval` or `new Function`. + * @default false + */ + generatedCode?: boolean | undefined; + } + /** + * This function enables or disables the [Source Map v3](https://tc39.es/ecma426/) support for + * stack traces. + * + * It provides same features as launching Node.js process with commandline options + * `--enable-source-maps`, with additional options to alter the support for files + * in `node_modules` or generated codes. + * + * Only source maps in JavaScript files that are loaded after source maps has been + * enabled will be parsed and loaded. Preferably, use the commandline options + * `--enable-source-maps` to avoid losing track of source maps of modules loaded + * before this API call. + * @since v23.7.0, v22.14.0 + */ + function setSourceMapsSupport(enabled: boolean, options?: SetSourceMapsSupportOptions): void; + interface SourceMapConstructorOptions { + /** + * @since v21.0.0, v20.5.0 + */ + lineLengths?: readonly number[] | undefined; + } + interface SourceMapPayload { + file: string; + version: number; + sources: string[]; + sourcesContent: string[]; + names: string[]; + mappings: string; + sourceRoot: string; + } + interface SourceMapping { + generatedLine: number; + generatedColumn: number; + originalSource: string; + originalLine: number; + originalColumn: number; + } + interface SourceOrigin { + /** + * The name of the range in the source map, if one was provided + */ + name: string | undefined; + /** + * The file name of the original source, as reported in the SourceMap + */ + fileName: string; + /** + * The 1-indexed lineNumber of the corresponding call site in the original source + */ + lineNumber: number; + /** + * The 1-indexed columnNumber of the corresponding call site in the original source + */ + columnNumber: number; + } + /** + * @since v13.7.0, v12.17.0 + */ + class SourceMap { + constructor(payload: SourceMapPayload, options?: SourceMapConstructorOptions); + /** + * Getter for the payload used to construct the `SourceMap` instance. + */ + readonly payload: SourceMapPayload; + /** + * Given a line offset and column offset in the generated source + * file, returns an object representing the SourceMap range in the + * original file if found, or an empty object if not. + * + * The object returned contains the following keys: + * + * The returned value represents the raw range as it appears in the + * SourceMap, based on zero-indexed offsets, _not_ 1-indexed line and + * column numbers as they appear in Error messages and CallSite + * objects. + * + * To get the corresponding 1-indexed line and column numbers from a + * lineNumber and columnNumber as they are reported by Error stacks + * and CallSite objects, use `sourceMap.findOrigin(lineNumber, columnNumber)` + * @param lineOffset The zero-indexed line number offset in the generated source + * @param columnOffset The zero-indexed column number offset in the generated source + */ + findEntry(lineOffset: number, columnOffset: number): SourceMapping | {}; + /** + * Given a 1-indexed `lineNumber` and `columnNumber` from a call site in the generated source, + * find the corresponding call site location in the original source. + * + * If the `lineNumber` and `columnNumber` provided are not found in any source map, + * then an empty object is returned. + * @param lineNumber The 1-indexed line number of the call site in the generated source + * @param columnNumber The 1-indexed column number of the call site in the generated source + */ + findOrigin(lineNumber: number, columnNumber: number): SourceOrigin | {}; + } + function runMain(main?: string): void; + function wrap(script: string): string; + } + global { + namespace NodeJS { + interface Module { + /** + * The module objects required for the first time by this one. + * @since v0.1.16 + */ + children: Module[]; + /** + * The `module.exports` object is created by the `Module` system. Sometimes this is + * not acceptable; many want their module to be an instance of some class. To do + * this, assign the desired export object to `module.exports`. + * @since v0.1.16 + */ + exports: any; + /** + * The fully resolved filename of the module. + * @since v0.1.16 + */ + filename: string; + /** + * The identifier for the module. Typically this is the fully resolved + * filename. + * @since v0.1.16 + */ + id: string; + /** + * `true` if the module is running during the Node.js preload + * phase. + * @since v15.4.0, v14.17.0 + */ + isPreloading: boolean; + /** + * Whether or not the module is done loading, or is in the process of + * loading. + * @since v0.1.16 + */ + loaded: boolean; + /** + * The module that first required this one, or `null` if the current module is the + * entry point of the current process, or `undefined` if the module was loaded by + * something that is not a CommonJS module (e.g. REPL or `import`). + * @since v0.1.16 + * @deprecated Please use `require.main` and `module.children` instead. + */ + parent: Module | null | undefined; + /** + * The directory name of the module. This is usually the same as the + * `path.dirname()` of the `module.id`. + * @since v11.14.0 + */ + path: string; + /** + * The search paths for the module. + * @since v0.4.0 + */ + paths: string[]; + /** + * The `module.require()` method provides a way to load a module as if + * `require()` was called from the original module. + * @since v0.5.1 + */ + require(id: string): any; + } + interface Require { + /** + * Used to import modules, `JSON`, and local files. + * @since v0.1.13 + */ + (id: string): any; + /** + * Modules are cached in this object when they are required. By deleting a key + * value from this object, the next `require` will reload the module. + * This does not apply to + * [native addons](https://nodejs.org/docs/latest-v25.x/api/addons.html), + * for which reloading will result in an error. + * @since v0.3.0 + */ + cache: Dict; + /** + * Instruct `require` on how to handle certain file extensions. + * @since v0.3.0 + * @deprecated + */ + extensions: RequireExtensions; + /** + * The `Module` object representing the entry script loaded when the Node.js + * process launched, or `undefined` if the entry point of the program is not a + * CommonJS module. + * @since v0.1.17 + */ + main: Module | undefined; + /** + * @since v0.3.0 + */ + resolve: RequireResolve; + } + /** @deprecated */ + interface RequireExtensions extends Dict<(module: Module, filename: string) => any> { + ".js": (module: Module, filename: string) => any; + ".json": (module: Module, filename: string) => any; + ".node": (module: Module, filename: string) => any; + } + interface RequireResolveOptions { + /** + * Paths to resolve module location from. If present, these + * paths are used instead of the default resolution paths, with the exception + * of + * [GLOBAL\_FOLDERS](https://nodejs.org/docs/latest-v25.x/api/modules.html#loading-from-the-global-folders) + * like `$HOME/.node_modules`, which are + * always included. Each of these paths is used as a starting point for + * the module resolution algorithm, meaning that the `node_modules` hierarchy + * is checked from this location. + * @since v8.9.0 + */ + paths?: string[] | undefined; + } + interface RequireResolve { + /** + * Use the internal `require()` machinery to look up the location of a module, + * but rather than loading the module, just return the resolved filename. + * + * If the module can not be found, a `MODULE_NOT_FOUND` error is thrown. + * @since v0.3.0 + * @param request The module path to resolve. + */ + (request: string, options?: RequireResolveOptions): string; + /** + * Returns an array containing the paths searched during resolution of `request` or + * `null` if the `request` string references a core module, for example `http` or + * `fs`. + * @since v8.9.0 + * @param request The module path whose lookup paths are being retrieved. + */ + paths(request: string): string[] | null; + } + } + /** + * The directory name of the current module. This is the same as the + * `path.dirname()` of the `__filename`. + * @since v0.1.27 + */ + var __dirname: string; + /** + * The file name of the current module. This is the current module file's absolute + * path with symlinks resolved. + * + * For a main program this is not necessarily the same as the file name used in the + * command line. + * @since v0.0.1 + */ + var __filename: string; + /** + * The `exports` variable is available within a module's file-level scope, and is + * assigned the value of `module.exports` before the module is evaluated. + * @since v0.1.16 + */ + var exports: NodeJS.Module["exports"]; + /** + * A reference to the current module. + * @since v0.1.16 + */ + var module: NodeJS.Module; + /** + * @since v0.1.13 + */ + var require: NodeJS.Require; + // Global-scope aliases for backwards compatibility with @types/node <13.0.x + // TODO: consider removing in a future major version update + /** @deprecated Use `NodeJS.Module` instead. */ + interface NodeModule extends NodeJS.Module {} + /** @deprecated Use `NodeJS.Require` instead. */ + interface NodeRequire extends NodeJS.Require {} + /** @deprecated Use `NodeJS.RequireResolve` instead. */ + interface RequireResolve extends NodeJS.RequireResolve {} + } + export = Module; +} +declare module "module" { + import module = require("node:module"); + export = 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..bb6d3a3 --- /dev/null +++ b/node_modules/@types/node/net.d.ts @@ -0,0 +1,970 @@ +declare module "node:net" { + import { NonSharedBuffer } from "node:buffer"; + import * as dns from "node:dns"; + import { Abortable, EventEmitter, InternalEventEmitter } from "node:events"; + import * as stream from "node:stream"; + type LookupFunction = ( + hostname: string, + options: dns.LookupOptions, + callback: (err: NodeJS.ErrnoException | null, address: string | dns.LookupAddress[], family?: number) => void, + ) => void; + interface AddressInfo { + address: string; + family: string; + port: number; + } + interface SocketConstructorOpts { + fd?: number | undefined; + allowHalfOpen?: boolean | undefined; + onread?: OnReadOpts | undefined; + readable?: boolean | undefined; + writable?: boolean | undefined; + signal?: AbortSignal | undefined; + noDelay?: boolean | undefined; + keepAlive?: boolean | undefined; + keepAliveInitialDelay?: number | undefined; + blockList?: BlockList | undefined; + typeOfService?: number | undefined; + } + 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, buffer: Uint8Array): boolean; + } + interface TcpSocketConnectOpts { + port: number; + host?: string | undefined; + localAddress?: string | undefined; + localPort?: number | undefined; + hints?: number | undefined; + family?: number | undefined; + lookup?: LookupFunction | undefined; + /** + * @since v18.13.0 + */ + autoSelectFamily?: boolean | undefined; + /** + * @since v18.13.0 + */ + autoSelectFamilyAttemptTimeout?: number | undefined; + } + interface IpcSocketConnectOpts { + path: string; + } + type SocketConnectOpts = TcpSocketConnectOpts | IpcSocketConnectOpts; + type SocketReadyState = "opening" | "open" | "readOnly" | "writeOnly" | "closed"; + interface SocketEventMap extends Omit { + "close": [hadError: boolean]; + "connect": []; + "connectionAttempt": [ip: string, port: number, family: number]; + "connectionAttemptFailed": [ip: string, port: number, family: number, error: Error]; + "connectionAttemptTimeout": [ip: string, port: number, family: number]; + "data": [data: string | NonSharedBuffer]; + "lookup": [err: Error | null, address: string, family: number | null, host: string]; + "ready": []; + "timeout": []; + } + /** + * This class is an abstraction of a TCP socket or a streaming `IPC` endpoint + * (uses named pipes on Windows, and Unix domain sockets otherwise). It is also + * an `EventEmitter`. + * + * A `net.Socket` can be created by the user and used directly to interact with + * a server. For example, it is returned by {@link createConnection}, + * so the user can use it to talk to the server. + * + * It can also be created by Node.js and passed to the user when a connection + * is received. For example, it is passed to the listeners of a `'connection'` event emitted on a {@link Server}, so the user can use + * it to interact with the client. + * @since v0.3.4 + */ + class Socket extends stream.Duplex { + constructor(options?: SocketConstructorOpts); + /** + * Destroys the socket after all data is written. If the `finish` event was already emitted the socket is destroyed immediately. + * If the socket is still writable it implicitly calls `socket.end()`. + * @since v0.3.4 + */ + destroySoon(): void; + /** + * Sends data on the socket. The second parameter specifies the encoding in the + * case of a string. It defaults to UTF8 encoding. + * + * Returns `true` if the entire data was flushed successfully to the kernel + * buffer. Returns `false` if all or part of the data was queued in user memory.`'drain'` will be emitted when the buffer is again free. + * + * The optional `callback` parameter will be executed when the data is finally + * written out, which may not be immediately. + * + * See `Writable` stream `write()` method for more + * information. + * @since v0.1.90 + */ + write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean; + /** + * Sends data on the socket, with an explicit encoding for string data. + * @see {@link Socket.write} for full details. + * @since v0.1.90 + * @param [encoding='utf8'] Only used when data is `string`. + */ + write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean; + /** + * Initiate a connection on a given socket. + * + * Possible signatures: + * + * * `socket.connect(options[, connectListener])` + * * `socket.connect(path[, connectListener])` for `IPC` connections. + * * `socket.connect(port[, host][, connectListener])` for TCP connections. + * * Returns: `net.Socket` The socket itself. + * + * This function is asynchronous. When the connection is established, the `'connect'` event will be emitted. If there is a problem connecting, + * instead of a `'connect'` event, an `'error'` event will be emitted with + * the error passed to the `'error'` listener. + * The last parameter `connectListener`, if supplied, will be added as a listener + * for the `'connect'` event **once**. + * + * This function should only be used for reconnecting a socket after`'close'` has been emitted or otherwise it may lead to undefined + * behavior. + */ + 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; + /** + * Set the encoding for the socket as a `Readable Stream`. See `readable.setEncoding()` for more information. + * @since v0.1.90 + * @return The socket itself. + */ + setEncoding(encoding?: BufferEncoding): this; + /** + * Pauses the reading of data. That is, `'data'` events will not be emitted. + * Useful to throttle back an upload. + * @return The socket itself. + */ + pause(): this; + /** + * Close the TCP connection by sending an RST packet and destroy the stream. + * If this TCP socket is in connecting status, it will send an RST packet and destroy this TCP socket once it is connected. + * Otherwise, it will call `socket.destroy` with an `ERR_SOCKET_CLOSED` Error. + * If this is not a TCP socket (for example, a pipe), calling this method will immediately throw an `ERR_INVALID_HANDLE_TYPE` Error. + * @since v18.3.0, v16.17.0 + */ + resetAndDestroy(): this; + /** + * Resumes reading after a call to `socket.pause()`. + * @return The socket itself. + */ + resume(): this; + /** + * Sets the socket to timeout after `timeout` milliseconds of inactivity on + * the socket. By default `net.Socket` do not have a timeout. + * + * When an idle timeout is triggered the socket will receive a `'timeout'` event but the connection will not be severed. The user must manually call `socket.end()` or `socket.destroy()` to + * end the connection. + * + * ```js + * socket.setTimeout(3000); + * socket.on('timeout', () => { + * console.log('socket timeout'); + * socket.end(); + * }); + * ``` + * + * If `timeout` is 0, then the existing idle timeout is disabled. + * + * The optional `callback` parameter will be added as a one-time listener for the `'timeout'` event. + * @since v0.1.90 + * @return The socket itself. + */ + setTimeout(timeout: number, callback?: () => void): this; + /** + * Enable/disable the use of Nagle's algorithm. + * + * When a TCP connection is created, it will have Nagle's algorithm enabled. + * + * Nagle's algorithm delays data before it is sent via the network. It attempts + * to optimize throughput at the expense of latency. + * + * Passing `true` for `noDelay` or not passing an argument will disable Nagle's + * algorithm for the socket. Passing `false` for `noDelay` will enable Nagle's + * algorithm. + * @since v0.1.90 + * @param [noDelay=true] + * @return The socket itself. + */ + setNoDelay(noDelay?: boolean): this; + /** + * Enable/disable keep-alive functionality, and optionally set the initial + * delay before the first keepalive probe is sent on an idle socket. + * + * Set `initialDelay` (in milliseconds) to set the delay between the last + * data packet received and the first keepalive probe. Setting `0` for`initialDelay` will leave the value unchanged from the default + * (or previous) setting. + * + * Enabling the keep-alive functionality will set the following socket options: + * + * * `SO_KEEPALIVE=1` + * * `TCP_KEEPIDLE=initialDelay` + * * `TCP_KEEPCNT=10` + * * `TCP_KEEPINTVL=1` + * @since v0.1.92 + * @param [enable=false] + * @param [initialDelay=0] + * @return The socket itself. + */ + setKeepAlive(enable?: boolean, initialDelay?: number): this; + /** + * Returns the current Type of Service (TOS) field for IPv4 packets or Traffic + * Class for IPv6 packets for this socket. + * + * `setTypeOfService()` may be called before the socket is connected; the value + * will be cached and applied when the socket establishes a connection. + * `getTypeOfService()` will return the currently set value even before connection. + * + * On some platforms (e.g., Linux), certain TOS/ECN bits may be masked or ignored, + * and behavior can differ between IPv4 and IPv6 or dual-stack sockets. Callers + * should verify platform-specific semantics. + * @since v25.6.0 + * @returns The current TOS value. + */ + getTypeOfService(): number; + /** + * Sets the Type of Service (TOS) field for IPv4 packets or Traffic Class for IPv6 + * Packets sent from this socket. This can be used to prioritize network traffic. + * + * `setTypeOfService()` may be called before the socket is connected; the value + * will be cached and applied when the socket establishes a connection. + * `getTypeOfService()` will return the currently set value even before connection. + * + * On some platforms (e.g., Linux), certain TOS/ECN bits may be masked or ignored, + * and behavior can differ between IPv4 and IPv6 or dual-stack sockets. Callers + * should verify platform-specific semantics. + * @since v25.6.0 + * @param tos The TOS value to set (0-255). + * @returns The socket itself. + */ + setTypeOfService(tos: number): this; + /** + * Returns the bound `address`, the address `family` name and `port` of the + * socket as reported by the operating system:`{ port: 12346, family: 'IPv4', address: '127.0.0.1' }` + * @since v0.1.90 + */ + address(): AddressInfo | {}; + /** + * Calling `unref()` on a socket will allow the program to exit if this is the only + * active socket in the event system. If the socket is already `unref`ed calling`unref()` again will have no effect. + * @since v0.9.1 + * @return The socket itself. + */ + unref(): this; + /** + * Opposite of `unref()`, calling `ref()` on a previously `unref`ed socket will _not_ let the program exit if it's the only socket left (the default behavior). + * If the socket is `ref`ed calling `ref` again will have no effect. + * @since v0.9.1 + * @return The socket itself. + */ + ref(): this; + /** + * This property is only present if the family autoselection algorithm is enabled in `socket.connect(options)` + * and it is an array of the addresses that have been attempted. + * + * Each address is a string in the form of `$IP:$PORT`. + * If the connection was successful, then the last address is the one that the socket is currently connected to. + * @since v19.4.0 + */ + readonly autoSelectFamilyAttemptedAddresses: string[]; + /** + * This property shows the number of characters buffered for writing. The buffer + * may contain strings whose length after encoding is not yet known. So this number + * is only an approximation of the number of bytes in the buffer. + * + * `net.Socket` has the property that `socket.write()` always works. This is to + * help users get up and running quickly. The computer cannot always keep up + * with the amount of data that is written to a socket. The network connection + * simply might be too slow. Node.js will internally queue up the data written to a + * socket and send it out over the wire when it is possible. + * + * The consequence of this internal buffering is that memory may grow. + * Users who experience large or growing `bufferSize` should attempt to + * "throttle" the data flows in their program with `socket.pause()` and `socket.resume()`. + * @since v0.3.8 + * @deprecated Since v14.6.0 - Use `writableLength` instead. + */ + readonly bufferSize: number; + /** + * The amount of received bytes. + * @since v0.5.3 + */ + readonly bytesRead: number; + /** + * The amount of bytes sent. + * @since v0.5.3 + */ + readonly bytesWritten: number; + /** + * If `true`, `socket.connect(options[, connectListener])` was + * called and has not yet finished. It will stay `true` until the socket becomes + * connected, then it is set to `false` and the `'connect'` event is emitted. Note + * that the `socket.connect(options[, connectListener])` callback is a listener for the `'connect'` event. + * @since v6.1.0 + */ + readonly connecting: boolean; + /** + * This is `true` if the socket is not connected yet, either because `.connect()`has not yet been called or because it is still in the process of connecting + * (see `socket.connecting`). + * @since v11.2.0, v10.16.0 + */ + readonly pending: boolean; + /** + * See `writable.destroyed` for further details. + */ + readonly destroyed: boolean; + /** + * The string representation of the local IP address the remote client is + * connecting on. For example, in a server listening on `'0.0.0.0'`, if a client + * connects on `'192.168.1.1'`, the value of `socket.localAddress` would be`'192.168.1.1'`. + * @since v0.9.6 + */ + readonly localAddress?: string; + /** + * The numeric representation of the local port. For example, `80` or `21`. + * @since v0.9.6 + */ + readonly localPort?: number; + /** + * The string representation of the local IP family. `'IPv4'` or `'IPv6'`. + * @since v18.8.0, v16.18.0 + */ + readonly localFamily?: string; + /** + * This property represents the state of the connection as a string. + * + * * If the stream is connecting `socket.readyState` is `opening`. + * * If the stream is readable and writable, it is `open`. + * * If the stream is readable and not writable, it is `readOnly`. + * * If the stream is not readable and writable, it is `writeOnly`. + * @since v0.5.0 + */ + readonly readyState: SocketReadyState; + /** + * The string representation of the remote IP address. For example,`'74.125.127.100'` or `'2001:4860:a005::68'`. Value may be `undefined` if + * the socket is destroyed (for example, if the client disconnected). + * @since v0.5.10 + */ + readonly remoteAddress: string | undefined; + /** + * The string representation of the remote IP family. `'IPv4'` or `'IPv6'`. Value may be `undefined` if + * the socket is destroyed (for example, if the client disconnected). + * @since v0.11.14 + */ + readonly remoteFamily: string | undefined; + /** + * The numeric representation of the remote port. For example, `80` or `21`. Value may be `undefined` if + * the socket is destroyed (for example, if the client disconnected). + * @since v0.5.10 + */ + readonly remotePort: number | undefined; + /** + * The socket timeout in milliseconds as set by `socket.setTimeout()`. + * It is `undefined` if a timeout has not been set. + * @since v10.7.0 + */ + readonly timeout?: number; + /** + * Half-closes the socket. i.e., it sends a FIN packet. It is possible the + * server will still send some data. + * + * See `writable.end()` for further details. + * @since v0.1.90 + * @param callback Optional callback for when the socket is finished. + * @return The socket itself. + */ + end(callback?: () => void): this; + /** + * Half-closes the socket, with one final chunk of data. + * @see {@link Socket.end} for full details. + * @since v0.1.90 + * @param callback Optional callback for when the socket is finished. + * @return The socket itself. + */ + end(buffer: Uint8Array | string, callback?: () => void): this; + /** + * Half-closes the socket, with one final chunk of data. + * @see {@link Socket.end} for full details. + * @since v0.1.90 + * @param [encoding='utf8'] Only used when data is `string`. + * @param callback Optional callback for when the socket is finished. + * @return The socket itself. + */ + end(str: Uint8Array | string, encoding?: BufferEncoding, callback?: () => void): this; + // #region InternalEventEmitter + addListener(eventName: E, listener: (...args: SocketEventMap[E]) => void): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: SocketEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: SocketEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: SocketEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off(eventName: E, listener: (...args: SocketEventMap[E]) => void): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on(eventName: E, listener: (...args: SocketEventMap[E]) => void): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once(eventName: E, listener: (...args: SocketEventMap[E]) => void): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: SocketEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: SocketEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: SocketEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: SocketEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface ListenOptions extends Abortable { + backlog?: number | undefined; + exclusive?: boolean | undefined; + host?: string | undefined; + /** + * @default false + */ + ipv6Only?: boolean | undefined; + reusePort?: boolean | undefined; + path?: string | undefined; + port?: number | undefined; + readableAll?: boolean | undefined; + writableAll?: boolean | undefined; + } + interface ServerOpts { + /** + * Indicates whether half-opened TCP connections are allowed. + * @default false + */ + allowHalfOpen?: boolean | undefined; + /** + * Indicates whether the socket should be paused on incoming connections. + * @default false + */ + pauseOnConnect?: boolean | undefined; + /** + * If set to `true`, it disables the use of Nagle's algorithm immediately after a new incoming connection is received. + * @default false + * @since v16.5.0 + */ + noDelay?: boolean | undefined; + /** + * If set to `true`, it enables keep-alive functionality on the socket immediately after a new incoming connection is received, + * similarly on what is done in `socket.setKeepAlive([enable][, initialDelay])`. + * @default false + * @since v16.5.0 + */ + keepAlive?: boolean | undefined; + /** + * If set to a positive number, it sets the initial delay before the first keepalive probe is sent on an idle socket. + * @default 0 + * @since v16.5.0 + */ + keepAliveInitialDelay?: number | undefined; + /** + * Optionally overrides all `net.Socket`s' `readableHighWaterMark` and `writableHighWaterMark`. + * @default See [stream.getDefaultHighWaterMark()](https://nodejs.org/docs/latest-v25.x/api/stream.html#streamgetdefaulthighwatermarkobjectmode). + * @since v18.17.0, v20.1.0 + */ + highWaterMark?: number | undefined; + /** + * `blockList` can be used for disabling inbound + * access to specific IP addresses, IP ranges, or IP subnets. This does not + * work if the server is behind a reverse proxy, NAT, etc. because the address + * checked against the block list is the address of the proxy, or the one + * specified by the NAT. + * @since v22.13.0 + */ + blockList?: BlockList | undefined; + } + interface DropArgument { + localAddress?: string; + localPort?: number; + localFamily?: string; + remoteAddress?: string; + remotePort?: number; + remoteFamily?: string; + } + interface ServerEventMap { + "close": []; + "connection": [socket: Socket]; + "error": [err: Error]; + "listening": []; + "drop": [data?: DropArgument]; + } + /** + * This class is used to create a TCP or `IPC` server. + * @since v0.1.90 + */ + class Server implements EventEmitter { + constructor(connectionListener?: (socket: Socket) => void); + constructor(options?: ServerOpts, connectionListener?: (socket: Socket) => void); + /** + * Start a server listening for connections. A `net.Server` can be a TCP or + * an `IPC` server depending on what it listens to. + * + * Possible signatures: + * + * * `server.listen(handle[, backlog][, callback])` + * * `server.listen(options[, callback])` + * * `server.listen(path[, backlog][, callback])` for `IPC` servers + * * `server.listen([port[, host[, backlog]]][, callback])` for TCP servers + * + * This function is asynchronous. When the server starts listening, the `'listening'` event will be emitted. The last parameter `callback`will be added as a listener for the `'listening'` + * event. + * + * All `listen()` methods can take a `backlog` parameter to specify the maximum + * length of the queue of pending connections. The actual length will be determined + * by the OS through sysctl settings such as `tcp_max_syn_backlog` and `somaxconn` on Linux. The default value of this parameter is 511 (not 512). + * + * All {@link Socket} are set to `SO_REUSEADDR` (see [`socket(7)`](https://man7.org/linux/man-pages/man7/socket.7.html) for + * details). + * + * The `server.listen()` method can be called again if and only if there was an + * error during the first `server.listen()` call or `server.close()` has been + * called. Otherwise, an `ERR_SERVER_ALREADY_LISTEN` error will be thrown. + * + * One of the most common errors raised when listening is `EADDRINUSE`. + * This happens when another server is already listening on the requested`port`/`path`/`handle`. One way to handle this would be to retry + * after a certain amount of time: + * + * ```js + * server.on('error', (e) => { + * if (e.code === 'EADDRINUSE') { + * console.error('Address in use, retrying...'); + * setTimeout(() => { + * server.close(); + * server.listen(PORT, HOST); + * }, 1000); + * } + * }); + * ``` + */ + 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; + /** + * Stops the server from accepting new connections and keeps existing + * connections. This function is asynchronous, the server is finally closed + * when all connections are ended and the server emits a `'close'` event. + * The optional `callback` will be called once the `'close'` event occurs. Unlike + * that event, it will be called with an `Error` as its only argument if the server + * was not open when it was closed. + * @since v0.1.90 + * @param callback Called when the server is closed. + */ + close(callback?: (err?: Error) => void): this; + /** + * Returns the bound `address`, the address `family` name, and `port` of the server + * as reported by the operating system if listening on an IP socket + * (useful to find which port was assigned when getting an OS-assigned address):`{ port: 12346, family: 'IPv4', address: '127.0.0.1' }`. + * + * For a server listening on a pipe or Unix domain socket, the name is returned + * as a string. + * + * ```js + * const server = net.createServer((socket) => { + * socket.end('goodbye\n'); + * }).on('error', (err) => { + * // Handle errors here. + * throw err; + * }); + * + * // Grab an arbitrary unused port. + * server.listen(() => { + * console.log('opened server on', server.address()); + * }); + * ``` + * + * `server.address()` returns `null` before the `'listening'` event has been + * emitted or after calling `server.close()`. + * @since v0.1.90 + */ + address(): AddressInfo | string | null; + /** + * Asynchronously get the number of concurrent connections on the server. Works + * when sockets were sent to forks. + * + * Callback should take two arguments `err` and `count`. + * @since v0.9.7 + */ + getConnections(cb: (error: Error | null, count: number) => void): this; + /** + * Opposite of `unref()`, calling `ref()` on a previously `unref`ed server will _not_ let the program exit if it's the only server left (the default behavior). + * If the server is `ref`ed calling `ref()` again will have no effect. + * @since v0.9.1 + */ + ref(): this; + /** + * Calling `unref()` on a server will allow the program to exit if this is the only + * active server in the event system. If the server is already `unref`ed calling`unref()` again will have no effect. + * @since v0.9.1 + */ + unref(): this; + /** + * Set this property to reject connections when the server's connection count gets + * high. + * + * It is not recommended to use this option once a socket has been sent to a child + * with `child_process.fork()`. + * @since v0.2.0 + */ + maxConnections: number; + connections: number; + /** + * Indicates whether or not the server is listening for connections. + * @since v5.7.0 + */ + readonly listening: boolean; + /** + * Calls {@link Server.close()} and returns a promise that fulfills when the server has closed. + * @since v20.5.0 + */ + [Symbol.asyncDispose](): Promise; + } + interface Server extends InternalEventEmitter {} + type IPVersion = "ipv4" | "ipv6"; + /** + * The `BlockList` object can be used with some network APIs to specify rules for + * disabling inbound or outbound access to specific IP addresses, IP ranges, or + * IP subnets. + * @since v15.0.0, v14.18.0 + */ + class BlockList { + /** + * Adds a rule to block the given IP address. + * @since v15.0.0, v14.18.0 + * @param address An IPv4 or IPv6 address. + * @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`. + */ + addAddress(address: string, type?: IPVersion): void; + addAddress(address: SocketAddress): void; + /** + * Adds a rule to block a range of IP addresses from `start` (inclusive) to`end` (inclusive). + * @since v15.0.0, v14.18.0 + * @param start The starting IPv4 or IPv6 address in the range. + * @param end The ending IPv4 or IPv6 address in the range. + * @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`. + */ + addRange(start: string, end: string, type?: IPVersion): void; + addRange(start: SocketAddress, end: SocketAddress): void; + /** + * Adds a rule to block a range of IP addresses specified as a subnet mask. + * @since v15.0.0, v14.18.0 + * @param net The network IPv4 or IPv6 address. + * @param prefix The number of CIDR prefix bits. For IPv4, this must be a value between `0` and `32`. For IPv6, this must be between `0` and `128`. + * @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`. + */ + addSubnet(net: SocketAddress, prefix: number): void; + addSubnet(net: string, prefix: number, type?: IPVersion): void; + /** + * Returns `true` if the given IP address matches any of the rules added to the`BlockList`. + * + * ```js + * const blockList = new net.BlockList(); + * blockList.addAddress('123.123.123.123'); + * blockList.addRange('10.0.0.1', '10.0.0.10'); + * blockList.addSubnet('8592:757c:efae:4e45::', 64, 'ipv6'); + * + * console.log(blockList.check('123.123.123.123')); // Prints: true + * console.log(blockList.check('10.0.0.3')); // Prints: true + * console.log(blockList.check('222.111.111.222')); // Prints: false + * + * // IPv6 notation for IPv4 addresses works: + * console.log(blockList.check('::ffff:7b7b:7b7b', 'ipv6')); // Prints: true + * console.log(blockList.check('::ffff:123.123.123.123', 'ipv6')); // Prints: true + * ``` + * @since v15.0.0, v14.18.0 + * @param address The IP address to check + * @param [type='ipv4'] Either `'ipv4'` or `'ipv6'`. + */ + check(address: SocketAddress): boolean; + check(address: string, type?: IPVersion): boolean; + /** + * The list of rules added to the blocklist. + * @since v15.0.0, v14.18.0 + */ + rules: readonly string[]; + /** + * Returns `true` if the `value` is a `net.BlockList`. + * @since v22.13.0 + * @param value Any JS value + */ + static isBlockList(value: unknown): value is BlockList; + /** + * ```js + * const blockList = new net.BlockList(); + * const data = [ + * 'Subnet: IPv4 192.168.1.0/24', + * 'Address: IPv4 10.0.0.5', + * 'Range: IPv4 192.168.2.1-192.168.2.10', + * 'Range: IPv4 10.0.0.1-10.0.0.10', + * ]; + * blockList.fromJSON(data); + * blockList.fromJSON(JSON.stringify(data)); + * ``` + * @since v24.5.0 + * @experimental + */ + fromJSON(data: string | readonly string[]): void; + /** + * @since v24.5.0 + * @experimental + */ + toJSON(): readonly string[]; + } + interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts { + timeout?: number | undefined; + } + interface IpcNetConnectOpts extends IpcSocketConnectOpts, SocketConstructorOpts { + timeout?: number | undefined; + } + type NetConnectOpts = TcpNetConnectOpts | IpcNetConnectOpts; + /** + * Creates a new TCP or `IPC` server. + * + * If `allowHalfOpen` is set to `true`, when the other end of the socket + * signals the end of transmission, the server will only send back the end of + * transmission when `socket.end()` is explicitly called. For example, in the + * context of TCP, when a FIN packed is received, a FIN packed is sent + * back only when `socket.end()` is explicitly called. Until then the + * connection is half-closed (non-readable but still writable). See `'end'` event and [RFC 1122](https://tools.ietf.org/html/rfc1122) (section 4.2.2.13) for more information. + * + * If `pauseOnConnect` is set to `true`, then the socket associated with each + * incoming connection will be paused, and no data will be read from its handle. + * This allows connections to be passed between processes without any data being + * read by the original process. To begin reading data from a paused socket, call `socket.resume()`. + * + * The server can be a TCP server or an `IPC` server, depending on what it `listen()` to. + * + * Here is an example of a TCP echo server which listens for connections + * on port 8124: + * + * ```js + * import net from 'node:net'; + * const server = net.createServer((c) => { + * // 'connection' listener. + * console.log('client connected'); + * c.on('end', () => { + * console.log('client disconnected'); + * }); + * c.write('hello\r\n'); + * c.pipe(c); + * }); + * server.on('error', (err) => { + * throw err; + * }); + * server.listen(8124, () => { + * console.log('server bound'); + * }); + * ``` + * + * Test this by using `telnet`: + * + * ```bash + * telnet localhost 8124 + * ``` + * + * To listen on the socket `/tmp/echo.sock`: + * + * ```js + * server.listen('/tmp/echo.sock', () => { + * console.log('server bound'); + * }); + * ``` + * + * Use `nc` to connect to a Unix domain socket server: + * + * ```bash + * nc -U /tmp/echo.sock + * ``` + * @since v0.5.0 + * @param connectionListener Automatically set as a listener for the {@link 'connection'} event. + */ + function createServer(connectionListener?: (socket: Socket) => void): Server; + function createServer(options?: ServerOpts, connectionListener?: (socket: Socket) => void): Server; + /** + * Aliases to {@link createConnection}. + * + * Possible signatures: + * + * * {@link connect} + * * {@link connect} for `IPC` connections. + * * {@link connect} for TCP connections. + */ + function connect(options: NetConnectOpts, connectionListener?: () => void): Socket; + function connect(port: number, host?: string, connectionListener?: () => void): Socket; + function connect(path: string, connectionListener?: () => void): Socket; + /** + * A factory function, which creates a new {@link Socket}, + * immediately initiates connection with `socket.connect()`, + * then returns the `net.Socket` that starts the connection. + * + * When the connection is established, a `'connect'` event will be emitted + * on the returned socket. The last parameter `connectListener`, if supplied, + * will be added as a listener for the `'connect'` event **once**. + * + * Possible signatures: + * + * * {@link createConnection} + * * {@link createConnection} for `IPC` connections. + * * {@link createConnection} for TCP connections. + * + * The {@link connect} function is an alias to this function. + */ + function createConnection(options: NetConnectOpts, connectionListener?: () => void): Socket; + function createConnection(port: number, host?: string, connectionListener?: () => void): Socket; + function createConnection(path: string, connectionListener?: () => void): Socket; + /** + * Gets the current default value of the `autoSelectFamily` option of `socket.connect(options)`. + * The initial default value is `true`, unless the command line option`--no-network-family-autoselection` is provided. + * @since v19.4.0 + */ + function getDefaultAutoSelectFamily(): boolean; + /** + * Sets the default value of the `autoSelectFamily` option of `socket.connect(options)`. + * @param value The new default value. + * The initial default value is `true`, unless the command line option + * `--no-network-family-autoselection` is provided. + * @since v19.4.0 + */ + function setDefaultAutoSelectFamily(value: boolean): void; + /** + * Gets the current default value of the `autoSelectFamilyAttemptTimeout` option of `socket.connect(options)`. + * The initial default value is `500` or the value specified via the command line option `--network-family-autoselection-attempt-timeout`. + * @returns The current default value of the `autoSelectFamilyAttemptTimeout` option. + * @since v19.8.0, v18.8.0 + */ + function getDefaultAutoSelectFamilyAttemptTimeout(): number; + /** + * Sets the default value of the `autoSelectFamilyAttemptTimeout` option of `socket.connect(options)`. + * @param value The new default value, which must be a positive number. If the number is less than `10`, the value `10` is used instead. The initial default value is `250` or the value specified via the command line + * option `--network-family-autoselection-attempt-timeout`. + * @since v19.8.0, v18.8.0 + */ + function setDefaultAutoSelectFamilyAttemptTimeout(value: number): void; + /** + * Returns `6` if `input` is an IPv6 address. Returns `4` if `input` is an IPv4 + * address in [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation) with no leading zeroes. Otherwise, returns`0`. + * + * ```js + * net.isIP('::1'); // returns 6 + * net.isIP('127.0.0.1'); // returns 4 + * net.isIP('127.000.000.001'); // returns 0 + * net.isIP('127.0.0.1/24'); // returns 0 + * net.isIP('fhqwhgads'); // returns 0 + * ``` + * @since v0.3.0 + */ + function isIP(input: string): number; + /** + * Returns `true` if `input` is an IPv4 address in [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation) with no + * leading zeroes. Otherwise, returns `false`. + * + * ```js + * net.isIPv4('127.0.0.1'); // returns true + * net.isIPv4('127.000.000.001'); // returns false + * net.isIPv4('127.0.0.1/24'); // returns false + * net.isIPv4('fhqwhgads'); // returns false + * ``` + * @since v0.3.0 + */ + function isIPv4(input: string): boolean; + /** + * Returns `true` if `input` is an IPv6 address. Otherwise, returns `false`. + * + * ```js + * net.isIPv6('::1'); // returns true + * net.isIPv6('fhqwhgads'); // returns false + * ``` + * @since v0.3.0 + */ + function isIPv6(input: string): boolean; + interface SocketAddressInitOptions { + /** + * The network address as either an IPv4 or IPv6 string. + * @default 127.0.0.1 + */ + address?: string | undefined; + /** + * @default `'ipv4'` + */ + family?: IPVersion | undefined; + /** + * An IPv6 flow-label used only if `family` is `'ipv6'`. + * @default 0 + */ + flowlabel?: number | undefined; + /** + * An IP port. + * @default 0 + */ + port?: number | undefined; + } + /** + * @since v15.14.0, v14.18.0 + */ + class SocketAddress { + constructor(options: SocketAddressInitOptions); + /** + * Either \`'ipv4'\` or \`'ipv6'\`. + * @since v15.14.0, v14.18.0 + */ + readonly address: string; + /** + * Either \`'ipv4'\` or \`'ipv6'\`. + * @since v15.14.0, v14.18.0 + */ + readonly family: IPVersion; + /** + * @since v15.14.0, v14.18.0 + */ + readonly port: number; + /** + * @since v15.14.0, v14.18.0 + */ + readonly flowlabel: number; + /** + * @since v22.13.0 + * @param input An input string containing an IP address and optional port, + * e.g. `123.1.2.3:1234` or `[1::1]:1234`. + * @returns Returns a `SocketAddress` if parsing was successful. + * Otherwise returns `undefined`. + */ + static parse(input: string): SocketAddress | undefined; + } +} +declare module "net" { + export * from "node:net"; +} diff --git a/node_modules/@types/node/os.d.ts b/node_modules/@types/node/os.d.ts new file mode 100644 index 0000000..562c463 --- /dev/null +++ b/node_modules/@types/node/os.d.ts @@ -0,0 +1,498 @@ +declare module "node:os" { + import { NonSharedBuffer } from "buffer"; + interface CpuInfo { + model: string; + speed: number; + times: { + /** The number of milliseconds the CPU has spent in user mode. */ + user: number; + /** The number of milliseconds the CPU has spent in nice mode. */ + nice: number; + /** The number of milliseconds the CPU has spent in sys mode. */ + sys: number; + /** The number of milliseconds the CPU has spent in idle mode. */ + idle: number; + /** The number of milliseconds the CPU has spent in irq mode. */ + irq: number; + }; + } + interface NetworkInterfaceBase { + address: string; + netmask: string; + mac: string; + internal: boolean; + cidr: string | null; + scopeid?: number; + } + interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase { + family: "IPv4"; + } + interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase { + family: "IPv6"; + scopeid: number; + } + interface UserInfo { + username: T; + uid: number; + gid: number; + shell: T | null; + homedir: T; + } + type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6; + /** + * Returns the host name of the operating system as a string. + * @since v0.3.3 + */ + function hostname(): string; + /** + * Returns an array containing the 1, 5, and 15 minute load averages. + * + * The load average is a measure of system activity calculated by the operating + * system and expressed as a fractional number. + * + * The load average is a Unix-specific concept. On Windows, the return value is + * always `[0, 0, 0]`. + * @since v0.3.3 + */ + function loadavg(): number[]; + /** + * Returns the system uptime in number of seconds. + * @since v0.3.3 + */ + function uptime(): number; + /** + * Returns the amount of free system memory in bytes as an integer. + * @since v0.3.3 + */ + function freemem(): number; + /** + * Returns the total amount of system memory in bytes as an integer. + * @since v0.3.3 + */ + function totalmem(): number; + /** + * Returns an array of objects containing information about each logical CPU core. + * The array will be empty if no CPU information is available, such as if the `/proc` file system is unavailable. + * + * The properties included on each object include: + * + * ```js + * [ + * { + * model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', + * speed: 2926, + * times: { + * user: 252020, + * nice: 0, + * sys: 30340, + * idle: 1070356870, + * irq: 0, + * }, + * }, + * { + * model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', + * speed: 2926, + * times: { + * user: 306960, + * nice: 0, + * sys: 26980, + * idle: 1071569080, + * irq: 0, + * }, + * }, + * { + * model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', + * speed: 2926, + * times: { + * user: 248450, + * nice: 0, + * sys: 21750, + * idle: 1070919370, + * irq: 0, + * }, + * }, + * { + * model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', + * speed: 2926, + * times: { + * user: 256880, + * nice: 0, + * sys: 19430, + * idle: 1070905480, + * irq: 20, + * }, + * }, + * ] + * ``` + * + * `nice` values are POSIX-only. On Windows, the `nice` values of all processors + * are always 0. + * + * `os.cpus().length` should not be used to calculate the amount of parallelism + * available to an application. Use {@link availableParallelism} for this purpose. + * @since v0.3.3 + */ + function cpus(): CpuInfo[]; + /** + * Returns an estimate of the default amount of parallelism a program should use. + * Always returns a value greater than zero. + * + * This function is a small wrapper about libuv's [`uv_available_parallelism()`](https://docs.libuv.org/en/v1.x/misc.html#c.uv_available_parallelism). + * @since v19.4.0, v18.14.0 + */ + function availableParallelism(): number; + /** + * Returns the operating system name as returned by [`uname(3)`](https://linux.die.net/man/3/uname). For example, it + * returns `'Linux'` on Linux, `'Darwin'` on macOS, and `'Windows_NT'` on Windows. + * + * See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for additional information + * about the output of running [`uname(3)`](https://linux.die.net/man/3/uname) on various operating systems. + * @since v0.3.3 + */ + function type(): string; + /** + * Returns the operating system as a string. + * + * On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `GetVersionExW()` is used. See + * [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information. + * @since v0.3.3 + */ + function release(): string; + /** + * Returns an object containing network interfaces that have been assigned a + * network address. + * + * Each key on the returned object identifies a network interface. The associated + * value is an array of objects that each describe an assigned network address. + * + * The properties available on the assigned network address object include: + * + * ```js + * { + * lo: [ + * { + * address: '127.0.0.1', + * netmask: '255.0.0.0', + * family: 'IPv4', + * mac: '00:00:00:00:00:00', + * internal: true, + * cidr: '127.0.0.1/8' + * }, + * { + * address: '::1', + * netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', + * family: 'IPv6', + * mac: '00:00:00:00:00:00', + * scopeid: 0, + * internal: true, + * cidr: '::1/128' + * } + * ], + * eth0: [ + * { + * address: '192.168.1.108', + * netmask: '255.255.255.0', + * family: 'IPv4', + * mac: '01:02:03:0a:0b:0c', + * internal: false, + * cidr: '192.168.1.108/24' + * }, + * { + * address: 'fe80::a00:27ff:fe4e:66a1', + * netmask: 'ffff:ffff:ffff:ffff::', + * family: 'IPv6', + * mac: '01:02:03:0a:0b:0c', + * scopeid: 1, + * internal: false, + * cidr: 'fe80::a00:27ff:fe4e:66a1/64' + * } + * ] + * } + * ``` + * @since v0.6.0 + */ + function networkInterfaces(): NodeJS.Dict; + /** + * Returns the string path of the current user's home directory. + * + * On POSIX, it uses the `$HOME` environment variable if defined. Otherwise it + * uses the [effective UID](https://en.wikipedia.org/wiki/User_identifier#Effective_user_ID) to look up the user's home directory. + * + * On Windows, it uses the `USERPROFILE` environment variable if defined. + * Otherwise it uses the path to the profile directory of the current user. + * @since v2.3.0 + */ + function homedir(): string; + interface UserInfoOptions { + encoding?: BufferEncoding | "buffer" | undefined; + } + interface UserInfoOptionsWithBufferEncoding extends UserInfoOptions { + encoding: "buffer"; + } + interface UserInfoOptionsWithStringEncoding extends UserInfoOptions { + encoding?: BufferEncoding | undefined; + } + /** + * Returns information about the currently effective user. On POSIX platforms, + * this is typically a subset of the password file. The returned object includes + * the `username`, `uid`, `gid`, `shell`, and `homedir`. On Windows, the `uid` and `gid` fields are `-1`, and `shell` is `null`. + * + * The value of `homedir` returned by `os.userInfo()` is provided by the operating + * system. This differs from the result of `os.homedir()`, which queries + * environment variables for the home directory before falling back to the + * operating system response. + * + * Throws a [`SystemError`](https://nodejs.org/docs/latest-v25.x/api/errors.html#class-systemerror) if a user has no `username` or `homedir`. + * @since v6.0.0 + */ + function userInfo(options?: UserInfoOptionsWithStringEncoding): UserInfo; + function userInfo(options: UserInfoOptionsWithBufferEncoding): UserInfo; + function userInfo(options: UserInfoOptions): UserInfo; + type SignalConstants = { + [key in NodeJS.Signals]: number; + }; + namespace constants { + const UV_UDP_REUSEADDR: number; + namespace signals {} + const signals: SignalConstants; + namespace errno { + 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 EDQUOT: 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 EMULTIHOP: 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 ESTALE: 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; + } + namespace dlopen { + const RTLD_LAZY: number; + const RTLD_NOW: number; + const RTLD_GLOBAL: number; + const RTLD_LOCAL: number; + const RTLD_DEEPBIND: number; + } + namespace priority { + const PRIORITY_LOW: number; + const PRIORITY_BELOW_NORMAL: number; + const PRIORITY_NORMAL: number; + const PRIORITY_ABOVE_NORMAL: number; + const PRIORITY_HIGH: number; + const PRIORITY_HIGHEST: number; + } + } + const devNull: string; + /** + * The operating system-specific end-of-line marker. + * * `\n` on POSIX + * * `\r\n` on Windows + */ + const EOL: string; + /** + * Returns the operating system CPU architecture for which the Node.js binary was + * compiled. Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'loong64'`, + * `'mips'`, `'mipsel'`, `'ppc64'`, `'riscv64'`, `'s390x'`, and `'x64'`. + * + * The return value is equivalent to [process.arch](https://nodejs.org/docs/latest-v25.x/api/process.html#processarch). + * @since v0.5.0 + */ + function arch(): NodeJS.Architecture; + /** + * Returns a string identifying the kernel version. + * + * On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not + * available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information. + * @since v13.11.0, v12.17.0 + */ + function version(): string; + /** + * Returns a string identifying the operating system platform for which + * the Node.js binary was compiled. The value is set at compile time. + * Possible values are `'aix'`, `'darwin'`, `'freebsd'`, `'linux'`, `'openbsd'`, `'sunos'`, and `'win32'`. + * + * The return value is equivalent to `process.platform`. + * + * The value `'android'` may also be returned if Node.js is built on the Android + * operating system. [Android support is experimental](https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os). + * @since v0.5.0 + */ + function platform(): NodeJS.Platform; + /** + * Returns the machine type as a string, such as `arm`, `arm64`, `aarch64`, + * `mips`, `mips64`, `ppc64`, `ppc64le`, `s390x`, `i386`, `i686`, `x86_64`. + * + * On POSIX systems, the machine type is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not + * available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information. + * @since v18.9.0, v16.18.0 + */ + function machine(): string; + /** + * Returns the operating system's default directory for temporary files as a + * string. + * @since v0.9.9 + */ + function tmpdir(): string; + /** + * Returns a string identifying the endianness of the CPU for which the Node.js + * binary was compiled. + * + * Possible values are `'BE'` for big endian and `'LE'` for little endian. + * @since v0.9.4 + */ + function endianness(): "BE" | "LE"; + /** + * Returns the scheduling priority for the process specified by `pid`. If `pid` is + * not provided or is `0`, the priority of the current process is returned. + * @since v10.10.0 + * @param [pid=0] The process ID to retrieve scheduling priority for. + */ + function getPriority(pid?: number): number; + /** + * Attempts to set the scheduling priority for the process specified by `pid`. If `pid` is not provided or is `0`, the process ID of the current process is used. + * + * The `priority` input must be an integer between `-20` (high priority) and `19` (low priority). Due to differences between Unix priority levels and Windows + * priority classes, `priority` is mapped to one of six priority constants in `os.constants.priority`. When retrieving a process priority level, this range + * mapping may cause the return value to be slightly different on Windows. To avoid + * confusion, set `priority` to one of the priority constants. + * + * On Windows, setting priority to `PRIORITY_HIGHEST` requires elevated user + * privileges. Otherwise the set priority will be silently reduced to `PRIORITY_HIGH`. + * @since v10.10.0 + * @param [pid=0] The process ID to set scheduling priority for. + * @param priority The scheduling priority to assign to the process. + */ + function setPriority(priority: number): void; + function setPriority(pid: number, priority: number): void; +} +declare module "os" { + export * from "node:os"; +} diff --git a/node_modules/@types/node/package.json b/node_modules/@types/node/package.json new file mode 100644 index 0000000..1fa4601 --- /dev/null +++ b/node_modules/@types/node/package.json @@ -0,0 +1,155 @@ +{ + "name": "@types/node", + "version": "25.9.3", + "description": "TypeScript definitions for node", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node", + "license": "MIT", + "contributors": [ + { + "name": "Microsoft TypeScript", + "githubUsername": "Microsoft", + "url": "https://github.com/Microsoft" + }, + { + "name": "Alberto Schiabel", + "githubUsername": "jkomyno", + "url": "https://github.com/jkomyno" + }, + { + "name": "Andrew Makarov", + "githubUsername": "r3nya", + "url": "https://github.com/r3nya" + }, + { + "name": "Benjamin Toueg", + "githubUsername": "btoueg", + "url": "https://github.com/btoueg" + }, + { + "name": "David Junger", + "githubUsername": "touffy", + "url": "https://github.com/touffy" + }, + { + "name": "Mohsen Azimi", + "githubUsername": "mohsen1", + "url": "https://github.com/mohsen1" + }, + { + "name": "Nikita Galkin", + "githubUsername": "galkin", + "url": "https://github.com/galkin" + }, + { + "name": "Sebastian Silbermann", + "githubUsername": "eps1lon", + "url": "https://github.com/eps1lon" + }, + { + "name": "Wilco Bakker", + "githubUsername": "WilcoBakker", + "url": "https://github.com/WilcoBakker" + }, + { + "name": "Marcin Kopacz", + "githubUsername": "chyzwar", + "url": "https://github.com/chyzwar" + }, + { + "name": "Trivikram Kamat", + "githubUsername": "trivikr", + "url": "https://github.com/trivikr" + }, + { + "name": "Junxiao Shi", + "githubUsername": "yoursunny", + "url": "https://github.com/yoursunny" + }, + { + "name": "Ilia Baryshnikov", + "githubUsername": "qwelias", + "url": "https://github.com/qwelias" + }, + { + "name": "ExE Boss", + "githubUsername": "ExE-Boss", + "url": "https://github.com/ExE-Boss" + }, + { + "name": "Piotr Błażejewicz", + "githubUsername": "peterblazejewicz", + "url": "https://github.com/peterblazejewicz" + }, + { + "name": "Anna Henningsen", + "githubUsername": "addaleax", + "url": "https://github.com/addaleax" + }, + { + "name": "Victor Perin", + "githubUsername": "victorperin", + "url": "https://github.com/victorperin" + }, + { + "name": "NodeJS Contributors", + "githubUsername": "NodeJS", + "url": "https://github.com/NodeJS" + }, + { + "name": "Linus Unnebäck", + "githubUsername": "LinusU", + "url": "https://github.com/LinusU" + }, + { + "name": "wafuwafu13", + "githubUsername": "wafuwafu13", + "url": "https://github.com/wafuwafu13" + }, + { + "name": "Matteo Collina", + "githubUsername": "mcollina", + "url": "https://github.com/mcollina" + }, + { + "name": "Dmitry Semigradsky", + "githubUsername": "Semigradsky", + "url": "https://github.com/Semigradsky" + }, + { + "name": "René", + "githubUsername": "Renegade334", + "url": "https://github.com/Renegade334" + }, + { + "name": "Yagiz Nizipli", + "githubUsername": "anonrig", + "url": "https://github.com/anonrig" + } + ], + "main": "", + "types": "index.d.ts", + "typesVersions": { + "<=5.6": { + "*": [ + "ts5.6/*" + ] + }, + "<=5.7": { + "*": [ + "ts5.7/*" + ] + } + }, + "repository": { + "type": "git", + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/node" + }, + "scripts": {}, + "dependencies": { + "undici-types": ">=7.24.0 <7.24.7" + }, + "peerDependencies": {}, + "typesPublisherContentHash": "b651099f0be23911446e6a283ee816760ef628511df23064b85b949a9ca68cf5", + "typeScriptVersion": "5.3" +} \ 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..ae8fd97 --- /dev/null +++ b/node_modules/@types/node/path.d.ts @@ -0,0 +1,178 @@ +declare module "node:path" { + namespace 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 | undefined; + /** + * The full directory path such as '/home/user/dir' or 'c:\path\dir' + */ + dir?: string | undefined; + /** + * The file name including extension (if any) such as 'index.html' + */ + base?: string | undefined; + /** + * The file extension (if any) such as '.html' + */ + ext?: string | undefined; + /** + * The file name without extension (if any) such as 'index' + */ + name?: string | undefined; + } + /** + * 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. If the path is a zero-length string, '.' is returned, representing the current working directory. + * + * @param path string path to normalize. + * @throws {TypeError} if `path` is not a string. + */ + function normalize(path: string): string; + /** + * Join all arguments together and normalize the resulting path. + * + * @param paths paths to join. + * @throws {TypeError} if any of the path segments is not a string. + */ + 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 paths A sequence of paths or path segments. + * @throws {TypeError} if any of the arguments is not a string. + */ + function resolve(...paths: string[]): string; + /** + * The `path.matchesGlob()` method determines if `path` matches the `pattern`. + * @param path The path to glob-match against. + * @param pattern The glob to check the path against. + * @returns Whether or not the `path` matched the `pattern`. + * @throws {TypeError} if `path` or `pattern` are not strings. + * @since v22.5.0 + */ + function matchesGlob(path: string, pattern: string): boolean; + /** + * Determines whether {path} is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory. + * + * If the given {path} is a zero-length string, `false` will be returned. + * + * @param path path to test. + * @throws {TypeError} if `path` is not a string. + */ + function isAbsolute(path: string): boolean; + /** + * Solve the relative path from {from} to {to} based on the current working directory. + * 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. + * + * @throws {TypeError} if either `from` or `to` is not a string. + */ + function relative(from: string, to: string): string; + /** + * Return the directory name of a path. Similar to the Unix dirname command. + * + * @param path the path to evaluate. + * @throws {TypeError} if `path` is not a string. + */ + function dirname(path: 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 path the path to evaluate. + * @param suffix optionally, an extension to remove from the result. + * @throws {TypeError} if `path` is not a string or if `ext` is given and is not a string. + */ + function basename(path: string, suffix?: 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 path the path to evaluate. + * @throws {TypeError} if `path` is not a string. + */ + function extname(path: 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 path path to evaluate. + * @throws {TypeError} if `path` is not a string. + */ + function parse(path: string): ParsedPath; + /** + * Returns a path string from an object - the opposite of parse(). + * + * @param pathObject path to evaluate. + */ + function format(pathObject: FormatInputPathObject): string; + /** + * On Windows systems only, returns an equivalent namespace-prefixed path for the given path. + * If path is not a string, path will be returned without modifications. + * This method is meaningful only on Windows system. + * On POSIX systems, the method is non-operational and always returns path without modifications. + */ + function toNamespacedPath(path: string): string; + } + namespace path { + export { + /** + * The `path.posix` property provides access to POSIX specific implementations of the `path` methods. + * + * The API is accessible via `require('node:path').posix` or `require('node:path/posix')`. + */ + path as posix, + /** + * The `path.win32` property provides access to Windows-specific implementations of the `path` methods. + * + * The API is accessible via `require('node:path').win32` or `require('node:path/win32')`. + */ + path as win32, + }; + } + export = path; +} +declare module "path" { + import path = require("node:path"); + export = path; +} diff --git a/node_modules/@types/node/path/posix.d.ts b/node_modules/@types/node/path/posix.d.ts new file mode 100644 index 0000000..d60f629 --- /dev/null +++ b/node_modules/@types/node/path/posix.d.ts @@ -0,0 +1,8 @@ +declare module "node:path/posix" { + import path = require("node:path"); + export = path.posix; +} +declare module "path/posix" { + import path = require("path"); + export = path.posix; +} diff --git a/node_modules/@types/node/path/win32.d.ts b/node_modules/@types/node/path/win32.d.ts new file mode 100644 index 0000000..e6aa9fa --- /dev/null +++ b/node_modules/@types/node/path/win32.d.ts @@ -0,0 +1,8 @@ +declare module "node:path/win32" { + import path = require("node:path"); + export = path.win32; +} +declare module "path/win32" { + import path = require("path"); + export = path.win32; +} 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..46e725c --- /dev/null +++ b/node_modules/@types/node/perf_hooks.d.ts @@ -0,0 +1,612 @@ +declare module "node:perf_hooks" { + import { InternalEventTargetEventProperties } from "node:events"; + // #region web types + type EntryType = + | "dns" // Node.js only + | "function" // Node.js only + | "gc" // Node.js only + | "http2" // Node.js only + | "http" // Node.js only + | "mark" // available on the Web + | "measure" // available on the Web + | "net" // Node.js only + | "node" // Node.js only + | "resource"; // available on the Web + interface ConnectionTimingInfo { + domainLookupStartTime: number; + domainLookupEndTime: number; + connectionStartTime: number; + connectionEndTime: number; + secureConnectionStartTime: number; + ALPNNegotiatedProtocol: string; + } + interface FetchTimingInfo { + startTime: number; + redirectStartTime: number; + redirectEndTime: number; + postRedirectStartTime: number; + finalServiceWorkerStartTime: number; + finalNetworkRequestStartTime: number; + finalNetworkResponseStartTime: number; + endTime: number; + finalConnectionTimingInfo: ConnectionTimingInfo | null; + encodedBodySize: number; + decodedBodySize: number; + } + type PerformanceEntryList = PerformanceEntry[]; + interface PerformanceMarkOptions { + detail?: any; + startTime?: number; + } + interface PerformanceMeasureOptions { + detail?: any; + duration?: number; + end?: string | number; + start?: string | number; + } + interface PerformanceObserverCallback { + (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; + } + interface PerformanceObserverInit { + buffered?: boolean; + entryTypes?: EntryType[]; + type?: EntryType; + } + // TODO: remove in next major + /** @deprecated Use `TimerifyOptions` instead. */ + interface PerformanceTimerifyOptions extends TimerifyOptions {} + interface PerformanceEventMap { + "resourcetimingbufferfull": Event; + } + interface Performance extends EventTarget, InternalEventTargetEventProperties { + readonly nodeTiming: PerformanceNodeTiming; + readonly timeOrigin: number; + clearMarks(markName?: string): void; + clearMeasures(measureName?: string): void; + clearResourceTimings(resourceTimingName?: string): void; + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: EntryType): PerformanceEntryList; + getEntriesByType(type: EntryType): PerformanceEntryList; + mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark; + markResourceTiming( + timingInfo: FetchTimingInfo, + requestedUrl: string, + initiatorType: string, + global: unknown, + cacheMode: string, + bodyInfo: unknown, + responseStatus: number, + deliveryType?: string, + ): PerformanceResourceTiming; + measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure; + measure(measureName: string, options: PerformanceMeasureOptions, endMark?: string): PerformanceMeasure; + now(): number; + setResourceTimingBufferSize(maxSize: number): void; + toJSON(): any; + addEventListener( + type: K, + listener: (ev: PerformanceEventMap[K]) => void, + options?: AddEventListenerOptions | boolean, + ): void; + addEventListener( + type: string, + listener: EventListener | EventListenerObject, + options?: AddEventListenerOptions | boolean, + ): void; + removeEventListener( + type: K, + listener: (ev: PerformanceEventMap[K]) => void, + options?: EventListenerOptions | boolean, + ): void; + removeEventListener( + type: string, + listener: EventListener | EventListenerObject, + options?: EventListenerOptions | boolean, + ): void; + /** + * This is an alias of `perf_hooks.eventLoopUtilization()`. + * + * _This property is an extension by Node.js. It is not available in Web browsers._ + * @since v14.10.0, v12.19.0 + * @param utilization1 The result of a previous call to + * `eventLoopUtilization()`. + * @param utilization2 The result of a previous call to + * `eventLoopUtilization()` prior to `utilization1`. + */ + eventLoopUtilization( + utilization1?: EventLoopUtilization, + utilization2?: EventLoopUtilization, + ): EventLoopUtilization; + /** + * This is an alias of `perf_hooks.timerify()`. + * + * _This property is an extension by Node.js. It is not available in Web browsers._ + * @since v8.5.0 + */ + timerify any>(fn: T, options?: TimerifyOptions): T; + } + var Performance: { + prototype: Performance; + new(): Performance; + }; + interface PerformanceEntry { + readonly duration: number; + readonly entryType: EntryType; + readonly name: string; + readonly startTime: number; + toJSON(): any; + } + var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; + }; + interface PerformanceMark extends PerformanceEntry { + readonly detail: any; + readonly entryType: "mark"; + } + var PerformanceMark: { + prototype: PerformanceMark; + new(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark; + }; + interface PerformanceMeasure extends PerformanceEntry { + readonly detail: any; + readonly entryType: "measure"; + } + var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; + }; + interface PerformanceObserver { + disconnect(): void; + observe(options: PerformanceObserverInit): void; + takeRecords(): PerformanceEntryList; + } + var PerformanceObserver: { + prototype: PerformanceObserver; + new(callback: PerformanceObserverCallback): PerformanceObserver; + readonly supportedEntryTypes: readonly EntryType[]; + }; + interface PerformanceObserverEntryList { + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: EntryType): PerformanceEntryList; + getEntriesByType(type: EntryType): PerformanceEntryList; + } + var PerformanceObserverEntryList: { + prototype: PerformanceObserverEntryList; + new(): PerformanceObserverEntryList; + }; + interface PerformanceResourceTiming extends PerformanceEntry { + readonly connectEnd: number; + readonly connectStart: number; + readonly decodedBodySize: number; + readonly domainLookupEnd: number; + readonly domainLookupStart: number; + readonly encodedBodySize: number; + readonly entryType: "resource"; + readonly fetchStart: number; + readonly initiatorType: string; + readonly nextHopProtocol: string; + readonly redirectEnd: number; + readonly redirectStart: number; + readonly requestStart: number; + readonly responseEnd: number; + readonly responseStart: number; + readonly responseStatus: number; + readonly secureConnectionStart: number; + readonly transferSize: number; + readonly workerStart: number; + toJSON(): any; + } + var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; + }; + var performance: Performance; + // #endregion + /** + * _This class is an extension by Node.js. It is not available in Web browsers._ + * + * Provides detailed Node.js timing data. + * + * The constructor of this class is not exposed to users directly. + * @since v19.0.0 + */ + class PerformanceNodeEntry extends PerformanceEntry { + /** + * Additional detail specific to the `entryType`. + * @since v16.0.0 + */ + readonly detail: any; + readonly entryType: "dns" | "function" | "gc" | "http2" | "http" | "net" | "node"; + } + interface UVMetrics { + /** + * Number of event loop iterations. + */ + readonly loopCount: number; + /** + * Number of events that have been processed by the event handler. + */ + readonly events: number; + /** + * Number of events that were waiting to be processed when the event provider was called. + */ + readonly eventsWaiting: number; + } + /** + * _This property is an extension by Node.js. It is not available in Web browsers._ + * + * Provides timing details for Node.js itself. The constructor of this class + * is not exposed to users. + * @since v8.5.0 + */ + interface PerformanceNodeTiming extends PerformanceEntry { + /** + * The high resolution millisecond timestamp at which the Node.js process + * completed bootstrapping. If bootstrapping has not yet finished, the property + * has the value of -1. + * @since v8.5.0 + */ + readonly bootstrapComplete: number; + readonly entryType: "node"; + /** + * The high resolution millisecond timestamp at which the Node.js environment was + * initialized. + * @since v8.5.0 + */ + readonly environment: number; + /** + * The high resolution millisecond timestamp of the amount of time the event loop + * has been idle within the event loop's event provider (e.g. `epoll_wait`). This + * does not take CPU usage into consideration. If the event loop has not yet + * started (e.g., in the first tick of the main script), the property has the + * value of 0. + * @since v14.10.0, v12.19.0 + */ + readonly idleTime: number; + /** + * The high resolution millisecond timestamp at which the Node.js event loop + * exited. If the event loop has not yet exited, the property has the value of -1\. + * It can only have a value of not -1 in a handler of the `'exit'` event. + * @since v8.5.0 + */ + readonly loopExit: number; + /** + * The high resolution millisecond timestamp at which the Node.js event loop + * started. If the event loop has not yet started (e.g., in the first tick of the + * main script), the property has the value of -1. + * @since v8.5.0 + */ + readonly loopStart: number; + /** + * The high resolution millisecond timestamp at which the Node.js process was initialized. + * @since v8.5.0 + */ + readonly nodeStart: number; + /** + * This is a wrapper to the `uv_metrics_info` function. + * It returns the current set of event loop metrics. + * + * It is recommended to use this property inside a function whose execution was + * scheduled using `setImmediate` to avoid collecting metrics before finishing all + * operations scheduled during the current loop iteration. + * @since v22.8.0, v20.18.0 + */ + readonly uvMetricsInfo: UVMetrics; + /** + * The high resolution millisecond timestamp at which the V8 platform was + * initialized. + * @since v8.5.0 + */ + readonly v8Start: number; + } + 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 NODE_PERFORMANCE_GC_FLAGS_NO: number; + const NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: number; + const NODE_PERFORMANCE_GC_FLAGS_FORCED: number; + const NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: number; + const NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: number; + const NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: number; + const NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: number; + } + interface EventLoopMonitorOptions { + /** + * The sampling rate in milliseconds. + * Must be greater than zero. + * @default 10 + */ + resolution?: number | undefined; + } + interface Histogram { + /** + * The number of samples recorded by the histogram. + * @since v17.4.0, v16.14.0 + */ + readonly count: number; + /** + * The number of samples recorded by the histogram. + * v17.4.0, v16.14.0 + */ + readonly countBigInt: bigint; + /** + * The number of times the event loop delay exceeded the maximum 1 hour event + * loop delay threshold. + * @since v11.10.0 + */ + readonly exceeds: number; + /** + * The number of times the event loop delay exceeded the maximum 1 hour event loop delay threshold. + * @since v17.4.0, v16.14.0 + */ + readonly exceedsBigInt: bigint; + /** + * The maximum recorded event loop delay. + * @since v11.10.0 + */ + readonly max: number; + /** + * The maximum recorded event loop delay. + * v17.4.0, v16.14.0 + */ + readonly maxBigInt: number; + /** + * The mean of the recorded event loop delays. + * @since v11.10.0 + */ + readonly mean: number; + /** + * The minimum recorded event loop delay. + * @since v11.10.0 + */ + readonly min: number; + /** + * The minimum recorded event loop delay. + * v17.4.0, v16.14.0 + */ + readonly minBigInt: bigint; + /** + * Returns the value at the given percentile. + * @since v11.10.0 + * @param percentile A percentile value in the range (0, 100]. + */ + percentile(percentile: number): number; + /** + * Returns the value at the given percentile. + * @since v17.4.0, v16.14.0 + * @param percentile A percentile value in the range (0, 100]. + */ + percentileBigInt(percentile: number): bigint; + /** + * Returns a `Map` object detailing the accumulated percentile distribution. + * @since v11.10.0 + */ + readonly percentiles: Map; + /** + * Returns a `Map` object detailing the accumulated percentile distribution. + * @since v17.4.0, v16.14.0 + */ + readonly percentilesBigInt: Map; + /** + * Resets the collected histogram data. + * @since v11.10.0 + */ + reset(): void; + /** + * The standard deviation of the recorded event loop delays. + * @since v11.10.0 + */ + readonly stddev: number; + } + interface IntervalHistogram extends Histogram { + /** + * Enables the update interval timer. Returns `true` if the timer was + * started, `false` if it was already started. + * @since v11.10.0 + */ + enable(): boolean; + /** + * Disables the update interval timer. Returns `true` if the timer was + * stopped, `false` if it was already stopped. + * @since v11.10.0 + */ + disable(): boolean; + /** + * Disables the update interval timer when the histogram is disposed. + * + * ```js + * const { monitorEventLoopDelay } = require('node:perf_hooks'); + * { + * using hist = monitorEventLoopDelay({ resolution: 20 }); + * hist.enable(); + * // The histogram will be disabled when the block is exited. + * } + * ``` + * @since v24.2.0 + */ + [Symbol.dispose](): void; + } + interface RecordableHistogram extends Histogram { + /** + * @since v15.9.0, v14.18.0 + * @param val The amount to record in the histogram. + */ + record(val: number | bigint): void; + /** + * Calculates the amount of time (in nanoseconds) that has passed since the + * previous call to `recordDelta()` and records that amount in the histogram. + * @since v15.9.0, v14.18.0 + */ + recordDelta(): void; + /** + * Adds the values from `other` to this histogram. + * @since v17.4.0, v16.14.0 + */ + add(other: RecordableHistogram): void; + } + interface EventLoopUtilization { + idle: number; + active: number; + utilization: number; + } + /** + * The `eventLoopUtilization()` function returns an object that contains the + * cumulative duration of time the event loop has been both idle and active as a + * high resolution milliseconds timer. The `utilization` value is the calculated + * Event Loop Utilization (ELU). + * + * If bootstrapping has not yet finished on the main thread the properties have + * the value of `0`. The ELU is immediately available on [Worker threads](https://nodejs.org/docs/latest-v25.x/api/worker_threads.html#worker-threads) since + * bootstrap happens within the event loop. + * + * Both `utilization1` and `utilization2` are optional parameters. + * + * If `utilization1` is passed, then the delta between the current call's `active` + * and `idle` times, as well as the corresponding `utilization` value are + * calculated and returned (similar to `process.hrtime()`). + * + * If `utilization1` and `utilization2` are both passed, then the delta is + * calculated between the two arguments. This is a convenience option because, + * unlike `process.hrtime()`, calculating the ELU is more complex than a + * single subtraction. + * + * ELU is similar to CPU utilization, except that it only measures event loop + * statistics and not CPU usage. It represents the percentage of time the event + * loop has spent outside the event loop's event provider (e.g. `epoll_wait`). + * No other CPU idle time is taken into consideration. The following is an example + * of how a mostly idle process will have a high ELU. + * + * ```js + * import { eventLoopUtilization } from 'node:perf_hooks'; + * import { spawnSync } from 'node:child_process'; + * + * setImmediate(() => { + * const elu = eventLoopUtilization(); + * spawnSync('sleep', ['5']); + * console.log(eventLoopUtilization(elu).utilization); + * }); + * ``` + * + * Although the CPU is mostly idle while running this script, the value of + * `utilization` is `1`. This is because the call to + * `child_process.spawnSync()` blocks the event loop from proceeding. + * + * Passing in a user-defined object instead of the result of a previous call to + * `eventLoopUtilization()` will lead to undefined behavior. The return values + * are not guaranteed to reflect any correct state of the event loop. + * @since v25.2.0 + * @param utilization1 The result of a previous call to + * `eventLoopUtilization()`. + * @param utilization2 The result of a previous call to + * `eventLoopUtilization()` prior to `utilization1`. + */ + function eventLoopUtilization( + utilization1?: EventLoopUtilization, + utilization2?: EventLoopUtilization, + ): EventLoopUtilization; + /** + * _This property is an extension by Node.js. It is not available in Web browsers._ + * + * Creates an `IntervalHistogram` object that samples and reports the event loop + * delay over time. The delays will be reported in nanoseconds. + * + * Using a timer to detect approximate event loop delay works because the + * execution of timers is tied specifically to the lifecycle of the libuv + * event loop. That is, a delay in the loop will cause a delay in the execution + * of the timer, and those delays are specifically what this API is intended to + * detect. + * + * ```js + * import { monitorEventLoopDelay } from 'node:perf_hooks'; + * const h = monitorEventLoopDelay({ resolution: 20 }); + * h.enable(); + * // Do something. + * h.disable(); + * console.log(h.min); + * console.log(h.max); + * console.log(h.mean); + * console.log(h.stddev); + * console.log(h.percentiles); + * console.log(h.percentile(50)); + * console.log(h.percentile(99)); + * ``` + * @since v11.10.0 + */ + function monitorEventLoopDelay(options?: EventLoopMonitorOptions): IntervalHistogram; + interface TimerifyOptions { + /** + * A histogram object created using + * `perf_hooks.createHistogram()` that will record runtime durations in + * nanoseconds. + */ + histogram?: RecordableHistogram | undefined; + } + /** + * _This property is an extension by Node.js. It is not available in Web browsers._ + * + * 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. + * + * ```js + * import { timerify, performance, PerformanceObserver } from 'node:perf_hooks'; + * + * function someFunction() { + * console.log('hello world'); + * } + * + * const wrapped = timerify(someFunction); + * + * const obs = new PerformanceObserver((list) => { + * console.log(list.getEntries()[0].duration); + * + * performance.clearMarks(); + * performance.clearMeasures(); + * obs.disconnect(); + * }); + * obs.observe({ entryTypes: ['function'] }); + * + * // A performance timeline entry will be created + * wrapped(); + * ``` + * + * If the wrapped function returns a promise, a finally handler will be attached + * to the promise and the duration will be reported once the finally handler is + * invoked. + * @since v25.2.0 + */ + function timerify any>(fn: T, options?: TimerifyOptions): T; + interface CreateHistogramOptions { + /** + * The minimum recordable value. Must be an integer value greater than 0. + * @default 1 + */ + lowest?: number | bigint | undefined; + /** + * The maximum recordable value. Must be an integer value greater than min. + * @default Number.MAX_SAFE_INTEGER + */ + highest?: number | bigint | undefined; + /** + * The number of accuracy digits. Must be a number between 1 and 5. + * @default 3 + */ + figures?: number | undefined; + } + /** + * Returns a `RecordableHistogram`. + * @since v15.9.0, v14.18.0 + */ + function createHistogram(options?: CreateHistogramOptions): RecordableHistogram; + // TODO: remove these in a future major + /** @deprecated Use the canonical `PerformanceMarkOptions` instead. */ + interface MarkOptions extends PerformanceMarkOptions {} + /** @deprecated Use the canonical `PerformanceMeasureOptions` instead. */ + interface MeasureOptions extends PerformanceMeasureOptions {} +} +declare module "perf_hooks" { + export * from "node:perf_hooks"; +} diff --git a/node_modules/@types/node/process.d.ts b/node_modules/@types/node/process.d.ts new file mode 100644 index 0000000..00ab94e --- /dev/null +++ b/node_modules/@types/node/process.d.ts @@ -0,0 +1,2204 @@ +declare module "node:process" { + import { Control, MessageOptions, SendHandle } from "node:child_process"; + import { PathLike } from "node:fs"; + import * as tty from "node:tty"; + import { Worker } from "node:worker_threads"; + interface BuiltInModule { + "assert": typeof import("assert"); + "node:assert": typeof import("node:assert"); + "assert/strict": typeof import("assert/strict"); + "node:assert/strict": typeof import("node:assert/strict"); + "async_hooks": typeof import("async_hooks"); + "node:async_hooks": typeof import("node:async_hooks"); + "buffer": typeof import("buffer"); + "node:buffer": typeof import("node:buffer"); + "child_process": typeof import("child_process"); + "node:child_process": typeof import("node:child_process"); + "cluster": typeof import("cluster"); + "node:cluster": typeof import("node:cluster"); + "console": typeof import("console"); + "node:console": typeof import("node:console"); + "constants": typeof import("constants"); + "node:constants": typeof import("node:constants"); + "crypto": typeof import("crypto"); + "node:crypto": typeof import("node:crypto"); + "dgram": typeof import("dgram"); + "node:dgram": typeof import("node:dgram"); + "diagnostics_channel": typeof import("diagnostics_channel"); + "node:diagnostics_channel": typeof import("node:diagnostics_channel"); + "dns": typeof import("dns"); + "node:dns": typeof import("node:dns"); + "dns/promises": typeof import("dns/promises"); + "node:dns/promises": typeof import("node:dns/promises"); + "domain": typeof import("domain"); + "node:domain": typeof import("node:domain"); + "events": typeof import("events"); + "node:events": typeof import("node:events"); + "fs": typeof import("fs"); + "node:fs": typeof import("node:fs"); + "fs/promises": typeof import("fs/promises"); + "node:fs/promises": typeof import("node:fs/promises"); + "http": typeof import("http"); + "node:http": typeof import("node:http"); + "http2": typeof import("http2"); + "node:http2": typeof import("node:http2"); + "https": typeof import("https"); + "node:https": typeof import("node:https"); + "inspector": typeof import("inspector"); + "node:inspector": typeof import("node:inspector"); + "inspector/promises": typeof import("inspector/promises"); + "node:inspector/promises": typeof import("node:inspector/promises"); + "module": typeof import("module"); + "node:module": typeof import("node:module"); + "net": typeof import("net"); + "node:net": typeof import("node:net"); + "os": typeof import("os"); + "node:os": typeof import("node:os"); + "path": typeof import("path"); + "node:path": typeof import("node:path"); + "path/posix": typeof import("path/posix"); + "node:path/posix": typeof import("node:path/posix"); + "path/win32": typeof import("path/win32"); + "node:path/win32": typeof import("node:path/win32"); + "perf_hooks": typeof import("perf_hooks"); + "node:perf_hooks": typeof import("node:perf_hooks"); + "process": typeof import("process"); + "node:process": typeof import("node:process"); + "punycode": typeof import("punycode"); + "node:punycode": typeof import("node:punycode"); + "querystring": typeof import("querystring"); + "node:querystring": typeof import("node:querystring"); + "node:quic": typeof import("node:quic"); + "readline": typeof import("readline"); + "node:readline": typeof import("node:readline"); + "readline/promises": typeof import("readline/promises"); + "node:readline/promises": typeof import("node:readline/promises"); + "repl": typeof import("repl"); + "node:repl": typeof import("node:repl"); + "node:sea": typeof import("node:sea"); + "node:sqlite": typeof import("node:sqlite"); + "stream": typeof import("stream"); + "node:stream": typeof import("node:stream"); + "stream/consumers": typeof import("stream/consumers"); + "node:stream/consumers": typeof import("node:stream/consumers"); + "stream/promises": typeof import("stream/promises"); + "node:stream/promises": typeof import("node:stream/promises"); + "stream/web": typeof import("stream/web"); + "node:stream/web": typeof import("node:stream/web"); + "string_decoder": typeof import("string_decoder"); + "node:string_decoder": typeof import("node:string_decoder"); + "node:test": typeof import("node:test"); + "node:test/reporters": typeof import("node:test/reporters"); + "timers": typeof import("timers"); + "node:timers": typeof import("node:timers"); + "timers/promises": typeof import("timers/promises"); + "node:timers/promises": typeof import("node:timers/promises"); + "tls": typeof import("tls"); + "node:tls": typeof import("node:tls"); + "trace_events": typeof import("trace_events"); + "node:trace_events": typeof import("node:trace_events"); + "tty": typeof import("tty"); + "node:tty": typeof import("node:tty"); + "url": typeof import("url"); + "node:url": typeof import("node:url"); + "util": typeof import("util"); + "node:util": typeof import("node:util"); + "util/types": typeof import("util/types"); + "node:util/types": typeof import("node:util/types"); + "v8": typeof import("v8"); + "node:v8": typeof import("node:v8"); + "vm": typeof import("vm"); + "node:vm": typeof import("node:vm"); + "wasi": typeof import("wasi"); + "node:wasi": typeof import("node:wasi"); + "worker_threads": typeof import("worker_threads"); + "node:worker_threads": typeof import("node:worker_threads"); + "zlib": typeof import("zlib"); + "node:zlib": typeof import("node:zlib"); + } + type SignalsEventMap = { [S in NodeJS.Signals]: [signal: S] }; + interface ProcessEventMap extends SignalsEventMap { + "beforeExit": [code: number]; + "disconnect": []; + "exit": [code: number]; + "message": [ + message: object | boolean | number | string | null, + sendHandle: SendHandle | undefined, + ]; + "rejectionHandled": [promise: Promise]; + "uncaughtException": [error: Error, origin: NodeJS.UncaughtExceptionOrigin]; + "uncaughtExceptionMonitor": [error: Error, origin: NodeJS.UncaughtExceptionOrigin]; + "unhandledRejection": [reason: unknown, promise: Promise]; + "warning": [warning: Error]; + "worker": [worker: Worker]; + "workerMessage": [value: any, source: number]; + } + global { + var process: NodeJS.Process; + namespace process { + export { ProcessEventMap }; + } + 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 {} + interface MemoryUsageFn { + /** + * The `process.memoryUsage()` method iterate over each page to gather informations about memory + * usage which can be slow depending on the program memory allocations. + */ + (): MemoryUsage; + /** + * method returns an integer representing the Resident Set Size (RSS) in bytes. + */ + rss(): number; + } + interface MemoryUsage { + /** + * Resident Set Size, is the amount of space occupied in the main memory device (that is a subset of the total allocated memory) for the + * process, including all C++ and JavaScript objects and code. + */ + rss: number; + /** + * Refers to V8's memory usage. + */ + heapTotal: number; + /** + * Refers to V8's memory usage. + */ + heapUsed: number; + external: number; + /** + * Refers to memory allocated for `ArrayBuffer`s and `SharedArrayBuffer`s, including all Node.js Buffers. This is also included + * in the external value. When Node.js is used as an embedded library, this value may be `0` because allocations for `ArrayBuffer`s + * may not be tracked in that case. + */ + arrayBuffers: number; + } + interface CpuUsage { + user: number; + system: number; + } + interface ProcessRelease { + name: string; + sourceUrl?: string | undefined; + headersUrl?: string | undefined; + libUrl?: string | undefined; + lts?: string | undefined; + } + interface ProcessFeatures { + /** + * A boolean value that is `true` if the current Node.js build is caching builtin modules. + * @since v12.0.0 + */ + readonly cached_builtins: boolean; + /** + * A boolean value that is `true` if the current Node.js build is a debug build. + * @since v0.5.5 + */ + readonly debug: boolean; + /** + * A boolean value that is `true` if the current Node.js build includes the inspector. + * @since v11.10.0 + */ + readonly inspector: boolean; + /** + * A boolean value that is `true` if the current Node.js build includes support for IPv6. + * + * Since all Node.js builds have IPv6 support, this value is always `true`. + * @since v0.5.3 + * @deprecated This property is always true, and any checks based on it are redundant. + */ + readonly ipv6: boolean; + /** + * A boolean value that is `true` if the current Node.js build supports + * [loading ECMAScript modules using `require()`](https://nodejs.org/docs/latest-v25.x/api/modules.md#loading-ecmascript-modules-using-require). + * @since v22.10.0 + */ + readonly require_module: boolean; + /** + * A boolean value that is `true` if the current Node.js build includes support for TLS. + * @since v0.5.3 + */ + readonly tls: boolean; + /** + * A boolean value that is `true` if the current Node.js build includes support for ALPN in TLS. + * + * In Node.js 11.0.0 and later versions, the OpenSSL dependencies feature unconditional ALPN support. + * This value is therefore identical to that of `process.features.tls`. + * @since v4.8.0 + * @deprecated Use `process.features.tls` instead. + */ + readonly tls_alpn: boolean; + /** + * A boolean value that is `true` if the current Node.js build includes support for OCSP in TLS. + * + * In Node.js 11.0.0 and later versions, the OpenSSL dependencies feature unconditional OCSP support. + * This value is therefore identical to that of `process.features.tls`. + * @since v0.11.13 + * @deprecated Use `process.features.tls` instead. + */ + readonly tls_ocsp: boolean; + /** + * A boolean value that is `true` if the current Node.js build includes support for SNI in TLS. + * + * In Node.js 11.0.0 and later versions, the OpenSSL dependencies feature unconditional SNI support. + * This value is therefore identical to that of `process.features.tls`. + * @since v0.5.3 + * @deprecated Use `process.features.tls` instead. + */ + readonly tls_sni: boolean; + /** + * A value that is `"strip"` by default, + * `"transform"` if Node.js is run with `--experimental-transform-types`, and `false` if + * Node.js is run with `--no-strip-types`. + * @since v22.10.0 + */ + readonly typescript: "strip" | "transform" | false; + /** + * A boolean value that is `true` if the current Node.js build includes support for libuv. + * + * Since it's not possible to build Node.js without libuv, this value is always `true`. + * @since v0.5.3 + * @deprecated This property is always true, and any checks based on it are redundant. + */ + readonly uv: boolean; + } + interface ProcessVersions extends Dict { + http_parser: string; + node: string; + v8: string; + ares: string; + uv: string; + zlib: string; + modules: string; + openssl: string; + } + type Platform = + | "aix" + | "android" + | "darwin" + | "freebsd" + | "haiku" + | "linux" + | "openbsd" + | "sunos" + | "win32" + | "cygwin" + | "netbsd"; + type Architecture = + | "arm" + | "arm64" + | "ia32" + | "loong64" + | "mips" + | "mipsel" + | "ppc64" + | "riscv64" + | "s390x" + | "x64"; + 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 UncaughtExceptionOrigin = "uncaughtException" | "unhandledRejection"; + /** + * @deprecated Global listener types will be removed in a future version. + * Callbacks passed directly to `process`'s EventEmitter methods + * have their parameter types inferred automatically. + * + * `process` event types are also available via `ProcessEventMap`: + * + * ```ts + * import type { ProcessEventMap } from 'node:process'; + * const listener = (...args: ProcessEventMap['beforeExit']) => { ... }; + * ``` + */ + type BeforeExitListener = (...args: ProcessEventMap["beforeExit"]) => void; + /** + * @deprecated Global listener types will be removed in a future version. + * Callbacks passed directly to `process`'s EventEmitter methods + * have their parameter types inferred automatically. + * + * `process` event types are also available via `ProcessEventMap`: + * + * ```ts + * import type { ProcessEventMap } from 'node:process'; + * const listener = (...args: ProcessEventMap['disconnect']) => { ... }; + * ``` + */ + type DisconnectListener = (...args: ProcessEventMap["disconnect"]) => void; + /** + * @deprecated Global listener types will be removed in a future version. + * Callbacks passed directly to `process`'s EventEmitter methods + * have their parameter types inferred automatically. + * + * `process` event types are also available via `ProcessEventMap`: + * + * ```ts + * import type { ProcessEventMap } from 'node:process'; + * const listener = (...args: ProcessEventMap['exit']) => { ... }; + * ``` + */ + type ExitListener = (...args: ProcessEventMap["exit"]) => void; + /** + * @deprecated Global listener types will be removed in a future version. + * Callbacks passed directly to `process`'s EventEmitter methods + * have their parameter types inferred automatically. + * + * `process` event types are also available via `ProcessEventMap`: + * + * ```ts + * import type { ProcessEventMap } from 'node:process'; + * const listener = (...args: ProcessEventMap['message']) => { ... }; + * ``` + */ + type MessageListener = (...args: ProcessEventMap["message"]) => void; + /** + * @deprecated Global listener types will be removed in a future version. + * Callbacks passed directly to `process`'s EventEmitter methods + * have their parameter types inferred automatically. + * + * `process` event types are also available via `ProcessEventMap`: + * + * ```ts + * import type { ProcessEventMap } from 'node:process'; + * const listener = (...args: ProcessEventMap['rejectionHandled']) => { ... }; + * ``` + */ + type RejectionHandledListener = (...args: ProcessEventMap["rejectionHandled"]) => void; + /** + * @deprecated Global listener types will be removed in a future version. + * Callbacks passed directly to `process`'s EventEmitter methods + * have their parameter types inferred automatically. + */ + type SignalsListener = (signal: Signals) => void; + /** + * @deprecated Global listener types will be removed in a future version. + * Callbacks passed directly to `process`'s EventEmitter methods + * have their parameter types inferred automatically. + * + * `process` event types are also available via `ProcessEventMap`: + * + * ```ts + * import type { ProcessEventMap } from 'node:process'; + * const listener = (...args: ProcessEventMap['uncaughtException']) => { ... }; + * ``` + */ + type UncaughtExceptionListener = (...args: ProcessEventMap["uncaughtException"]) => void; + /** + * @deprecated Global listener types will be removed in a future version. + * Callbacks passed directly to `process`'s EventEmitter methods + * have their parameter types inferred automatically. + * + * `process` event types are also available via `ProcessEventMap`: + * + * ```ts + * import type { ProcessEventMap } from 'node:process'; + * const listener = (...args: ProcessEventMap['unhandledRejection']) => { ... }; + * ``` + */ + type UnhandledRejectionListener = (...args: ProcessEventMap["unhandledRejection"]) => void; + /** + * @deprecated Global listener types will be removed in a future version. + * Callbacks passed directly to `process`'s EventEmitter methods + * have their parameter types inferred automatically. + * + * `process` event types are also available via `ProcessEventMap`: + * + * ```ts + * import type { ProcessEventMap } from 'node:process'; + * const listener = (...args: ProcessEventMap['warning']) => { ... }; + * ``` + */ + type WarningListener = (...args: ProcessEventMap["warning"]) => void; + /** + * @deprecated Global listener types will be removed in a future version. + * Callbacks passed directly to `process`'s EventEmitter methods + * have their parameter types inferred automatically. + * + * `process` event types are also available via `ProcessEventMap`: + * + * ```ts + * import type { ProcessEventMap } from 'node:process'; + * const listener = (...args: ProcessEventMap['worker']) => { ... }; + * ``` + */ + type WorkerListener = (...args: ProcessEventMap["worker"]) => void; + interface Socket extends ReadWriteStream { + isTTY?: true | undefined; + } + // Alias for compatibility + interface ProcessEnv extends Dict {} + interface HRTime { + /** + * This is the legacy version of {@link process.hrtime.bigint()} + * before bigint was introduced in JavaScript. + * + * The `process.hrtime()` method returns the current high-resolution real time in a `[seconds, nanoseconds]` tuple `Array`, + * where `nanoseconds` is the remaining part of the real time that can't be represented in second precision. + * + * `time` is an optional parameter that must be the result of a previous `process.hrtime()` call to diff with the current time. + * If the parameter passed in is not a tuple `Array`, a TypeError will be thrown. + * Passing in a user-defined array instead of the result of a previous call to `process.hrtime()` will lead to undefined behavior. + * + * These times are relative to an arbitrary time in the past, + * and not related to the time of day and therefore not subject to clock drift. + * The primary use is for measuring performance between intervals: + * ```js + * const { hrtime } = require('node:process'); + * const NS_PER_SEC = 1e9; + * const time = hrtime(); + * // [ 1800216, 25 ] + * + * setTimeout(() => { + * const diff = hrtime(time); + * // [ 1, 552 ] + * + * console.log(`Benchmark took ${diff[0] * NS_PER_SEC + diff[1]} nanoseconds`); + * // Benchmark took 1000000552 nanoseconds + * }, 1000); + * ``` + * @since 0.7.6 + * @legacy Use {@link process.hrtime.bigint()} instead. + * @param time The result of a previous call to `process.hrtime()` + */ + (time?: [number, number]): [number, number]; + /** + * The `bigint` version of the {@link process.hrtime()} method returning the current high-resolution real time in nanoseconds as a `bigint`. + * + * Unlike {@link process.hrtime()}, it does not support an additional time argument since the difference can just be computed directly by subtraction of the two `bigint`s. + * ```js + * import { hrtime } from 'node:process'; + * + * const start = hrtime.bigint(); + * // 191051479007711n + * + * setTimeout(() => { + * const end = hrtime.bigint(); + * // 191052633396993n + * + * console.log(`Benchmark took ${end - start} nanoseconds`); + * // Benchmark took 1154389282 nanoseconds + * }, 1000); + * ``` + * @since v10.7.0 + */ + bigint(): bigint; + } + interface ProcessPermission { + /** + * Verifies that the process is able to access the given scope and reference. + * If no reference is provided, a global scope is assumed, for instance, `process.permission.has('fs.read')` + * will check if the process has ALL file system read permissions. + * + * The reference has a meaning based on the provided scope. For example, the reference when the scope is File System means files and folders. + * + * The available scopes are: + * + * * `fs` - All File System + * * `fs.read` - File System read operations + * * `fs.write` - File System write operations + * * `child` - Child process spawning operations + * * `worker` - Worker thread spawning operation + * + * ```js + * // Check if the process has permission to read the README file + * process.permission.has('fs.read', './README.md'); + * // Check if the process has read permission operations + * process.permission.has('fs.read'); + * ``` + * @since v20.0.0 + */ + has(scope: string, reference?: string): boolean; + } + interface ProcessReport { + /** + * Write reports in a compact format, single-line JSON, more easily consumable by log processing systems + * than the default multi-line format designed for human consumption. + * @since v13.12.0, v12.17.0 + */ + compact: boolean; + /** + * Directory where the report is written. + * The default value is the empty string, indicating that reports are written to the current + * working directory of the Node.js process. + */ + directory: string; + /** + * Filename where the report is written. If set to the empty string, the output filename will be comprised + * of a timestamp, PID, and sequence number. The default value is the empty string. + */ + filename: string; + /** + * Returns a JavaScript Object representation of a diagnostic report for the running process. + * The report's JavaScript stack trace is taken from `err`, if present. + */ + getReport(err?: Error): object; + /** + * 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. + * @default false + */ + reportOnSignal: boolean; + /** + * If true, a diagnostic report is generated on uncaught exception. + * @default false + */ + reportOnUncaughtException: boolean; + /** + * If true, a diagnostic report is generated without the environment variables. + * @default false + */ + excludeEnv: 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. + * + * If the value of filename is set to `'stdout'` or `'stderr'`, the report is written + * to the stdout or stderr of the process respectively. + * @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 err A custom error used for reporting the JavaScript stack. + * @return Filename of the generated report. + */ + writeReport(fileName?: string, err?: Error): string; + writeReport(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 EmitWarningOptions { + /** + * When `warning` is a `string`, `type` is the name to use for the _type_ of warning being emitted. + * + * @default 'Warning' + */ + type?: string | undefined; + /** + * A unique identifier for the warning instance being emitted. + */ + code?: string | undefined; + /** + * When `warning` is a `string`, `ctor` is an optional function used to limit the generated stack trace. + * + * @default process.emitWarning + */ + ctor?: Function | undefined; + /** + * Additional text to include with the error. + */ + detail?: string | undefined; + } + interface ProcessConfig { + readonly target_defaults: { + readonly cflags: any[]; + readonly default_configuration: string; + readonly defines: string[]; + readonly include_dirs: string[]; + readonly libraries: string[]; + }; + readonly variables: { + readonly clang: number; + readonly host_arch: string; + readonly node_install_npm: boolean; + readonly node_install_waf: boolean; + readonly node_prefix: string; + readonly node_shared_openssl: boolean; + readonly node_shared_v8: boolean; + readonly node_shared_zlib: boolean; + readonly node_use_dtrace: boolean; + readonly node_use_etw: boolean; + readonly node_use_openssl: boolean; + readonly target_arch: string; + readonly v8_no_strict_aliasing: number; + readonly v8_use_snapshot: boolean; + readonly visibility: string; + }; + } + interface Process extends EventEmitter { + /** + * The `process.stdout` property returns a stream connected to`stdout` (fd `1`). It is a `net.Socket` (which is a `Duplex` stream) unless fd `1` refers to a file, in which case it is + * a `Writable` stream. + * + * For example, to copy `process.stdin` to `process.stdout`: + * + * ```js + * import { stdin, stdout } from 'node:process'; + * + * stdin.pipe(stdout); + * ``` + * + * `process.stdout` differs from other Node.js streams in important ways. See `note on process I/O` for more information. + */ + stdout: WriteStream & { + fd: 1; + }; + /** + * The `process.stderr` property returns a stream connected to`stderr` (fd `2`). It is a `net.Socket` (which is a `Duplex` stream) unless fd `2` refers to a file, in which case it is + * a `Writable` stream. + * + * `process.stderr` differs from other Node.js streams in important ways. See `note on process I/O` for more information. + */ + stderr: WriteStream & { + fd: 2; + }; + /** + * The `process.stdin` property returns a stream connected to`stdin` (fd `0`). It is a `net.Socket` (which is a `Duplex` stream) unless fd `0` refers to a file, in which case it is + * a `Readable` stream. + * + * For details of how to read from `stdin` see `readable.read()`. + * + * As a `Duplex` stream, `process.stdin` can also be used in "old" mode that + * is compatible with scripts written for Node.js prior to v0.10\. + * For more information see `Stream compatibility`. + * + * In "old" streams mode the `stdin` stream is paused by default, so one + * must call `process.stdin.resume()` to read from it. Note also that calling `process.stdin.resume()` itself would switch stream to "old" mode. + */ + stdin: ReadStream & { + fd: 0; + }; + /** + * The `process.argv` property returns an array containing the command-line + * arguments passed when the Node.js process was launched. The first element will + * be {@link execPath}. See `process.argv0` if access to the original value + * of `argv[0]` is needed. The second element will be the path to the JavaScript + * file being executed. If a [program entry point](https://nodejs.org/docs/latest-v25.x/api/cli.html#program-entry-point) was provided, the second element + * will be the absolute path to it. The remaining elements are additional command-line + * arguments. + * + * For example, assuming the following script for `process-args.js`: + * + * ```js + * import { argv } from 'node:process'; + * + * // print process.argv + * argv.forEach((val, index) => { + * console.log(`${index}: ${val}`); + * }); + * ``` + * + * Launching the Node.js process as: + * + * ```bash + * node process-args.js one two=three four + * ``` + * + * Would generate the output: + * + * ```text + * 0: /usr/local/bin/node + * 1: /Users/mjr/work/node/process-args.js + * 2: one + * 3: two=three + * 4: four + * ``` + * @since v0.1.27 + */ + argv: string[]; + /** + * The `process.argv0` property stores a read-only copy of the original value of`argv[0]` passed when Node.js starts. + * + * ```console + * $ bash -c 'exec -a customArgv0 ./node' + * > process.argv[0] + * '/Volumes/code/external/node/out/Release/node' + * > process.argv0 + * 'customArgv0' + * ``` + * @since v6.4.0 + */ + argv0: string; + /** + * The `process.execArgv` property returns the set of Node.js-specific command-line + * options passed when the Node.js process was launched. These options do not + * appear in the array returned by the {@link argv} property, and do not + * include the Node.js executable, the name of the script, or any options following + * the script name. These options are useful in order to spawn child processes with + * the same execution environment as the parent. + * + * ```bash + * node --icu-data-dir=./foo --require ./bar.js script.js --version + * ``` + * + * Results in `process.execArgv`: + * + * ```js + * ["--icu-data-dir=./foo", "--require", "./bar.js"] + * ``` + * + * And `process.argv`: + * + * ```js + * ['/usr/local/bin/node', 'script.js', '--version'] + * ``` + * + * Refer to `Worker constructor` for the detailed behavior of worker + * threads with this property. + * @since v0.7.7 + */ + execArgv: string[]; + /** + * The `process.execPath` property returns the absolute pathname of the executable + * that started the Node.js process. Symbolic links, if any, are resolved. + * + * ```js + * '/usr/local/bin/node' + * ``` + * @since v0.1.100 + */ + execPath: string; + /** + * The `process.abort()` method causes the Node.js process to exit immediately and + * generate a core file. + * + * This feature is not available in `Worker` threads. + * @since v0.7.0 + */ + abort(): never; + /** + * The `process.addUncaughtExceptionCaptureCallback()` function adds a callback + * that will be invoked when an uncaught exception occurs, receiving the exception + * value as its first argument. + * + * Unlike `process.setUncaughtExceptionCaptureCallback()`, this function allows + * multiple callbacks to be registered and does not conflict with the + * [`domain`](https://nodejs.org/docs/latest-v25.x/api/domain.html) module. Callbacks are called in reverse order of registration + * (most recent first). If a callback returns `true`, subsequent callbacks + * and the default uncaught exception handling are skipped. + * + * ```js + * import process from 'node:process'; + * + * process.addUncaughtExceptionCaptureCallback((err) => { + * console.error('Caught exception:', err.message); + * return true; // Indicates exception was handled + * }); + * ``` + * @since v25.9.0 + */ + addUncaughtExceptionCaptureCallback(fn: (err: unknown) => boolean): void; + /** + * The `process.chdir()` method changes the current working directory of the + * Node.js process or throws an exception if doing so fails (for instance, if + * the specified `directory` does not exist). + * + * ```js + * import { chdir, cwd } from 'node:process'; + * + * console.log(`Starting directory: ${cwd()}`); + * try { + * chdir('/tmp'); + * console.log(`New directory: ${cwd()}`); + * } catch (err) { + * console.error(`chdir: ${err}`); + * } + * ``` + * + * This feature is not available in `Worker` threads. + * @since v0.1.17 + */ + chdir(directory: string): void; + /** + * The `process.cwd()` method returns the current working directory of the Node.js + * process. + * + * ```js + * import { cwd } from 'node:process'; + * + * console.log(`Current directory: ${cwd()}`); + * ``` + * @since v0.1.8 + */ + cwd(): string; + /** + * The port used by the Node.js debugger when enabled. + * + * ```js + * import process from 'node:process'; + * + * process.debugPort = 5858; + * ``` + * @since v0.7.2 + */ + debugPort: number; + /** + * The `process.dlopen()` method allows dynamically loading shared objects. It is primarily used by `require()` to load C++ Addons, and + * should not be used directly, except in special cases. In other words, `require()` should be preferred over `process.dlopen()` + * unless there are specific reasons such as custom dlopen flags or loading from ES modules. + * + * The `flags` argument is an integer that allows to specify dlopen behavior. See the `[os.constants.dlopen](https://nodejs.org/docs/latest-v25.x/api/os.html#dlopen-constants)` + * documentation for details. + * + * An important requirement when calling `process.dlopen()` is that the `module` instance must be passed. Functions exported by the C++ Addon + * are then accessible via `module.exports`. + * + * The example below shows how to load a C++ Addon, named `local.node`, that exports a `foo` function. All the symbols are loaded before the call returns, by passing the `RTLD_NOW` constant. + * In this example the constant is assumed to be available. + * + * ```js + * import { dlopen } from 'node:process'; + * import { constants } from 'node:os'; + * import { fileURLToPath } from 'node:url'; + * + * const module = { exports: {} }; + * dlopen(module, fileURLToPath(new URL('local.node', import.meta.url)), + * constants.dlopen.RTLD_NOW); + * module.exports.foo(); + * ``` + */ + dlopen(module: object, filename: string, flags?: number): void; + /** + * The `process.emitWarning()` method can be used to emit custom or application + * specific process warnings. These can be listened for by adding a handler to the `'warning'` event. + * + * ```js + * import { emitWarning } from 'node:process'; + * + * // Emit a warning using a string. + * emitWarning('Something happened!'); + * // Emits: (node: 56338) Warning: Something happened! + * ``` + * + * ```js + * import { emitWarning } from 'node:process'; + * + * // Emit a warning using a string and a type. + * emitWarning('Something Happened!', 'CustomWarning'); + * // Emits: (node:56338) CustomWarning: Something Happened! + * ``` + * + * ```js + * import { emitWarning } from 'node:process'; + * + * emitWarning('Something happened!', 'CustomWarning', 'WARN001'); + * // Emits: (node:56338) [WARN001] CustomWarning: Something happened! + * ```js + * + * In each of the previous examples, an `Error` object is generated internally by `process.emitWarning()` and passed through to the `'warning'` handler. + * + * ```js + * import process from 'node:process'; + * + * process.on('warning', (warning) => { + * console.warn(warning.name); // 'Warning' + * console.warn(warning.message); // 'Something happened!' + * console.warn(warning.code); // 'MY_WARNING' + * console.warn(warning.stack); // Stack trace + * console.warn(warning.detail); // 'This is some additional information' + * }); + * ``` + * + * If `warning` is passed as an `Error` object, it will be passed through to the `'warning'` event handler + * unmodified (and the optional `type`, `code` and `ctor` arguments will be ignored): + * + * ```js + * import { emitWarning } from 'node:process'; + * + * // Emit a warning using an Error object. + * const myWarning = new Error('Something happened!'); + * // Use the Error name property to specify the type name + * myWarning.name = 'CustomWarning'; + * myWarning.code = 'WARN001'; + * + * emitWarning(myWarning); + * // Emits: (node:56338) [WARN001] CustomWarning: Something happened! + * ``` + * + * A `TypeError` is thrown if `warning` is anything other than a string or `Error` object. + * + * While process warnings use `Error` objects, the process warning mechanism is not a replacement for normal error handling mechanisms. + * + * The following additional handling is implemented if the warning `type` is `'DeprecationWarning'`: + * * If the `--throw-deprecation` command-line flag is used, the deprecation warning is thrown as an exception rather than being emitted as an event. + * * If the `--no-deprecation` command-line flag is used, the deprecation warning is suppressed. + * * If the `--trace-deprecation` command-line flag is used, the deprecation warning is printed to `stderr` along with the full stack trace. + * @since v8.0.0 + * @param warning The warning to emit. + */ + emitWarning(warning: string | Error, ctor?: Function): void; + emitWarning(warning: string | Error, type?: string, ctor?: Function): void; + emitWarning(warning: string | Error, type?: string, code?: string, ctor?: Function): void; + emitWarning(warning: string | Error, options?: EmitWarningOptions): void; + /** + * The `process.env` property returns an object containing the user environment. + * See [`environ(7)`](http://man7.org/linux/man-pages/man7/environ.7.html). + * + * An example of this object looks like: + * + * ```js + * { + * TERM: 'xterm-256color', + * SHELL: '/usr/local/bin/bash', + * USER: 'maciej', + * PATH: '~/.bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin', + * PWD: '/Users/maciej', + * EDITOR: 'vim', + * SHLVL: '1', + * HOME: '/Users/maciej', + * LOGNAME: 'maciej', + * _: '/usr/local/bin/node' + * } + * ``` + * + * It is possible to modify this object, but such modifications will not be + * reflected outside the Node.js process, or (unless explicitly requested) + * to other `Worker` threads. + * In other words, the following example would not work: + * + * ```bash + * node -e 'process.env.foo = "bar"' && echo $foo + * ``` + * + * While the following will: + * + * ```js + * import { env } from 'node:process'; + * + * env.foo = 'bar'; + * console.log(env.foo); + * ``` + * + * Assigning a property on `process.env` will implicitly convert the value + * to a string. **This behavior is deprecated.** Future versions of Node.js may + * throw an error when the value is not a string, number, or boolean. + * + * ```js + * import { env } from 'node:process'; + * + * env.test = null; + * console.log(env.test); + * // => 'null' + * env.test = undefined; + * console.log(env.test); + * // => 'undefined' + * ``` + * + * Use `delete` to delete a property from `process.env`. + * + * ```js + * import { env } from 'node:process'; + * + * env.TEST = 1; + * delete env.TEST; + * console.log(env.TEST); + * // => undefined + * ``` + * + * On Windows operating systems, environment variables are case-insensitive. + * + * ```js + * import { env } from 'node:process'; + * + * env.TEST = 1; + * console.log(env.test); + * // => 1 + * ``` + * + * Unless explicitly specified when creating a `Worker` instance, + * each `Worker` thread has its own copy of `process.env`, based on its + * parent thread's `process.env`, or whatever was specified as the `env` option + * to the `Worker` constructor. Changes to `process.env` will not be visible + * across `Worker` threads, and only the main thread can make changes that + * are visible to the operating system or to native add-ons. On Windows, a copy of `process.env` on a `Worker` instance operates in a case-sensitive manner + * unlike the main thread. + * @since v0.1.27 + */ + env: ProcessEnv; + /** + * The `process.exit()` method instructs Node.js to terminate the process + * synchronously with an exit status of `code`. If `code` is omitted, exit uses + * either the 'success' code `0` or the value of `process.exitCode` if it has been + * set. Node.js will not terminate until all the `'exit'` event listeners are + * called. + * + * To exit with a 'failure' code: + * + * ```js + * import { exit } from 'node:process'; + * + * exit(1); + * ``` + * + * The shell that executed Node.js should see the exit code as `1`. + * + * Calling `process.exit()` will force the process to exit as quickly as possible + * even if there are still asynchronous operations pending that have not yet + * completed fully, including I/O operations to `process.stdout` and `process.stderr`. + * + * In most situations, it is not actually necessary to call `process.exit()` explicitly. The Node.js process will exit on its own _if there is no additional_ + * _work pending_ in the event loop. The `process.exitCode` property can be set to + * tell the process which exit code to use when the process exits gracefully. + * + * For instance, the following example illustrates a _misuse_ of the `process.exit()` method that could lead to data printed to stdout being + * truncated and lost: + * + * ```js + * import { exit } from 'node:process'; + * + * // This is an example of what *not* to do: + * if (someConditionNotMet()) { + * printUsageToStdout(); + * exit(1); + * } + * ``` + * + * The reason this is problematic is because writes to `process.stdout` in Node.js + * are sometimes _asynchronous_ and may occur over multiple ticks of the Node.js + * event loop. Calling `process.exit()`, however, forces the process to exit _before_ those additional writes to `stdout` can be performed. + * + * Rather than calling `process.exit()` directly, the code _should_ set the `process.exitCode` and allow the process to exit naturally by avoiding + * scheduling any additional work for the event loop: + * + * ```js + * import process from 'node:process'; + * + * // How to properly set the exit code while letting + * // the process exit gracefully. + * if (someConditionNotMet()) { + * printUsageToStdout(); + * process.exitCode = 1; + * } + * ``` + * + * If it is necessary to terminate the Node.js process due to an error condition, + * throwing an _uncaught_ error and allowing the process to terminate accordingly + * is safer than calling `process.exit()`. + * + * In `Worker` threads, this function stops the current thread rather + * than the current process. + * @since v0.1.13 + * @param [code=0] The exit code. For string type, only integer strings (e.g.,'1') are allowed. + */ + exit(code?: number | string | null): never; + /** + * A number which will be the process exit code, when the process either + * exits gracefully, or is exited via {@link exit} without specifying + * a code. + * + * Specifying a code to {@link exit} will override any + * previous setting of `process.exitCode`. + * @default undefined + * @since v0.11.8 + */ + exitCode: number | string | null | undefined; + finalization: { + /** + * This function registers a callback to be called when the process emits the `exit` event if the `ref` object was not garbage collected. + * If the object `ref` was garbage collected before the `exit` event is emitted, the callback will be removed from the finalization registry, and it will not be called on process exit. + * + * Inside the callback you can release the resources allocated by the `ref` object. + * Be aware that all limitations applied to the `beforeExit` event are also applied to the callback function, + * this means that there is a possibility that the callback will not be called under special circumstances. + * + * The idea of ​​this function is to help you free up resources when the starts process exiting, but also let the object be garbage collected if it is no longer being used. + * @param ref The reference to the resource that is being tracked. + * @param callback The callback function to be called when the resource is finalized. + * @since v22.5.0 + * @experimental + */ + register(ref: T, callback: (ref: T, event: "exit") => void): void; + /** + * This function behaves exactly like the `register`, except that the callback will be called when the process emits the `beforeExit` event if `ref` object was not garbage collected. + * + * Be aware that all limitations applied to the `beforeExit` event are also applied to the callback function, this means that there is a possibility that the callback will not be called under special circumstances. + * @param ref The reference to the resource that is being tracked. + * @param callback The callback function to be called when the resource is finalized. + * @since v22.5.0 + * @experimental + */ + registerBeforeExit(ref: T, callback: (ref: T, event: "beforeExit") => void): void; + /** + * This function remove the register of the object from the finalization registry, so the callback will not be called anymore. + * @param ref The reference to the resource that was registered previously. + * @since v22.5.0 + * @experimental + */ + unregister(ref: object): void; + }; + /** + * The `process.getActiveResourcesInfo()` method returns an array of strings containing + * the types of the active resources that are currently keeping the event loop alive. + * + * ```js + * import { getActiveResourcesInfo } from 'node:process'; + * import { setTimeout } from 'node:timers'; + + * console.log('Before:', getActiveResourcesInfo()); + * setTimeout(() => {}, 1000); + * console.log('After:', getActiveResourcesInfo()); + * // Prints: + * // Before: [ 'TTYWrap', 'TTYWrap', 'TTYWrap' ] + * // After: [ 'TTYWrap', 'TTYWrap', 'TTYWrap', 'Timeout' ] + * ``` + * @since v17.3.0, v16.14.0 + */ + getActiveResourcesInfo(): string[]; + /** + * Provides a way to load built-in modules in a globally available function. + * @param id ID of the built-in module being requested. + */ + getBuiltinModule(id: ID): BuiltInModule[ID]; + getBuiltinModule(id: string): object | undefined; + /** + * The `process.getgid()` method returns the numerical group identity of the + * process. (See [`getgid(2)`](http://man7.org/linux/man-pages/man2/getgid.2.html).) + * + * ```js + * import process from 'node:process'; + * + * if (process.getgid) { + * console.log(`Current gid: ${process.getgid()}`); + * } + * ``` + * + * This function is only available on POSIX platforms (i.e. not Windows or + * Android). + * @since v0.1.31 + */ + getgid?: () => number; + /** + * The `process.setgid()` method sets the group identity of the process. (See [`setgid(2)`](http://man7.org/linux/man-pages/man2/setgid.2.html).) The `id` can be passed as either a + * numeric ID or a group name + * string. If a group name is specified, this method blocks while resolving the + * associated numeric ID. + * + * ```js + * import process from 'node:process'; + * + * if (process.getgid && process.setgid) { + * console.log(`Current gid: ${process.getgid()}`); + * try { + * process.setgid(501); + * console.log(`New gid: ${process.getgid()}`); + * } catch (err) { + * console.log(`Failed to set gid: ${err}`); + * } + * } + * ``` + * + * This function is only available on POSIX platforms (i.e. not Windows or + * Android). + * This feature is not available in `Worker` threads. + * @since v0.1.31 + * @param id The group name or ID + */ + setgid?: (id: number | string) => void; + /** + * The `process.getuid()` method returns the numeric user identity of the process. + * (See [`getuid(2)`](http://man7.org/linux/man-pages/man2/getuid.2.html).) + * + * ```js + * import process from 'node:process'; + * + * if (process.getuid) { + * console.log(`Current uid: ${process.getuid()}`); + * } + * ``` + * + * This function is only available on POSIX platforms (i.e. not Windows or + * Android). + * @since v0.1.28 + */ + getuid?: () => number; + /** + * The `process.setuid(id)` method sets the user identity of the process. (See [`setuid(2)`](http://man7.org/linux/man-pages/man2/setuid.2.html).) The `id` can be passed as either a + * numeric ID or a username string. + * If a username is specified, the method blocks while resolving the associated + * numeric ID. + * + * ```js + * import process from 'node:process'; + * + * if (process.getuid && process.setuid) { + * console.log(`Current uid: ${process.getuid()}`); + * try { + * process.setuid(501); + * console.log(`New uid: ${process.getuid()}`); + * } catch (err) { + * console.log(`Failed to set uid: ${err}`); + * } + * } + * ``` + * + * This function is only available on POSIX platforms (i.e. not Windows or + * Android). + * This feature is not available in `Worker` threads. + * @since v0.1.28 + */ + setuid?: (id: number | string) => void; + /** + * The `process.geteuid()` method returns the numerical effective user identity of + * the process. (See [`geteuid(2)`](http://man7.org/linux/man-pages/man2/geteuid.2.html).) + * + * ```js + * import process from 'node:process'; + * + * if (process.geteuid) { + * console.log(`Current uid: ${process.geteuid()}`); + * } + * ``` + * + * This function is only available on POSIX platforms (i.e. not Windows or + * Android). + * @since v2.0.0 + */ + geteuid?: () => number; + /** + * The `process.seteuid()` method sets the effective user identity of the process. + * (See [`seteuid(2)`](http://man7.org/linux/man-pages/man2/seteuid.2.html).) The `id` can be passed as either a numeric ID or a username + * string. If a username is specified, the method blocks while resolving the + * associated numeric ID. + * + * ```js + * import process from 'node:process'; + * + * if (process.geteuid && process.seteuid) { + * console.log(`Current uid: ${process.geteuid()}`); + * try { + * process.seteuid(501); + * console.log(`New uid: ${process.geteuid()}`); + * } catch (err) { + * console.log(`Failed to set uid: ${err}`); + * } + * } + * ``` + * + * This function is only available on POSIX platforms (i.e. not Windows or + * Android). + * This feature is not available in `Worker` threads. + * @since v2.0.0 + * @param id A user name or ID + */ + seteuid?: (id: number | string) => void; + /** + * The `process.getegid()` method returns the numerical effective group identity + * of the Node.js process. (See [`getegid(2)`](http://man7.org/linux/man-pages/man2/getegid.2.html).) + * + * ```js + * import process from 'node:process'; + * + * if (process.getegid) { + * console.log(`Current gid: ${process.getegid()}`); + * } + * ``` + * + * This function is only available on POSIX platforms (i.e. not Windows or + * Android). + * @since v2.0.0 + */ + getegid?: () => number; + /** + * The `process.setegid()` method sets the effective group identity of the process. + * (See [`setegid(2)`](http://man7.org/linux/man-pages/man2/setegid.2.html).) The `id` can be passed as either a numeric ID or a group + * name string. If a group name is specified, this method blocks while resolving + * the associated a numeric ID. + * + * ```js + * import process from 'node:process'; + * + * if (process.getegid && process.setegid) { + * console.log(`Current gid: ${process.getegid()}`); + * try { + * process.setegid(501); + * console.log(`New gid: ${process.getegid()}`); + * } catch (err) { + * console.log(`Failed to set gid: ${err}`); + * } + * } + * ``` + * + * This function is only available on POSIX platforms (i.e. not Windows or + * Android). + * This feature is not available in `Worker` threads. + * @since v2.0.0 + * @param id A group name or ID + */ + setegid?: (id: number | string) => void; + /** + * The `process.getgroups()` method returns an array with the supplementary group + * IDs. POSIX leaves it unspecified if the effective group ID is included but + * Node.js ensures it always is. + * + * ```js + * import process from 'node:process'; + * + * if (process.getgroups) { + * console.log(process.getgroups()); // [ 16, 21, 297 ] + * } + * ``` + * + * This function is only available on POSIX platforms (i.e. not Windows or + * Android). + * @since v0.9.4 + */ + getgroups?: () => number[]; + /** + * The `process.setgroups()` method sets the supplementary group IDs for the + * Node.js process. This is a privileged operation that requires the Node.js + * process to have `root` or the `CAP_SETGID` capability. + * + * The `groups` array can contain numeric group IDs, group names, or both. + * + * ```js + * import process from 'node:process'; + * + * if (process.getgroups && process.setgroups) { + * try { + * process.setgroups([501]); + * console.log(process.getgroups()); // new groups + * } catch (err) { + * console.log(`Failed to set groups: ${err}`); + * } + * } + * ``` + * + * This function is only available on POSIX platforms (i.e. not Windows or + * Android). + * This feature is not available in `Worker` threads. + * @since v0.9.4 + */ + setgroups?: (groups: ReadonlyArray) => void; + /** + * The `process.setUncaughtExceptionCaptureCallback()` function sets a function + * that will be invoked when an uncaught exception occurs, which will receive the + * exception value itself as its first argument. + * + * If such a function is set, the `'uncaughtException'` event will + * not be emitted. If `--abort-on-uncaught-exception` was passed from the + * command line or set through `v8.setFlagsFromString()`, the process will + * not abort. Actions configured to take place on exceptions such as report + * generations will be affected too + * + * To unset the capture function, `process.setUncaughtExceptionCaptureCallback(null)` may be used. Calling this + * method with a non-`null` argument while another capture function is set will + * throw an error. + * + * To register multiple callbacks that can coexist, use + * `process.addUncaughtExceptionCaptureCallback()` instead. + * @since v9.3.0 + */ + // TODO: callback parameter should be `unknown` + setUncaughtExceptionCaptureCallback(cb: ((err: Error) => void) | null): void; + /** + * Indicates whether a callback has been set using {@link setUncaughtExceptionCaptureCallback}. + * @since v9.3.0 + */ + hasUncaughtExceptionCaptureCallback(): boolean; + /** + * The `process.sourceMapsEnabled` property returns whether the [Source Map v3](https://sourcemaps.info/spec.html) support for stack traces is enabled. + * @since v20.7.0 + * @experimental + */ + readonly sourceMapsEnabled: boolean; + /** + * This function enables or disables the [Source Map v3](https://sourcemaps.info/spec.html) support for + * stack traces. + * + * It provides same features as launching Node.js process with commandline options `--enable-source-maps`. + * + * Only source maps in JavaScript files that are loaded after source maps has been + * enabled will be parsed and loaded. + * @since v16.6.0, v14.18.0 + * @experimental + */ + setSourceMapsEnabled(value: boolean): void; + /** + * The `process.version` property contains the Node.js version string. + * + * ```js + * import { version } from 'node:process'; + * + * console.log(`Version: ${version}`); + * // Version: v14.8.0 + * ``` + * + * To get the version string without the prepended _v_, use`process.versions.node`. + * @since v0.1.3 + */ + readonly version: string; + /** + * The `process.versions` property returns an object listing the version strings of + * Node.js and its dependencies. `process.versions.modules` indicates the current + * ABI version, which is increased whenever a C++ API changes. Node.js will refuse + * to load modules that were compiled against a different module ABI version. + * + * ```js + * import { versions } from 'node:process'; + * + * console.log(versions); + * ``` + * + * Will generate an object similar to: + * + * ```console + * { node: '26.0.0-pre', + * acorn: '8.15.0', + * ada: '3.4.1', + * amaro: '1.1.5', + * ares: '1.34.6', + * brotli: '1.2.0', + * merve: '1.0.0', + * cldr: '48.0', + * icu: '78.2', + * llhttp: '9.3.0', + * modules: '144', + * napi: '10', + * nbytes: '0.1.1', + * ncrypto: '0.0.1', + * nghttp2: '1.68.0', + * nghttp3: '', + * ngtcp2: '', + * openssl: '3.5.4', + * simdjson: '4.2.4', + * simdutf: '7.3.3', + * sqlite: '3.51.2', + * tz: '2025c', + * undici: '7.18.2', + * unicode: '17.0', + * uv: '1.51.0', + * uvwasi: '0.0.23', + * v8: '14.3.127.18-node.10', + * zlib: '1.3.1-e00f703', + * zstd: '1.5.7' } + * ``` + * @since v0.2.0 + */ + readonly versions: ProcessVersions; + /** + * The `process.config` property returns a frozen `Object` containing the + * JavaScript representation of the configure options used to compile the current + * Node.js executable. This is the same as the `config.gypi` file that was produced + * when running the `./configure` script. + * + * An example of the possible output looks like: + * + * ```js + * { + * target_defaults: + * { cflags: [], + * default_configuration: 'Release', + * defines: [], + * include_dirs: [], + * libraries: [] }, + * variables: + * { + * host_arch: 'x64', + * napi_build_version: 5, + * node_install_npm: 'true', + * node_prefix: '', + * node_shared_cares: 'false', + * node_shared_http_parser: 'false', + * node_shared_libuv: 'false', + * node_shared_zlib: 'false', + * node_use_openssl: 'true', + * node_shared_openssl: 'false', + * strict_aliasing: 'true', + * target_arch: 'x64', + * v8_use_snapshot: 1 + * } + * } + * ``` + * @since v0.7.7 + */ + readonly config: ProcessConfig; + /** + * The `process.kill()` method sends the `signal` to the process identified by`pid`. + * + * Signal names are strings such as `'SIGINT'` or `'SIGHUP'`. See `Signal Events` and [`kill(2)`](http://man7.org/linux/man-pages/man2/kill.2.html) for more information. + * + * This method will throw an error if the target `pid` does not exist. As a special + * case, a signal of `0` can be used to test for the existence of a process. + * Windows platforms will throw an error if the `pid` is used to kill a process + * group. + * + * Even though the name of this function is `process.kill()`, it is really just a + * signal sender, like the `kill` system call. The signal sent may do something + * other than kill the target process. + * + * ```js + * import process, { kill } from 'node:process'; + * + * process.on('SIGHUP', () => { + * console.log('Got SIGHUP signal.'); + * }); + * + * setTimeout(() => { + * console.log('Exiting.'); + * process.exit(0); + * }, 100); + * + * kill(process.pid, 'SIGHUP'); + * ``` + * + * When `SIGUSR1` is received by a Node.js process, Node.js will start the + * debugger. See `Signal Events`. + * @since v0.0.6 + * @param pid A process ID + * @param [signal='SIGTERM'] The signal to send, either as a string or number. + */ + kill(pid: number, signal?: string | number): true; + /** + * Loads the environment configuration from a `.env` file into `process.env`. If + * the file is not found, error will be thrown. + * + * To load a specific .env file by specifying its path, use the following code: + * + * ```js + * import { loadEnvFile } from 'node:process'; + * + * loadEnvFile('./development.env') + * ``` + * @since v20.12.0 + * @param path The path to the .env file + */ + loadEnvFile(path?: PathLike): void; + /** + * The `process.pid` property returns the PID of the process. + * + * ```js + * import { pid } from 'node:process'; + * + * console.log(`This process is pid ${pid}`); + * ``` + * @since v0.1.15 + */ + readonly pid: number; + /** + * The `process.ppid` property returns the PID of the parent of the + * current process. + * + * ```js + * import { ppid } from 'node:process'; + * + * console.log(`The parent process is pid ${ppid}`); + * ``` + * @since v9.2.0, v8.10.0, v6.13.0 + */ + readonly ppid: number; + /** + * The `process.threadCpuUsage()` method returns the user and system CPU time usage of + * the current worker thread, in an object with properties `user` and `system`, whose + * values are microsecond values (millionth of a second). + * + * The result of a previous call to `process.threadCpuUsage()` can be passed as the + * argument to the function, to get a diff reading. + * @since v23.9.0 + * @param previousValue A previous return value from calling + * `process.threadCpuUsage()` + */ + threadCpuUsage(previousValue?: CpuUsage): CpuUsage; + /** + * The `process.title` property returns the current process title (i.e. returns + * the current value of `ps`). Assigning a new value to `process.title` modifies + * the current value of `ps`. + * + * When a new value is assigned, different platforms will impose different maximum + * length restrictions on the title. Usually such restrictions are quite limited. + * For instance, on Linux and macOS, `process.title` is limited to the size of the + * binary name plus the length of the command-line arguments because setting the `process.title` overwrites the `argv` memory of the process. Node.js v0.8 + * allowed for longer process title strings by also overwriting the `environ` memory but that was potentially insecure and confusing in some (rather obscure) + * cases. + * + * Assigning a value to `process.title` might not result in an accurate label + * within process manager applications such as macOS Activity Monitor or Windows + * Services Manager. + * @since v0.1.104 + */ + title: string; + /** + * The operating system CPU architecture for which the Node.js binary was compiled. + * Possible values are: `'arm'`, `'arm64'`, `'ia32'`, `'loong64'`, `'mips'`, + * `'mipsel'`, `'ppc64'`, `'riscv64'`, `'s390x'`, and `'x64'`. + * + * ```js + * import { arch } from 'node:process'; + * + * console.log(`This processor architecture is ${arch}`); + * ``` + * @since v0.5.0 + */ + readonly arch: Architecture; + /** + * The `process.platform` property returns a string identifying the operating + * system platform for which the Node.js binary was compiled. + * + * Currently possible values are: + * + * * `'aix'` + * * `'darwin'` + * * `'freebsd'` + * * `'linux'` + * * `'openbsd'` + * * `'sunos'` + * * `'win32'` + * + * ```js + * import { platform } from 'node:process'; + * + * console.log(`This platform is ${platform}`); + * ``` + * + * The value `'android'` may also be returned if the Node.js is built on the + * Android operating system. However, Android support in Node.js [is experimental](https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os). + * @since v0.1.16 + */ + readonly platform: Platform; + /** + * The `process.mainModule` property provides an alternative way of retrieving `require.main`. The difference is that if the main module changes at + * runtime, `require.main` may still refer to the original main module in + * modules that were required before the change occurred. Generally, it's + * safe to assume that the two refer to the same module. + * + * As with `require.main`, `process.mainModule` will be `undefined` if there + * is no entry script. + * @since v0.1.17 + * @deprecated Since v14.0.0 - Use `main` instead. + */ + mainModule?: Module; + memoryUsage: MemoryUsageFn; + /** + * Gets the amount of memory available to the process (in bytes) based on + * limits imposed by the OS. If there is no such constraint, or the constraint + * is unknown, `0` is returned. + * + * See [`uv_get_constrained_memory`](https://docs.libuv.org/en/v1.x/misc.html#c.uv_get_constrained_memory) for more + * information. + * @since v19.6.0, v18.15.0 + */ + constrainedMemory(): number; + /** + * Gets the amount of free memory that is still available to the process (in bytes). + * See [`uv_get_available_memory`](https://nodejs.org/docs/latest-v25.x/api/process.html#processavailablememory) for more information. + * @since v20.13.0 + */ + availableMemory(): number; + /** + * The `process.cpuUsage()` method returns the user and system CPU time usage of + * the current process, in an object with properties `user` and `system`, whose + * values are microsecond values (millionth of a second). These values measure time + * spent in user and system code respectively, and may end up being greater than + * actual elapsed time if multiple CPU cores are performing work for this process. + * + * The result of a previous call to `process.cpuUsage()` can be passed as the + * argument to the function, to get a diff reading. + * + * ```js + * import { cpuUsage } from 'node:process'; + * + * const startUsage = cpuUsage(); + * // { user: 38579, system: 6986 } + * + * // spin the CPU for 500 milliseconds + * const now = Date.now(); + * while (Date.now() - now < 500); + * + * console.log(cpuUsage(startUsage)); + * // { user: 514883, system: 11226 } + * ``` + * @since v6.1.0 + * @param previousValue A previous return value from calling `process.cpuUsage()` + */ + cpuUsage(previousValue?: CpuUsage): CpuUsage; + /** + * `process.nextTick()` adds `callback` to the "next tick queue". This queue is + * fully drained after the current operation on the JavaScript stack runs to + * completion and before the event loop is allowed to continue. It's possible to + * create an infinite loop if one were to recursively call `process.nextTick()`. + * See the [Event Loop](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#process-nexttick) guide for more background. + * + * ```js + * import { nextTick } from 'node:process'; + * + * console.log('start'); + * nextTick(() => { + * console.log('nextTick callback'); + * }); + * console.log('scheduled'); + * // Output: + * // start + * // scheduled + * // nextTick callback + * ``` + * + * This is important when developing APIs in order to give users the opportunity + * to assign event handlers _after_ an object has been constructed but before any + * I/O has occurred: + * + * ```js + * import { nextTick } from 'node:process'; + * + * function MyThing(options) { + * this.setupOptions(options); + * + * nextTick(() => { + * this.startDoingStuff(); + * }); + * } + * + * const thing = new MyThing(); + * thing.getReadyForStuff(); + * + * // thing.startDoingStuff() gets called now, not before. + * ``` + * + * It is very important for APIs to be either 100% synchronous or 100% + * asynchronous. Consider this example: + * + * ```js + * // WARNING! DO NOT USE! BAD UNSAFE HAZARD! + * function maybeSync(arg, cb) { + * if (arg) { + * cb(); + * return; + * } + * + * fs.stat('file', cb); + * } + * ``` + * + * This API is hazardous because in the following case: + * + * ```js + * const maybeTrue = Math.random() > 0.5; + * + * maybeSync(maybeTrue, () => { + * foo(); + * }); + * + * bar(); + * ``` + * + * It is not clear whether `foo()` or `bar()` will be called first. + * + * The following approach is much better: + * + * ```js + * import { nextTick } from 'node:process'; + * + * function definitelyAsync(arg, cb) { + * if (arg) { + * nextTick(cb); + * return; + * } + * + * fs.stat('file', cb); + * } + * ``` + * @since v0.1.26 + * @param args Additional arguments to pass when invoking the `callback` + */ + nextTick(callback: Function, ...args: any[]): void; + /** + * The process.noDeprecation property indicates whether the --no-deprecation flag is set on the current Node.js process. + * See the documentation for the ['warning' event](https://nodejs.org/docs/latest/api/process.html#event-warning) and the [emitWarning()](https://nodejs.org/docs/latest/api/process.html#processemitwarningwarning-type-code-ctor) method for more information about this flag's behavior. + */ + noDeprecation?: boolean; + /** + * This API is available through the [--permission](https://nodejs.org/api/cli.html#--permission) flag. + * + * `process.permission` is an object whose methods are used to manage permissions for the current process. + * Additional documentation is available in the [Permission Model](https://nodejs.org/api/permissions.html#permission-model). + * @since v20.0.0 + */ + permission: ProcessPermission; + /** + * The `process.release` property returns an `Object` containing metadata related + * to the current release, including URLs for the source tarball and headers-only + * tarball. + * + * `process.release` contains the following properties: + * + * ```js + * { + * name: 'node', + * lts: 'Hydrogen', + * sourceUrl: 'https://nodejs.org/download/release/v18.12.0/node-v18.12.0.tar.gz', + * headersUrl: 'https://nodejs.org/download/release/v18.12.0/node-v18.12.0-headers.tar.gz', + * libUrl: 'https://nodejs.org/download/release/v18.12.0/win-x64/node.lib' + * } + * ``` + * + * In custom builds from non-release versions of the source tree, only the `name` property may be present. The additional properties should not be + * relied upon to exist. + * @since v3.0.0 + */ + readonly release: ProcessRelease; + readonly features: ProcessFeatures; + /** + * The `process.traceProcessWarnings` property indicates whether the `--trace-warnings` flag + * is set on the current Node.js process. This property allows programmatic control over the + * tracing of warnings, enabling or disabling stack traces for warnings at runtime. + * + * ```js + * // Enable trace warnings + * process.traceProcessWarnings = true; + * + * // Emit a warning with a stack trace + * process.emitWarning('Warning with stack trace'); + * + * // Disable trace warnings + * process.traceProcessWarnings = false; + * ``` + * @since v6.10.0 + */ + traceProcessWarnings: boolean; + /** + * `process.umask()` returns the Node.js process's file mode creation mask. Child + * processes inherit the mask from the parent process. + * @since v0.1.19 + * @deprecated Calling `process.umask()` with no argument causes the process-wide umask to be written twice. This introduces a race condition between threads, and is a potential + * security vulnerability. There is no safe, cross-platform alternative API. + */ + umask(): number; + /** + * Can only be set if not in worker thread. + */ + umask(mask: string | number): number; + /** + * The `process.uptime()` method returns the number of seconds the current Node.js + * process has been running. + * + * The return value includes fractions of a second. Use `Math.floor()` to get whole + * seconds. + * @since v0.5.0 + */ + uptime(): number; + hrtime: HRTime; + /** + * If the Node.js process was spawned with an IPC channel, the process.channel property is a reference to the IPC channel. + * If no IPC channel exists, this property is undefined. + * @since v7.1.0 + */ + channel?: Control; + /** + * If Node.js is spawned with an IPC channel, the `process.send()` method can be + * used to send messages to the parent process. Messages will be received as a `'message'` event on the parent's `ChildProcess` object. + * + * If Node.js was not spawned with an IPC channel, `process.send` will be `undefined`. + * + * The message goes through serialization and parsing. The resulting message might + * not be the same as what is originally sent. + * @since v0.5.9 + * @param options used to parameterize the sending of certain types of handles. `options` supports the following properties: + */ + send?( + message: any, + sendHandle?: SendHandle, + options?: MessageOptions, + callback?: (error: Error | null) => void, + ): boolean; + send?( + message: any, + sendHandle: SendHandle, + callback?: (error: Error | null) => void, + ): boolean; + send?( + message: any, + callback: (error: Error | null) => void, + ): boolean; + /** + * If the Node.js process is spawned with an IPC channel (see the `Child Process` and `Cluster` documentation), the `process.disconnect()` method will close the + * IPC channel to the parent process, allowing the child process to exit gracefully + * once there are no other connections keeping it alive. + * + * The effect of calling `process.disconnect()` is the same as calling `ChildProcess.disconnect()` from the parent process. + * + * If the Node.js process was not spawned with an IPC channel, `process.disconnect()` will be `undefined`. + * @since v0.7.2 + */ + disconnect?(): void; + /** + * If the Node.js process is spawned with an IPC channel (see the `Child Process` and `Cluster` documentation), the `process.connected` property will return `true` so long as the IPC + * channel is connected and will return `false` after `process.disconnect()` is called. + * + * Once `process.connected` is `false`, it is no longer possible to send messages + * over the IPC channel using `process.send()`. + * @since v0.7.2 + */ + connected: boolean; + /** + * The `process.allowedNodeEnvironmentFlags` property is a special, + * read-only `Set` of flags allowable within the `NODE_OPTIONS` environment variable. + * + * `process.allowedNodeEnvironmentFlags` extends `Set`, but overrides `Set.prototype.has` to recognize several different possible flag + * representations. `process.allowedNodeEnvironmentFlags.has()` will + * return `true` in the following cases: + * + * * Flags may omit leading single (`-`) or double (`--`) dashes; e.g., `inspect-brk` for `--inspect-brk`, or `r` for `-r`. + * * Flags passed through to V8 (as listed in `--v8-options`) may replace + * one or more _non-leading_ dashes for an underscore, or vice-versa; + * e.g., `--perf_basic_prof`, `--perf-basic-prof`, `--perf_basic-prof`, + * etc. + * * Flags may contain one or more equals (`=`) characters; all + * characters after and including the first equals will be ignored; + * e.g., `--stack-trace-limit=100`. + * * Flags _must_ be allowable within `NODE_OPTIONS`. + * + * When iterating over `process.allowedNodeEnvironmentFlags`, flags will + * appear only _once_; each will begin with one or more dashes. Flags + * passed through to V8 will contain underscores instead of non-leading + * dashes: + * + * ```js + * import { allowedNodeEnvironmentFlags } from 'node:process'; + * + * allowedNodeEnvironmentFlags.forEach((flag) => { + * // -r + * // --inspect-brk + * // --abort_on_uncaught_exception + * // ... + * }); + * ``` + * + * The methods `add()`, `clear()`, and `delete()` of`process.allowedNodeEnvironmentFlags` do nothing, and will fail + * silently. + * + * If Node.js was compiled _without_ `NODE_OPTIONS` support (shown in {@link config}), `process.allowedNodeEnvironmentFlags` will + * contain what _would have_ been allowable. + * @since v10.10.0 + */ + allowedNodeEnvironmentFlags: ReadonlySet; + /** + * `process.report` is an object whose methods are used to generate diagnostic reports for the current process. + * Additional documentation is available in the [report documentation](https://nodejs.org/docs/latest-v25.x/api/report.html). + * @since v11.8.0 + */ + report: ProcessReport; + /** + * ```js + * import { resourceUsage } from 'node:process'; + * + * console.log(resourceUsage()); + * /* + * Will output: + * { + * userCPUTime: 82872, + * systemCPUTime: 4143, + * maxRSS: 33164, + * sharedMemorySize: 0, + * unsharedDataSize: 0, + * unsharedStackSize: 0, + * minorPageFault: 2469, + * majorPageFault: 0, + * swappedOut: 0, + * fsRead: 0, + * fsWrite: 8, + * ipcSent: 0, + * ipcReceived: 0, + * signalsCount: 0, + * voluntaryContextSwitches: 79, + * involuntaryContextSwitches: 1 + * } + * + * ``` + * @since v12.6.0 + * @return the resource usage for the current process. All of these values come from the `uv_getrusage` call which returns a [`uv_rusage_t` struct][uv_rusage_t]. + */ + resourceUsage(): ResourceUsage; + /** + * The initial value of `process.throwDeprecation` indicates whether the `--throw-deprecation` flag is set on the current Node.js process. `process.throwDeprecation` + * is mutable, so whether or not deprecation warnings result in errors may be altered at runtime. See the documentation for the 'warning' event and the emitWarning() + * method for more information. + * + * ```bash + * $ node --throw-deprecation -p "process.throwDeprecation" + * true + * $ node -p "process.throwDeprecation" + * undefined + * $ node + * > process.emitWarning('test', 'DeprecationWarning'); + * undefined + * > (node:26598) DeprecationWarning: test + * > process.throwDeprecation = true; + * true + * > process.emitWarning('test', 'DeprecationWarning'); + * Thrown: + * [DeprecationWarning: test] { name: 'DeprecationWarning' } + * ``` + * @since v0.9.12 + */ + throwDeprecation: boolean; + /** + * The `process.traceDeprecation` property indicates whether the `--trace-deprecation` flag is set on the current Node.js process. See the + * documentation for the `'warning' event` and the `emitWarning() method` for more information about this + * flag's behavior. + * @since v0.8.0 + */ + traceDeprecation: boolean; + /** + * An object is "refable" if it implements the Node.js "Refable protocol". + * Specifically, this means that the object implements the `Symbol.for('nodejs.ref')` + * and `Symbol.for('nodejs.unref')` methods. "Ref'd" objects will keep the Node.js + * event loop alive, while "unref'd" objects will not. Historically, this was + * implemented by using `ref()` and `unref()` methods directly on the objects. + * This pattern, however, is being deprecated in favor of the "Refable protocol" + * in order to better support Web Platform API types whose APIs cannot be modified + * to add `ref()` and `unref()` methods but still need to support that behavior. + * @since v22.14.0 + * @experimental + * @param maybeRefable An object that may be "refable". + */ + ref(maybeRefable: any): void; + /** + * An object is "unrefable" if it implements the Node.js "Refable protocol". + * Specifically, this means that the object implements the `Symbol.for('nodejs.ref')` + * and `Symbol.for('nodejs.unref')` methods. "Ref'd" objects will keep the Node.js + * event loop alive, while "unref'd" objects will not. Historically, this was + * implemented by using `ref()` and `unref()` methods directly on the objects. + * This pattern, however, is being deprecated in favor of the "Refable protocol" + * in order to better support Web Platform API types whose APIs cannot be modified + * to add `ref()` and `unref()` methods but still need to support that behavior. + * @since v22.14.0 + * @experimental + * @param maybeRefable An object that may be "unref'd". + */ + unref(maybeRefable: any): void; + /** + * Replaces the current process with a new process. + * + * This is achieved by using the `execve` POSIX function and therefore no memory or other + * resources from the current process are preserved, except for the standard input, + * standard output and standard error file descriptor. + * + * All other resources are discarded by the system when the processes are swapped, without triggering + * any exit or close events and without running any cleanup handler. + * + * This function will never return, unless an error occurred. + * + * This function is not available on Windows or IBM i. + * @since v22.15.0 + * @experimental + * @param file The name or path of the executable file to run. + * @param args List of string arguments. No argument can contain a null-byte (`\u0000`). + * @param env Environment key-value pairs. + * No key or value can contain a null-byte (`\u0000`). + * **Default:** `process.env`. + */ + execve?(file: string, args?: readonly string[], env?: ProcessEnv): never; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: ProcessEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: ProcessEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: ProcessEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: ProcessEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: ProcessEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: ProcessEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: ProcessEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: ProcessEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: ProcessEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: ProcessEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: ProcessEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + } + } + export = process; +} +declare module "process" { + import process = require("node:process"); + 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..87fdec9 --- /dev/null +++ b/node_modules/@types/node/punycode.d.ts @@ -0,0 +1,89 @@ +declare module "node:punycode" { + /** + * The `punycode.decode()` method converts a [Punycode](https://tools.ietf.org/html/rfc3492) string of ASCII-only + * characters to the equivalent string of Unicode codepoints. + * + * ```js + * punycode.decode('maana-pta'); // 'mañana' + * punycode.decode('--dqo34k'); // '☃-⌘' + * ``` + * @since v0.5.1 + */ + function decode(string: string): string; + /** + * The `punycode.encode()` method converts a string of Unicode codepoints to a [Punycode](https://tools.ietf.org/html/rfc3492) string of ASCII-only characters. + * + * ```js + * punycode.encode('mañana'); // 'maana-pta' + * punycode.encode('☃-⌘'); // '--dqo34k' + * ``` + * @since v0.5.1 + */ + function encode(string: string): string; + /** + * The `punycode.toUnicode()` method converts a string representing a domain name + * containing [Punycode](https://tools.ietf.org/html/rfc3492) encoded characters into Unicode. Only the [Punycode](https://tools.ietf.org/html/rfc3492) encoded parts of the domain name are be + * converted. + * + * ```js + * // decode domain names + * punycode.toUnicode('xn--maana-pta.com'); // 'mañana.com' + * punycode.toUnicode('xn----dqo34k.com'); // '☃-⌘.com' + * punycode.toUnicode('example.com'); // 'example.com' + * ``` + * @since v0.6.1 + */ + function toUnicode(domain: string): string; + /** + * The `punycode.toASCII()` method converts a Unicode string representing an + * Internationalized Domain Name to [Punycode](https://tools.ietf.org/html/rfc3492). Only the non-ASCII parts of the + * domain name will be converted. Calling `punycode.toASCII()` on a string that + * already only contains ASCII characters will have no effect. + * + * ```js + * // encode domain names + * punycode.toASCII('mañana.com'); // 'xn--maana-pta.com' + * punycode.toASCII('☃-⌘.com'); // 'xn----dqo34k.com' + * punycode.toASCII('example.com'); // 'example.com' + * ``` + * @since v0.6.1 + */ + function toASCII(domain: string): string; + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + const ucs2: ucs2; + interface ucs2 { + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + decode(string: string): number[]; + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + encode(codePoints: readonly number[]): string; + } + /** + * @deprecated since v7.0.0 + * The version of the punycode module bundled in Node.js is being deprecated. + * In a future major version of Node.js this module will be removed. + * Users currently depending on the punycode module should switch to using + * the userland-provided Punycode.js module instead. + */ + const version: string; +} +declare module "punycode" { + export * from "node:punycode"; +} diff --git a/node_modules/@types/node/querystring.d.ts b/node_modules/@types/node/querystring.d.ts new file mode 100644 index 0000000..6d821a4 --- /dev/null +++ b/node_modules/@types/node/querystring.d.ts @@ -0,0 +1,139 @@ +declare module "node:querystring" { + interface StringifyOptions { + /** + * The function to use when converting URL-unsafe characters to percent-encoding in the query string. + * @default `querystring.escape()` + */ + encodeURIComponent?: ((str: string) => string) | undefined; + } + interface ParseOptions { + /** + * Specifies the maximum number of keys to parse. Specify `0` to remove key counting limitations. + * @default 1000 + */ + maxKeys?: number | undefined; + /** + * The function to use when decoding percent-encoded characters in the query string. + * @default `querystring.unescape()` + */ + decodeURIComponent?: ((str: string) => string) | undefined; + } + interface ParsedUrlQuery extends NodeJS.Dict {} + interface ParsedUrlQueryInput extends + NodeJS.Dict< + | string + | number + | boolean + | bigint + | ReadonlyArray + | null + > + {} + /** + * The `querystring.stringify()` method produces a URL query string from a + * given `obj` by iterating through the object's "own properties". + * + * It serializes the following types of values passed in `obj`: [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type) | + * [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type) | + * [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) | + * [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) | + * [string\[\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type) | + * [number\[\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type) | + * [bigint\[\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) | + * [boolean\[\]](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type) The numeric values must be finite. Any other input values will be coerced to + * empty strings. + * + * ```js + * querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' }); + * // Returns 'foo=bar&baz=qux&baz=quux&corge=' + * + * querystring.stringify({ foo: 'bar', baz: 'qux' }, ';', ':'); + * // Returns 'foo:bar;baz:qux' + * ``` + * + * By default, characters requiring percent-encoding within the query string will + * be encoded as UTF-8\. If an alternative encoding is required, then an alternative `encodeURIComponent` option will need to be specified: + * + * ```js + * // Assuming gbkEncodeURIComponent function already exists, + * + * querystring.stringify({ w: '中文', foo: 'bar' }, null, null, + * { encodeURIComponent: gbkEncodeURIComponent }); + * ``` + * @since v0.1.25 + * @param obj The object to serialize into a URL query string + * @param [sep='&'] The substring used to delimit key and value pairs in the query string. + * @param [eq='='] . The substring used to delimit keys and values in the query string. + */ + function stringify(obj?: ParsedUrlQueryInput, sep?: string, eq?: string, options?: StringifyOptions): string; + /** + * The `querystring.parse()` method parses a URL query string (`str`) into a + * collection of key and value pairs. + * + * For example, the query string `'foo=bar&abc=xyz&abc=123'` is parsed into: + * + * ```json + * { + * "foo": "bar", + * "abc": ["xyz", "123"] + * } + * ``` + * + * The object returned by the `querystring.parse()` method _does not_ prototypically inherit from the JavaScript `Object`. This means that typical `Object` methods such as `obj.toString()`, + * `obj.hasOwnProperty()`, and others + * are not defined and _will not work_. + * + * By default, percent-encoded characters within the query string will be assumed + * to use UTF-8 encoding. If an alternative character encoding is used, then an + * alternative `decodeURIComponent` option will need to be specified: + * + * ```js + * // Assuming gbkDecodeURIComponent function already exists... + * + * querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null, + * { decodeURIComponent: gbkDecodeURIComponent }); + * ``` + * @since v0.1.25 + * @param str The URL query string to parse + * @param [sep='&'] The substring used to delimit key and value pairs in the query string. + * @param [eq='='] The substring used to delimit keys and values in the query 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; + /** + * The `querystring.escape()` method performs URL percent-encoding on the given `str` in a manner that is optimized for the specific requirements of URL + * query strings. + * + * The `querystring.escape()` method is used by `querystring.stringify()` and is + * generally not expected to be used directly. It is exported primarily to allow + * application code to provide a replacement percent-encoding implementation if + * necessary by assigning `querystring.escape` to an alternative function. + * @since v0.1.25 + */ + function escape(str: string): string; + /** + * The `querystring.unescape()` method performs decoding of URL percent-encoded + * characters on the given `str`. + * + * The `querystring.unescape()` method is used by `querystring.parse()` and is + * generally not expected to be used directly. It is exported primarily to allow + * application code to provide a replacement decoding implementation if + * necessary by assigning `querystring.unescape` to an alternative function. + * + * By default, the `querystring.unescape()` method will attempt to use the + * JavaScript built-in `decodeURIComponent()` method to decode. If that fails, + * a safer equivalent that does not throw on malformed URLs will be used. + * @since v0.1.25 + */ + function unescape(str: string): string; +} +declare module "querystring" { + export * from "node:querystring"; +} diff --git a/node_modules/@types/node/quic.d.ts b/node_modules/@types/node/quic.d.ts new file mode 100644 index 0000000..7143708 --- /dev/null +++ b/node_modules/@types/node/quic.d.ts @@ -0,0 +1,897 @@ +declare module "node:quic" { + import { KeyObject, webcrypto } from "node:crypto"; + import { SocketAddress } from "node:net"; + import { ReadableStream } from "node:stream/web"; + /** + * @since v23.8.0 + */ + type OnSessionCallback = (this: QuicEndpoint, session: QuicSession) => void; + /** + * @since v23.8.0 + */ + type OnStreamCallback = (this: QuicSession, stream: QuicStream) => void; + /** + * @since v23.8.0 + */ + type OnDatagramCallback = (this: QuicSession, datagram: Uint8Array, early: boolean) => void; + /** + * @since v23.8.0 + */ + type OnDatagramStatusCallback = (this: QuicSession, id: bigint, status: "lost" | "acknowledged") => void; + /** + * @since v23.8.0 + */ + type OnPathValidationCallback = ( + this: QuicSession, + result: "success" | "failure" | "aborted", + newLocalAddress: SocketAddress, + newRemoteAddress: SocketAddress, + oldLocalAddress: SocketAddress, + oldRemoteAddress: SocketAddress, + preferredAddress: boolean, + ) => void; + /** + * @since v23.8.0 + */ + type OnSessionTicketCallback = (this: QuicSession, ticket: object) => void; + /** + * @since v23.8.0 + */ + type OnVersionNegotiationCallback = ( + this: QuicSession, + version: number, + requestedVersions: number[], + supportedVersions: number[], + ) => void; + /** + * @since v23.8.0 + */ + type OnHandshakeCallback = ( + this: QuicSession, + sni: string, + alpn: string, + cipher: string, + cipherVersion: string, + validationErrorReason: string, + validationErrorCode: number, + earlyDataAccepted: boolean, + ) => void; + /** + * @since v23.8.0 + */ + type OnBlockedCallback = (this: QuicStream) => void; + /** + * @since v23.8.0 + */ + type OnStreamErrorCallback = (this: QuicStream, error: any) => void; + /** + * @since v23.8.0 + */ + interface TransportParams { + /** + * The preferred IPv4 address to advertise. + * @since v23.8.0 + */ + preferredAddressIpv4?: SocketAddress | undefined; + /** + * The preferred IPv6 address to advertise. + * @since v23.8.0 + */ + preferredAddressIpv6?: SocketAddress | undefined; + /** + * @since v23.8.0 + */ + initialMaxStreamDataBidiLocal?: bigint | number | undefined; + /** + * @since v23.8.0 + */ + initialMaxStreamDataBidiRemote?: bigint | number | undefined; + /** + * @since v23.8.0 + */ + initialMaxStreamDataUni?: bigint | number | undefined; + /** + * @since v23.8.0 + */ + initialMaxData?: bigint | number | undefined; + /** + * @since v23.8.0 + */ + initialMaxStreamsBidi?: bigint | number | undefined; + /** + * @since v23.8.0 + */ + initialMaxStreamsUni?: bigint | number | undefined; + /** + * @since v23.8.0 + */ + maxIdleTimeout?: bigint | number | undefined; + /** + * @since v23.8.0 + */ + activeConnectionIDLimit?: bigint | number | undefined; + /** + * @since v23.8.0 + */ + ackDelayExponent?: bigint | number | undefined; + /** + * @since v23.8.0 + */ + maxAckDelay?: bigint | number | undefined; + /** + * @since v23.8.0 + */ + maxDatagramFrameSize?: bigint | number | undefined; + } + /** + * @since v23.8.0 + */ + interface SessionOptions { + /** + * An endpoint to use. + * @since v23.8.0 + */ + endpoint?: EndpointOptions | QuicEndpoint | undefined; + /** + * The ALPN protocol identifier. + * @since v23.8.0 + */ + alpn?: string | undefined; + /** + * The CA certificates to use for sessions. + * @since v23.8.0 + */ + ca?: ArrayBuffer | NodeJS.ArrayBufferView | ReadonlyArray | undefined; + /** + * Specifies the congestion control algorithm that will be used. + * Must be set to one of either `'reno'`, `'cubic'`, or `'bbr'`. + * + * This is an advanced option that users typically won't have need to specify. + * @since v23.8.0 + */ + cc?: `${constants.cc}` | undefined; + /** + * The TLS certificates to use for sessions. + * @since v23.8.0 + */ + certs?: ArrayBuffer | NodeJS.ArrayBufferView | ReadonlyArray | undefined; + /** + * The list of supported TLS 1.3 cipher algorithms. + * @since v23.8.0 + */ + ciphers?: string | undefined; + /** + * The CRL to use for sessions. + * @since v23.8.0 + */ + crl?: ArrayBuffer | NodeJS.ArrayBufferView | ReadonlyArray | undefined; + /** + * The list of support TLS 1.3 cipher groups. + * @since v23.8.0 + */ + groups?: string | undefined; + /** + * True to enable TLS keylogging output. + * @since v23.8.0 + */ + keylog?: boolean | undefined; + /** + * The TLS crypto keys to use for sessions. + * @since v23.8.0 + */ + keys?: KeyObject | readonly KeyObject[] | undefined; + /** + * Specifies the maximum UDP packet payload size. + * @since v23.8.0 + */ + maxPayloadSize?: bigint | number | undefined; + /** + * Specifies the maximum stream flow-control window size. + * @since v23.8.0 + */ + maxStreamWindow?: bigint | number | undefined; + /** + * Specifies the maximum session flow-control window size. + * @since v23.8.0 + */ + maxWindow?: bigint | number | undefined; + /** + * The minimum QUIC version number to allow. This is an advanced option that users + * typically won't have need to specify. + * @since v23.8.0 + */ + minVersion?: number | undefined; + /** + * When the remote peer advertises a preferred address, this option specifies whether + * to use it or ignore it. + * @since v23.8.0 + */ + preferredAddressPolicy?: "use" | "ignore" | "default" | undefined; + /** + * True if qlog output should be enabled. + * @since v23.8.0 + */ + qlog?: boolean | undefined; + /** + * A session ticket to use for 0RTT session resumption. + * @since v23.8.0 + */ + sessionTicket?: NodeJS.ArrayBufferView | undefined; + /** + * Specifies the maximum number of milliseconds a TLS handshake is permitted to take + * to complete before timing out. + * @since v23.8.0 + */ + handshakeTimeout?: bigint | number | undefined; + /** + * The peer server name to target. + * @since v23.8.0 + */ + sni?: string | undefined; + /** + * True to enable TLS tracing output. + * @since v23.8.0 + */ + tlsTrace?: boolean | undefined; + /** + * The QUIC transport parameters to use for the session. + * @since v23.8.0 + */ + transportParams?: TransportParams | undefined; + /** + * Specifies the maximum number of unacknowledged packets a session should allow. + * @since v23.8.0 + */ + unacknowledgedPacketThreshold?: bigint | number | undefined; + /** + * True to require verification of TLS client certificate. + * @since v23.8.0 + */ + verifyClient?: boolean | undefined; + /** + * True to require private key verification. + * @since v23.8.0 + */ + verifyPrivateKey?: boolean | undefined; + /** + * The QUIC version number to use. This is an advanced option that users typically + * won't have need to specify. + * @since v23.8.0 + */ + version?: number | undefined; + } + /** + * Initiate a new client-side session. + * + * ```js + * import { connect } from 'node:quic'; + * import { Buffer } from 'node:buffer'; + * + * const enc = new TextEncoder(); + * const alpn = 'foo'; + * const client = await connect('123.123.123.123:8888', { alpn }); + * await client.createUnidirectionalStream({ + * body: enc.encode('hello world'), + * }); + * ``` + * + * By default, every call to `connect(...)` will create a new local + * `QuicEndpoint` instance bound to a new random local IP port. To + * specify the exact local address to use, or to multiplex multiple + * QUIC sessions over a single local port, pass the `endpoint` option + * with either a `QuicEndpoint` or `EndpointOptions` as the argument. + * + * ```js + * import { QuicEndpoint, connect } from 'node:quic'; + * + * const endpoint = new QuicEndpoint({ + * address: '127.0.0.1:1234', + * }); + * + * const client = await connect('123.123.123.123:8888', { endpoint }); + * ``` + * @since v23.8.0 + */ + function connect(address: string | SocketAddress, options?: SessionOptions): Promise; + /** + * Configures the endpoint to listen as a server. When a new session is initiated by + * a remote peer, the given `onsession` callback will be invoked with the created + * session. + * + * ```js + * import { listen } from 'node:quic'; + * + * const endpoint = await listen((session) => { + * // ... handle the session + * }); + * + * // Closing the endpoint allows any sessions open when close is called + * // to complete naturally while preventing new sessions from being + * // initiated. Once all existing sessions have finished, the endpoint + * // will be destroyed. The call returns a promise that is resolved once + * // the endpoint is destroyed. + * await endpoint.close(); + * ``` + * + * By default, every call to `listen(...)` will create a new local + * `QuicEndpoint` instance bound to a new random local IP port. To + * specify the exact local address to use, or to multiplex multiple + * QUIC sessions over a single local port, pass the `endpoint` option + * with either a `QuicEndpoint` or `EndpointOptions` as the argument. + * + * At most, any single `QuicEndpoint` can only be configured to listen as + * a server once. + * @since v23.8.0 + */ + function listen(onsession: OnSessionCallback, options?: SessionOptions): Promise; + /** + * The endpoint configuration options passed when constructing a new `QuicEndpoint` instance. + * @since v23.8.0 + */ + interface EndpointOptions { + /** + * If not specified the endpoint will bind to IPv4 `localhost` on a random port. + * @since v23.8.0 + */ + address?: SocketAddress | string | undefined; + /** + * The endpoint maintains an internal cache of validated socket addresses as a + * performance optimization. This option sets the maximum number of addresses + * that are cache. This is an advanced option that users typically won't have + * need to specify. + * @since v23.8.0 + */ + addressLRUSize?: bigint | number | undefined; + /** + * When `true`, indicates that the endpoint should bind only to IPv6 addresses. + * @since v23.8.0 + */ + ipv6Only?: boolean | undefined; + /** + * Specifies the maximum number of concurrent sessions allowed per remote peer address. + * @since v23.8.0 + */ + maxConnectionsPerHost?: bigint | number | undefined; + /** + * Specifies the maximum total number of concurrent sessions. + * @since v23.8.0 + */ + maxConnectionsTotal?: bigint | number | undefined; + /** + * Specifies the maximum number of QUIC retry attempts allowed per remote peer address. + * @since v23.8.0 + */ + maxRetries?: bigint | number | undefined; + /** + * Specifies the maximum number of stateless resets that are allowed per remote peer address. + * @since v23.8.0 + */ + maxStatelessResetsPerHost?: bigint | number | undefined; + /** + * Specifies the length of time a QUIC retry token is considered valid. + * @since v23.8.0 + */ + retryTokenExpiration?: bigint | number | undefined; + /** + * Specifies the 16-byte secret used to generate QUIC retry tokens. + * @since v23.8.0 + */ + resetTokenSecret?: NodeJS.ArrayBufferView | undefined; + /** + * Specifies the length of time a QUIC token is considered valid. + * @since v23.8.0 + */ + tokenExpiration?: bigint | number | undefined; + /** + * Specifies the 16-byte secret used to generate QUIC tokens. + * @since v23.8.0 + */ + tokenSecret?: NodeJS.ArrayBufferView | undefined; + /** + * @since v23.8.0 + */ + udpReceiveBufferSize?: number | undefined; + /** + * @since v23.8.0 + */ + udpSendBufferSize?: number | undefined; + /** + * @since v23.8.0 + */ + udpTTL?: number | undefined; + /** + * When `true`, requires that the endpoint validate peer addresses using retry packets + * while establishing a new connection. + * @since v23.8.0 + */ + validateAddress?: boolean | undefined; + } + /** + * A `QuicEndpoint` encapsulates the local UDP-port binding for QUIC. It can be + * used as both a client and a server. + * @since v23.8.0 + */ + class QuicEndpoint implements AsyncDisposable { + constructor(options?: EndpointOptions); + /** + * The local UDP socket address to which the endpoint is bound, if any. + * + * If the endpoint is not currently bound then the value will be `undefined`. Read only. + * @since v23.8.0 + */ + readonly address: SocketAddress | undefined; + /** + * When `endpoint.busy` is set to true, the endpoint will temporarily reject + * new sessions from being created. Read/write. + * + * ```js + * // Mark the endpoint busy. New sessions will be prevented. + * endpoint.busy = true; + * + * // Mark the endpoint free. New session will be allowed. + * endpoint.busy = false; + * ``` + * + * The `busy` property is useful when the endpoint is under heavy load and needs to + * temporarily reject new sessions while it catches up. + * @since v23.8.0 + */ + busy: boolean; + /** + * Gracefully close the endpoint. The endpoint will close and destroy itself when + * all currently open sessions close. Once called, new sessions will be rejected. + * + * Returns a promise that is fulfilled when the endpoint is destroyed. + * @since v23.8.0 + */ + close(): Promise; + /** + * A promise that is fulfilled when the endpoint is destroyed. This will be the same promise that is + * returned by the `endpoint.close()` function. Read only. + * @since v23.8.0 + */ + readonly closed: Promise; + /** + * True if `endpoint.close()` has been called and closing the endpoint has not yet completed. + * Read only. + * @since v23.8.0 + */ + readonly closing: boolean; + /** + * Forcefully closes the endpoint by forcing all open sessions to be immediately + * closed. + * @since v23.8.0 + */ + destroy(error?: any): void; + /** + * True if `endpoint.destroy()` has been called. Read only. + * @since v23.8.0 + */ + readonly destroyed: boolean; + /** + * The statistics collected for an active session. Read only. + * @since v23.8.0 + */ + readonly stats: QuicEndpoint.Stats; + /** + * Calls `endpoint.close()` and returns a promise that fulfills when the + * endpoint has closed. + * @since v23.8.0 + */ + [Symbol.asyncDispose](): Promise; + } + namespace QuicEndpoint { + /** + * A view of the collected statistics for an endpoint. + * @since v23.8.0 + */ + class Stats { + private constructor(); + /** + * A timestamp indicating the moment the endpoint was created. Read only. + * @since v23.8.0 + */ + readonly createdAt: bigint; + /** + * A timestamp indicating the moment the endpoint was destroyed. Read only. + * @since v23.8.0 + */ + readonly destroyedAt: bigint; + /** + * The total number of bytes received by this endpoint. Read only. + * @since v23.8.0 + */ + readonly bytesReceived: bigint; + /** + * The total number of bytes sent by this endpoint. Read only. + * @since v23.8.0 + */ + readonly bytesSent: bigint; + /** + * The total number of QUIC packets successfully received by this endpoint. Read only. + * @since v23.8.0 + */ + readonly packetsReceived: bigint; + /** + * The total number of QUIC packets successfully sent by this endpoint. Read only. + * @since v23.8.0 + */ + readonly packetsSent: bigint; + /** + * The total number of peer-initiated sessions received by this endpoint. Read only. + * @since v23.8.0 + */ + readonly serverSessions: bigint; + /** + * The total number of sessions initiated by this endpoint. Read only. + * @since v23.8.0 + */ + readonly clientSessions: bigint; + /** + * The total number of times an initial packet was rejected due to the + * endpoint being marked busy. Read only. + * @since v23.8.0 + */ + readonly serverBusyCount: bigint; + /** + * The total number of QUIC retry attempts on this endpoint. Read only. + * @since v23.8.0 + */ + readonly retryCount: bigint; + /** + * The total number sessions rejected due to QUIC version mismatch. Read only. + * @since v23.8.0 + */ + readonly versionNegotiationCount: bigint; + /** + * The total number of stateless resets handled by this endpoint. Read only. + * @since v23.8.0 + */ + readonly statelessResetCount: bigint; + /** + * The total number of sessions that were closed before handshake completed. Read only. + * @since v23.8.0 + */ + readonly immediateCloseCount: bigint; + } + } + interface CreateStreamOptions { + body?: ArrayBuffer | NodeJS.ArrayBufferView | Blob | undefined; + sendOrder?: number | undefined; + } + interface SessionPath { + local: SocketAddress; + remote: SocketAddress; + } + /** + * A `QuicSession` represents the local side of a QUIC connection. + * @since v23.8.0 + */ + class QuicSession implements AsyncDisposable { + private constructor(); + /** + * Initiate a graceful close of the session. Existing streams will be allowed + * to complete but no new streams will be opened. Once all streams have closed, + * the session will be destroyed. The returned promise will be fulfilled once + * the session has been destroyed. + * @since v23.8.0 + */ + close(): Promise; + /** + * A promise that is fulfilled once the session is destroyed. + * @since v23.8.0 + */ + readonly closed: Promise; + /** + * Immediately destroy the session. All streams will be destroys and the + * session will be closed. + * @since v23.8.0 + */ + destroy(error?: any): void; + /** + * True if `session.destroy()` has been called. Read only. + * @since v23.8.0 + */ + readonly destroyed: boolean; + /** + * The endpoint that created this session. Read only. + * @since v23.8.0 + */ + readonly endpoint: QuicEndpoint; + /** + * The callback to invoke when a new stream is initiated by a remote peer. Read/write. + * @since v23.8.0 + */ + onstream: OnStreamCallback | undefined; + /** + * The callback to invoke when a new datagram is received from a remote peer. Read/write. + * @since v23.8.0 + */ + ondatagram: OnDatagramCallback | undefined; + /** + * The callback to invoke when the status of a datagram is updated. Read/write. + * @since v23.8.0 + */ + ondatagramstatus: OnDatagramStatusCallback | undefined; + /** + * The callback to invoke when the path validation is updated. Read/write. + * @since v23.8.0 + */ + onpathvalidation: OnPathValidationCallback | undefined; + /** + * The callback to invoke when a new session ticket is received. Read/write. + * @since v23.8.0 + */ + onsessionticket: OnSessionTicketCallback | undefined; + /** + * The callback to invoke when a version negotiation is initiated. Read/write. + * @since v23.8.0 + */ + onversionnegotiation: OnVersionNegotiationCallback | undefined; + /** + * The callback to invoke when the TLS handshake is completed. Read/write. + * @since v23.8.0 + */ + onhandshake: OnHandshakeCallback | undefined; + /** + * Open a new bidirectional stream. If the `body` option is not specified, + * the outgoing stream will be half-closed. + * @since v23.8.0 + */ + createBidirectionalStream(options?: CreateStreamOptions): Promise; + /** + * Open a new unidirectional stream. If the `body` option is not specified, + * the outgoing stream will be closed. + * @since v23.8.0 + */ + createUnidirectionalStream(options?: CreateStreamOptions): Promise; + /** + * The local and remote socket addresses associated with the session. Read only. + * @since v23.8.0 + */ + path: SessionPath | undefined; + /** + * Sends an unreliable datagram to the remote peer, returning the datagram ID. + * If the datagram payload is specified as an `ArrayBufferView`, then ownership of + * that view will be transferred to the underlying stream. + * @since v23.8.0 + */ + sendDatagram(datagram: string | NodeJS.ArrayBufferView): bigint; + /** + * Return the current statistics for the session. Read only. + * @since v23.8.0 + */ + readonly stats: QuicSession.Stats; + /** + * Initiate a key update for the session. + * @since v23.8.0 + */ + updateKey(): void; + /** + * Calls `session.close()` and returns a promise that fulfills when the + * session has closed. + * @since v23.8.0 + */ + [Symbol.asyncDispose](): Promise; + } + namespace QuicSession { + /** + * @since v23.8.0 + */ + class Stats { + private constructor(); + /** + * @since v23.8.0 + */ + readonly createdAt: bigint; + /** + * @since v23.8.0 + */ + readonly closingAt: bigint; + /** + * @since v23.8.0 + */ + readonly handshakeCompletedAt: bigint; + /** + * @since v23.8.0 + */ + readonly handshakeConfirmedAt: bigint; + /** + * @since v23.8.0 + */ + readonly bytesReceived: bigint; + /** + * @since v23.8.0 + */ + readonly bytesSent: bigint; + /** + * @since v23.8.0 + */ + readonly bidiInStreamCount: bigint; + /** + * @since v23.8.0 + */ + readonly bidiOutStreamCount: bigint; + /** + * @since v23.8.0 + */ + readonly uniInStreamCount: bigint; + /** + * @since v23.8.0 + */ + readonly uniOutStreamCount: bigint; + /** + * @since v23.8.0 + */ + readonly maxBytesInFlights: bigint; + /** + * @since v23.8.0 + */ + readonly bytesInFlight: bigint; + /** + * @since v23.8.0 + */ + readonly blockCount: bigint; + /** + * @since v23.8.0 + */ + readonly cwnd: bigint; + /** + * @since v23.8.0 + */ + readonly latestRtt: bigint; + /** + * @since v23.8.0 + */ + readonly minRtt: bigint; + /** + * @since v23.8.0 + */ + readonly rttVar: bigint; + /** + * @since v23.8.0 + */ + readonly smoothedRtt: bigint; + /** + * @since v23.8.0 + */ + readonly ssthresh: bigint; + /** + * @since v23.8.0 + */ + readonly datagramsReceived: bigint; + /** + * @since v23.8.0 + */ + readonly datagramsSent: bigint; + /** + * @since v23.8.0 + */ + readonly datagramsAcknowledged: bigint; + /** + * @since v23.8.0 + */ + readonly datagramsLost: bigint; + } + } + /** + * @since v23.8.0 + */ + class QuicStream { + private constructor(); + /** + * A promise that is fulfilled when the stream is fully closed. + * @since v23.8.0 + */ + readonly closed: Promise; + /** + * Immediately and abruptly destroys the stream. + * @since v23.8.0 + */ + destroy(error?: any): void; + /** + * True if `stream.destroy()` has been called. + * @since v23.8.0 + */ + readonly destroyed: boolean; + /** + * The directionality of the stream. Read only. + * @since v23.8.0 + */ + readonly direction: "bidi" | "uni"; + /** + * The stream ID. Read only. + * @since v23.8.0 + */ + readonly id: bigint; + /** + * The callback to invoke when the stream is blocked. Read/write. + * @since v23.8.0 + */ + onblocked: OnBlockedCallback | undefined; + /** + * The callback to invoke when the stream is reset. Read/write. + * @since v23.8.0 + */ + onreset: OnStreamErrorCallback | undefined; + /** + * @since v23.8.0 + */ + readonly readable: ReadableStream; + /** + * The session that created this stream. Read only. + * @since v23.8.0 + */ + readonly session: QuicSession; + /** + * The current statistics for the stream. Read only. + * @since v23.8.0 + */ + readonly stats: QuicStream.Stats; + } + namespace QuicStream { + /** + * @since v23.8.0 + */ + class Stats { + private constructor(); + /** + * @since v23.8.0 + */ + readonly ackedAt: bigint; + /** + * @since v23.8.0 + */ + readonly bytesReceived: bigint; + /** + * @since v23.8.0 + */ + readonly bytesSent: bigint; + /** + * @since v23.8.0 + */ + readonly createdAt: bigint; + /** + * @since v23.8.0 + */ + readonly destroyedAt: bigint; + /** + * @since v23.8.0 + */ + readonly finalSize: bigint; + /** + * @since v23.8.0 + */ + readonly isConnected: bigint; + /** + * @since v23.8.0 + */ + readonly maxOffset: bigint; + /** + * @since v23.8.0 + */ + readonly maxOffsetAcknowledged: bigint; + /** + * @since v23.8.0 + */ + readonly maxOffsetReceived: bigint; + /** + * @since v23.8.0 + */ + readonly openedAt: bigint; + /** + * @since v23.8.0 + */ + readonly receivedAt: bigint; + } + } + namespace constants { + enum cc { + RENO = "reno", + CUBIC = "cubic", + BBR = "bbr", + } + const DEFAULT_CIPHERS: string; + const DEFAULT_GROUPS: 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..5042975 --- /dev/null +++ b/node_modules/@types/node/readline.d.ts @@ -0,0 +1,507 @@ +declare module "node:readline" { + import { Abortable, EventEmitter, InternalEventEmitter } from "node:events"; + interface Key { + sequence?: string | undefined; + name?: string | undefined; + ctrl?: boolean | undefined; + meta?: boolean | undefined; + shift?: boolean | undefined; + } + interface InterfaceEventMap { + "close": []; + "error": [error: Error]; + "history": [history: string[]]; + "line": [input: string]; + "pause": []; + "resume": []; + "SIGCONT": []; + "SIGINT": []; + "SIGTSTP": []; + } + /** + * Instances of the `readline.Interface` class are constructed using the `readline.createInterface()` method. Every instance is associated with a + * single `input` [Readable](https://nodejs.org/docs/latest-v25.x/api/stream.html#readable-streams) stream and a single `output` [Writable](https://nodejs.org/docs/latest-v25.x/api/stream.html#writable-streams) stream. + * The `output` stream is used to print prompts for user input that arrives on, + * and is read from, the `input` stream. + * @since v0.1.104 + */ + class Interface implements EventEmitter, Disposable { + /** + * NOTE: According to the documentation: + * + * > Instances of the `readline.Interface` class are constructed using the + * > `readline.createInterface()` method. + * + * @see https://nodejs.org/dist/latest-v25.x/docs/api/readline.html#class-interfaceconstructor + */ + 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-v25.x/docs/api/readline.html#class-interfaceconstructor + */ + protected constructor(options: ReadLineOptions); + readonly terminal: boolean; + /** + * The current input data being processed by node. + * + * This can be used when collecting input from a TTY stream to retrieve the + * current value that has been processed thus far, prior to the `line` event + * being emitted. Once the `line` event has been emitted, this property will + * be an empty string. + * + * Be aware that modifying the value during the instance runtime may have + * unintended consequences if `rl.cursor` is not also controlled. + * + * **If not using a TTY stream for input, use the `'line'` event.** + * + * One possible use case would be as follows: + * + * ```js + * const values = ['lorem ipsum', 'dolor sit amet']; + * const rl = readline.createInterface(process.stdin); + * const showResults = debounce(() => { + * console.log( + * '\n', + * values.filter((val) => val.startsWith(rl.line)).join(' '), + * ); + * }, 300); + * process.stdin.on('keypress', (c, k) => { + * showResults(); + * }); + * ``` + * @since v0.1.98 + */ + readonly line: string; + /** + * The cursor position relative to `rl.line`. + * + * This will track where the current cursor lands in the input string, when + * reading input from a TTY stream. The position of cursor determines the + * portion of the input string that will be modified as input is processed, + * as well as the column where the terminal caret will be rendered. + * @since v0.1.98 + */ + readonly cursor: number; + /** + * The `rl.getPrompt()` method returns the current prompt used by `rl.prompt()`. + * @since v15.3.0, v14.17.0 + * @return the current prompt string + */ + getPrompt(): string; + /** + * The `rl.setPrompt()` method sets the prompt that will be written to `output` whenever `rl.prompt()` is called. + * @since v0.1.98 + */ + setPrompt(prompt: string): void; + /** + * The `rl.prompt()` method writes the `Interface` instances configured`prompt` to a new line in `output` in order to provide a user with a new + * location at which to provide input. + * + * When called, `rl.prompt()` will resume the `input` stream if it has been + * paused. + * + * If the `Interface` was created with `output` set to `null` or `undefined` the prompt is not written. + * @since v0.1.98 + * @param preserveCursor If `true`, prevents the cursor placement from being reset to `0`. + */ + prompt(preserveCursor?: boolean): void; + /** + * The `rl.question()` method displays the `query` by writing it to the `output`, + * waits for user input to be provided on `input`, then invokes the `callback` function passing the provided input as the first argument. + * + * When called, `rl.question()` will resume the `input` stream if it has been + * paused. + * + * If the `Interface` was created with `output` set to `null` or `undefined` the `query` is not written. + * + * The `callback` function passed to `rl.question()` does not follow the typical + * pattern of accepting an `Error` object or `null` as the first argument. + * The `callback` is called with the provided answer as the only argument. + * + * An error will be thrown if calling `rl.question()` after `rl.close()`. + * + * Example usage: + * + * ```js + * rl.question('What is your favorite food? ', (answer) => { + * console.log(`Oh, so your favorite food is ${answer}`); + * }); + * ``` + * + * Using an `AbortController` to cancel a question. + * + * ```js + * const ac = new AbortController(); + * const signal = ac.signal; + * + * rl.question('What is your favorite food? ', { signal }, (answer) => { + * console.log(`Oh, so your favorite food is ${answer}`); + * }); + * + * signal.addEventListener('abort', () => { + * console.log('The food question timed out'); + * }, { once: true }); + * + * setTimeout(() => ac.abort(), 10000); + * ``` + * @since v0.3.3 + * @param query A statement or query to write to `output`, prepended to the prompt. + * @param callback A callback function that is invoked with the user's input in response to the `query`. + */ + question(query: string, callback: (answer: string) => void): void; + question(query: string, options: Abortable, callback: (answer: string) => void): void; + /** + * The `rl.pause()` method pauses the `input` stream, allowing it to be resumed + * later if necessary. + * + * Calling `rl.pause()` does not immediately pause other events (including `'line'`) from being emitted by the `Interface` instance. + * @since v0.3.4 + */ + pause(): this; + /** + * The `rl.resume()` method resumes the `input` stream if it has been paused. + * @since v0.3.4 + */ + resume(): this; + /** + * The `rl.close()` method closes the `Interface` instance and + * relinquishes control over the `input` and `output` streams. When called, + * the `'close'` event will be emitted. + * + * Calling `rl.close()` does not immediately stop other events (including `'line'`) + * from being emitted by the `Interface` instance. + * @since v0.1.98 + */ + close(): void; + /** + * Alias for `rl.close()`. + * @since v22.15.0 + */ + [Symbol.dispose](): void; + /** + * The `rl.write()` method will write either `data` or a key sequence identified + * by `key` to the `output`. The `key` argument is supported only if `output` is + * a `TTY` text terminal. See `TTY keybindings` for a list of key + * combinations. + * + * If `key` is specified, `data` is ignored. + * + * When called, `rl.write()` will resume the `input` stream if it has been + * paused. + * + * If the `Interface` was created with `output` set to `null` or `undefined` the `data` and `key` are not written. + * + * ```js + * rl.write('Delete this!'); + * // Simulate Ctrl+U to delete the line written previously + * rl.write(null, { ctrl: true, name: 'u' }); + * ``` + * + * The `rl.write()` method will write the data to the `readline` `Interface`'s `input` _as if it were provided by the user_. + * @since v0.1.98 + */ + write(data: string | Buffer, key?: Key): void; + write(data: undefined | null | string | Buffer, key: Key): void; + /** + * Returns the real position of the cursor in relation to the input + * prompt + string. Long input (wrapping) strings, as well as multiple + * line prompts are included in the calculations. + * @since v13.5.0, v12.16.0 + */ + getCursorPos(): CursorPos; + [Symbol.asyncIterator](): NodeJS.AsyncIterator; + } + interface Interface extends InternalEventEmitter {} + type ReadLine = Interface; // type forwarded for backwards compatibility + type Completer = (line: string) => CompleterResult; + type AsyncCompleter = ( + line: string, + callback: (err?: null | Error, result?: CompleterResult) => void, + ) => void; + type CompleterResult = [string[], string]; + interface ReadLineOptions { + /** + * The [`Readable`](https://nodejs.org/docs/latest-v25.x/api/stream.html#readable-streams) stream to listen to + */ + input: NodeJS.ReadableStream; + /** + * The [`Writable`](https://nodejs.org/docs/latest-v25.x/api/stream.html#writable-streams) stream to write readline data to. + */ + output?: NodeJS.WritableStream | undefined; + /** + * An optional function used for Tab autocompletion. + */ + completer?: Completer | AsyncCompleter | undefined; + /** + * `true` if the `input` and `output` streams should be treated like a TTY, + * and have ANSI/VT100 escape codes written to it. + * Default: checking `isTTY` on the `output` stream upon instantiation. + */ + terminal?: boolean | undefined; + /** + * Initial list of history lines. + * This option makes sense only if `terminal` is set to `true` by the user or by an internal `output` check, + * otherwise the history caching mechanism is not initialized at all. + * @default [] + */ + history?: string[] | undefined; + /** + * Maximum number of history lines retained. + * To disable the history set this value to `0`. + * This option makes sense only if `terminal` is set to `true` by the user or by an internal `output` check, + * otherwise the history caching mechanism is not initialized at all. + * @default 30 + */ + historySize?: number | undefined; + /** + * If `true`, when a new input line added to the history list duplicates an older one, + * this removes the older line from the list. + * @default false + */ + removeHistoryDuplicates?: boolean | undefined; + /** + * The prompt string to use. + * @default "> " + */ + prompt?: string | undefined; + /** + * If the delay between `\r` and `\n` exceeds `crlfDelay` milliseconds, + * both `\r` and `\n` will be treated as separate end-of-line input. + * `crlfDelay` will be coerced to a number no less than `100`. + * It can be set to `Infinity`, in which case + * `\r` followed by `\n` will always be considered a single newline + * (which may be reasonable for [reading files](https://nodejs.org/docs/latest-v25.x/api/readline.html#example-read-file-stream-line-by-line) with `\r\n` line delimiter). + * @default 100 + */ + crlfDelay?: number | undefined; + /** + * The duration `readline` will wait for a character + * (when reading an ambiguous key sequence in milliseconds + * one that can both form a complete key sequence using the input read so far + * and can take additional input to complete a longer key sequence). + * @default 500 + */ + escapeCodeTimeout?: number | undefined; + /** + * The number of spaces a tab is equal to (minimum 1). + * @default 8 + */ + tabSize?: number | undefined; + /** + * Allows closing the interface using an AbortSignal. + * Aborting the signal will internally call `close` on the interface. + */ + signal?: AbortSignal | undefined; + } + /** + * The `readline.createInterface()` method creates a new `readline.Interface` instance. + * + * ```js + * import readline from 'node:readline'; + * const rl = readline.createInterface({ + * input: process.stdin, + * output: process.stdout, + * }); + * ``` + * + * Once the `readline.Interface` instance is created, the most common case is to + * listen for the `'line'` event: + * + * ```js + * rl.on('line', (line) => { + * console.log(`Received: ${line}`); + * }); + * ``` + * + * If `terminal` is `true` for this instance then the `output` stream will get + * the best compatibility if it defines an `output.columns` property and emits + * a `'resize'` event on the `output` if or when the columns ever change + * (`process.stdout` does this automatically when it is a TTY). + * + * When creating a `readline.Interface` using `stdin` as input, the program + * will not terminate until it receives an [EOF character](https://en.wikipedia.org/wiki/End-of-file#EOF_character). To exit without + * waiting for user input, call `process.stdin.unref()`. + * @since v0.1.98 + */ + function createInterface( + input: NodeJS.ReadableStream, + output?: NodeJS.WritableStream, + completer?: Completer | AsyncCompleter, + terminal?: boolean, + ): Interface; + function createInterface(options: ReadLineOptions): Interface; + /** + * The `readline.emitKeypressEvents()` method causes the given `Readable` stream to begin emitting `'keypress'` events corresponding to received input. + * + * Optionally, `interface` specifies a `readline.Interface` instance for which + * autocompletion is disabled when copy-pasted input is detected. + * + * If the `stream` is a `TTY`, then it must be in raw mode. + * + * This is automatically called by any readline instance on its `input` if the `input` is a terminal. Closing the `readline` instance does not stop + * the `input` from emitting `'keypress'` events. + * + * ```js + * readline.emitKeypressEvents(process.stdin); + * if (process.stdin.isTTY) + * process.stdin.setRawMode(true); + * ``` + * + * ## Example: Tiny CLI + * + * The following example illustrates the use of `readline.Interface` class to + * implement a small command-line interface: + * + * ```js + * import readline from 'node:readline'; + * const rl = readline.createInterface({ + * input: process.stdin, + * output: process.stdout, + * prompt: 'OHAI> ', + * }); + * + * rl.prompt(); + * + * rl.on('line', (line) => { + * switch (line.trim()) { + * case 'hello': + * console.log('world!'); + * break; + * default: + * console.log(`Say what? I might have heard '${line.trim()}'`); + * break; + * } + * rl.prompt(); + * }).on('close', () => { + * console.log('Have a great day!'); + * process.exit(0); + * }); + * ``` + * + * ## Example: Read file stream line-by-Line + * + * A common use case for `readline` is to consume an input file one line at a + * time. The easiest way to do so is leveraging the `fs.ReadStream` API as + * well as a `for await...of` loop: + * + * ```js + * import fs from 'node:fs'; + * import readline from 'node:readline'; + * + * async function processLineByLine() { + * const fileStream = fs.createReadStream('input.txt'); + * + * const rl = readline.createInterface({ + * input: fileStream, + * crlfDelay: Infinity, + * }); + * // Note: we use the crlfDelay option to recognize all instances of CR LF + * // ('\r\n') in input.txt as a single line break. + * + * for await (const line of rl) { + * // Each line in input.txt will be successively available here as `line`. + * console.log(`Line from file: ${line}`); + * } + * } + * + * processLineByLine(); + * ``` + * + * Alternatively, one could use the `'line'` event: + * + * ```js + * import fs from 'node:fs'; + * import readline from 'node:readline'; + * + * const rl = readline.createInterface({ + * input: fs.createReadStream('sample.txt'), + * crlfDelay: Infinity, + * }); + * + * rl.on('line', (line) => { + * console.log(`Line from file: ${line}`); + * }); + * ``` + * + * Currently, `for await...of` loop can be a bit slower. If `async` / `await` flow and speed are both essential, a mixed approach can be applied: + * + * ```js + * import { once } from 'node:events'; + * import { createReadStream } from 'node:fs'; + * import { createInterface } from 'node:readline'; + * + * (async function processLineByLine() { + * try { + * const rl = createInterface({ + * input: createReadStream('big-file.txt'), + * crlfDelay: Infinity, + * }); + * + * rl.on('line', (line) => { + * // Process the line. + * }); + * + * await once(rl, 'close'); + * + * console.log('File processed.'); + * } catch (err) { + * console.error(err); + * } + * })(); + * ``` + * @since v0.7.7 + */ + function emitKeypressEvents(stream: NodeJS.ReadableStream, readlineInterface?: Interface): void; + type Direction = -1 | 0 | 1; + interface CursorPos { + rows: number; + cols: number; + } + /** + * The `readline.clearLine()` method clears current line of given [TTY](https://nodejs.org/docs/latest-v25.x/api/tty.html) stream + * in a specified direction identified by `dir`. + * @since v0.7.7 + * @param callback Invoked once the operation completes. + * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. + */ + function clearLine(stream: NodeJS.WritableStream, dir: Direction, callback?: () => void): boolean; + /** + * The `readline.clearScreenDown()` method clears the given [TTY](https://nodejs.org/docs/latest-v25.x/api/tty.html) stream from + * the current position of the cursor down. + * @since v0.7.7 + * @param callback Invoked once the operation completes. + * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. + */ + function clearScreenDown(stream: NodeJS.WritableStream, callback?: () => void): boolean; + /** + * The `readline.cursorTo()` method moves cursor to the specified position in a + * given [TTY](https://nodejs.org/docs/latest-v25.x/api/tty.html) `stream`. + * @since v0.7.7 + * @param callback Invoked once the operation completes. + * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. + */ + function cursorTo(stream: NodeJS.WritableStream, x: number, y?: number, callback?: () => void): boolean; + /** + * The `readline.moveCursor()` method moves the cursor _relative_ to its current + * position in a given [TTY](https://nodejs.org/docs/latest-v25.x/api/tty.html) `stream`. + * @since v0.7.7 + * @param callback Invoked once the operation completes. + * @return `false` if `stream` wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. + */ + function moveCursor(stream: NodeJS.WritableStream, dx: number, dy: number, callback?: () => void): boolean; +} +declare module "node:readline" { + export * as promises from "node:readline/promises"; +} +declare module "readline" { + export * from "node:readline"; +} diff --git a/node_modules/@types/node/readline/promises.d.ts b/node_modules/@types/node/readline/promises.d.ts new file mode 100644 index 0000000..ccee490 --- /dev/null +++ b/node_modules/@types/node/readline/promises.d.ts @@ -0,0 +1,158 @@ +declare module "node:readline/promises" { + import { Abortable } from "node:events"; + import { + CompleterResult, + Direction, + Interface as _Interface, + ReadLineOptions as _ReadLineOptions, + } from "node:readline"; + /** + * Instances of the `readlinePromises.Interface` class are constructed using the `readlinePromises.createInterface()` method. Every instance is associated with a + * single `input` `Readable` stream and a single `output` `Writable` stream. + * The `output` stream is used to print prompts for user input that arrives on, + * and is read from, the `input` stream. + * @since v17.0.0 + */ + class Interface extends _Interface { + /** + * The `rl.question()` method displays the `query` by writing it to the `output`, + * waits for user input to be provided on `input`, then invokes the `callback` function passing the provided input as the first argument. + * + * When called, `rl.question()` will resume the `input` stream if it has been + * paused. + * + * If the `Interface` was created with `output` set to `null` or `undefined` the `query` is not written. + * + * If the question is called after `rl.close()`, it returns a rejected promise. + * + * Example usage: + * + * ```js + * const answer = await rl.question('What is your favorite food? '); + * console.log(`Oh, so your favorite food is ${answer}`); + * ``` + * + * Using an `AbortSignal` to cancel a question. + * + * ```js + * const signal = AbortSignal.timeout(10_000); + * + * signal.addEventListener('abort', () => { + * console.log('The food question timed out'); + * }, { once: true }); + * + * const answer = await rl.question('What is your favorite food? ', { signal }); + * console.log(`Oh, so your favorite food is ${answer}`); + * ``` + * @since v17.0.0 + * @param query A statement or query to write to `output`, prepended to the prompt. + * @return A promise that is fulfilled with the user's input in response to the `query`. + */ + question(query: string): Promise; + question(query: string, options: Abortable): Promise; + } + /** + * @since v17.0.0 + */ + class Readline { + /** + * @param stream A TTY stream. + */ + constructor( + stream: NodeJS.WritableStream, + options?: { + autoCommit?: boolean | undefined; + }, + ); + /** + * The `rl.clearLine()` method adds to the internal list of pending action an + * action that clears current line of the associated `stream` in a specified + * direction identified by `dir`. + * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor. + * @since v17.0.0 + * @return this + */ + clearLine(dir: Direction): this; + /** + * The `rl.clearScreenDown()` method adds to the internal list of pending action an + * action that clears the associated stream from the current position of the + * cursor down. + * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor. + * @since v17.0.0 + * @return this + */ + clearScreenDown(): this; + /** + * The `rl.commit()` method sends all the pending actions to the associated `stream` and clears the internal list of pending actions. + * @since v17.0.0 + */ + commit(): Promise; + /** + * The `rl.cursorTo()` method adds to the internal list of pending action an action + * that moves cursor to the specified position in the associated `stream`. + * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor. + * @since v17.0.0 + * @return this + */ + cursorTo(x: number, y?: number): this; + /** + * The `rl.moveCursor()` method adds to the internal list of pending action an + * action that moves the cursor _relative_ to its current position in the + * associated `stream`. + * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor. + * @since v17.0.0 + * @return this + */ + moveCursor(dx: number, dy: number): this; + /** + * The `rl.rollback` methods clears the internal list of pending actions without + * sending it to the associated `stream`. + * @since v17.0.0 + * @return this + */ + rollback(): this; + } + type Completer = (line: string) => CompleterResult | Promise; + interface ReadLineOptions extends Omit<_ReadLineOptions, "completer"> { + /** + * An optional function used for Tab autocompletion. + */ + completer?: Completer | undefined; + } + /** + * The `readlinePromises.createInterface()` method creates a new `readlinePromises.Interface` instance. + * + * ```js + * import readlinePromises from 'node:readline/promises'; + * const rl = readlinePromises.createInterface({ + * input: process.stdin, + * output: process.stdout, + * }); + * ``` + * + * Once the `readlinePromises.Interface` instance is created, the most common case + * is to listen for the `'line'` event: + * + * ```js + * rl.on('line', (line) => { + * console.log(`Received: ${line}`); + * }); + * ``` + * + * If `terminal` is `true` for this instance then the `output` stream will get + * the best compatibility if it defines an `output.columns` property and emits + * a `'resize'` event on the `output` if or when the columns ever change + * (`process.stdout` does this automatically when it is a TTY). + * @since v17.0.0 + */ + function createInterface( + input: NodeJS.ReadableStream, + output?: NodeJS.WritableStream, + completer?: Completer, + terminal?: boolean, + ): Interface; + function createInterface(options: ReadLineOptions): Interface; +} +declare module "readline/promises" { + export * from "node:readline/promises"; +} diff --git a/node_modules/@types/node/repl.d.ts b/node_modules/@types/node/repl.d.ts new file mode 100644 index 0000000..4bb74ec --- /dev/null +++ b/node_modules/@types/node/repl.d.ts @@ -0,0 +1,420 @@ +declare module "node:repl" { + import { AsyncCompleter, Completer, Interface, InterfaceEventMap } from "node:readline"; + import { InspectOptions } from "node:util"; + import { Context } from "node:vm"; + interface ReplOptions { + /** + * The input prompt to display. + * @default "> " + */ + prompt?: string | undefined; + /** + * The `Readable` stream from which REPL input will be read. + * @default process.stdin + */ + input?: NodeJS.ReadableStream | undefined; + /** + * The `Writable` stream to which REPL output will be written. + * @default process.stdout + */ + output?: NodeJS.WritableStream | undefined; + /** + * 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 | undefined; + /** + * 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 the [custom evaluation functions](https://nodejs.org/dist/latest-v25.x/docs/api/repl.html#custom-evaluation-functions) + * section for more details. + */ + eval?: REPLEval | undefined; + /** + * Defines if the repl prints output previews or not. + * @default `true` Always `false` in case `terminal` is falsy. + */ + preview?: boolean | undefined; + /** + * 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 | undefined; + /** + * 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 | undefined; + /** + * 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 | undefined; + /** + * 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-v25.x/docs/api/repl.html#repl_customizing_repl_output + */ + writer?: REPLWriter | undefined; + /** + * An optional function used for custom Tab auto completion. + * + * @see https://nodejs.org/dist/latest-v25.x/docs/api/readline.html#readline_use_of_the_completer_function + */ + completer?: Completer | AsyncCompleter | undefined; + /** + * 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 | undefined; + /** + * 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 | undefined; + /** + * This function customizes error handling in the REPL. + * It receives the thrown exception as its first argument and must return one + * of the following values synchronously: + * * `'print'` to print the error to the output stream (default behavior). + * * `'ignore'` to skip all remaining error handling. + * * `'unhandled'` to treat the exception as fully unhandled. In this case, + * the error will be passed to process-wide exception handlers, such as + * the `'uncaughtException'` event. + * The `'unhandled'` value may or may not be desirable in situations + * where the `REPLServer` instance has been closed, depending on the particular + * use case. + * @since v25.9.0 + */ + handleError?: ((err: unknown) => "print" | "ignore" | "unhandled") | undefined; + } + 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 | undefined; + /** + * The function to execute, optionally accepting a single string argument. + */ + action: REPLCommandAction; + } + interface REPLServerSetupHistoryOptions { + filePath?: string | undefined; + size?: number | undefined; + removeHistoryDuplicates?: boolean | undefined; + onHistoryFileLoaded?: ((err: Error | null, repl: REPLServer) => void) | undefined; + } + interface REPLServerEventMap extends InterfaceEventMap { + "exit": []; + "reset": [context: Context]; + } + /** + * Instances of `repl.REPLServer` are created using the {@link start} method + * or directly using the JavaScript `new` keyword. + * + * ```js + * import repl from 'node:repl'; + * + * const options = { useColors: true }; + * + * const firstInstance = repl.start(options); + * const secondInstance = new repl.REPLServer(options); + * ``` + * @since v0.1.91 + */ + class REPLServer extends Interface { + /** + * 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-v25.x/docs/api/repl.html#repl_class_replserver + */ + private constructor(); + /** + * The `vm.Context` provided to the `eval` function to be used for JavaScript + * evaluation. + */ + readonly context: Context; + /** + * @deprecated since v14.3.0 - Use `input` instead. + */ + readonly inputStream: NodeJS.ReadableStream; + /** + * @deprecated since v14.3.0 - Use `output` instead. + */ + readonly outputStream: NodeJS.WritableStream; + /** + * The `Readable` stream from which REPL input will be read. + */ + readonly input: NodeJS.ReadableStream; + /** + * The `Writable` stream to which REPL output will be written. + */ + readonly output: NodeJS.WritableStream; + /** + * The commands registered via `replServer.defineCommand()`. + */ + readonly commands: NodeJS.ReadOnlyDict; + /** + * A value indicating whether the REPL is currently in "editor mode". + * + * @see https://nodejs.org/dist/latest-v25.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-v25.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-v25.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-v25.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-v25.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; + /** + * The `replServer.defineCommand()` method is used to add new `.`\-prefixed commands + * to the REPL instance. Such commands are invoked by typing a `.` followed by the `keyword`. The `cmd` is either a `Function` or an `Object` with the following + * properties: + * + * The following example shows two new commands added to the REPL instance: + * + * ```js + * import repl from 'node:repl'; + * + * const replServer = repl.start({ prompt: '> ' }); + * replServer.defineCommand('sayhello', { + * help: 'Say hello', + * action(name) { + * this.clearBufferedCommand(); + * console.log(`Hello, ${name}!`); + * this.displayPrompt(); + * }, + * }); + * replServer.defineCommand('saybye', function saybye() { + * console.log('Goodbye!'); + * this.close(); + * }); + * ``` + * + * The new commands can then be used from within the REPL instance: + * + * ```console + * > .sayhello Node.js User + * Hello, Node.js User! + * > .saybye + * Goodbye! + * ``` + * @since v0.3.0 + * @param keyword The command keyword (_without_ a leading `.` character). + * @param cmd The function to invoke when the command is processed. + */ + defineCommand(keyword: string, cmd: REPLCommandAction | REPLCommand): void; + /** + * The `replServer.displayPrompt()` method 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, a pipe `'|'` is printed rather than the + * 'prompt'. + * + * When `preserveCursor` is `true`, the cursor placement will not be reset to `0`. + * + * The `replServer.displayPrompt` method is primarily intended to be called from + * within the action function for commands registered using the `replServer.defineCommand()` method. + * @since v0.1.91 + */ + displayPrompt(preserveCursor?: boolean): void; + /** + * The `replServer.clearBufferedCommand()` method 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. + * @since v11.10.0 + * @param historyPath the path to the history file + * @param callback called when history writes are ready or upon error + */ + setupHistory(historyPath: string, callback: (err: Error | null, repl: this) => void): void; + setupHistory( + historyConfig?: REPLServerSetupHistoryOptions, + callback?: (err: Error | null, repl: this) => void, + ): void; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: REPLServerEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: REPLServerEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: REPLServerEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: REPLServerEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off(eventName: E, listener: (...args: REPLServerEventMap[E]) => void): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on(eventName: E, listener: (...args: REPLServerEventMap[E]) => void): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: REPLServerEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: REPLServerEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: REPLServerEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: REPLServerEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: REPLServerEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + /** + * A flag passed in the REPL options. Evaluates expressions in sloppy mode. + */ + const REPL_MODE_SLOPPY: 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'`. + */ + const REPL_MODE_STRICT: unique symbol; + /** + * The `repl.start()` method creates and starts a {@link REPLServer} instance. + * + * If `options` is a string, then it specifies the input prompt: + * + * ```js + * import repl from 'node:repl'; + * + * // a Unix style prompt + * repl.start('$ '); + * ``` + * @since v0.1.91 + */ + 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-v25.x/docs/api/repl.html#repl_recoverable_errors + */ + class Recoverable extends SyntaxError { + err: Error; + constructor(err: Error); + } +} +declare module "repl" { + export * from "node:repl"; +} diff --git a/node_modules/@types/node/sea.d.ts b/node_modules/@types/node/sea.d.ts new file mode 100644 index 0000000..85ab108 --- /dev/null +++ b/node_modules/@types/node/sea.d.ts @@ -0,0 +1,47 @@ +declare module "node:sea" { + type AssetKey = string; + /** + * @since v20.12.0 + * @return Whether this script is running inside a single-executable application. + */ + function isSea(): boolean; + /** + * This method can be used to retrieve the assets configured to be bundled into the + * single-executable application at build time. + * An error is thrown when no matching asset can be found. + * @since v20.12.0 + */ + function getAsset(key: AssetKey): ArrayBuffer; + function getAsset(key: AssetKey, encoding: string): string; + /** + * Similar to `sea.getAsset()`, but returns the result in a [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob). + * An error is thrown when no matching asset can be found. + * @since v20.12.0 + */ + function getAssetAsBlob(key: AssetKey, options?: { + type: string; + }): Blob; + /** + * This method can be used to retrieve the assets configured to be bundled into the + * single-executable application at build time. + * An error is thrown when no matching asset can be found. + * + * Unlike `sea.getRawAsset()` or `sea.getAssetAsBlob()`, this method does not + * return a copy. Instead, it returns the raw asset bundled inside the executable. + * + * For now, users should avoid writing to the returned array buffer. If the + * injected section is not marked as writable or not aligned properly, + * writes to the returned array buffer is likely to result in a crash. + * @since v20.12.0 + */ + function getRawAsset(key: AssetKey): ArrayBuffer; + /** + * This method can be used to retrieve an array of all the keys of assets + * embedded into the single-executable application. + * An error is thrown when not running inside a single-executable application. + * @since v24.8.0 + * @returns An array containing all the keys of the assets + * embedded in the executable. If no assets are embedded, returns an empty array. + */ + function getAssetKeys(): string[]; +} diff --git a/node_modules/@types/node/sqlite.d.ts b/node_modules/@types/node/sqlite.d.ts new file mode 100644 index 0000000..a1fa358 --- /dev/null +++ b/node_modules/@types/node/sqlite.d.ts @@ -0,0 +1,1068 @@ +declare module "node:sqlite" { + import { PathLike } from "node:fs"; + type SQLInputValue = null | number | bigint | string | NodeJS.ArrayBufferView; + type SQLOutputValue = null | number | bigint | string | NodeJS.NonSharedUint8Array; + interface DatabaseSyncOptions { + /** + * If `true`, the database is opened by the constructor. When + * this value is `false`, the database must be opened via the `open()` method. + * @since v22.5.0 + * @default true + */ + open?: boolean | undefined; + /** + * If `true`, foreign key constraints + * are enabled. This is recommended but can be disabled for compatibility with + * legacy database schemas. The enforcement of foreign key constraints can be + * enabled and disabled after opening the database using + * [`PRAGMA foreign_keys`](https://www.sqlite.org/pragma.html#pragma_foreign_keys). + * @since v22.10.0 + * @default true + */ + enableForeignKeyConstraints?: boolean | undefined; + /** + * If `true`, SQLite will accept + * [double-quoted string literals](https://www.sqlite.org/quirks.html#dblquote). + * This is not recommended but can be + * enabled for compatibility with legacy database schemas. + * @since v22.10.0 + * @default false + */ + enableDoubleQuotedStringLiterals?: boolean | undefined; + /** + * If `true`, the database is opened in read-only mode. + * If the database does not exist, opening it will fail. + * @since v22.12.0 + * @default false + */ + readOnly?: boolean | undefined; + /** + * If `true`, the `loadExtension` SQL function + * and the `loadExtension()` method are enabled. + * You can call `enableLoadExtension(false)` later to disable this feature. + * @since v22.13.0 + * @default false + */ + allowExtension?: boolean | undefined; + /** + * The [busy timeout](https://sqlite.org/c3ref/busy_timeout.html) in milliseconds. This is the maximum amount of + * time that SQLite will wait for a database lock to be released before + * returning an error. + * @since v24.0.0 + * @default 0 + */ + timeout?: number | undefined; + /** + * If `true`, integer fields are read as JavaScript `BigInt` values. If `false`, + * integer fields are read as JavaScript numbers. + * @since v24.4.0 + * @default false + */ + readBigInts?: boolean | undefined; + /** + * If `true`, query results are returned as arrays instead of objects. + * @since v24.4.0 + * @default false + */ + returnArrays?: boolean | undefined; + /** + * If `true`, allows binding named parameters without the prefix + * character (e.g., `foo` instead of `:foo`). + * @since v24.4.40 + * @default true + */ + allowBareNamedParameters?: boolean | undefined; + /** + * If `true`, unknown named parameters are ignored when binding. + * If `false`, an exception is thrown for unknown named parameters. + * @since v24.4.40 + * @default false + */ + allowUnknownNamedParameters?: boolean | undefined; + /** + * If `true`, enables the defensive flag. When the defensive flag is enabled, + * language features that allow ordinary SQL to deliberately corrupt the database file are disabled. + * The defensive flag can also be set using `enableDefensive()`. + * @since v25.1.0 + * @default true + */ + defensive?: boolean | undefined; + /** + * Configuration for various SQLite limits. These limits + * can be used to prevent excessive resource consumption when handling + * potentially malicious input. See [Run-Time Limits](https://www.sqlite.org/c3ref/c_limit_attached.html) and [Limit Constants](https://www.sqlite.org/c3ref/limit.html) + * in the SQLite documentation for details. Default values are determined by + * SQLite's compile-time defaults and may vary depending on how SQLite was + * built. The following properties are supported: + * @since v25.8.0 + */ + limits?: NodeJS.PartialOptions | undefined; + } + interface DatabaseLimits { + length: number; + sqlLength: number; + column: number; + exprDepth: number; + compoundSelect: number; + vdbeOp: number; + functionArg: number; + attach: number; + likePatternLength: number; + variableNumber: number; + triggerDepth: number; + } + interface CreateSessionOptions { + /** + * A specific table to track changes for. By default, changes to all tables are tracked. + * @since v22.12.0 + */ + table?: string | undefined; + /** + * Name of the database to track. This is useful when multiple databases have been added using + * [`ATTACH DATABASE`](https://www.sqlite.org/lang_attach.html). + * @since v22.12.0 + * @default 'main' + */ + db?: string | undefined; + } + interface ApplyChangesetOptions { + /** + * Skip changes that, when targeted table name is supplied to this function, return a truthy value. + * By default, all changes are attempted. + * @since v22.12.0 + */ + filter?: ((tableName: string) => boolean) | undefined; + /** + * A function that determines how to handle conflicts. The function receives one argument, + * which can be one of the following values: + * + * * `SQLITE_CHANGESET_DATA`: A `DELETE` or `UPDATE` change does not contain the expected "before" values. + * * `SQLITE_CHANGESET_NOTFOUND`: A row matching the primary key of the `DELETE` or `UPDATE` change does not exist. + * * `SQLITE_CHANGESET_CONFLICT`: An `INSERT` change results in a duplicate primary key. + * * `SQLITE_CHANGESET_FOREIGN_KEY`: Applying a change would result in a foreign key violation. + * * `SQLITE_CHANGESET_CONSTRAINT`: Applying a change results in a `UNIQUE`, `CHECK`, or `NOT NULL` constraint + * violation. + * + * The function should return one of the following values: + * + * * `SQLITE_CHANGESET_OMIT`: Omit conflicting changes. + * * `SQLITE_CHANGESET_REPLACE`: Replace existing values with conflicting changes (only valid with + `SQLITE_CHANGESET_DATA` or `SQLITE_CHANGESET_CONFLICT` conflicts). + * * `SQLITE_CHANGESET_ABORT`: Abort on conflict and roll back the database. + * + * When an error is thrown in the conflict handler or when any other value is returned from the handler, + * applying the changeset is aborted and the database is rolled back. + * + * **Default**: A function that returns `SQLITE_CHANGESET_ABORT`. + * @since v22.12.0 + */ + onConflict?: ((conflictType: number) => number) | undefined; + } + interface FunctionOptions { + /** + * If `true`, the [`SQLITE_DETERMINISTIC`](https://www.sqlite.org/c3ref/c_deterministic.html) flag is + * set on the created function. + * @default false + */ + deterministic?: boolean | undefined; + /** + * If `true`, the [`SQLITE_DIRECTONLY`](https://www.sqlite.org/c3ref/c_directonly.html) flag is set on + * the created function. + * @default false + */ + directOnly?: boolean | undefined; + /** + * If `true`, integer arguments to `function` + * are converted to `BigInt`s. If `false`, integer arguments are passed as + * JavaScript numbers. + * @default false + */ + useBigIntArguments?: boolean | undefined; + /** + * If `true`, `function` may be invoked with any number of + * arguments (between zero and + * [`SQLITE_MAX_FUNCTION_ARG`](https://www.sqlite.org/limits.html#max_function_arg)). If `false`, + * `function` must be invoked with exactly `function.length` arguments. + * @default false + */ + varargs?: boolean | undefined; + } + interface AggregateOptions extends FunctionOptions { + /** + * The identity value for the aggregation function. This value is used when the aggregation + * function is initialized. When a `Function` is passed the identity will be its return value. + */ + start: T | (() => T); + /** + * The function to call for each row in the aggregation. The + * function receives the current state and the row value. The return value of + * this function should be the new state. + */ + step: (accumulator: T, ...args: SQLOutputValue[]) => T; + /** + * The function to call to get the result of the + * aggregation. The function receives the final state and should return the + * result of the aggregation. + */ + result?: ((accumulator: T) => SQLInputValue) | undefined; + /** + * When this function is provided, the `aggregate` method will work as a window function. + * The function receives the current state and the dropped row value. The return value of this function should be the + * new state. + */ + inverse?: ((accumulator: T, ...args: SQLOutputValue[]) => T) | undefined; + } + interface PrepareOptions { + /** + * If `true`, integer fields are read as `BigInt`s. + * @since v25.5.0 + */ + readBigInts?: boolean | undefined; + /** + * If `true`, results are returned as arrays. + * @since v25.5.0 + */ + returnArrays?: boolean | undefined; + /** + * If `true`, allows binding named parameters without the prefix character. + * @since v25.5.0 + */ + allowBareNamedParameters?: boolean | undefined; + /** + * If `true`, unknown named parameters are ignored. + * @since v25.5.0 + */ + allowUnknownNamedParameters?: boolean | undefined; + } + /** + * This class represents a single [connection](https://www.sqlite.org/c3ref/sqlite3.html) to a SQLite database. All APIs + * exposed by this class execute synchronously. + * @since v22.5.0 + */ + class DatabaseSync implements Disposable { + /** + * Constructs a new `DatabaseSync` instance. + * @param path The path of the database. + * A SQLite database can be stored in a file or completely [in memory](https://www.sqlite.org/inmemorydb.html). + * To use a file-backed database, the path should be a file path. + * To use an in-memory database, the path should be the special name `':memory:'`. + * @param options Configuration options for the database connection. + */ + constructor(path: PathLike, options?: DatabaseSyncOptions); + /** + * Registers a new aggregate function with the SQLite database. This method is a wrapper around + * [`sqlite3_create_window_function()`](https://www.sqlite.org/c3ref/create_function.html). + * + * When used as a window function, the `result` function will be called multiple times. + * + * ```js + * import { DatabaseSync } from 'node:sqlite'; + * + * const db = new DatabaseSync(':memory:'); + * db.exec(` + * CREATE TABLE t3(x, y); + * INSERT INTO t3 VALUES ('a', 4), + * ('b', 5), + * ('c', 3), + * ('d', 8), + * ('e', 1); + * `); + * + * db.aggregate('sumint', { + * start: 0, + * step: (acc, value) => acc + value, + * }); + * + * db.prepare('SELECT sumint(y) as total FROM t3').get(); // { total: 21 } + * ``` + * @since v24.0.0 + * @param name The name of the SQLite function to create. + * @param options Function configuration settings. + */ + aggregate(name: string, options: AggregateOptions): void; + aggregate(name: string, options: AggregateOptions): void; + /** + * Closes the database connection. An exception is thrown if the database is not + * open. This method is a wrapper around [`sqlite3_close_v2()`](https://www.sqlite.org/c3ref/close.html). + * @since v22.5.0 + */ + close(): void; + /** + * Loads a shared library into the database connection. This method is a wrapper + * around [`sqlite3_load_extension()`](https://www.sqlite.org/c3ref/load_extension.html). It is required to enable the + * `allowExtension` option when constructing the `DatabaseSync` instance. + * @since v22.13.0 + * @param path The path to the shared library to load. + */ + loadExtension(path: string): void; + /** + * Enables or disables the `loadExtension` SQL function, and the `loadExtension()` + * method. When `allowExtension` is `false` when constructing, you cannot enable + * loading extensions for security reasons. + * @since v22.13.0 + * @param allow Whether to allow loading extensions. + */ + enableLoadExtension(allow: boolean): void; + /** + * Enables or disables the defensive flag. When the defensive flag is active, + * language features that allow ordinary SQL to deliberately corrupt the database file are disabled. + * See [`SQLITE_DBCONFIG_DEFENSIVE`](https://www.sqlite.org/c3ref/c_dbconfig_defensive.html#sqlitedbconfigdefensive) in the SQLite documentation for details. + * @since v25.1.0 + * @param active Whether to set the defensive flag. + */ + enableDefensive(active: boolean): void; + /** + * This method is a wrapper around [`sqlite3_db_filename()`](https://sqlite.org/c3ref/db_filename.html) + * @since v24.0.0 + * @param dbName Name of the database. This can be `'main'` (the default primary database) or any other + * database that has been added with [`ATTACH DATABASE`](https://www.sqlite.org/lang_attach.html) **Default:** `'main'`. + * @returns The location of the database file. When using an in-memory database, + * this method returns null. + */ + location(dbName?: string): string | null; + /** + * This method allows one or more SQL statements to be executed without returning + * any results. This method is useful when executing SQL statements read from a + * file. This method is a wrapper around [`sqlite3_exec()`](https://www.sqlite.org/c3ref/exec.html). + * @since v22.5.0 + * @param sql A SQL string to execute. + */ + exec(sql: string): void; + /** + * This method is used to create SQLite user-defined functions. This method is a + * wrapper around [`sqlite3_create_function_v2()`](https://www.sqlite.org/c3ref/create_function.html). + * @since v22.13.0 + * @param name The name of the SQLite function to create. + * @param options Optional configuration settings for the function. + * @param fn The JavaScript function to call when the SQLite function is + * invoked. The return value of this function should be a valid SQLite data type: + * see [Type conversion between JavaScript and SQLite](https://nodejs.org/docs/latest-v25.x/api/sqlite.html#type-conversion-between-javascript-and-sqlite). The result defaults to + * `NULL` if the return value is `undefined`. + */ + function( + name: string, + options: FunctionOptions, + fn: (...args: SQLOutputValue[]) => SQLInputValue, + ): void; + function(name: string, fn: (...args: SQLOutputValue[]) => SQLInputValue): void; + /** + * Sets an authorizer callback that SQLite will invoke whenever it attempts to + * access data or modify the database schema through prepared statements. + * This can be used to implement security policies, audit access, or restrict certain operations. + * This method is a wrapper around [`sqlite3_set_authorizer()`](https://sqlite.org/c3ref/set_authorizer.html). + * + * When invoked, the callback receives five arguments: + * + * * `actionCode` {number} The type of operation being performed (e.g., + * `SQLITE_INSERT`, `SQLITE_UPDATE`, `SQLITE_SELECT`). + * * `arg1` {string|null} The first argument (context-dependent, often a table name). + * * `arg2` {string|null} The second argument (context-dependent, often a column name). + * * `dbName` {string|null} The name of the database. + * * `triggerOrView` {string|null} The name of the trigger or view causing the access. + * + * The callback must return one of the following constants: + * + * * `SQLITE_OK` - Allow the operation. + * * `SQLITE_DENY` - Deny the operation (causes an error). + * * `SQLITE_IGNORE` - Ignore the operation (silently skip). + * + * ```js + * import { DatabaseSync, constants } from 'node:sqlite'; + * const db = new DatabaseSync(':memory:'); + * + * // Set up an authorizer that denies all table creation + * db.setAuthorizer((actionCode) => { + * if (actionCode === constants.SQLITE_CREATE_TABLE) { + * return constants.SQLITE_DENY; + * } + * return constants.SQLITE_OK; + * }); + * + * // This will work + * db.prepare('SELECT 1').get(); + * + * // This will throw an error due to authorization denial + * try { + * db.exec('CREATE TABLE blocked (id INTEGER)'); + * } catch (err) { + * console.log('Operation blocked:', err.message); + * } + * ``` + * @since v24.10.0 + * @param callback The authorizer function to set, or `null` to + * clear the current authorizer. + */ + setAuthorizer( + callback: + | (( + actionCode: number, + arg1: string | null, + arg2: string | null, + dbName: string | null, + triggerOrView: string | null, + ) => number) + | null, + ): void; + /** + * Whether the database is currently open or not. + * @since v22.15.0 + */ + readonly isOpen: boolean; + /** + * Whether the database is currently within a transaction. This method + * is a wrapper around [`sqlite3_get_autocommit()`](https://sqlite.org/c3ref/get_autocommit.html). + * @since v24.0.0 + */ + readonly isTransaction: boolean; + /** + * An object for getting and setting SQLite database limits at runtime. + * Each property corresponds to an SQLite limit and can be read or written. + * + * ```js + * const db = new DatabaseSync(':memory:'); + * + * // Read current limit + * console.log(db.limits.length); + * + * // Set a new limit + * db.limits.sqlLength = 100000; + * + * // Reset a limit to its compile-time maximum + * db.limits.sqlLength = Infinity; + * ``` + * + * Available properties: `length`, `sqlLength`, `column`, `exprDepth`, + * `compoundSelect`, `vdbeOp`, `functionArg`, `attach`, `likePatternLength`, + * `variableNumber`, `triggerDepth`. + * + * Setting a property to `Infinity` resets the limit to its compile-time maximum value. + * @since v25.8.0 + */ + readonly limits: DatabaseLimits; + /** + * Opens the database specified in the `path` argument of the `DatabaseSync`constructor. This method should only be used when the database is not opened via + * the constructor. An exception is thrown if the database is already open. + * @since v22.5.0 + */ + open(): void; + /** + * Compiles a SQL statement into a [prepared statement](https://www.sqlite.org/c3ref/stmt.html). This method is a wrapper + * around [`sqlite3_prepare_v2()`](https://www.sqlite.org/c3ref/prepare.html). + * @since v22.5.0 + * @param sql A SQL string to compile to a prepared statement. + * @param options Optional configuration for the prepared statement. + * @return The prepared statement. + */ + prepare(sql: string, options?: PrepareOptions): StatementSync; + /** + * Creates a new {@link SQLTagStore}, which is a Least Recently Used (LRU) cache + * for storing prepared statements. This allows for the efficient reuse of + * prepared statements by tagging them with a unique identifier. + * + * When a tagged SQL literal is executed, the `SQLTagStore` checks if a prepared + * statement for the corresponding SQL query string already exists in the cache. + * If it does, the cached statement is used. If not, a new prepared statement is + * created, executed, and then stored in the cache for future use. This mechanism + * helps to avoid the overhead of repeatedly parsing and preparing the same SQL + * statements. + * + * Tagged statements bind the placeholder values from the template literal as + * parameters to the underlying prepared statement. For example: + * + * ```js + * sqlTagStore.get`SELECT ${value}`; + * ``` + * + * is equivalent to: + * + * ```js + * db.prepare('SELECT ?').get(value); + * ``` + * + * However, in the first example, the tag store will cache the underlying prepared + * statement for future use. + * + * > **Note:** The `${value}` syntax in tagged statements _binds_ a parameter to + * > the prepared statement. This differs from its behavior in _untagged_ template + * > literals, where it performs string interpolation. + * > + * > ```js + * > // This a safe example of binding a parameter to a tagged statement. + * > sqlTagStore.run`INSERT INTO t1 (id) VALUES (${id})`; + * > + * > // This is an *unsafe* example of an untagged template string. + * > // `id` is interpolated into the query text as a string. + * > // This can lead to SQL injection and data corruption. + * > db.run(`INSERT INTO t1 (id) VALUES (${id})`); + * > ``` + * + * The tag store will match a statement from the cache if the query strings + * (including the positions of any bound placeholders) are identical. + * + * ```js + * // The following statements will match in the cache: + * sqlTagStore.get`SELECT * FROM t1 WHERE id = ${id} AND active = 1`; + * sqlTagStore.get`SELECT * FROM t1 WHERE id = ${12345} AND active = 1`; + * + * // The following statements will not match, as the query strings + * // and bound placeholders differ: + * sqlTagStore.get`SELECT * FROM t1 WHERE id = ${id} AND active = 1`; + * sqlTagStore.get`SELECT * FROM t1 WHERE id = 12345 AND active = 1`; + * + * // The following statements will not match, as matches are case-sensitive: + * sqlTagStore.get`SELECT * FROM t1 WHERE id = ${id} AND active = 1`; + * sqlTagStore.get`select * from t1 where id = ${id} and active = 1`; + * ``` + * + * The only way of binding parameters in tagged statements is with the `${value}` + * syntax. Do not add parameter binding placeholders (`?` etc.) to the SQL query + * string itself. + * + * ```js + * import { DatabaseSync } from 'node:sqlite'; + * + * const db = new DatabaseSync(':memory:'); + * const sql = db.createSQLTagStore(); + * + * db.exec('CREATE TABLE users (id INT, name TEXT)'); + * + * // Using the 'run' method to insert data. + * // The tagged literal is used to identify the prepared statement. + * sql.run`INSERT INTO users VALUES (1, 'Alice')`; + * sql.run`INSERT INTO users VALUES (2, 'Bob')`; + * + * // Using the 'get' method to retrieve a single row. + * const name = 'Alice'; + * const user = sql.get`SELECT * FROM users WHERE name = ${name}`; + * console.log(user); // { id: 1, name: 'Alice' } + * + * // Using the 'all' method to retrieve all rows. + * const allUsers = sql.all`SELECT * FROM users ORDER BY id`; + * console.log(allUsers); + * // [ + * // { id: 1, name: 'Alice' }, + * // { id: 2, name: 'Bob' } + * // ] + * ``` + * @since v24.9.0 + * @returns A new SQL tag store for caching prepared statements. + */ + createTagStore(maxSize?: number): SQLTagStore; + /** + * Creates and attaches a session to the database. This method is a wrapper around + * [`sqlite3session_create()`](https://www.sqlite.org/session/sqlite3session_create.html) and + * [`sqlite3session_attach()`](https://www.sqlite.org/session/sqlite3session_attach.html). + * @param options The configuration options for the session. + * @returns A session handle. + * @since v22.12.0 + */ + createSession(options?: CreateSessionOptions): Session; + /** + * An exception is thrown if the database is not + * open. This method is a wrapper around + * [`sqlite3changeset_apply()`](https://www.sqlite.org/session/sqlite3changeset_apply.html). + * + * ```js + * import { DatabaseSync } from 'node:sqlite'; + * + * const sourceDb = new DatabaseSync(':memory:'); + * const targetDb = new DatabaseSync(':memory:'); + * + * sourceDb.exec('CREATE TABLE data(key INTEGER PRIMARY KEY, value TEXT)'); + * targetDb.exec('CREATE TABLE data(key INTEGER PRIMARY KEY, value TEXT)'); + * + * const session = sourceDb.createSession(); + * + * const insert = sourceDb.prepare('INSERT INTO data (key, value) VALUES (?, ?)'); + * insert.run(1, 'hello'); + * insert.run(2, 'world'); + * + * const changeset = session.changeset(); + * targetDb.applyChangeset(changeset); + * // Now that the changeset has been applied, targetDb contains the same data as sourceDb. + * ``` + * @param changeset A binary changeset or patchset. + * @param options The configuration options for how the changes will be applied. + * @returns Whether the changeset was applied successfully without being aborted. + * @since v22.12.0 + */ + applyChangeset(changeset: Uint8Array, options?: ApplyChangesetOptions): boolean; + /** + * Closes the database connection. If the database connection is already closed + * then this is a no-op. + * @since v22.15.0 + */ + [Symbol.dispose](): void; + } + /** + * @since v22.12.0 + */ + interface Session { + /** + * Retrieves a changeset containing all changes since the changeset was created. Can be called multiple times. + * An exception is thrown if the database or the session is not open. This method is a wrapper around + * [`sqlite3session_changeset()`](https://www.sqlite.org/session/sqlite3session_changeset.html). + * @returns Binary changeset that can be applied to other databases. + * @since v22.12.0 + */ + changeset(): NodeJS.NonSharedUint8Array; + /** + * Similar to the method above, but generates a more compact patchset. See + * [Changesets and Patchsets](https://www.sqlite.org/sessionintro.html#changesets_and_patchsets) + * in the documentation of SQLite. An exception is thrown if the database or the session is not open. This method is a + * wrapper around + * [`sqlite3session_patchset()`](https://www.sqlite.org/session/sqlite3session_patchset.html). + * @returns Binary patchset that can be applied to other databases. + * @since v22.12.0 + */ + patchset(): NodeJS.NonSharedUint8Array; + /** + * Closes the session. An exception is thrown if the database or the session is not open. This method is a + * wrapper around + * [`sqlite3session_delete()`](https://www.sqlite.org/session/sqlite3session_delete.html). + */ + close(): void; + /** + * Closes the session. If the session is already closed, does nothing. + * @since v24.9.0 + */ + [Symbol.dispose](): void; + } + /** + * This class represents a single LRU (Least Recently Used) cache for storing + * prepared statements. + * + * Instances of this class are created via the `database.createTagStore()` + * method, not by using a constructor. The store caches prepared statements based + * on the provided SQL query string. When the same query is seen again, the store + * retrieves the cached statement and safely applies the new values through + * parameter binding, thereby preventing attacks like SQL injection. + * + * The cache has a maxSize that defaults to 1000 statements, but a custom size can + * be provided (e.g., `database.createTagStore(100)`). All APIs exposed by this + * class execute synchronously. + * @since v24.9.0 + */ + interface SQLTagStore { + /** + * Executes the given SQL query and returns all resulting rows as an array of + * objects. + * + * This function is intended to be used as a template literal tag, not to be + * called directly. + * @since v24.9.0 + * @param stringElements Template literal elements containing the SQL + * query. + * @param boundParameters Parameter values to be bound to placeholders in the template string. + * @returns An array of objects representing the rows returned by the query. + */ + all( + stringElements: TemplateStringsArray, + ...boundParameters: SQLInputValue[] + ): Record[]; + /** + * Executes the given SQL query and returns the first resulting row as an object. + * + * This function is intended to be used as a template literal tag, not to be + * called directly. + * @since v24.9.0 + * @param stringElements Template literal elements containing the SQL + * query. + * @param boundParameters Parameter values to be bound to placeholders in the template string. + * @returns An object representing the first row returned by + * the query, or `undefined` if no rows are returned. + */ + get( + stringElements: TemplateStringsArray, + ...boundParameters: SQLInputValue[] + ): Record | undefined; + /** + * Executes the given SQL query and returns an iterator over the resulting rows. + * + * This function is intended to be used as a template literal tag, not to be + * called directly. + * @since v24.9.0 + * @param stringElements Template literal elements containing the SQL + * query. + * @param boundParameters Parameter values to be bound to placeholders in the template string. + * @returns An iterator that yields objects representing the rows returned by the query. + */ + iterate( + stringElements: TemplateStringsArray, + ...boundParameters: SQLInputValue[] + ): NodeJS.Iterator>; + /** + * Executes the given SQL query, which is expected to not return any rows (e.g., INSERT, UPDATE, DELETE). + * + * This function is intended to be used as a template literal tag, not to be + * called directly. + * @since v24.9.0 + * @param stringElements Template literal elements containing the SQL + * query. + * @param boundParameters Parameter values to be bound to placeholders in the template string. + * @returns An object containing information about the execution, including `changes` and `lastInsertRowid`. + */ + run(stringElements: TemplateStringsArray, ...boundParameters: SQLInputValue[]): StatementResultingChanges; + /** + * A read-only property that returns the number of prepared statements currently in the cache. + * @since v24.9.0 + */ + readonly size: number; + /** + * A read-only property that returns the maximum number of prepared statements the cache can hold. + * @since v24.9.0 + */ + readonly capacity: number; + /** + * A read-only property that returns the `DatabaseSync` object associated with this `SQLTagStore`. + * @since v24.9.0 + */ + readonly db: DatabaseSync; + /** + * Resets the LRU cache, clearing all stored prepared statements. + * @since v24.9.0 + */ + clear(): void; + } + interface StatementColumnMetadata { + /** + * The unaliased name of the column in the origin + * table, or `null` if the column is the result of an expression or subquery. + * This property is the result of [`sqlite3_column_origin_name()`](https://www.sqlite.org/c3ref/column_database_name.html). + */ + column: string | null; + /** + * The unaliased name of the origin database, or + * `null` if the column is the result of an expression or subquery. This + * property is the result of [`sqlite3_column_database_name()`](https://www.sqlite.org/c3ref/column_database_name.html). + */ + database: string | null; + /** + * The name assigned to the column in the result set of a + * `SELECT` statement. This property is the result of + * [`sqlite3_column_name()`](https://www.sqlite.org/c3ref/column_name.html). + */ + name: string; + /** + * The unaliased name of the origin table, or `null` if + * the column is the result of an expression or subquery. This property is the + * result of [`sqlite3_column_table_name()`](https://www.sqlite.org/c3ref/column_database_name.html). + */ + table: string | null; + /** + * The declared data type of the column, or `null` if the + * column is the result of an expression or subquery. This property is the + * result of [`sqlite3_column_decltype()`](https://www.sqlite.org/c3ref/column_decltype.html). + */ + type: string | null; + } + interface StatementResultingChanges { + /** + * The number of rows modified, inserted, or deleted by the most recently completed `INSERT`, `UPDATE`, or `DELETE` statement. + * This field is either a number or a `BigInt` depending on the prepared statement's configuration. + * This property is the result of [`sqlite3_changes64()`](https://www.sqlite.org/c3ref/changes.html). + */ + changes: number | bigint; + /** + * The most recently inserted rowid. + * This field is either a number or a `BigInt` depending on the prepared statement's configuration. + * This property is the result of [`sqlite3_last_insert_rowid()`](https://www.sqlite.org/c3ref/last_insert_rowid.html). + */ + lastInsertRowid: number | bigint; + } + /** + * This class represents a single [prepared statement](https://www.sqlite.org/c3ref/stmt.html). This class cannot be + * instantiated via its constructor. Instead, instances are created via the`database.prepare()` method. All APIs exposed by this class execute + * synchronously. + * + * A prepared statement is an efficient binary representation of the SQL used to + * create it. Prepared statements are parameterizable, and can be invoked multiple + * times with different bound values. Parameters also offer protection against [SQL injection](https://en.wikipedia.org/wiki/SQL_injection) attacks. For these reasons, prepared statements are + * preferred + * over hand-crafted SQL strings when handling user input. + * @since v22.5.0 + */ + class StatementSync { + private constructor(); + /** + * This method executes a prepared statement and returns all results as an array of + * objects. If the prepared statement does not return any results, this method + * returns an empty array. The prepared statement [parameters are bound](https://www.sqlite.org/c3ref/bind_blob.html) using + * the values in `namedParameters` and `anonymousParameters`. + * @since v22.5.0 + * @param namedParameters An optional object used to bind named parameters. The keys of this object are used to configure the mapping. + * @param anonymousParameters Zero or more values to bind to anonymous parameters. + * @return An array of objects. Each object corresponds to a row returned by executing the prepared statement. The keys and values of each object correspond to the column names and values of + * the row. + */ + all(...anonymousParameters: SQLInputValue[]): Record[]; + all( + namedParameters: Record, + ...anonymousParameters: SQLInputValue[] + ): Record[]; + /** + * This method is used to retrieve information about the columns returned by the + * prepared statement. + * @since v23.11.0 + * @returns An array of objects. Each object corresponds to a column + * in the prepared statement, and contains the following properties: + */ + columns(): StatementColumnMetadata[]; + /** + * The source SQL text of the prepared statement with parameter + * placeholders replaced by the values that were used during the most recent + * execution of this prepared statement. This property is a wrapper around + * [`sqlite3_expanded_sql()`](https://www.sqlite.org/c3ref/expanded_sql.html). + * @since v22.5.0 + */ + readonly expandedSQL: string; + /** + * This method executes a prepared statement and returns the first result as an + * object. If the prepared statement does not return any results, this method + * returns `undefined`. The prepared statement [parameters are bound](https://www.sqlite.org/c3ref/bind_blob.html) using the + * values in `namedParameters` and `anonymousParameters`. + * @since v22.5.0 + * @param namedParameters An optional object used to bind named parameters. The keys of this object are used to configure the mapping. + * @param anonymousParameters Zero or more values to bind to anonymous parameters. + * @return An object corresponding to the first row returned by executing the prepared statement. The keys and values of the object correspond to the column names and values of the row. If no + * rows were returned from the database then this method returns `undefined`. + */ + get(...anonymousParameters: SQLInputValue[]): Record | undefined; + get( + namedParameters: Record, + ...anonymousParameters: SQLInputValue[] + ): Record | undefined; + /** + * This method executes a prepared statement and returns an iterator of + * objects. If the prepared statement does not return any results, this method + * returns an empty iterator. The prepared statement [parameters are bound](https://www.sqlite.org/c3ref/bind_blob.html) using + * the values in `namedParameters` and `anonymousParameters`. + * @since v22.13.0 + * @param namedParameters An optional object used to bind named parameters. + * The keys of this object are used to configure the mapping. + * @param anonymousParameters Zero or more values to bind to anonymous parameters. + * @returns An iterable iterator of objects. Each object corresponds to a row + * returned by executing the prepared statement. The keys and values of each + * object correspond to the column names and values of the row. + */ + iterate(...anonymousParameters: SQLInputValue[]): NodeJS.Iterator>; + iterate( + namedParameters: Record, + ...anonymousParameters: SQLInputValue[] + ): NodeJS.Iterator>; + /** + * This method executes a prepared statement and returns an object summarizing the + * resulting changes. The prepared statement [parameters are bound](https://www.sqlite.org/c3ref/bind_blob.html) using the + * values in `namedParameters` and `anonymousParameters`. + * @since v22.5.0 + * @param namedParameters An optional object used to bind named parameters. The keys of this object are used to configure the mapping. + * @param anonymousParameters Zero or more values to bind to anonymous parameters. + */ + run(...anonymousParameters: SQLInputValue[]): StatementResultingChanges; + run( + namedParameters: Record, + ...anonymousParameters: SQLInputValue[] + ): StatementResultingChanges; + /** + * The names of SQLite parameters begin with a prefix character. By default,`node:sqlite` requires that this prefix character is present when binding + * parameters. However, with the exception of dollar sign character, these + * prefix characters also require extra quoting when used in object keys. + * + * To improve ergonomics, this method can be used to also allow bare named + * parameters, which do not require the prefix character in JavaScript code. There + * are several caveats to be aware of when enabling bare named parameters: + * + * * The prefix character is still required in SQL. + * * The prefix character is still allowed in JavaScript. In fact, prefixed names + * will have slightly better binding performance. + * * Using ambiguous named parameters, such as `$k` and `@k`, in the same prepared + * statement will result in an exception as it cannot be determined how to bind + * a bare name. + * @since v22.5.0 + * @param enabled Enables or disables support for binding named parameters without the prefix character. + */ + setAllowBareNamedParameters(enabled: boolean): void; + /** + * By default, if an unknown name is encountered while binding parameters, an + * exception is thrown. This method allows unknown named parameters to be ignored. + * @since v22.15.0 + * @param enabled Enables or disables support for unknown named parameters. + */ + setAllowUnknownNamedParameters(enabled: boolean): void; + /** + * When enabled, query results returned by the `all()`, `get()`, and `iterate()` methods will be returned as arrays instead + * of objects. + * @since v24.0.0 + * @param enabled Enables or disables the return of query results as arrays. + */ + setReturnArrays(enabled: boolean): void; + /** + * When reading from the database, SQLite `INTEGER`s are mapped to JavaScript + * numbers by default. However, SQLite `INTEGER`s can store values larger than + * JavaScript numbers are capable of representing. In such cases, this method can + * be used to read `INTEGER` data using JavaScript `BigInt`s. This method has no + * impact on database write operations where numbers and `BigInt`s are both + * supported at all times. + * @since v22.5.0 + * @param enabled Enables or disables the use of `BigInt`s when reading `INTEGER` fields from the database. + */ + setReadBigInts(enabled: boolean): void; + /** + * The source SQL text of the prepared statement. This property is a + * wrapper around [`sqlite3_sql()`](https://www.sqlite.org/c3ref/expanded_sql.html). + * @since v22.5.0 + */ + readonly sourceSQL: string; + } + interface BackupOptions { + /** + * Name of the source database. This can be `'main'` (the default primary database) or any other + * database that have been added with [`ATTACH DATABASE`](https://www.sqlite.org/lang_attach.html) + * @default 'main' + */ + source?: string | undefined; + /** + * Name of the target database. This can be `'main'` (the default primary database) or any other + * database that have been added with [`ATTACH DATABASE`](https://www.sqlite.org/lang_attach.html) + * @default 'main' + */ + target?: string | undefined; + /** + * Number of pages to be transmitted in each batch of the backup. + * @default 100 + */ + rate?: number | undefined; + /** + * An optional callback function that will be called after each backup step. The argument passed + * to this callback is an `Object` with `remainingPages` and `totalPages` properties, describing the current progress + * of the backup operation. + */ + progress?: ((progressInfo: BackupProgressInfo) => void) | undefined; + } + interface BackupProgressInfo { + totalPages: number; + remainingPages: number; + } + /** + * This method makes a database backup. This method abstracts the + * [`sqlite3_backup_init()`](https://www.sqlite.org/c3ref/backup_finish.html#sqlite3backupinit), + * [`sqlite3_backup_step()`](https://www.sqlite.org/c3ref/backup_finish.html#sqlite3backupstep) + * and [`sqlite3_backup_finish()`](https://www.sqlite.org/c3ref/backup_finish.html#sqlite3backupfinish) functions. + * + * The backed-up database can be used normally during the backup process. Mutations coming from the same connection - same + * `DatabaseSync` - object will be reflected in the backup right away. However, mutations from other connections will cause + * the backup process to restart. + * + * ```js + * import { backup, DatabaseSync } from 'node:sqlite'; + * + * const sourceDb = new DatabaseSync('source.db'); + * const totalPagesTransferred = await backup(sourceDb, 'backup.db', { + * rate: 1, // Copy one page at a time. + * progress: ({ totalPages, remainingPages }) => { + * console.log('Backup in progress', { totalPages, remainingPages }); + * }, + * }); + * + * console.log('Backup completed', totalPagesTransferred); + * ``` + * @since v23.8.0 + * @param sourceDb The database to backup. The source database must be open. + * @param path The path where the backup will be created. If the file already exists, + * the contents will be overwritten. + * @param options Optional configuration for the backup. The + * following properties are supported: + * @returns A promise that fulfills with the total number of backed-up pages upon completion, or rejects if an + * error occurs. + */ + function backup(sourceDb: DatabaseSync, path: PathLike, options?: BackupOptions): Promise; + /** + * @since v22.13.0 + */ + namespace constants { + /** + * The conflict handler is invoked with this constant when processing a DELETE or UPDATE change if a row with the required PRIMARY KEY fields is present in the database, but one or more other (non primary-key) fields modified by the update do not contain the expected "before" values. + * @since v22.14.0 + */ + const SQLITE_CHANGESET_DATA: number; + /** + * The conflict handler is invoked with this constant when processing a DELETE or UPDATE change if a row with the required PRIMARY KEY fields is not present in the database. + * @since v22.14.0 + */ + const SQLITE_CHANGESET_NOTFOUND: number; + /** + * This constant is passed to the conflict handler while processing an INSERT change if the operation would result in duplicate primary key values. + * @since v22.14.0 + */ + const SQLITE_CHANGESET_CONFLICT: number; + /** + * If foreign key handling is enabled, and applying a changeset leaves the database in a state containing foreign key violations, the conflict handler is invoked with this constant exactly once before the changeset is committed. If the conflict handler returns `SQLITE_CHANGESET_OMIT`, the changes, including those that caused the foreign key constraint violation, are committed. Or, if it returns `SQLITE_CHANGESET_ABORT`, the changeset is rolled back. + * @since v22.14.0 + */ + const SQLITE_CHANGESET_FOREIGN_KEY: number; + /** + * Conflicting changes are omitted. + * @since v22.12.0 + */ + const SQLITE_CHANGESET_OMIT: number; + /** + * Conflicting changes replace existing values. Note that this value can only be returned when the type of conflict is either `SQLITE_CHANGESET_DATA` or `SQLITE_CHANGESET_CONFLICT`. + * @since v22.12.0 + */ + const SQLITE_CHANGESET_REPLACE: number; + /** + * Abort when a change encounters a conflict and roll back database. + * @since v22.12.0 + */ + const SQLITE_CHANGESET_ABORT: number; + /** + * Deny the operation and cause an error to be returned. + * @since v24.10.0 + */ + const SQLITE_DENY: number; + /** + * Ignore the operation and continue as if it had never been requested. + * @since 24.10.0 + */ + const SQLITE_IGNORE: number; + /** + * Allow the operation to proceed normally. + * @since v24.10.0 + */ + const SQLITE_OK: number; + const SQLITE_CREATE_INDEX: number; + const SQLITE_CREATE_TABLE: number; + const SQLITE_CREATE_TEMP_INDEX: number; + const SQLITE_CREATE_TEMP_TABLE: number; + const SQLITE_CREATE_TEMP_TRIGGER: number; + const SQLITE_CREATE_TEMP_VIEW: number; + const SQLITE_CREATE_TRIGGER: number; + const SQLITE_CREATE_VIEW: number; + const SQLITE_DELETE: number; + const SQLITE_DROP_INDEX: number; + const SQLITE_DROP_TABLE: number; + const SQLITE_DROP_TEMP_INDEX: number; + const SQLITE_DROP_TEMP_TABLE: number; + const SQLITE_DROP_TEMP_TRIGGER: number; + const SQLITE_DROP_TEMP_VIEW: number; + const SQLITE_DROP_TRIGGER: number; + const SQLITE_DROP_VIEW: number; + const SQLITE_INSERT: number; + const SQLITE_PRAGMA: number; + const SQLITE_READ: number; + const SQLITE_SELECT: number; + const SQLITE_TRANSACTION: number; + const SQLITE_UPDATE: number; + const SQLITE_ATTACH: number; + const SQLITE_DETACH: number; + const SQLITE_ALTER_TABLE: number; + const SQLITE_REINDEX: number; + const SQLITE_ANALYZE: number; + const SQLITE_CREATE_VTABLE: number; + const SQLITE_DROP_VTABLE: number; + const SQLITE_FUNCTION: number; + const SQLITE_SAVEPOINT: number; + const SQLITE_COPY: number; + const SQLITE_RECURSIVE: number; + } +} diff --git a/node_modules/@types/node/stream.d.ts b/node_modules/@types/node/stream.d.ts new file mode 100644 index 0000000..887b6d4 --- /dev/null +++ b/node_modules/@types/node/stream.d.ts @@ -0,0 +1,1774 @@ +declare module "node:stream" { + import { Blob } from "node:buffer"; + import { Abortable, EventEmitter } from "node:events"; + import * as promises from "node:stream/promises"; + import * as web from "node:stream/web"; + class Stream extends EventEmitter { + /** + * @since v0.9.4 + */ + pipe( + destination: T, + options?: Stream.PipeOptions, + ): T; + } + namespace Stream { + export { promises, Stream }; + } + namespace Stream { + interface PipeOptions { + /** + * End the writer when the reader ends. + * @default true + */ + end?: boolean | undefined; + } + interface StreamOptions extends Abortable { + emitClose?: boolean | undefined; + highWaterMark?: number | undefined; + objectMode?: boolean | undefined; + construct?: ((this: T, callback: (error?: Error | null) => void) => void) | undefined; + destroy?: ((this: T, error: Error | null, callback: (error?: Error | null) => void) => void) | undefined; + autoDestroy?: boolean | undefined; + } + interface ReadableOptions extends StreamOptions { + encoding?: BufferEncoding | undefined; + read?: ((this: T, size: number) => void) | undefined; + } + interface ReadableIteratorOptions { + /** + * When set to `false`, calling `return` on the async iterator, + * or exiting a `for await...of` iteration using a `break`, + * `return`, or `throw` will not destroy the stream. + * @default true + */ + destroyOnReturn?: boolean | undefined; + } + interface ReadableOperatorOptions extends Abortable { + /** + * The maximum concurrent invocations of `fn` to call + * on the stream at once. + * @default 1 + */ + concurrency?: number | undefined; + /** + * How many items to buffer while waiting for user consumption + * of the output. + * @default concurrency * 2 - 1 + */ + highWaterMark?: number | undefined; + } + /** @deprecated Use `ReadableOperatorOptions` instead. */ + interface ArrayOptions extends ReadableOperatorOptions {} + interface ReadableToWebOptions { + strategy?: web.QueuingStrategy | undefined; + type?: web.ReadableStreamType | undefined; + } + interface ReadableEventMap { + "close": []; + "data": [chunk: any]; + "end": []; + "error": [err: Error]; + "pause": []; + "readable": []; + "resume": []; + } + /** + * @since v0.9.4 + */ + class Readable extends Stream implements NodeJS.ReadableStream { + constructor(options?: ReadableOptions); + /** + * A utility method for creating Readable Streams out of iterators. + * @since v12.3.0, v10.17.0 + * @param iterable Object implementing the `Symbol.asyncIterator` or `Symbol.iterator` iterable protocol. Emits an 'error' event if a null value is passed. + * @param options Options provided to `new stream.Readable([options])`. By default, `Readable.from()` will set `options.objectMode` to `true`, unless this is explicitly opted out by setting `options.objectMode` to `false`. + */ + static from(iterable: Iterable | AsyncIterable, options?: ReadableOptions): Readable; + /** + * A utility method for creating a `Readable` from a web `ReadableStream`. + * @since v17.0.0 + */ + static fromWeb( + readableStream: web.ReadableStream, + options?: Pick, + ): Readable; + /** + * A utility method for creating a web `ReadableStream` from a `Readable`. + * @since v17.0.0 + */ + static toWeb( + streamReadable: NodeJS.ReadableStream, + options?: ReadableToWebOptions, + ): web.ReadableStream; + /** + * Returns whether the stream has been read from or cancelled. + * @since v16.8.0 + */ + static isDisturbed(stream: NodeJS.ReadableStream | web.ReadableStream): boolean; + /** + * Returns whether the stream was destroyed or errored before emitting `'end'`. + * @since v16.8.0 + */ + readonly readableAborted: boolean; + /** + * Is `true` if it is safe to call {@link read}, which means + * the stream has not been destroyed or emitted `'error'` or `'end'`. + * @since v11.4.0 + */ + readable: boolean; + /** + * Returns whether `'data'` has been emitted. + * @since v16.7.0, v14.18.0 + */ + readonly readableDidRead: boolean; + /** + * Getter for the property `encoding` of a given `Readable` stream. The `encoding` property can be set using the {@link setEncoding} method. + * @since v12.7.0 + */ + readonly readableEncoding: BufferEncoding | null; + /** + * Becomes `true` when [`'end'`](https://nodejs.org/docs/latest-v25.x/api/stream.html#event-end) event is emitted. + * @since v12.9.0 + */ + readonly readableEnded: boolean; + /** + * This property reflects the current state of a `Readable` stream as described + * in the [Three states](https://nodejs.org/docs/latest-v25.x/api/stream.html#three-states) section. + * @since v9.4.0 + */ + readableFlowing: boolean | null; + /** + * Returns the value of `highWaterMark` passed when creating this `Readable`. + * @since v9.3.0 + */ + readonly readableHighWaterMark: number; + /** + * This property contains the number of bytes (or objects) in the queue + * ready to be read. The value provides introspection data regarding + * the status of the `highWaterMark`. + * @since v9.4.0 + */ + readonly readableLength: number; + /** + * Getter for the property `objectMode` of a given `Readable` stream. + * @since v12.3.0 + */ + readonly readableObjectMode: boolean; + /** + * Is `true` after `readable.destroy()` has been called. + * @since v8.0.0 + */ + destroyed: boolean; + /** + * Is `true` after `'close'` has been emitted. + * @since v18.0.0 + */ + readonly closed: boolean; + /** + * Returns error if the stream has been destroyed with an error. + * @since v18.0.0 + */ + readonly errored: Error | null; + _construct?(callback: (error?: Error | null) => void): void; + _read(size: number): void; + /** + * The `readable.read()` method reads data out of the internal buffer and + * returns it. If no data is available to be read, `null` is returned. By default, + * the data is returned as a `Buffer` object unless an encoding has been + * specified using the `readable.setEncoding()` method or the stream is operating + * in object mode. + * + * The optional `size` argument specifies a specific number of bytes to read. If + * `size` bytes are not available to be read, `null` will be returned _unless_ the + * stream has ended, in which case all of the data remaining in the internal buffer + * will be returned. + * + * If the `size` argument is not specified, all of the data contained in the + * internal buffer will be returned. + * + * The `size` argument must be less than or equal to 1 GiB. + * + * The `readable.read()` method should only be called on `Readable` streams + * operating in paused mode. In flowing mode, `readable.read()` is called + * automatically until the internal buffer is fully drained. + * + * ```js + * const readable = getReadableStreamSomehow(); + * + * // 'readable' may be triggered multiple times as data is buffered in + * readable.on('readable', () => { + * let chunk; + * console.log('Stream is readable (new data received in buffer)'); + * // Use a loop to make sure we read all currently available data + * while (null !== (chunk = readable.read())) { + * console.log(`Read ${chunk.length} bytes of data...`); + * } + * }); + * + * // 'end' will be triggered once when there is no more data available + * readable.on('end', () => { + * console.log('Reached end of stream.'); + * }); + * ``` + * + * Each call to `readable.read()` returns a chunk of data, or `null`. The chunks + * are not concatenated. A `while` loop is necessary to consume all data + * currently in the buffer. When reading a large file `.read()` may return `null`, + * having consumed all buffered content so far, but there is still more data to + * come not yet buffered. In this case a new `'readable'` event will be emitted + * when there is more data in the buffer. Finally the `'end'` event will be + * emitted when there is no more data to come. + * + * Therefore to read a file's whole contents from a `readable`, it is necessary + * to collect chunks across multiple `'readable'` events: + * + * ```js + * const chunks = []; + * + * readable.on('readable', () => { + * let chunk; + * while (null !== (chunk = readable.read())) { + * chunks.push(chunk); + * } + * }); + * + * readable.on('end', () => { + * const content = chunks.join(''); + * }); + * ``` + * + * A `Readable` stream in object mode will always return a single item from + * a call to `readable.read(size)`, regardless of the value of the `size` argument. + * + * If the `readable.read()` method returns a chunk of data, a `'data'` event will + * also be emitted. + * + * Calling {@link read} after the `'end'` event has + * been emitted will return `null`. No runtime error will be raised. + * @since v0.9.4 + * @param size Optional argument to specify how much data to read. + */ + read(size?: number): any; + /** + * The `readable.setEncoding()` method sets the character encoding for + * data read from the `Readable` stream. + * + * By default, no encoding is assigned and stream data will be returned as `Buffer` objects. Setting an encoding causes the stream data + * to be returned as strings of the specified encoding rather than as `Buffer` objects. For instance, calling `readable.setEncoding('utf8')` will cause the + * output data to be interpreted as UTF-8 data, and passed as strings. Calling `readable.setEncoding('hex')` will cause the data to be encoded in hexadecimal + * string format. + * + * The `Readable` stream will properly handle multi-byte characters delivered + * through the stream that would otherwise become improperly decoded if simply + * pulled from the stream as `Buffer` objects. + * + * ```js + * const readable = getReadableStreamSomehow(); + * readable.setEncoding('utf8'); + * readable.on('data', (chunk) => { + * assert.equal(typeof chunk, 'string'); + * console.log('Got %d characters of string data:', chunk.length); + * }); + * ``` + * @since v0.9.4 + * @param encoding The encoding to use. + */ + setEncoding(encoding: BufferEncoding): this; + /** + * The `readable.pause()` method will cause a stream in flowing mode to stop + * emitting `'data'` events, switching out of flowing mode. Any data that + * becomes available will remain in the internal buffer. + * + * ```js + * const readable = getReadableStreamSomehow(); + * readable.on('data', (chunk) => { + * console.log(`Received ${chunk.length} bytes of data.`); + * readable.pause(); + * console.log('There will be no additional data for 1 second.'); + * setTimeout(() => { + * console.log('Now data will start flowing again.'); + * readable.resume(); + * }, 1000); + * }); + * ``` + * + * The `readable.pause()` method has no effect if there is a `'readable'` event listener. + * @since v0.9.4 + */ + pause(): this; + /** + * The `readable.resume()` method causes an explicitly paused `Readable` stream to + * resume emitting `'data'` events, switching the stream into flowing mode. + * + * The `readable.resume()` method can be used to fully consume the data from a + * stream without actually processing any of that data: + * + * ```js + * getReadableStreamSomehow() + * .resume() + * .on('end', () => { + * console.log('Reached the end, but did not read anything.'); + * }); + * ``` + * + * The `readable.resume()` method has no effect if there is a `'readable'` event listener. + * @since v0.9.4 + */ + resume(): this; + /** + * The `readable.isPaused()` method returns the current operating state of the `Readable`. + * This is used primarily by the mechanism that underlies the `readable.pipe()` method. + * In most typical cases, there will be no reason to use this method directly. + * + * ```js + * const readable = new stream.Readable(); + * + * readable.isPaused(); // === false + * readable.pause(); + * readable.isPaused(); // === true + * readable.resume(); + * readable.isPaused(); // === false + * ``` + * @since v0.11.14 + */ + isPaused(): boolean; + /** + * The `readable.unpipe()` method detaches a `Writable` stream previously attached + * using the {@link pipe} method. + * + * If the `destination` is not specified, then _all_ pipes are detached. + * + * If the `destination` is specified, but no pipe is set up for it, then + * the method does nothing. + * + * ```js + * import fs from 'node:fs'; + * const readable = getReadableStreamSomehow(); + * const writable = fs.createWriteStream('file.txt'); + * // All the data from readable goes into 'file.txt', + * // but only for the first second. + * readable.pipe(writable); + * setTimeout(() => { + * console.log('Stop writing to file.txt.'); + * readable.unpipe(writable); + * console.log('Manually close the file stream.'); + * writable.end(); + * }, 1000); + * ``` + * @since v0.9.4 + * @param destination Optional specific stream to unpipe + */ + unpipe(destination?: NodeJS.WritableStream): this; + /** + * Passing `chunk` as `null` signals the end of the stream (EOF) and behaves the + * same as `readable.push(null)`, after which no more data can be written. The EOF + * signal is put at the end of the buffer and any buffered data will still be + * flushed. + * + * The `readable.unshift()` method pushes a chunk of data back into the internal + * buffer. This is useful in certain situations where a stream is being consumed by + * code that needs to "un-consume" some amount of data that it has optimistically + * pulled out of the source, so that the data can be passed on to some other party. + * + * The `stream.unshift(chunk)` method cannot be called after the `'end'` event + * has been emitted or a runtime error will be thrown. + * + * Developers using `stream.unshift()` often should consider switching to + * use of a `Transform` stream instead. See the `API for stream implementers` section for more information. + * + * ```js + * // Pull off a header delimited by \n\n. + * // Use unshift() if we get too much. + * // Call the callback with (error, header, stream). + * import { StringDecoder } from 'node:string_decoder'; + * function parseHeader(stream, callback) { + * stream.on('error', callback); + * stream.on('readable', onReadable); + * const decoder = new StringDecoder('utf8'); + * let header = ''; + * function onReadable() { + * let chunk; + * while (null !== (chunk = stream.read())) { + * const str = decoder.write(chunk); + * if (str.includes('\n\n')) { + * // Found the header boundary. + * const split = str.split(/\n\n/); + * header += split.shift(); + * const remaining = split.join('\n\n'); + * const buf = Buffer.from(remaining, 'utf8'); + * stream.removeListener('error', callback); + * // Remove the 'readable' listener before unshifting. + * stream.removeListener('readable', onReadable); + * if (buf.length) + * stream.unshift(buf); + * // Now the body of the message can be read from the stream. + * callback(null, header, stream); + * return; + * } + * // Still reading the header. + * header += str; + * } + * } + * } + * ``` + * + * Unlike {@link push}, `stream.unshift(chunk)` will not + * end the reading process by resetting the internal reading state of the stream. + * This can cause unexpected results if `readable.unshift()` is called during a + * read (i.e. from within a {@link _read} implementation on a + * custom stream). Following the call to `readable.unshift()` with an immediate {@link push} will reset the reading state appropriately, + * however it is best to simply avoid calling `readable.unshift()` while in the + * process of performing a read. + * @since v0.9.11 + * @param chunk Chunk of data to unshift onto the read queue. For streams not operating in object mode, `chunk` must + * be a {string}, {Buffer}, {TypedArray}, {DataView} or `null`. For object mode streams, `chunk` may be any JavaScript value. + * @param encoding Encoding of string chunks. Must be a valid `Buffer` encoding, such as `'utf8'` or `'ascii'`. + */ + unshift(chunk: any, encoding?: BufferEncoding): void; + /** + * Prior to Node.js 0.10, streams did not implement the entire `node:stream` module API as it is currently defined. (See `Compatibility` for more + * information.) + * + * When using an older Node.js library that emits `'data'` events and has a {@link pause} method that is advisory only, the `readable.wrap()` method can be used to create a `Readable` + * stream that uses + * the old stream as its data source. + * + * It will rarely be necessary to use `readable.wrap()` but the method has been + * provided as a convenience for interacting with older Node.js applications and + * libraries. + * + * ```js + * import { OldReader } from './old-api-module.js'; + * import { Readable } from 'node:stream'; + * const oreader = new OldReader(); + * const myReader = new Readable().wrap(oreader); + * + * myReader.on('readable', () => { + * myReader.read(); // etc. + * }); + * ``` + * @since v0.9.4 + * @param stream An "old style" readable stream + */ + wrap(stream: NodeJS.ReadableStream): this; + push(chunk: any, encoding?: BufferEncoding): boolean; + /** + * ```js + * import { Readable } from 'node:stream'; + * + * async function* splitToWords(source) { + * for await (const chunk of source) { + * const words = String(chunk).split(' '); + * + * for (const word of words) { + * yield word; + * } + * } + * } + * + * const wordsStream = Readable.from(['text passed through', 'composed stream']).compose(splitToWords); + * const words = await wordsStream.toArray(); + * + * console.log(words); // prints ['text', 'passed', 'through', 'composed', 'stream'] + * ``` + * + * `readable.compose(s)` is equivalent to `stream.compose(readable, s)`. + * + * This method also allows for an `AbortSignal` to be provided, which will destroy + * the composed stream when aborted. + * + * See [`stream.compose(...streams)`](https://nodejs.org/docs/latest-v25.x/api/stream.html#streamcomposestreams) for more information. + * @since v19.1.0, v18.13.0 + * @returns a stream composed with the stream `stream`. + */ + compose( + stream: NodeJS.WritableStream | web.WritableStream | web.TransformStream | ((source: any) => void), + options?: Abortable, + ): Duplex; + /** + * The iterator created by this method gives users the option to cancel the destruction + * of the stream if the `for await...of` loop is exited by `return`, `break`, or `throw`, + * or if the iterator should destroy the stream if the stream emitted an error during iteration. + * @since v16.3.0 + */ + iterator(options?: ReadableIteratorOptions): NodeJS.AsyncIterator; + /** + * This method allows mapping over the stream. The *fn* function will be called for every chunk in the stream. + * If the *fn* function returns a promise - that promise will be `await`ed before being passed to the result stream. + * @since v17.4.0, v16.14.0 + * @param fn a function to map over every chunk in the stream. Async or not. + * @returns a stream mapped with the function *fn*. + */ + map(fn: (data: any, options?: Abortable) => any, options?: ReadableOperatorOptions): Readable; + /** + * This method allows filtering the stream. For each chunk in the stream the *fn* function will be called + * and if it returns a truthy value, the chunk will be passed to the result stream. + * If the *fn* function returns a promise - that promise will be `await`ed. + * @since v17.4.0, v16.14.0 + * @param fn a function to filter chunks from the stream. Async or not. + * @returns a stream filtered with the predicate *fn*. + */ + filter( + fn: (data: any, options?: Abortable) => boolean | Promise, + options?: ReadableOperatorOptions, + ): Readable; + /** + * This method allows iterating a stream. For each chunk in the stream the *fn* function will be called. + * If the *fn* function returns a promise - that promise will be `await`ed. + * + * This method is different from `for await...of` loops in that it can optionally process chunks concurrently. + * In addition, a `forEach` iteration can only be stopped by having passed a `signal` option + * and aborting the related AbortController while `for await...of` can be stopped with `break` or `return`. + * In either case the stream will be destroyed. + * + * This method is different from listening to the `'data'` event in that it uses the `readable` event + * in the underlying machinary and can limit the number of concurrent *fn* calls. + * @since v17.5.0 + * @param fn a function to call on each chunk of the stream. Async or not. + * @returns a promise for when the stream has finished. + */ + forEach( + fn: (data: any, options?: Abortable) => void | Promise, + options?: Pick, + ): Promise; + /** + * This method allows easily obtaining the contents of a stream. + * + * As this method reads the entire stream into memory, it negates the benefits of streams. It's intended + * for interoperability and convenience, not as the primary way to consume streams. + * @since v17.5.0 + * @returns a promise containing an array with the contents of the stream. + */ + toArray(options?: Abortable): Promise; + /** + * This method is similar to `Array.prototype.some` and calls *fn* on each chunk in the stream + * until the awaited return value is `true` (or any truthy value). Once an *fn* call on a chunk + * `await`ed return value is truthy, the stream is destroyed and the promise is fulfilled with `true`. + * If none of the *fn* calls on the chunks return a truthy value, the promise is fulfilled with `false`. + * @since v17.5.0 + * @param fn a function to call on each chunk of the stream. Async or not. + * @returns a promise evaluating to `true` if *fn* returned a truthy value for at least one of the chunks. + */ + some( + fn: (data: any, options?: Abortable) => boolean | Promise, + options?: Pick, + ): Promise; + /** + * This method is similar to `Array.prototype.find` and calls *fn* on each chunk in the stream + * to find a chunk with a truthy value for *fn*. Once an *fn* call's awaited return value is truthy, + * the stream is destroyed and the promise is fulfilled with value for which *fn* returned a truthy value. + * If all of the *fn* calls on the chunks return a falsy value, the promise is fulfilled with `undefined`. + * @since v17.5.0 + * @param fn a function to call on each chunk of the stream. Async or not. + * @returns a promise evaluating to the first chunk for which *fn* evaluated with a truthy value, + * or `undefined` if no element was found. + */ + find( + fn: (data: any, options?: Abortable) => data is T, + options?: Pick, + ): Promise; + find( + fn: (data: any, options?: Abortable) => boolean | Promise, + options?: Pick, + ): Promise; + /** + * This method is similar to `Array.prototype.every` and calls *fn* on each chunk in the stream + * to check if all awaited return values are truthy value for *fn*. Once an *fn* call on a chunk + * `await`ed return value is falsy, the stream is destroyed and the promise is fulfilled with `false`. + * If all of the *fn* calls on the chunks return a truthy value, the promise is fulfilled with `true`. + * @since v17.5.0 + * @param fn a function to call on each chunk of the stream. Async or not. + * @returns a promise evaluating to `true` if *fn* returned a truthy value for every one of the chunks. + */ + every( + fn: (data: any, options?: Abortable) => boolean | Promise, + options?: Pick, + ): Promise; + /** + * This method returns a new stream by applying the given callback to each chunk of the stream + * and then flattening the result. + * + * It is possible to return a stream or another iterable or async iterable from *fn* and the result streams + * will be merged (flattened) into the returned stream. + * @since v17.5.0 + * @param fn a function to map over every chunk in the stream. May be async. May be a stream or generator. + * @returns a stream flat-mapped with the function *fn*. + */ + flatMap( + fn: (data: any, options?: Abortable) => any, + options?: Pick, + ): Readable; + /** + * This method returns a new stream with the first *limit* chunks dropped from the start. + * @since v17.5.0 + * @param limit the number of chunks to drop from the readable. + * @returns a stream with *limit* chunks dropped from the start. + */ + drop(limit: number, options?: Abortable): Readable; + /** + * This method returns a new stream with the first *limit* chunks. + * @since v17.5.0 + * @param limit the number of chunks to take from the readable. + * @returns a stream with *limit* chunks taken. + */ + take(limit: number, options?: Abortable): Readable; + /** + * This method calls *fn* on each chunk of the stream in order, passing it the result from the calculation + * on the previous element. It returns a promise for the final value of the reduction. + * + * If no *initial* value is supplied the first chunk of the stream is used as the initial value. + * If the stream is empty, the promise is rejected with a `TypeError` with the `ERR_INVALID_ARGS` code property. + * + * The reducer function iterates the stream element-by-element which means that there is no *concurrency* parameter + * or parallelism. To perform a reduce concurrently, you can extract the async function to `readable.map` method. + * @since v17.5.0 + * @param fn a reducer function to call over every chunk in the stream. Async or not. + * @param initial the initial value to use in the reduction. + * @returns a promise for the final value of the reduction. + */ + reduce(fn: (previous: any, data: any, options?: Abortable) => T): Promise; + reduce( + fn: (previous: T, data: any, options?: Abortable) => T, + initial: T, + options?: Abortable, + ): Promise; + _destroy(error: Error | null, callback: (error?: Error | null) => void): void; + /** + * Destroy the stream. Optionally emit an `'error'` event, and emit a `'close'` event (unless `emitClose` is set to `false`). After this call, the readable + * stream will release any internal resources and subsequent calls to `push()` will be ignored. + * + * Once `destroy()` has been called any further calls will be a no-op and no + * further errors except from `_destroy()` may be emitted as `'error'`. + * + * Implementors should not override this method, but instead implement `readable._destroy()`. + * @since v8.0.0 + * @param error Error which will be passed as payload in `'error'` event + */ + destroy(error?: Error): this; + /** + * @returns `AsyncIterator` to fully consume the stream. + * @since v10.0.0 + */ + [Symbol.asyncIterator](): NodeJS.AsyncIterator; + /** + * Calls `readable.destroy()` with an `AbortError` and returns + * a promise that fulfills when the stream is finished. + * @since v20.4.0 + */ + [Symbol.asyncDispose](): Promise; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: ReadableEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: ReadableEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: ReadableEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: ReadableEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off(eventName: E, listener: (...args: ReadableEventMap[E]) => void): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on(eventName: E, listener: (...args: ReadableEventMap[E]) => void): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: ReadableEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: ReadableEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: ReadableEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: ReadableEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: ReadableEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface WritableOptions extends StreamOptions { + decodeStrings?: boolean | undefined; + defaultEncoding?: BufferEncoding | undefined; + write?: + | (( + this: T, + chunk: any, + encoding: BufferEncoding, + callback: (error?: Error | null) => void, + ) => void) + | undefined; + writev?: + | (( + this: T, + chunks: { + chunk: any; + encoding: BufferEncoding; + }[], + callback: (error?: Error | null) => void, + ) => void) + | undefined; + final?: ((this: T, callback: (error?: Error | null) => void) => void) | undefined; + } + interface WritableEventMap { + "close": []; + "drain": []; + "error": [err: Error]; + "finish": []; + "pipe": [src: Readable]; + "unpipe": [src: Readable]; + } + /** + * @since v0.9.4 + */ + class Writable extends Stream implements NodeJS.WritableStream { + constructor(options?: WritableOptions); + /** + * A utility method for creating a `Writable` from a web `WritableStream`. + * @since v17.0.0 + */ + static fromWeb( + writableStream: web.WritableStream, + options?: Pick, + ): Writable; + /** + * A utility method for creating a web `WritableStream` from a `Writable`. + * @since v17.0.0 + */ + static toWeb(streamWritable: NodeJS.WritableStream): web.WritableStream; + /** + * Is `true` if it is safe to call `writable.write()`, which means + * the stream has not been destroyed, errored, or ended. + * @since v11.4.0 + */ + writable: boolean; + /** + * Returns whether the stream was destroyed or errored before emitting `'finish'`. + * @since v18.0.0, v16.17.0 + */ + readonly writableAborted: boolean; + /** + * Is `true` after `writable.end()` has been called. This property + * does not indicate whether the data has been flushed, for this use `writable.writableFinished` instead. + * @since v12.9.0 + */ + readonly writableEnded: boolean; + /** + * Is set to `true` immediately before the `'finish'` event is emitted. + * @since v12.6.0 + */ + readonly writableFinished: boolean; + /** + * Return the value of `highWaterMark` passed when creating this `Writable`. + * @since v9.3.0 + */ + readonly writableHighWaterMark: number; + /** + * This property contains the number of bytes (or objects) in the queue + * ready to be written. The value provides introspection data regarding + * the status of the `highWaterMark`. + * @since v9.4.0 + */ + readonly writableLength: number; + /** + * Getter for the property `objectMode` of a given `Writable` stream. + * @since v12.3.0 + */ + readonly writableObjectMode: boolean; + /** + * Number of times `writable.uncork()` needs to be + * called in order to fully uncork the stream. + * @since v13.2.0, v12.16.0 + */ + readonly writableCorked: number; + /** + * Is `true` after `writable.destroy()` has been called. + * @since v8.0.0 + */ + destroyed: boolean; + /** + * Is `true` after `'close'` has been emitted. + * @since v18.0.0 + */ + readonly closed: boolean; + /** + * Returns error if the stream has been destroyed with an error. + * @since v18.0.0 + */ + readonly errored: Error | null; + /** + * Is `true` if the stream's buffer has been full and stream will emit `'drain'`. + * @since v15.2.0, v14.17.0 + */ + readonly writableNeedDrain: boolean; + _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; + _writev?( + chunks: { + chunk: any; + encoding: BufferEncoding; + }[], + callback: (error?: Error | null) => void, + ): void; + _construct?(callback: (error?: Error | null) => void): void; + _destroy(error: Error | null, callback: (error?: Error | null) => void): void; + _final(callback: (error?: Error | null) => void): void; + /** + * The `writable.write()` method writes some data to the stream, and calls the + * supplied `callback` once the data has been fully handled. If an error + * occurs, the `callback` will be called with the error as its + * first argument. The `callback` is called asynchronously and before `'error'` is + * emitted. + * + * The return value is `true` if the internal buffer is less than the `highWaterMark` configured when the stream was created after admitting `chunk`. + * If `false` is returned, further attempts to write data to the stream should + * stop until the `'drain'` event is emitted. + * + * While a stream is not draining, calls to `write()` will buffer `chunk`, and + * return false. Once all currently buffered chunks are drained (accepted for + * delivery by the operating system), the `'drain'` event will be emitted. + * Once `write()` returns false, do not write more chunks + * until the `'drain'` event is emitted. While calling `write()` on a stream that + * is not draining is allowed, Node.js will buffer all written chunks until + * maximum memory usage occurs, at which point it will abort unconditionally. + * Even before it aborts, high memory usage will cause poor garbage collector + * performance and high RSS (which is not typically released back to the system, + * even after the memory is no longer required). Since TCP sockets may never + * drain if the remote peer does not read the data, writing a socket that is + * not draining may lead to a remotely exploitable vulnerability. + * + * Writing data while the stream is not draining is particularly + * problematic for a `Transform`, because the `Transform` streams are paused + * by default until they are piped or a `'data'` or `'readable'` event handler + * is added. + * + * If the data to be written can be generated or fetched on demand, it is + * recommended to encapsulate the logic into a `Readable` and use {@link pipe}. However, if calling `write()` is preferred, it is + * possible to respect backpressure and avoid memory issues using the `'drain'` event: + * + * ```js + * function write(data, cb) { + * if (!stream.write(data)) { + * stream.once('drain', cb); + * } else { + * process.nextTick(cb); + * } + * } + * + * // Wait for cb to be called before doing any other write. + * write('hello', () => { + * console.log('Write completed, do more writes now.'); + * }); + * ``` + * + * A `Writable` stream in object mode will always ignore the `encoding` argument. + * @since v0.9.4 + * @param chunk Optional data to write. For streams not operating in object mode, `chunk` must be a {string}, {Buffer}, + * {TypedArray} or {DataView}. For object mode streams, `chunk` may be any JavaScript value other than `null`. + * @param callback Callback for when this chunk of data is flushed. + * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. + */ + write(chunk: any, callback?: (error: Error | null | undefined) => void): boolean; + /** + * Writes data to the stream, with an explicit encoding for string data. + * @see {@link Writable.write} for full details. + * @since v0.9.4 + * @param chunk Optional data to write. For streams not operating in object mode, `chunk` must be a {string}, {Buffer}, + * {TypedArray} or {DataView}. For object mode streams, `chunk` may be any JavaScript value other than `null`. + * @param encoding The encoding, if `chunk` is a string. + * @param callback Callback for when this chunk of data is flushed. + * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. + */ + write(chunk: any, encoding: BufferEncoding, callback?: (error: Error | null | undefined) => void): boolean; + /** + * The `writable.setDefaultEncoding()` method sets the default `encoding` for a `Writable` stream. + * @since v0.11.15 + * @param encoding The new default encoding + */ + setDefaultEncoding(encoding: BufferEncoding): this; + /** + * Calling the `writable.end()` method signals that no more data will be written + * to the `Writable`. The optional `chunk` and `encoding` arguments allow one + * final additional chunk of data to be written immediately before closing the + * stream. + * + * Calling the {@link write} method after calling {@link end} will raise an error. + * + * ```js + * // Write 'hello, ' and then end with 'world!'. + * import fs from 'node:fs'; + * const file = fs.createWriteStream('example.txt'); + * file.write('hello, '); + * file.end('world!'); + * // Writing more now is not allowed! + * ``` + * @since v0.9.4 + * @param cb Callback for when the stream is finished. + */ + end(cb?: () => void): this; + /** + * Signals that no more data will be written, with one final chunk of data. + * @see {@link Writable.end} for full details. + * @since v0.9.4 + * @param chunk Optional data to write. For streams not operating in object mode, `chunk` must be a {string}, {Buffer}, + * {TypedArray} or {DataView}. For object mode streams, `chunk` may be any JavaScript value other than `null`. + * @param cb Callback for when the stream is finished. + */ + end(chunk: any, cb?: () => void): this; + /** + * Signals that no more data will be written, with one final chunk of data. + * @see {@link Writable.end} for full details. + * @since v0.9.4 + * @param chunk Optional data to write. For streams not operating in object mode, `chunk` must be a {string}, {Buffer}, + * {TypedArray} or {DataView}. For object mode streams, `chunk` may be any JavaScript value other than `null`. + * @param encoding The encoding if `chunk` is a string + * @param cb Callback for when the stream is finished. + */ + end(chunk: any, encoding: BufferEncoding, cb?: () => void): this; + /** + * The `writable.cork()` method forces all written data to be buffered in memory. + * The buffered data will be flushed when either the {@link uncork} or {@link end} methods are called. + * + * The primary intent of `writable.cork()` is to accommodate a situation in which + * several small chunks are written to the stream in rapid succession. Instead of + * immediately forwarding them to the underlying destination, `writable.cork()` buffers all the chunks until `writable.uncork()` is called, which will pass them + * all to `writable._writev()`, if present. This prevents a head-of-line blocking + * situation where data is being buffered while waiting for the first small chunk + * to be processed. However, use of `writable.cork()` without implementing `writable._writev()` may have an adverse effect on throughput. + * + * See also: `writable.uncork()`, `writable._writev()`. + * @since v0.11.2 + */ + cork(): void; + /** + * The `writable.uncork()` method flushes all data buffered since {@link cork} was called. + * + * When using `writable.cork()` and `writable.uncork()` to manage the buffering + * of writes to a stream, defer calls to `writable.uncork()` using `process.nextTick()`. Doing so allows batching of all `writable.write()` calls that occur within a given Node.js event + * loop phase. + * + * ```js + * stream.cork(); + * stream.write('some '); + * stream.write('data '); + * process.nextTick(() => stream.uncork()); + * ``` + * + * If the `writable.cork()` method is called multiple times on a stream, the + * same number of calls to `writable.uncork()` must be called to flush the buffered + * data. + * + * ```js + * stream.cork(); + * stream.write('some '); + * stream.cork(); + * stream.write('data '); + * process.nextTick(() => { + * stream.uncork(); + * // The data will not be flushed until uncork() is called a second time. + * stream.uncork(); + * }); + * ``` + * + * See also: `writable.cork()`. + * @since v0.11.2 + */ + uncork(): void; + /** + * Destroy the stream. Optionally emit an `'error'` event, and emit a `'close'` event (unless `emitClose` is set to `false`). After this call, the writable + * stream has ended and subsequent calls to `write()` or `end()` will result in + * an `ERR_STREAM_DESTROYED` error. + * This is a destructive and immediate way to destroy a stream. Previous calls to `write()` may not have drained, and may trigger an `ERR_STREAM_DESTROYED` error. + * Use `end()` instead of destroy if data should flush before close, or wait for + * the `'drain'` event before destroying the stream. + * + * Once `destroy()` has been called any further calls will be a no-op and no + * further errors except from `_destroy()` may be emitted as `'error'`. + * + * Implementors should not override this method, + * but instead implement `writable._destroy()`. + * @since v8.0.0 + * @param error Optional, an error to emit with `'error'` event. + */ + destroy(error?: Error): this; + /** + * Calls `writable.destroy()` with an `AbortError` and returns + * a promise that fulfills when the stream is finished. + * @since v22.4.0, v20.16.0 + */ + [Symbol.asyncDispose](): Promise; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: WritableEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: WritableEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: WritableEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: WritableEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off(eventName: E, listener: (...args: WritableEventMap[E]) => void): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on(eventName: E, listener: (...args: WritableEventMap[E]) => void): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: WritableEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: WritableEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: WritableEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: WritableEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: WritableEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface DuplexOptions extends ReadableOptions, WritableOptions { + allowHalfOpen?: boolean | undefined; + readableObjectMode?: boolean | undefined; + writableObjectMode?: boolean | undefined; + readableHighWaterMark?: number | undefined; + writableHighWaterMark?: number | undefined; + writableCorked?: number | undefined; + } + interface DuplexToWebOptions { + readableType?: web.ReadableStreamType | undefined; + } + interface DuplexEventMap extends ReadableEventMap, WritableEventMap {} + /** + * Duplex streams are streams that implement both the `Readable` and `Writable` interfaces. + * + * Examples of `Duplex` streams include: + * + * * `TCP sockets` + * * `zlib streams` + * * `crypto streams` + * @since v0.9.4 + */ + class Duplex extends Stream implements NodeJS.ReadWriteStream { + constructor(options?: DuplexOptions); + /** + * A utility method for creating duplex streams. + * + * - `Stream` converts writable stream into writable `Duplex` and readable stream + * to `Duplex`. + * - `Blob` converts into readable `Duplex`. + * - `string` converts into readable `Duplex`. + * - `ArrayBuffer` converts into readable `Duplex`. + * - `AsyncIterable` converts into a readable `Duplex`. Cannot yield `null`. + * - `AsyncGeneratorFunction` converts into a readable/writable transform + * `Duplex`. Must take a source `AsyncIterable` as first parameter. Cannot yield + * `null`. + * - `AsyncFunction` converts into a writable `Duplex`. Must return + * either `null` or `undefined` + * - `Object ({ writable, readable })` converts `readable` and + * `writable` into `Stream` and then combines them into `Duplex` where the + * `Duplex` will write to the `writable` and read from the `readable`. + * - `Promise` converts into readable `Duplex`. Value `null` is ignored. + * + * @since v16.8.0 + */ + static from( + src: + | NodeJS.ReadableStream + | NodeJS.WritableStream + | Blob + | string + | Iterable + | AsyncIterable + | ((source: AsyncIterable) => AsyncIterable) + | ((source: AsyncIterable) => Promise) + | Promise + | web.ReadableWritablePair + | web.ReadableStream + | web.WritableStream, + ): Duplex; + /** + * A utility method for creating a web `ReadableStream` and `WritableStream` from a `Duplex`. + * @since v17.0.0 + */ + static toWeb(streamDuplex: NodeJS.ReadWriteStream, options?: DuplexToWebOptions): web.ReadableWritablePair; + /** + * A utility method for creating a `Duplex` from a web `ReadableStream` and `WritableStream`. + * @since v17.0.0 + */ + static fromWeb( + duplexStream: web.ReadableWritablePair, + options?: Pick< + DuplexOptions, + "allowHalfOpen" | "decodeStrings" | "encoding" | "highWaterMark" | "objectMode" | "signal" + >, + ): Duplex; + /** + * If `false` then the stream will automatically end the writable side when the + * readable side ends. Set initially by the `allowHalfOpen` constructor option, + * which defaults to `true`. + * + * This can be changed manually to change the half-open behavior of an existing + * `Duplex` stream instance, but must be changed before the `'end'` event is emitted. + * @since v0.9.4 + */ + allowHalfOpen: boolean; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: DuplexEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: DuplexEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: DuplexEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: DuplexEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off(eventName: E, listener: (...args: DuplexEventMap[E]) => void): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on(eventName: E, listener: (...args: DuplexEventMap[E]) => void): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once(eventName: E, listener: (...args: DuplexEventMap[E]) => void): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: DuplexEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: DuplexEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: DuplexEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: DuplexEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface Duplex extends Readable, Writable {} + /** + * The utility function `duplexPair` returns an Array with two items, + * each being a `Duplex` stream connected to the other side: + * + * ```js + * const [ sideA, sideB ] = duplexPair(); + * ``` + * + * Whatever is written to one stream is made readable on the other. It provides + * behavior analogous to a network connection, where the data written by the client + * becomes readable by the server, and vice-versa. + * + * The Duplex streams are symmetrical; one or the other may be used without any + * difference in behavior. + * @param options A value to pass to both {@link Duplex} constructors, + * to set options such as buffering. + * @since v22.6.0 + */ + function duplexPair(options?: DuplexOptions): [Duplex, Duplex]; + type TransformCallback = (error?: Error | null, data?: any) => void; + interface TransformOptions extends DuplexOptions { + transform?: + | ((this: T, chunk: any, encoding: BufferEncoding, callback: TransformCallback) => void) + | undefined; + flush?: ((this: T, callback: TransformCallback) => void) | undefined; + } + /** + * Transform streams are `Duplex` streams where the output is in some way + * related to the input. Like all `Duplex` streams, `Transform` streams + * implement both the `Readable` and `Writable` interfaces. + * + * Examples of `Transform` streams include: + * + * * `zlib streams` + * * `crypto streams` + * @since v0.9.4 + */ + class Transform extends Duplex { + constructor(options?: TransformOptions); + _transform(chunk: any, encoding: BufferEncoding, callback: TransformCallback): void; + _flush(callback: TransformCallback): void; + } + /** + * The `stream.PassThrough` class is a trivial implementation of a `Transform` stream that simply passes the input bytes across to the output. Its purpose is + * primarily for examples and testing, but there are some use cases where `stream.PassThrough` is useful as a building block for novel sorts of streams. + */ + class PassThrough extends Transform {} + /** + * A stream to attach a signal to. + * + * Attaches an AbortSignal to a readable or writeable stream. This lets code + * control stream destruction using an `AbortController`. + * + * Calling `abort` on the `AbortController` corresponding to the passed `AbortSignal` will behave the same way as calling `.destroy(new AbortError())` on the + * stream, and `controller.error(new AbortError())` for webstreams. + * + * ```js + * import fs from 'node:fs'; + * + * const controller = new AbortController(); + * const read = addAbortSignal( + * controller.signal, + * fs.createReadStream(('object.json')), + * ); + * // Later, abort the operation closing the stream + * controller.abort(); + * ``` + * + * Or using an `AbortSignal` with a readable stream as an async iterable: + * + * ```js + * const controller = new AbortController(); + * setTimeout(() => controller.abort(), 10_000); // set a timeout + * const stream = addAbortSignal( + * controller.signal, + * fs.createReadStream(('object.json')), + * ); + * (async () => { + * try { + * for await (const chunk of stream) { + * await process(chunk); + * } + * } catch (e) { + * if (e.name === 'AbortError') { + * // The operation was cancelled + * } else { + * throw e; + * } + * } + * })(); + * ``` + * + * Or using an `AbortSignal` with a ReadableStream: + * + * ```js + * const controller = new AbortController(); + * const rs = new ReadableStream({ + * start(controller) { + * controller.enqueue('hello'); + * controller.enqueue('world'); + * controller.close(); + * }, + * }); + * + * addAbortSignal(controller.signal, rs); + * + * finished(rs, (err) => { + * if (err) { + * if (err.name === 'AbortError') { + * // The operation was cancelled + * } + * } + * }); + * + * const reader = rs.getReader(); + * + * reader.read().then(({ value, done }) => { + * console.log(value); // hello + * console.log(done); // false + * controller.abort(); + * }); + * ``` + * @since v15.4.0 + * @param signal A signal representing possible cancellation + * @param stream A stream to attach a signal to. + */ + function addAbortSignal< + T extends NodeJS.ReadableStream | NodeJS.WritableStream | web.ReadableStream | web.WritableStream, + >(signal: AbortSignal, stream: T): T; + /** + * Returns the default highWaterMark used by streams. + * Defaults to `65536` (64 KiB), or `16` for `objectMode`. + * @since v19.9.0 + */ + function getDefaultHighWaterMark(objectMode: boolean): number; + /** + * Sets the default highWaterMark used by streams. + * @since v19.9.0 + * @param value highWaterMark value + */ + function setDefaultHighWaterMark(objectMode: boolean, value: number): void; + interface FinishedOptions extends Abortable { + error?: boolean | undefined; + readable?: boolean | undefined; + writable?: boolean | undefined; + } + /** + * A readable and/or writable stream/webstream. + * + * A function to get notified when a stream is no longer readable, writable + * or has experienced an error or a premature close event. + * + * ```js + * import { finished } from 'node:stream'; + * import fs from 'node:fs'; + * + * const rs = fs.createReadStream('archive.tar'); + * + * finished(rs, (err) => { + * if (err) { + * console.error('Stream failed.', err); + * } else { + * console.log('Stream is done reading.'); + * } + * }); + * + * rs.resume(); // Drain the stream. + * ``` + * + * Especially useful in error handling scenarios where a stream is destroyed + * prematurely (like an aborted HTTP request), and will not emit `'end'` or `'finish'`. + * + * The `finished` API provides [`promise version`](https://nodejs.org/docs/latest-v25.x/api/stream.html#streamfinishedstream-options). + * + * `stream.finished()` leaves dangling event listeners (in particular `'error'`, `'end'`, `'finish'` and `'close'`) after `callback` has been + * invoked. The reason for this is so that unexpected `'error'` events (due to + * incorrect stream implementations) do not cause unexpected crashes. + * If this is unwanted behavior then the returned cleanup function needs to be + * invoked in the callback: + * + * ```js + * const cleanup = finished(rs, (err) => { + * cleanup(); + * // ... + * }); + * ``` + * @since v10.0.0 + * @param stream A readable and/or writable stream. + * @param callback A callback function that takes an optional error argument. + * @returns A cleanup function which removes all registered listeners. + */ + function finished( + stream: NodeJS.ReadableStream | NodeJS.WritableStream | web.ReadableStream | web.WritableStream, + options: FinishedOptions, + callback: (err?: NodeJS.ErrnoException | null) => void, + ): () => void; + function finished( + stream: NodeJS.ReadableStream | NodeJS.WritableStream | web.ReadableStream | web.WritableStream, + callback: (err?: NodeJS.ErrnoException | null) => void, + ): () => void; + namespace finished { + import __promisify__ = promises.finished; + export { __promisify__ }; + } + type PipelineSourceFunction = (options?: Abortable) => Iterable | AsyncIterable; + type PipelineSource = + | NodeJS.ReadableStream + | web.ReadableStream + | web.TransformStream + | Iterable + | AsyncIterable + | PipelineSourceFunction; + type PipelineSourceArgument = (T extends (...args: any[]) => infer R ? R : T) extends infer S + ? S extends web.TransformStream ? web.ReadableStream : S + : never; + type PipelineTransformGenerator, O> = ( + source: PipelineSourceArgument, + options?: Abortable, + ) => AsyncIterable; + type PipelineTransformStreams = + | NodeJS.ReadWriteStream + | web.TransformStream; + type PipelineTransform, O> = S extends + PipelineSource | PipelineTransformStreams | ((...args: any[]) => infer I) + ? PipelineTransformStreams | PipelineTransformGenerator + : never; + type PipelineTransformSource = PipelineSource | PipelineTransform; + type PipelineDestinationFunction, R> = ( + source: PipelineSourceArgument, + options?: Abortable, + ) => R; + type PipelineDestination, R> = S extends + PipelineSource | PipelineTransform ? + | NodeJS.WritableStream + | web.WritableStream + | web.TransformStream + | PipelineDestinationFunction + : never; + type PipelineCallback> = ( + err: NodeJS.ErrnoException | null, + value: S extends (...args: any[]) => PromiseLike ? R : undefined, + ) => void; + type PipelineResult> = S extends NodeJS.WritableStream ? S : Duplex; + /** + * A module method to pipe between streams and generators forwarding errors and + * properly cleaning up and provide a callback when the pipeline is complete. + * + * ```js + * import { pipeline } from 'node:stream'; + * import fs from 'node:fs'; + * import zlib from 'node:zlib'; + * + * // Use the pipeline API to easily pipe a series of streams + * // together and get notified when the pipeline is fully done. + * + * // A pipeline to gzip a potentially huge tar file efficiently: + * + * pipeline( + * fs.createReadStream('archive.tar'), + * zlib.createGzip(), + * fs.createWriteStream('archive.tar.gz'), + * (err) => { + * if (err) { + * console.error('Pipeline failed.', err); + * } else { + * console.log('Pipeline succeeded.'); + * } + * }, + * ); + * ``` + * + * The `pipeline` API provides a [`promise version`](https://nodejs.org/docs/latest-v25.x/api/stream.html#streampipelinesource-transforms-destination-options). + * + * `stream.pipeline()` will call `stream.destroy(err)` on all streams except: + * + * * `Readable` streams which have emitted `'end'` or `'close'`. + * * `Writable` streams which have emitted `'finish'` or `'close'`. + * + * `stream.pipeline()` leaves dangling event listeners on the streams + * after the `callback` has been invoked. In the case of reuse of streams after + * failure, this can cause event listener leaks and swallowed errors. If the last + * stream is readable, dangling event listeners will be removed so that the last + * stream can be consumed later. + * + * `stream.pipeline()` closes all the streams when an error is raised. + * The `IncomingRequest` usage with `pipeline` could lead to an unexpected behavior + * once it would destroy the socket without sending the expected response. + * See the example below: + * + * ```js + * import fs from 'node:fs'; + * import http from 'node:http'; + * import { pipeline } from 'node:stream'; + * + * const server = http.createServer((req, res) => { + * const fileStream = fs.createReadStream('./fileNotExist.txt'); + * pipeline(fileStream, res, (err) => { + * if (err) { + * console.log(err); // No such file + * // this message can't be sent once `pipeline` already destroyed the socket + * return res.end('error!!!'); + * } + * }); + * }); + * ``` + * @since v10.0.0 + * @param callback Called when the pipeline is fully done. + */ + function pipeline, D extends PipelineDestination>( + source: S, + destination: D, + callback: PipelineCallback, + ): PipelineResult; + function pipeline< + S extends PipelineSource, + T extends PipelineTransform, + D extends PipelineDestination, + >( + source: S, + transform: T, + destination: D, + callback: PipelineCallback, + ): PipelineResult; + function pipeline< + S extends PipelineSource, + T1 extends PipelineTransform, + T2 extends PipelineTransform, + D extends PipelineDestination, + >( + source: S, + transform1: T1, + transform2: T2, + destination: D, + callback: PipelineCallback, + ): PipelineResult; + function pipeline< + S extends PipelineSource, + T1 extends PipelineTransform, + T2 extends PipelineTransform, + T3 extends PipelineTransform, + D extends PipelineDestination, + >( + source: S, + transform1: T1, + transform2: T2, + transform3: T3, + destination: D, + callback: PipelineCallback, + ): PipelineResult; + function pipeline< + S extends PipelineSource, + T1 extends PipelineTransform, + T2 extends PipelineTransform, + T3 extends PipelineTransform, + T4 extends PipelineTransform, + D extends PipelineDestination, + >( + source: S, + transform1: T1, + transform2: T2, + transform3: T3, + transform4: T4, + destination: D, + callback: PipelineCallback, + ): PipelineResult; + function pipeline( + streams: ReadonlyArray | PipelineTransform | PipelineDestination>, + callback: (err: NodeJS.ErrnoException | null) => void, + ): NodeJS.WritableStream; + function pipeline( + ...streams: [ + ...[PipelineSource, ...PipelineTransform[], PipelineDestination], + callback: ((err: NodeJS.ErrnoException | null) => void), + ] + ): NodeJS.WritableStream; + namespace pipeline { + import __promisify__ = promises.pipeline; + export { __promisify__ }; + } + type ComposeSource = + | NodeJS.ReadableStream + | web.ReadableStream + | Iterable + | AsyncIterable + | (() => AsyncIterable); + type ComposeTransformStreams = NodeJS.ReadWriteStream | web.TransformStream; + type ComposeTransformGenerator = (source: AsyncIterable) => AsyncIterable; + type ComposeTransform, O> = S extends + ComposeSource | ComposeTransformStreams | ComposeTransformGenerator + ? ComposeTransformStreams | ComposeTransformGenerator + : never; + type ComposeTransformSource = ComposeSource | ComposeTransform; + type ComposeDestination> = S extends ComposeTransformSource ? + | NodeJS.WritableStream + | web.WritableStream + | web.TransformStream + | ((source: AsyncIterable) => void) + : never; + /** + * Combines two or more streams into a `Duplex` stream that writes to the + * first stream and reads from the last. Each provided stream is piped into + * the next, using `stream.pipeline`. If any of the streams error then all + * are destroyed, including the outer `Duplex` stream. + * + * Because `stream.compose` returns a new stream that in turn can (and + * should) be piped into other streams, it enables composition. In contrast, + * when passing streams to `stream.pipeline`, typically the first stream is + * a readable stream and the last a writable stream, forming a closed + * circuit. + * + * If passed a `Function` it must be a factory method taking a `source` + * `Iterable`. + * + * ```js + * import { compose, Transform } from 'node:stream'; + * + * const removeSpaces = new Transform({ + * transform(chunk, encoding, callback) { + * callback(null, String(chunk).replace(' ', '')); + * }, + * }); + * + * async function* toUpper(source) { + * for await (const chunk of source) { + * yield String(chunk).toUpperCase(); + * } + * } + * + * let res = ''; + * for await (const buf of compose(removeSpaces, toUpper).end('hello world')) { + * res += buf; + * } + * + * console.log(res); // prints 'HELLOWORLD' + * ``` + * + * `stream.compose` can be used to convert async iterables, generators and + * functions into streams. + * + * * `AsyncIterable` converts into a readable `Duplex`. Cannot yield + * `null`. + * * `AsyncGeneratorFunction` converts into a readable/writable transform `Duplex`. + * Must take a source `AsyncIterable` as first parameter. Cannot yield + * `null`. + * * `AsyncFunction` converts into a writable `Duplex`. Must return + * either `null` or `undefined`. + * + * ```js + * import { compose } from 'node:stream'; + * import { finished } from 'node:stream/promises'; + * + * // Convert AsyncIterable into readable Duplex. + * const s1 = compose(async function*() { + * yield 'Hello'; + * yield 'World'; + * }()); + * + * // Convert AsyncGenerator into transform Duplex. + * const s2 = compose(async function*(source) { + * for await (const chunk of source) { + * yield String(chunk).toUpperCase(); + * } + * }); + * + * let res = ''; + * + * // Convert AsyncFunction into writable Duplex. + * const s3 = compose(async function(source) { + * for await (const chunk of source) { + * res += chunk; + * } + * }); + * + * await finished(compose(s1, s2, s3)); + * + * console.log(res); // prints 'HELLOWORLD' + * ``` + * + * For convenience, the `readable.compose(stream)` method is available on + * `Readable` and `Duplex` streams as a wrapper for this function. + * @since v16.9.0 + * @experimental + */ + /* eslint-disable @definitelytyped/no-unnecessary-generics */ + function compose(stream: ComposeSource | ComposeDestination): Duplex; + function compose< + S extends ComposeSource | ComposeTransform, + D extends ComposeTransform | ComposeDestination, + >( + source: S, + destination: D, + ): Duplex; + function compose< + S extends ComposeSource | ComposeTransform, + T extends ComposeTransform, + D extends ComposeTransform | ComposeDestination, + >(source: S, transform: T, destination: D): Duplex; + function compose< + S extends ComposeSource | ComposeTransform, + T1 extends ComposeTransform, + T2 extends ComposeTransform, + D extends ComposeTransform | ComposeDestination, + >(source: S, transform1: T1, transform2: T2, destination: D): Duplex; + function compose< + S extends ComposeSource | ComposeTransform, + T1 extends ComposeTransform, + T2 extends ComposeTransform, + T3 extends ComposeTransform, + D extends ComposeTransform | ComposeDestination, + >(source: S, transform1: T1, transform2: T2, transform3: T3, destination: D): Duplex; + function compose< + S extends ComposeSource | ComposeTransform, + T1 extends ComposeTransform, + T2 extends ComposeTransform, + T3 extends ComposeTransform, + T4 extends ComposeTransform, + D extends ComposeTransform | ComposeDestination, + >(source: S, transform1: T1, transform2: T2, transform3: T3, transform4: T4, destination: D): Duplex; + function compose( + ...streams: [ + ComposeSource, + ...ComposeTransform[], + ComposeDestination, + ] + ): Duplex; + /* eslint-enable @definitelytyped/no-unnecessary-generics */ + /** + * Returns whether the stream has encountered an error. + * @since v17.3.0, v16.14.0 + */ + function isErrored( + stream: NodeJS.ReadableStream | NodeJS.WritableStream | web.ReadableStream | web.WritableStream, + ): boolean; + /** + * Returns whether the stream is readable. + * @since v17.4.0, v16.14.0 + * @returns Only returns `null` if `stream` is not a valid `Readable`, `Duplex` or `ReadableStream`. + */ + function isReadable(stream: NodeJS.ReadableStream | web.ReadableStream): boolean | null; + /** + * Returns whether the stream is writable. + * @since v20.0.0 + * @returns Only returns `null` if `stream` is not a valid `Writable`, `Duplex` or `WritableStream`. + */ + function isWritable(stream: NodeJS.WritableStream | web.WritableStream): boolean | null; + } + global { + namespace NodeJS { + // These interfaces are vestigial, and correspond roughly to the "streams2" interfaces + // from early versions of Node.js, but they are still used widely across the ecosystem. + // Accordingly, they are commonly used as "in-types" for @types/node APIs, so that + // eg. streams returned from older libraries will still be considered valid input to + // functions which accept stream arguments. + // It's not possible to change or remove these without astronomical levels of breakage. + interface ReadableStream extends EventEmitter { + readable: boolean; + read(size?: number): string | Buffer; + setEncoding(encoding: BufferEncoding): this; + pause(): this; + resume(): this; + isPaused(): boolean; + pipe(destination: T, options?: { end?: boolean | undefined }): 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?: BufferEncoding, cb?: (err?: Error | null) => void): boolean; + end(cb?: () => void): this; + end(data: string | Uint8Array, cb?: () => void): this; + end(str: string, encoding?: BufferEncoding, cb?: () => void): this; + } + interface ReadWriteStream extends ReadableStream, WritableStream {} + } + } + export = Stream; +} +declare module "stream" { + import stream = require("node:stream"); + export = stream; +} diff --git a/node_modules/@types/node/stream/consumers.d.ts b/node_modules/@types/node/stream/consumers.d.ts new file mode 100644 index 0000000..27a474c --- /dev/null +++ b/node_modules/@types/node/stream/consumers.d.ts @@ -0,0 +1,114 @@ +declare module "node:stream/consumers" { + import { Blob, NonSharedBuffer } from "node:buffer"; + import { ReadableStream } from "node:stream/web"; + /** + * ```js + * import { arrayBuffer } from 'node:stream/consumers'; + * import { Readable } from 'node:stream'; + * import { TextEncoder } from 'node:util'; + * + * const encoder = new TextEncoder(); + * const dataArray = encoder.encode('hello world from consumers!'); + * + * const readable = Readable.from(dataArray); + * const data = await arrayBuffer(readable); + * console.log(`from readable: ${data.byteLength}`); + * // Prints: from readable: 76 + * ``` + * @since v16.7.0 + * @returns Fulfills with an `ArrayBuffer` containing the full contents of the stream. + */ + function arrayBuffer(stream: ReadableStream | NodeJS.ReadableStream | AsyncIterable): Promise; + /** + * ```js + * import { blob } from 'node:stream/consumers'; + * + * const dataBlob = new Blob(['hello world from consumers!']); + * + * const readable = dataBlob.stream(); + * const data = await blob(readable); + * console.log(`from readable: ${data.size}`); + * // Prints: from readable: 27 + * ``` + * @since v16.7.0 + * @returns Fulfills with a `Blob` containing the full contents of the stream. + */ + function blob(stream: ReadableStream | NodeJS.ReadableStream | AsyncIterable): Promise; + /** + * ```js + * import { buffer } from 'node:stream/consumers'; + * import { Readable } from 'node:stream'; + * import { Buffer } from 'node:buffer'; + * + * const dataBuffer = Buffer.from('hello world from consumers!'); + * + * const readable = Readable.from(dataBuffer); + * const data = await buffer(readable); + * console.log(`from readable: ${data.length}`); + * // Prints: from readable: 27 + * ``` + * @since v16.7.0 + * @returns Fulfills with a `Buffer` containing the full contents of the stream. + */ + function buffer(stream: ReadableStream | NodeJS.ReadableStream | AsyncIterable): Promise; + /** + * ```js + * import { bytes } from 'node:stream/consumers'; + * import { Readable } from 'node:stream'; + * import { Buffer } from 'node:buffer'; + * + * const dataBuffer = Buffer.from('hello world from consumers!'); + * + * const readable = Readable.from(dataBuffer); + * const data = await bytes(readable); + * console.log(`from readable: ${data.length}`); + * // Prints: from readable: 27 + * ``` + * @since v25.6.0 + * @returns Fulfills with a `Uint8Array` containing the full contents of the stream. + */ + function bytes( + stream: ReadableStream | NodeJS.ReadableStream | AsyncIterable, + ): Promise; + /** + * ```js + * import { json } from 'node:stream/consumers'; + * import { Readable } from 'node:stream'; + * + * const items = Array.from( + * { + * length: 100, + * }, + * () => ({ + * message: 'hello world from consumers!', + * }), + * ); + * + * const readable = Readable.from(JSON.stringify(items)); + * const data = await json(readable); + * console.log(`from readable: ${data.length}`); + * // Prints: from readable: 100 + * ``` + * @since v16.7.0 + * @returns Fulfills with the contents of the stream parsed as a + * UTF-8 encoded string that is then passed through `JSON.parse()`. + */ + function json(stream: ReadableStream | NodeJS.ReadableStream | AsyncIterable): Promise; + /** + * ```js + * import { text } from 'node:stream/consumers'; + * import { Readable } from 'node:stream'; + * + * const readable = Readable.from('Hello world from consumers!'); + * const data = await text(readable); + * console.log(`from readable: ${data.length}`); + * // Prints: from readable: 27 + * ``` + * @since v16.7.0 + * @returns Fulfills with the contents of the stream parsed as a UTF-8 encoded string. + */ + function text(stream: ReadableStream | NodeJS.ReadableStream | AsyncIterable): Promise; +} +declare module "stream/consumers" { + export * from "node:stream/consumers"; +} diff --git a/node_modules/@types/node/stream/iter.d.ts b/node_modules/@types/node/stream/iter.d.ts new file mode 100644 index 0000000..121f782 --- /dev/null +++ b/node_modules/@types/node/stream/iter.d.ts @@ -0,0 +1,301 @@ +declare module "node:stream/iter" { + // Symbols and custom typedefs + const broadcastProtocol: unique symbol; + const drainableProtocol: unique symbol; + const shareProtocol: unique symbol; + const shareSyncProtocol: unique symbol; + const toAsyncStreamable: unique symbol; + const toStreamable: unique symbol; + type Source = + | string + | ArrayBufferLike + | ArrayBufferView + | Iterable + | AsyncIterable + | Streamable + | AsyncStreamable; + type SyncSource = string | ArrayBufferLike | ArrayBufferView | Iterable | Streamable; + type Transform = StatelessTransformFn | StatefulTransform; + type SyncTransform = SyncStatelessTransformFn | SyncStatefulTransform; + type TransformResult = + | string + | ArrayBufferLike + | ArrayBufferView + | Iterable + | AsyncIterable; + type SyncTransformResult = string | ArrayBufferLike | ArrayBufferView | Iterable; + interface AsyncStreamable { + [toAsyncStreamable](): Source; + } + interface Broadcastable { + [broadcastProtocol](options: BroadcastOptions): Broadcast; + } + interface Drainable { + [drainableProtocol](): Promise | null; + } + interface Shareable { + [shareProtocol](options: ShareOptions): Share; + } + interface Streamable { + [toStreamable](): SyncSource; + } + interface SyncShareable { + [shareSyncProtocol](options: ShareSyncOptions): SyncShare; + } + // IDL dictionaries, enums, typedefs + type BackpressurePolicy = "strict" | "block" | "drop-oldest" | "drop-newest"; + type ByteReadableStream = AsyncIterable; + type SyncByteReadableStream = Iterable; + interface WriteOptions { + signal?: AbortSignal; + } + interface PushStreamOptions { + highWaterMark?: number; + backpressure?: BackpressurePolicy; + signal?: AbortSignal; + } + interface PullOptions { + signal?: AbortSignal; + } + interface PipeToOptions { + signal?: AbortSignal; + preventClose?: boolean; + preventFail?: boolean; + } + interface PipeToSyncOptions { + preventClose?: boolean; + preventFail?: boolean; + } + interface ConsumeOptions { + signal?: AbortSignal; + limit?: number; + } + interface ConsumeSyncOptions { + limit?: number; + } + interface TextConsumeOptions extends ConsumeOptions { + encoding?: string; + } + interface TextConsumeSyncOptions extends ConsumeSyncOptions { + encoding?: string; + } + interface MergeOptions { + signal?: AbortSignal; + } + interface BroadcastOptions { + highWaterMark?: number; + backpressure?: BackpressurePolicy; + signal?: AbortSignal; + } + interface ShareOptions { + highWaterMark?: number; + backpressure?: BackpressurePolicy; + signal?: AbortSignal; + } + interface ShareSyncOptions { + highWaterMark?: number; + backpressure?: BackpressurePolicy; + } + interface DuplexDirectionOptions { + highWaterMark?: number; + backpressure?: BackpressurePolicy; + } + interface DuplexOptions { + highWaterMark?: number; + backpressure?: BackpressurePolicy; + a?: DuplexDirectionOptions; + b?: DuplexDirectionOptions; + signal?: AbortSignal; + } + interface TransformCallbackOptions { + signal: AbortSignal; + } + interface StatelessTransformFn { + ( + chunks: Uint8Array[] | null, + options: TransformCallbackOptions, + ): Promise | TransformResult | null; + } + interface SyncStatelessTransformFn { + (chunks: Uint8Array[] | null): SyncTransformResult | null; + } + interface StatefulTransform { + transform( + source: AsyncIterable, + options: TransformCallbackOptions, + ): AsyncIterable; + } + interface SyncStatefulTransform { + transform(source: Iterable): Iterable; + } + // IDL interfaces + interface PushWriter extends Writer, Drainable {} + interface PushStreamResult { + writer: PushWriter; + readable: ByteReadableStream; + } + interface BroadcastWriter extends Writer, Drainable {} + interface BroadcastResult { + writer: BroadcastWriter; + broadcast: Broadcast; + } + interface Writer extends Disposable, AsyncDisposable { + readonly desiredSize: number | null; + write(chunk: Uint8Array | string, options?: WriteOptions): Promise; + writev(chunks: Array, options?: WriteOptions): Promise; + writeSync(chunk: Uint8Array | string): boolean; + writevSync(chunks: Array): boolean; + end(options?: WriteOptions): Promise; + endSync(): number; + fail(reason?: any): void; + } + interface PartialWriter extends Partial { + write(chunk: Uint8Array | string, options?: WriteOptions): Promise; + } + interface SyncWriter extends Disposable { + readonly desiredSize: number | null; + writeSync(chunk: Uint8Array | string): number; + writevSync(chunks: Array): number; + endSync(): number; + fail(reason?: any): void; + } + interface PartialSyncWriter extends Partial { + writeSync(chunk: Uint8Array | string): number; + } + interface Broadcast extends Disposable { + readonly consumerCount: number; + readonly bufferSize: number; + push(...args: any[]): ByteReadableStream; + cancel(reason?: any): void; + } + interface Share extends Disposable { + readonly consumerCount: number; + readonly bufferSize: number; + pull(...args: any[]): ByteReadableStream; + cancel(reason?: any): void; + } + interface SyncShare extends Disposable { + readonly consumerCount: number; + readonly bufferSize: number; + pull(...args: any): SyncByteReadableStream; + cancel(reason?: any): void; + } + interface DuplexChannel extends AsyncDisposable { + readonly writer: Writer; + readonly readable: ByteReadableStream; + close(): Promise; + } + // Push stream creation + function push(...transforms: Transform[]): PushStreamResult; + function push(...args: [...transforms: Transform[], options: PushStreamOptions]): PushStreamResult; + // Stream factories + function from(input: Source): ByteReadableStream; + function fromSync(input: SyncSource): SyncByteReadableStream; + // Pull pipelines + function pull(source: Source, ...transforms: Transform[]): ByteReadableStream; + function pull( + source: Source, + ...args: [...transforms: Transform[], options: PullOptions] + ): ByteReadableStream; + function pullSync(source: SyncSource, ...transforms: SyncTransform[]): SyncByteReadableStream; + // Pipe operations + function pipeTo(source: Source, writer: PartialWriter, options?: PipeToOptions): Promise; + function pipeTo(source: Source, ...args: [...transforms: Transform[], writer: PartialWriter]): Promise; + function pipeTo( + source: Source, + ...args: [...transforms: Transform[], writer: PartialWriter, options: PipeToOptions] + ): Promise; + function pipeToSync(source: SyncSource, writer: PartialSyncWriter, options?: PipeToSyncOptions): number; + function pipeToSync( + source: SyncSource, + ...args: [...transforms: SyncTransform[], writer: PartialSyncWriter] + ): number; + function pipeToSync( + source: SyncSource, + ...args: [...transforms: SyncTransform[], writer: PartialSyncWriter, options: PipeToSyncOptions] + ): number; + // Consumers + function bytes(source: Source, options?: ConsumeOptions): Promise; + function bytesSync(source: SyncSource, options?: ConsumeSyncOptions): Uint8Array; + function text(source: Source, options?: TextConsumeOptions): Promise; + function textSync(source: SyncSource, options?: TextConsumeSyncOptions): string; + function arrayBuffer(source: Source, options?: ConsumeOptions): Promise; + function arrayBufferSync(source: SyncSource, options?: ConsumeSyncOptions): ArrayBuffer; + function array(source: Source, options?: ConsumeOptions): Promise; + function arraySync(source: SyncSource, options?: ConsumeSyncOptions): Uint8Array[]; + // Utilities + function tap(callback: StatelessTransformFn): StatelessTransformFn; + function tapSync(callback: SyncStatelessTransformFn): SyncStatelessTransformFn; + function merge(...sources: Source[]): ByteReadableStream; + function merge(...args: [...sources: Source[], options: MergeOptions]): ByteReadableStream; + function ondrain(drainable: any): Promise | null; + // Multi-consumer + function broadcast(options?: BroadcastOptions): BroadcastResult; + function share(source: Source, options?: ShareOptions): Share; + function shareSync(source: SyncSource, options?: ShareSyncOptions): SyncShare; + // Duplex + function duplex(options?: DuplexOptions): [DuplexChannel, DuplexChannel]; + // Node.js-specific extensions + namespace Broadcast { + /** + * Create a `Broadcast` from an existing source. The source is consumed + * automatically and pushed to all subscribers. + * @since v25.9.0 + * @param options Same as `broadcast()`. + */ + function from( + input: ByteReadableStream | SyncByteReadableStream | Broadcastable, + options?: BroadcastOptions, + ): BroadcastResult; + } + namespace Share { + /** + * Create a `Share` from an existing source. + * @since v25.9.0 + * @param options Same as `share()`. + */ + function from(input: ByteReadableStream | SyncByteReadableStream | Shareable, options?: ShareOptions): Share; + } + namespace SyncShare { + /** + * @since v25.9.0 + */ + function from(input: SyncByteReadableStream | SyncShareable, options?: ShareSyncOptions): SyncShare; + } + namespace Stream { + export { + array, + arrayBuffer, + arrayBufferSync, + arraySync, + broadcast, + broadcastProtocol, + bytes, + bytesSync, + drainableProtocol, + duplex, + from, + fromSync, + merge, + ondrain, + pipeTo, + pipeToSync, + pull, + pullSync, + push, + share, + shareProtocol, + shareSync, + shareSyncProtocol, + tap, + tapSync, + text, + textSync, + toAsyncStreamable, + toStreamable, + }; + } +} +declare module "stream/iter" { + export * from "node:stream/iter"; +} diff --git a/node_modules/@types/node/stream/promises.d.ts b/node_modules/@types/node/stream/promises.d.ts new file mode 100644 index 0000000..c4bd3ea --- /dev/null +++ b/node_modules/@types/node/stream/promises.d.ts @@ -0,0 +1,211 @@ +declare module "node:stream/promises" { + import { Abortable } from "node:events"; + import { + FinishedOptions as _FinishedOptions, + PipelineDestination, + PipelineSource, + PipelineTransform, + } from "node:stream"; + import { ReadableStream, WritableStream } from "node:stream/web"; + interface FinishedOptions extends _FinishedOptions { + /** + * If true, removes the listeners registered by this function before the promise is fulfilled. + * @default false + */ + cleanup?: boolean | undefined; + } + /** + * ```js + * import { finished } from 'node:stream/promises'; + * import { createReadStream } from 'node:fs'; + * + * const rs = createReadStream('archive.tar'); + * + * async function run() { + * await finished(rs); + * console.log('Stream is done reading.'); + * } + * + * run().catch(console.error); + * rs.resume(); // Drain the stream. + * ``` + * + * The `finished` API also provides a [callback version](https://nodejs.org/docs/latest-v25.x/api/stream.html#streamfinishedstream-options-callback). + * + * `stream.finished()` leaves dangling event listeners (in particular + * `'error'`, `'end'`, `'finish'` and `'close'`) after the returned promise is + * resolved or rejected. The reason for this is so that unexpected `'error'` + * events (due to incorrect stream implementations) do not cause unexpected + * crashes. If this is unwanted behavior then `options.cleanup` should be set to + * `true`: + * + * ```js + * await finished(rs, { cleanup: true }); + * ``` + * @since v15.0.0 + * @returns Fulfills when the stream is no longer readable or writable. + */ + function finished( + stream: NodeJS.ReadableStream | NodeJS.WritableStream | ReadableStream | WritableStream, + options?: FinishedOptions, + ): Promise; + interface PipelineOptions extends Abortable { + end?: boolean | undefined; + } + type PipelineResult> = S extends (...args: any[]) => PromiseLike + ? Promise + : Promise; + /** + * ```js + * import { pipeline } from 'node:stream/promises'; + * import { createReadStream, createWriteStream } from 'node:fs'; + * import { createGzip } from 'node:zlib'; + * + * await pipeline( + * createReadStream('archive.tar'), + * createGzip(), + * createWriteStream('archive.tar.gz'), + * ); + * console.log('Pipeline succeeded.'); + * ``` + * + * To use an `AbortSignal`, pass it inside an options object, as the last argument. + * When the signal is aborted, `destroy` will be called on the underlying pipeline, + * with an `AbortError`. + * + * ```js + * import { pipeline } from 'node:stream/promises'; + * import { createReadStream, createWriteStream } from 'node:fs'; + * import { createGzip } from 'node:zlib'; + * + * const ac = new AbortController(); + * const { signal } = ac; + * setImmediate(() => ac.abort()); + * try { + * await pipeline( + * createReadStream('archive.tar'), + * createGzip(), + * createWriteStream('archive.tar.gz'), + * { signal }, + * ); + * } catch (err) { + * console.error(err); // AbortError + * } + * ``` + * + * The `pipeline` API also supports async generators: + * + * ```js + * import { pipeline } from 'node:stream/promises'; + * import { createReadStream, createWriteStream } from 'node:fs'; + * + * await pipeline( + * createReadStream('lowercase.txt'), + * async function* (source, { signal }) { + * source.setEncoding('utf8'); // Work with strings rather than `Buffer`s. + * for await (const chunk of source) { + * yield await processChunk(chunk, { signal }); + * } + * }, + * createWriteStream('uppercase.txt'), + * ); + * console.log('Pipeline succeeded.'); + * ``` + * + * Remember to handle the `signal` argument passed into the async generator. + * Especially in the case where the async generator is the source for the + * pipeline (i.e. first argument) or the pipeline will never complete. + * + * ```js + * import { pipeline } from 'node:stream/promises'; + * import fs from 'node:fs'; + * await pipeline( + * async function* ({ signal }) { + * await someLongRunningfn({ signal }); + * yield 'asd'; + * }, + * fs.createWriteStream('uppercase.txt'), + * ); + * console.log('Pipeline succeeded.'); + * ``` + * + * The `pipeline` API provides [callback version](https://nodejs.org/docs/latest-v25.x/api/stream.html#streampipelinesource-transforms-destination-callback): + * @since v15.0.0 + * @returns Fulfills when the pipeline is complete. + */ + function pipeline, B extends PipelineDestination>( + source: A, + destination: B, + options?: PipelineOptions, + ): PipelineResult; + function pipeline< + A extends PipelineSource, + T1 extends PipelineTransform, + B extends PipelineDestination, + >( + source: A, + transform1: T1, + destination: B, + options?: PipelineOptions, + ): PipelineResult; + function pipeline< + A extends PipelineSource, + T1 extends PipelineTransform, + T2 extends PipelineTransform, + B extends PipelineDestination, + >( + source: A, + transform1: T1, + transform2: T2, + destination: B, + options?: PipelineOptions, + ): PipelineResult; + function pipeline< + A extends PipelineSource, + T1 extends PipelineTransform, + T2 extends PipelineTransform, + T3 extends PipelineTransform, + B extends PipelineDestination, + >( + source: A, + transform1: T1, + transform2: T2, + transform3: T3, + destination: B, + options?: PipelineOptions, + ): PipelineResult; + function pipeline< + A extends PipelineSource, + T1 extends PipelineTransform, + T2 extends PipelineTransform, + T3 extends PipelineTransform, + T4 extends PipelineTransform, + B extends PipelineDestination, + >( + source: A, + transform1: T1, + transform2: T2, + transform3: T3, + transform4: T4, + destination: B, + options?: PipelineOptions, + ): PipelineResult; + function pipeline( + streams: readonly [PipelineSource, ...PipelineTransform[], PipelineDestination], + options?: PipelineOptions, + ): Promise; + function pipeline( + ...streams: [PipelineSource, ...PipelineTransform[], PipelineDestination] + ): Promise; + function pipeline( + ...streams: [ + PipelineSource, + ...PipelineTransform[], + PipelineDestination, + options: PipelineOptions, + ] + ): Promise; +} +declare module "stream/promises" { + export * from "node:stream/promises"; +} diff --git a/node_modules/@types/node/stream/web.d.ts b/node_modules/@types/node/stream/web.d.ts new file mode 100644 index 0000000..84d3811 --- /dev/null +++ b/node_modules/@types/node/stream/web.d.ts @@ -0,0 +1,300 @@ +declare module "node:stream/web" { + import { TextDecoderCommon, TextDecoderOptions, TextEncoderCommon } from "node:util"; + type CompressionFormat = "brotli" | "deflate" | "deflate-raw" | "gzip"; + type ReadableStreamController = ReadableStreamDefaultController | ReadableByteStreamController; + type ReadableStreamReader = ReadableStreamDefaultReader | ReadableStreamBYOBReader; + type ReadableStreamReaderMode = "byob"; + type ReadableStreamReadResult = ReadableStreamReadValueResult | ReadableStreamReadDoneResult; + type ReadableStreamType = "bytes"; + interface GenericTransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; + } + interface QueuingStrategy { + highWaterMark?: number; + size?: QueuingStrategySize; + } + interface QueuingStrategyInit { + highWaterMark: number; + } + interface QueuingStrategySize { + (chunk: T): number; + } + interface ReadableStreamBYOBReaderReadOptions { + min?: number; + } + interface ReadableStreamGenericReader { + readonly closed: Promise; + cancel(reason?: any): Promise; + } + interface ReadableStreamGetReaderOptions { + mode?: ReadableStreamReaderMode; + } + interface ReadableStreamIteratorOptions { + preventCancel?: boolean; + } + interface ReadableStreamReadDoneResult { + done: true; + value: T | undefined; + } + interface ReadableStreamReadValueResult { + done: false; + value: T; + } + interface ReadableWritablePair { + readable: ReadableStream; + writable: WritableStream; + } + interface StreamPipeOptions { + preventAbort?: boolean; + preventCancel?: boolean; + preventClose?: boolean; + signal?: AbortSignal; + } + interface Transformer { + cancel?: TransformerCancelCallback; + flush?: TransformerFlushCallback; + readableType?: undefined; + start?: TransformerStartCallback; + transform?: TransformerTransformCallback; + writableType?: undefined; + } + interface TransformerCancelCallback { + (reason: any): void | PromiseLike; + } + interface TransformerFlushCallback { + (controller: TransformStreamDefaultController): void | PromiseLike; + } + interface TransformerStartCallback { + (controller: TransformStreamDefaultController): any; + } + interface TransformerTransformCallback { + (chunk: I, controller: TransformStreamDefaultController): void | PromiseLike; + } + interface UnderlyingByteSource { + autoAllocateChunkSize?: number; + cancel?: UnderlyingSourceCancelCallback; + pull?: (controller: ReadableByteStreamController) => void | PromiseLike; + start?: (controller: ReadableByteStreamController) => any; + type: "bytes"; + } + interface UnderlyingDefaultSource { + cancel?: UnderlyingSourceCancelCallback; + pull?: (controller: ReadableStreamDefaultController) => void | PromiseLike; + start?: (controller: ReadableStreamDefaultController) => any; + type?: undefined; + } + interface UnderlyingSink { + abort?: UnderlyingSinkAbortCallback; + close?: UnderlyingSinkCloseCallback; + start?: UnderlyingSinkStartCallback; + type?: undefined; + write?: UnderlyingSinkWriteCallback; + } + interface UnderlyingSinkAbortCallback { + (reason?: any): void | PromiseLike; + } + interface UnderlyingSinkCloseCallback { + (): void | PromiseLike; + } + interface UnderlyingSinkStartCallback { + (controller: WritableStreamDefaultController): any; + } + interface UnderlyingSinkWriteCallback { + (chunk: W, controller: WritableStreamDefaultController): void | PromiseLike; + } + interface UnderlyingSource { + autoAllocateChunkSize?: number; + cancel?: UnderlyingSourceCancelCallback; + pull?: UnderlyingSourcePullCallback; + start?: UnderlyingSourceStartCallback; + type?: ReadableStreamType; + } + interface UnderlyingSourceCancelCallback { + (reason?: any): void | PromiseLike; + } + interface UnderlyingSourcePullCallback { + (controller: ReadableStreamController): void | PromiseLike; + } + interface UnderlyingSourceStartCallback { + (controller: ReadableStreamController): any; + } + interface ByteLengthQueuingStrategy extends QueuingStrategy { + readonly highWaterMark: number; + readonly size: QueuingStrategySize; + } + var ByteLengthQueuingStrategy: { + prototype: ByteLengthQueuingStrategy; + new(init: QueuingStrategyInit): ByteLengthQueuingStrategy; + }; + interface CompressionStream extends GenericTransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; + } + var CompressionStream: { + prototype: CompressionStream; + new(format: CompressionFormat): CompressionStream; + }; + interface CountQueuingStrategy extends QueuingStrategy { + readonly highWaterMark: number; + readonly size: QueuingStrategySize; + } + var CountQueuingStrategy: { + prototype: CountQueuingStrategy; + new(init: QueuingStrategyInit): CountQueuingStrategy; + }; + interface DecompressionStream extends GenericTransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; + } + var DecompressionStream: { + prototype: DecompressionStream; + new(format: CompressionFormat): DecompressionStream; + }; + interface ReadableByteStreamController { + readonly byobRequest: ReadableStreamBYOBRequest | null; + readonly desiredSize: number | null; + close(): void; + enqueue(chunk: NodeJS.NonSharedArrayBufferView): void; + error(e?: any): void; + } + var ReadableByteStreamController: { + prototype: ReadableByteStreamController; + new(): ReadableByteStreamController; + }; + interface ReadableStream { + readonly locked: boolean; + cancel(reason?: any): Promise; + getReader(options: { mode: "byob" }): ReadableStreamBYOBReader; + getReader(): ReadableStreamDefaultReader; + getReader(options?: ReadableStreamGetReaderOptions): ReadableStreamReader; + pipeThrough(transform: ReadableWritablePair, options?: StreamPipeOptions): ReadableStream; + pipeTo(destination: WritableStream, options?: StreamPipeOptions): Promise; + tee(): [ReadableStream, ReadableStream]; + [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator; + values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator; + } + var ReadableStream: { + prototype: ReadableStream; + new( + underlyingSource: UnderlyingByteSource, + strategy?: { highWaterMark?: number }, + ): ReadableStream; + new(underlyingSource: UnderlyingDefaultSource, strategy?: QueuingStrategy): ReadableStream; + new(underlyingSource?: UnderlyingSource, strategy?: QueuingStrategy): ReadableStream; + from(iterable: Iterable | AsyncIterable): ReadableStream; + }; + interface ReadableStreamAsyncIterator extends NodeJS.AsyncIterator { + [Symbol.asyncIterator](): ReadableStreamAsyncIterator; + } + interface ReadableStreamBYOBReader extends ReadableStreamGenericReader { + read( + view: T, + options?: ReadableStreamBYOBReaderReadOptions, + ): Promise>; + releaseLock(): void; + } + var ReadableStreamBYOBReader: { + prototype: ReadableStreamBYOBReader; + new(stream: ReadableStream): ReadableStreamBYOBReader; + }; + interface ReadableStreamBYOBRequest { + readonly view: NodeJS.NonSharedArrayBufferView | null; + respond(bytesWritten: number): void; + respondWithNewView(view: NodeJS.NonSharedArrayBufferView): void; + } + var ReadableStreamBYOBRequest: { + prototype: ReadableStreamBYOBRequest; + new(): ReadableStreamBYOBRequest; + }; + interface ReadableStreamDefaultController { + readonly desiredSize: number | null; + close(): void; + enqueue(chunk: R): void; + error(e?: any): void; + } + var ReadableStreamDefaultController: { + prototype: ReadableStreamDefaultController; + new(): ReadableStreamDefaultController; + }; + interface ReadableStreamDefaultReader extends ReadableStreamGenericReader { + read(): Promise>; + releaseLock(): void; + } + var ReadableStreamDefaultReader: { + prototype: ReadableStreamDefaultReader; + new(stream: ReadableStream): ReadableStreamDefaultReader; + }; + interface TextDecoderStream extends GenericTransformStream, TextDecoderCommon { + readonly readable: ReadableStream; + readonly writable: WritableStream; + } + var TextDecoderStream: { + prototype: TextDecoderStream; + new(label?: string, options?: TextDecoderOptions): TextDecoderStream; + }; + interface TextEncoderStream extends GenericTransformStream, TextEncoderCommon { + readonly readable: ReadableStream; + readonly writable: WritableStream; + } + var TextEncoderStream: { + prototype: TextEncoderStream; + new(): TextEncoderStream; + }; + interface TransformStream { + readonly readable: ReadableStream; + readonly writable: WritableStream; + } + var TransformStream: { + prototype: TransformStream; + new( + transformer?: Transformer, + writableStrategy?: QueuingStrategy, + readableStrategy?: QueuingStrategy, + ): TransformStream; + }; + interface TransformStreamDefaultController { + readonly desiredSize: number | null; + enqueue(chunk: O): void; + error(reason?: any): void; + terminate(): void; + } + var TransformStreamDefaultController: { + prototype: TransformStreamDefaultController; + new(): TransformStreamDefaultController; + }; + interface WritableStream { + readonly locked: boolean; + abort(reason?: any): Promise; + close(): Promise; + getWriter(): WritableStreamDefaultWriter; + } + var WritableStream: { + prototype: WritableStream; + new(underlyingSink?: UnderlyingSink, strategy?: QueuingStrategy): WritableStream; + }; + interface WritableStreamDefaultController { + readonly signal: AbortSignal; + error(e?: any): void; + } + var WritableStreamDefaultController: { + prototype: WritableStreamDefaultController; + new(): WritableStreamDefaultController; + }; + interface WritableStreamDefaultWriter { + readonly closed: Promise; + readonly desiredSize: number | null; + readonly ready: Promise; + abort(reason?: any): Promise; + close(): Promise; + releaseLock(): void; + write(chunk: W): Promise; + } + var WritableStreamDefaultWriter: { + prototype: WritableStreamDefaultWriter; + new(stream: WritableStream): WritableStreamDefaultWriter; + }; +} +declare module "stream/web" { + export * from "node:stream/web"; +} 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..568e3f6 --- /dev/null +++ b/node_modules/@types/node/string_decoder.d.ts @@ -0,0 +1,27 @@ +declare module "node:string_decoder" { + class StringDecoder { + constructor(encoding?: BufferEncoding); + /** + * Returns a decoded string, ensuring that any incomplete multibyte characters at + * the end of the `Buffer`, or `TypedArray`, or `DataView` are omitted from the + * returned string and stored in an internal buffer for the next call to `stringDecoder.write()` or `stringDecoder.end()`. + * @since v0.1.99 + * @param buffer The bytes to decode. + */ + write(buffer: string | NodeJS.ArrayBufferView): string; + /** + * Returns any remaining input stored in the internal buffer as a string. Bytes + * representing incomplete UTF-8 and UTF-16 characters will be replaced with + * substitution characters appropriate for the character encoding. + * + * If the `buffer` argument is provided, one final call to `stringDecoder.write()` is performed before returning the remaining input. + * After `end()` is called, the `stringDecoder` object can be reused for new input. + * @since v0.9.3 + * @param buffer The bytes to decode. + */ + end(buffer?: string | NodeJS.ArrayBufferView): string; + } +} +declare module "string_decoder" { + export * from "node:string_decoder"; +} diff --git a/node_modules/@types/node/test.d.ts b/node_modules/@types/node/test.d.ts new file mode 100644 index 0000000..0ad8b60 --- /dev/null +++ b/node_modules/@types/node/test.d.ts @@ -0,0 +1,2279 @@ +declare module "node:test" { + import { AssertMethodNames, AssertPredicate } from "node:assert"; + import { Readable, ReadableEventMap } from "node:stream"; + import { TestEvent } from "node:test/reporters"; + import { URL } from "node:url"; + import TestFn = test.TestFn; + import TestOptions = test.TestOptions; + /** + * The `test()` function is the value imported from the `test` module. Each + * invocation of this function results in reporting the test to the `TestsStream`. + * + * The `TestContext` object passed to the `fn` argument can be used to perform + * actions related to the current test. Examples include skipping the test, adding + * additional diagnostic information, or creating subtests. + * + * `test()` returns a `Promise` that fulfills once the test completes. + * if `test()` is called within a suite, it fulfills immediately. + * The return value can usually be discarded for top level tests. + * However, the return value from subtests should be used to prevent the parent + * test from finishing first and cancelling the subtest + * as shown in the following example. + * + * ```js + * test('top level test', async (t) => { + * // The setTimeout() in the following subtest would cause it to outlive its + * // parent test if 'await' is removed on the next line. Once the parent test + * // completes, it will cancel any outstanding subtests. + * await t.test('longer running subtest', async (t) => { + * return new Promise((resolve, reject) => { + * setTimeout(resolve, 1000); + * }); + * }); + * }); + * ``` + * + * The `timeout` option can be used to fail the test if it takes longer than `timeout` milliseconds to complete. However, it is not a reliable mechanism for + * canceling tests because a running test might block the application thread and + * thus prevent the scheduled cancellation. + * @since v18.0.0, v16.17.0 + * @param name The name of the test, which is displayed when reporting test results. + * Defaults to the `name` property of `fn`, or `''` if `fn` does not have a name. + * @param options Configuration options for the test. + * @param fn The function under test. The first argument to this function is a {@link TestContext} object. + * If the test uses callbacks, the callback function is passed as the second argument. + * @return Fulfilled with `undefined` once the test completes, or immediately if the test runs within a suite. + */ + function test(name?: string, fn?: TestFn): Promise; + function test(name?: string, options?: TestOptions, fn?: TestFn): Promise; + function test(options?: TestOptions, fn?: TestFn): Promise; + function test(fn?: TestFn): Promise; + namespace test { + export { test }; + export { suite as describe, test as it }; + } + namespace test { + /** + * **Note:** `shard` is used to horizontally parallelize test running across + * machines or processes, ideal for large-scale executions across varied + * environments. It's incompatible with `watch` mode, tailored for rapid + * code iteration by automatically rerunning tests on file changes. + * + * ```js + * import { tap } from 'node:test/reporters'; + * import { run } from 'node:test'; + * import process from 'node:process'; + * import path from 'node:path'; + * + * run({ files: [path.resolve('./tests/test.js')] }) + * .compose(tap) + * .pipe(process.stdout); + * ``` + * @since v18.9.0, v16.19.0 + * @param options Configuration options for running tests. + */ + function run(options?: RunOptions): TestsStream; + /** + * The `suite()` function is imported from the `node:test` module. + * @param name The name of the suite, which is displayed when reporting test results. + * Defaults to the `name` property of `fn`, or `''` if `fn` does not have a name. + * @param options Configuration options for the suite. This supports the same options as {@link test}. + * @param fn The suite function declaring nested tests and suites. The first argument to this function is a {@link SuiteContext} object. + * @return Immediately fulfilled with `undefined`. + * @since v20.13.0 + */ + function suite(name?: string, options?: TestOptions, fn?: SuiteFn): Promise; + function suite(name?: string, fn?: SuiteFn): Promise; + function suite(options?: TestOptions, fn?: SuiteFn): Promise; + function suite(fn?: SuiteFn): Promise; + namespace suite { + /** + * Shorthand for skipping a suite. This is the same as calling {@link suite} with `options.skip` set to `true`. + * @since v20.13.0 + */ + function skip(name?: string, options?: TestOptions, fn?: SuiteFn): Promise; + function skip(name?: string, fn?: SuiteFn): Promise; + function skip(options?: TestOptions, fn?: SuiteFn): Promise; + function skip(fn?: SuiteFn): Promise; + /** + * Shorthand for marking a suite as `TODO`. This is the same as calling {@link suite} with `options.todo` set to `true`. + * @since v20.13.0 + */ + function todo(name?: string, options?: TestOptions, fn?: SuiteFn): Promise; + function todo(name?: string, fn?: SuiteFn): Promise; + function todo(options?: TestOptions, fn?: SuiteFn): Promise; + function todo(fn?: SuiteFn): Promise; + /** + * Shorthand for marking a suite as `only`. This is the same as calling {@link suite} with `options.only` set to `true`. + * @since v20.13.0 + */ + function only(name?: string, options?: TestOptions, fn?: SuiteFn): Promise; + function only(name?: string, fn?: SuiteFn): Promise; + function only(options?: TestOptions, fn?: SuiteFn): Promise; + function only(fn?: SuiteFn): Promise; + /** + * This flips the pass/fail reporting for a specific test or suite: a flagged test + * case must throw in order to pass, and a flagged test case that does not throw + * fails. + * @since v25.5.0 + */ + function expectFailure(name?: string, options?: TestOptions, fn?: SuiteFn): Promise; + function expectFailure(name?: string, fn?: SuiteFn): Promise; + function expectFailure(options?: TestOptions, fn?: SuiteFn): Promise; + function expectFailure(fn?: SuiteFn): Promise; + } + /** + * Shorthand for skipping a test. This is the same as calling {@link test} with `options.skip` set to `true`. + * @since v20.2.0 + */ + function skip(name?: string, options?: TestOptions, fn?: TestFn): Promise; + function skip(name?: string, fn?: TestFn): Promise; + function skip(options?: TestOptions, fn?: TestFn): Promise; + function skip(fn?: TestFn): Promise; + /** + * Shorthand for marking a test as `TODO`. This is the same as calling {@link test} with `options.todo` set to `true`. + * @since v20.2.0 + */ + function todo(name?: string, options?: TestOptions, fn?: TestFn): Promise; + function todo(name?: string, fn?: TestFn): Promise; + function todo(options?: TestOptions, fn?: TestFn): Promise; + function todo(fn?: TestFn): Promise; + /** + * Shorthand for marking a test as `only`. This is the same as calling {@link test} with `options.only` set to `true`. + * @since v20.2.0 + */ + function only(name?: string, options?: TestOptions, fn?: TestFn): Promise; + function only(name?: string, fn?: TestFn): Promise; + function only(options?: TestOptions, fn?: TestFn): Promise; + function only(fn?: TestFn): Promise; + // added in v25.5.0, undocumented + function expectFailure(name?: string, options?: TestOptions, fn?: TestFn): Promise; + function expectFailure(name?: string, fn?: TestFn): Promise; + function expectFailure(options?: TestOptions, fn?: TestFn): Promise; + function expectFailure(fn?: TestFn): Promise; + /** + * The type of a function passed to {@link test}. The first argument to this function is a {@link TestContext} object. + * If the test uses callbacks, the callback function is passed as the second argument. + */ + type TestFn = (t: TestContext, done: (result?: any) => void) => void | Promise; + /** + * The type of a suite test function. The argument to this function is a {@link SuiteContext} object. + */ + type SuiteFn = (s: SuiteContext) => void | Promise; + interface TestShard { + /** + * A positive integer between 1 and `total` that specifies the index of the shard to run. + */ + index: number; + /** + * A positive integer that specifies the total number of shards to split the test files to. + */ + total: number; + } + interface RunOptions { + /** + * If a number is provided, then that many tests would run asynchronously (they are still managed by the single-threaded event loop). + * If `true`, it would run `os.availableParallelism() - 1` test files in parallel. If `false`, it would only run one test file at a time. + * @default false + */ + concurrency?: number | boolean | undefined; + /** + * Specifies the current working directory to be used by the test runner. + * Serves as the base path for resolving files according to the + * [test runner execution model](https://nodejs.org/docs/latest-v25.x/api/test.html#test-runner-execution-model). + * @since v23.0.0 + * @default process.cwd() + */ + cwd?: string | undefined; + /** + * An array containing the list of files to run. If omitted, files are run according to the + * [test runner execution model](https://nodejs.org/docs/latest-v25.x/api/test.html#test-runner-execution-model). + */ + files?: readonly string[] | undefined; + /** + * Configures the test runner to exit the process once all known + * tests have finished executing even if the event loop would + * otherwise remain active. + * @default false + */ + forceExit?: boolean | undefined; + /** + * An array containing the list of glob patterns to match test files. + * This option cannot be used together with `files`. If omitted, files are run according to the + * [test runner execution model](https://nodejs.org/docs/latest-v25.x/api/test.html#test-runner-execution-model). + * @since v22.6.0 + */ + globPatterns?: readonly string[] | undefined; + /** + * Sets inspector port of test child process. + * This can be a number, or a function that takes no arguments and returns a + * number. If a nullish value is provided, each process gets its own port, + * incremented from the primary's `process.debugPort`. This option is ignored + * if the `isolation` option is set to `'none'` as no child processes are + * spawned. + * @default undefined + */ + inspectPort?: number | (() => number) | undefined; + /** + * Configures the type of test isolation. If set to + * `'process'`, each test file is run in a separate child process. If set to + * `'none'`, all test files run in the current process. + * @default 'process' + * @since v22.8.0 + */ + isolation?: "process" | "none" | undefined; + /** + * If truthy, the test context will only run tests that have the `only` option set + */ + only?: boolean | undefined; + /** + * A function that accepts the `TestsStream` instance and can be used to setup listeners before any tests are run. + * @default undefined + */ + setup?: ((reporter: TestsStream) => void | Promise) | undefined; + /** + * An array of CLI flags to pass to the `node` executable when + * spawning the subprocesses. This option has no effect when `isolation` is `'none`'. + * @since v22.10.0 + * @default [] + */ + execArgv?: readonly string[] | undefined; + /** + * An array of CLI flags to pass to each test file when spawning the + * subprocesses. This option has no effect when `isolation` is `'none'`. + * @since v22.10.0 + * @default [] + */ + argv?: readonly string[] | undefined; + /** + * Allows aborting an in-progress test execution. + */ + signal?: AbortSignal | undefined; + /** + * If provided, only run tests whose name matches the provided pattern. + * Strings are interpreted as JavaScript regular expressions. + * @default undefined + */ + testNamePatterns?: string | RegExp | ReadonlyArray | undefined; + /** + * A String, RegExp or a RegExp Array, that can be used to exclude running tests whose + * name matches the provided pattern. Test name patterns are interpreted as JavaScript + * regular expressions. For each test that is executed, any corresponding test hooks, + * such as `beforeEach()`, are also run. + * @default undefined + * @since v22.1.0 + */ + testSkipPatterns?: string | RegExp | ReadonlyArray | undefined; + /** + * The number of milliseconds after which the test execution will fail. + * If unspecified, subtests inherit this value from their parent. + * @default Infinity + */ + timeout?: number | undefined; + /** + * Whether to run in watch mode or not. + * @default false + */ + watch?: boolean | undefined; + /** + * Running tests in a specific shard. + * @default undefined + */ + shard?: TestShard | undefined; + /** + * A file path where the test runner will + * store the state of the tests to allow rerunning only the failed tests on a next run. + * @since v24.7.0 + * @default undefined + */ + rerunFailuresFilePath?: string | undefined; + /** + * enable [code coverage](https://nodejs.org/docs/latest-v25.x/api/test.html#collecting-code-coverage) collection. + * @since v22.10.0 + * @default false + */ + coverage?: boolean | undefined; + /** + * Excludes specific files from code coverage + * using a glob pattern, which can match both absolute and relative file paths. + * This property is only applicable when `coverage` was set to `true`. + * If both `coverageExcludeGlobs` and `coverageIncludeGlobs` are provided, + * files must meet **both** criteria to be included in the coverage report. + * @since v22.10.0 + * @default undefined + */ + coverageExcludeGlobs?: string | readonly string[] | undefined; + /** + * Includes specific files in code coverage + * using a glob pattern, which can match both absolute and relative file paths. + * This property is only applicable when `coverage` was set to `true`. + * If both `coverageExcludeGlobs` and `coverageIncludeGlobs` are provided, + * files must meet **both** criteria to be included in the coverage report. + * @since v22.10.0 + * @default undefined + */ + coverageIncludeGlobs?: string | readonly string[] | undefined; + /** + * Require a minimum percent of covered lines. If code + * coverage does not reach the threshold specified, the process will exit with code `1`. + * @since v22.10.0 + * @default 0 + */ + lineCoverage?: number | undefined; + /** + * Require a minimum percent of covered branches. If code + * coverage does not reach the threshold specified, the process will exit with code `1`. + * @since v22.10.0 + * @default 0 + */ + branchCoverage?: number | undefined; + /** + * Require a minimum percent of covered functions. If code + * coverage does not reach the threshold specified, the process will exit with code `1`. + * @since v22.10.0 + * @default 0 + */ + functionCoverage?: number | undefined; + /** + * Specify environment variables to be passed along to the test process. + * This options is not compatible with `isolation='none'`. These variables will override + * those from the main process, and are not merged with `process.env`. + * @since v25.6.0 + * @default process.env + */ + env?: NodeJS.ProcessEnv | undefined; + } + interface TestsStreamEventMap extends ReadableEventMap { + "data": [data: TestEvent]; + "test:coverage": [data: EventData.TestCoverage]; + "test:complete": [data: EventData.TestComplete]; + "test:dequeue": [data: EventData.TestDequeue]; + "test:diagnostic": [data: EventData.TestDiagnostic]; + "test:enqueue": [data: EventData.TestEnqueue]; + "test:fail": [data: EventData.TestFail]; + "test:interrupted": [data: EventData.TestInterrupted]; + "test:pass": [data: EventData.TestPass]; + "test:plan": [data: EventData.TestPlan]; + "test:start": [data: EventData.TestStart]; + "test:stderr": [data: EventData.TestStderr]; + "test:stdout": [data: EventData.TestStdout]; + "test:summary": [data: EventData.TestSummary]; + "test:watch:drained": []; + "test:watch:restarted": []; + } + /** + * A successful call to `run()` will return a new `TestsStream` object, streaming a series of events representing the execution of the tests. + * + * Some of the events are guaranteed to be emitted in the same order as the tests are defined, while others are emitted in the order that the tests execute. + * @since v18.9.0, v16.19.0 + */ + interface TestsStream extends Readable { + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: TestsStreamEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: TestsStreamEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: TestsStreamEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: TestsStreamEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: TestsStreamEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: TestsStreamEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: TestsStreamEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: TestsStreamEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: TestsStreamEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners( + eventName: E, + ): ((...args: TestsStreamEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: TestsStreamEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + namespace EventData { + interface Error extends globalThis.Error { + cause: unknown; + } + interface LocationInfo { + /** + * The column number where the test is defined, or + * `undefined` if the test was run through the REPL. + */ + column?: number; + /** + * The path of the test file, `undefined` if test was run through the REPL. + */ + file?: string; + /** + * The line number where the test is defined, or `undefined` if the test was run through the REPL. + */ + line?: number; + } + interface TestDiagnostic extends LocationInfo { + /** + * The diagnostic message. + */ + message: string; + /** + * The nesting level of the test. + */ + nesting: number; + /** + * The severity level of the diagnostic message. + * Possible values are: + * * `'info'`: Informational messages. + * * `'warn'`: Warnings. + * * `'error'`: Errors. + */ + level: "info" | "warn" | "error"; + } + interface TestCoverage { + /** + * An object containing the coverage report. + */ + summary: { + /** + * An array of coverage reports for individual files. + */ + files: Array<{ + /** + * The absolute path of the file. + */ + path: string; + /** + * The total number of lines. + */ + totalLineCount: number; + /** + * The total number of branches. + */ + totalBranchCount: number; + /** + * The total number of functions. + */ + totalFunctionCount: number; + /** + * The number of covered lines. + */ + coveredLineCount: number; + /** + * The number of covered branches. + */ + coveredBranchCount: number; + /** + * The number of covered functions. + */ + coveredFunctionCount: number; + /** + * The percentage of lines covered. + */ + coveredLinePercent: number; + /** + * The percentage of branches covered. + */ + coveredBranchPercent: number; + /** + * The percentage of functions covered. + */ + coveredFunctionPercent: number; + /** + * An array of functions representing function coverage. + */ + functions: Array<{ + /** + * The name of the function. + */ + name: string; + /** + * The line number where the function is defined. + */ + line: number; + /** + * The number of times the function was called. + */ + count: number; + }>; + /** + * An array of branches representing branch coverage. + */ + branches: Array<{ + /** + * The line number where the branch is defined. + */ + line: number; + /** + * The number of times the branch was taken. + */ + count: number; + }>; + /** + * An array of lines representing line numbers and the number of times they were covered. + */ + lines: Array<{ + /** + * The line number. + */ + line: number; + /** + * The number of times the line was covered. + */ + count: number; + }>; + }>; + /** + * An object containing whether or not the coverage for + * each coverage type. + * @since v22.9.0 + */ + thresholds: { + /** + * The function coverage threshold. + */ + function: number; + /** + * The branch coverage threshold. + */ + branch: number; + /** + * The line coverage threshold. + */ + line: number; + }; + /** + * An object containing a summary of coverage for all files. + */ + totals: { + /** + * The total number of lines. + */ + totalLineCount: number; + /** + * The total number of branches. + */ + totalBranchCount: number; + /** + * The total number of functions. + */ + totalFunctionCount: number; + /** + * The number of covered lines. + */ + coveredLineCount: number; + /** + * The number of covered branches. + */ + coveredBranchCount: number; + /** + * The number of covered functions. + */ + coveredFunctionCount: number; + /** + * The percentage of lines covered. + */ + coveredLinePercent: number; + /** + * The percentage of branches covered. + */ + coveredBranchPercent: number; + /** + * The percentage of functions covered. + */ + coveredFunctionPercent: number; + }; + /** + * The working directory when code coverage began. This + * is useful for displaying relative path names in case + * the tests changed the working directory of the Node.js process. + */ + workingDirectory: string; + }; + /** + * The nesting level of the test. + */ + nesting: number; + } + interface TestComplete extends LocationInfo { + /** + * Additional execution metadata. + */ + details: { + /** + * Whether the test passed or not. + */ + passed: boolean; + /** + * The duration of the test in milliseconds. + */ + duration_ms: number; + /** + * An error wrapping the error thrown by the test if it did not pass. + */ + error?: Error; + /** + * The type of the test, used to denote whether this is a suite. + */ + type?: "suite" | "test"; + }; + /** + * The test name. + */ + name: string; + /** + * The nesting level of the test. + */ + nesting: number; + /** + * The ordinal number of the test. + */ + testNumber: number; + /** + * Present if `context.todo` is called. + */ + todo?: string | boolean; + /** + * Present if `context.skip` is called. + */ + skip?: string | boolean; + } + interface TestDequeue extends LocationInfo { + /** + * The test name. + */ + name: string; + /** + * The nesting level of the test. + */ + nesting: number; + /** + * The test type. Either `'suite'` or `'test'`. + * @since v22.15.0 + */ + type: "suite" | "test"; + } + interface TestEnqueue extends LocationInfo { + /** + * The test name. + */ + name: string; + /** + * The nesting level of the test. + */ + nesting: number; + /** + * The test type. Either `'suite'` or `'test'`. + * @since v22.15.0 + */ + type: "suite" | "test"; + } + interface TestFail extends LocationInfo { + /** + * Additional execution metadata. + */ + details: { + /** + * The duration of the test in milliseconds. + */ + duration_ms: number; + /** + * An error wrapping the error thrown by the test. + */ + error: Error; + /** + * The type of the test, used to denote whether this is a suite. + * @since v20.0.0, v19.9.0, v18.17.0 + */ + type?: "suite" | "test"; + /** + * The attempt number of the test run, + * present only when using the `--test-rerun-failures` flag. + * @since v24.7.0 + */ + attempt?: number; + }; + /** + * The test name. + */ + name: string; + /** + * The nesting level of the test. + */ + nesting: number; + /** + * The ordinal number of the test. + */ + testNumber: number; + /** + * Present if `context.todo` is called. + */ + todo?: string | boolean; + /** + * Present if `context.skip` is called. + */ + skip?: string | boolean; + } + interface TestInterrupted { + /** + * An array of objects containing information about the + * interrupted tests. + */ + tests: TestStart[]; + } + interface TestPass extends LocationInfo { + /** + * Additional execution metadata. + */ + details: { + /** + * The duration of the test in milliseconds. + */ + duration_ms: number; + /** + * The type of the test, used to denote whether this is a suite. + * @since 20.0.0, 19.9.0, 18.17.0 + */ + type?: "suite" | "test"; + /** + * The attempt number of the test run, + * present only when using the `--test-rerun-failures` flag. + * @since v24.7.0 + */ + attempt?: number; + /** + * The attempt number the test passed on, + * present only when using the `--test-rerun-failures` flag. + * @since v24.7.0 + */ + passed_on_attempt?: number; + }; + /** + * The test name. + */ + name: string; + /** + * The nesting level of the test. + */ + nesting: number; + /** + * The ordinal number of the test. + */ + testNumber: number; + /** + * Present if `context.todo` is called. + */ + todo?: string | boolean; + /** + * Present if `context.skip` is called. + */ + skip?: string | boolean; + } + interface TestPlan extends LocationInfo { + /** + * The nesting level of the test. + */ + nesting: number; + /** + * The number of subtests that have ran. + */ + count: number; + } + interface TestStart extends LocationInfo { + /** + * The test name. + */ + name: string; + /** + * The nesting level of the test. + */ + nesting: number; + } + interface TestStderr { + /** + * The path of the test file. + */ + file: string; + /** + * The message written to `stderr`. + */ + message: string; + } + interface TestStdout { + /** + * The path of the test file. + */ + file: string; + /** + * The message written to `stdout`. + */ + message: string; + } + interface TestSummary { + /** + * An object containing the counts of various test results. + */ + counts: { + /** + * The total number of cancelled tests. + */ + cancelled: number; + /** + * The total number of passed tests. + */ + passed: number; + /** + * The total number of skipped tests. + */ + skipped: number; + /** + * The total number of suites run. + */ + suites: number; + /** + * The total number of tests run, excluding suites. + */ + tests: number; + /** + * The total number of TODO tests. + */ + todo: number; + /** + * The total number of top level tests and suites. + */ + topLevel: number; + }; + /** + * The duration of the test run in milliseconds. + */ + duration_ms: number; + /** + * The path of the test file that generated the + * summary. If the summary corresponds to multiple files, this value is + * `undefined`. + */ + file: string | undefined; + /** + * Indicates whether or not the test run is considered + * successful or not. If any error condition occurs, such as a failing test or + * unmet coverage threshold, this value will be set to `false`. + */ + success: boolean; + } + } + /** + * An instance of `TestContext` is passed to each test function in order to + * interact with the test runner. However, the `TestContext` constructor is not + * exposed as part of the API. + * @since v18.0.0, v16.17.0 + */ + interface TestContext { + /** + * An object containing assertion methods bound to the test context. + * The top-level functions from the `node:assert` module are exposed here for the purpose of creating test plans. + * + * **Note:** Some of the functions from `node:assert` contain type assertions. If these are called via the + * TestContext `assert` object, then the context parameter in the test's function signature **must be explicitly typed** + * (ie. the parameter must have a type annotation), otherwise an error will be raised by the TypeScript compiler: + * ```ts + * import { test, type TestContext } from 'node:test'; + * + * // The test function's context parameter must have a type annotation. + * test('example', (t: TestContext) => { + * t.assert.deepStrictEqual(actual, expected); + * }); + * + * // Omitting the type annotation will result in a compilation error. + * test('example', t => { + * t.assert.deepStrictEqual(actual, expected); // Error: 't' needs an explicit type annotation. + * }); + * ``` + * @since v22.2.0, v20.15.0 + */ + readonly assert: TestContextAssert; + /** + * This function is used to create a hook running before subtest of the current test. + * @param fn The hook function. The first argument to this function is a `TestContext` object. + * If the hook uses callbacks, the callback function is passed as the second argument. + * @param options Configuration options for the hook. + * @since v20.1.0, v18.17.0 + */ + before(fn?: TestContextHookFn, options?: HookOptions): void; + /** + * This function is used to create a hook running before each subtest of the current test. + * @param fn The hook function. The first argument to this function is a `TestContext` object. + * If the hook uses callbacks, the callback function is passed as the second argument. + * @param options Configuration options for the hook. + * @since v18.8.0 + */ + beforeEach(fn?: TestContextHookFn, options?: HookOptions): void; + /** + * This function is used to create a hook that runs after the current test finishes. + * @param fn The hook function. The first argument to this function is a `TestContext` object. + * If the hook uses callbacks, the callback function is passed as the second argument. + * @param options Configuration options for the hook. + * @since v18.13.0 + */ + after(fn?: TestContextHookFn, options?: HookOptions): void; + /** + * This function is used to create a hook running after each subtest of the current test. + * @param fn The hook function. The first argument to this function is a `TestContext` object. + * If the hook uses callbacks, the callback function is passed as the second argument. + * @param options Configuration options for the hook. + * @since v18.8.0 + */ + afterEach(fn?: TestContextHookFn, options?: HookOptions): void; + /** + * This function is used to write diagnostics to the output. Any diagnostic + * information is included at the end of the test's results. This function does + * not return a value. + * + * ```js + * test('top level test', (t) => { + * t.diagnostic('A diagnostic message'); + * }); + * ``` + * @since v18.0.0, v16.17.0 + * @param message Message to be reported. + */ + diagnostic(message: string): void; + /** + * The absolute path of the test file that created the current test. If a test file imports + * additional modules that generate tests, the imported tests will return the path of the root test file. + * @since v22.6.0 + */ + readonly filePath: string | undefined; + /** + * The name of the test and each of its ancestors, separated by `>`. + * @since v22.3.0 + */ + readonly fullName: string; + /** + * The name of the test. + * @since v18.8.0, v16.18.0 + */ + readonly name: string; + /** + * Indicated whether the test succeeded. + * @since v21.7.0, v20.12.0 + */ + readonly passed: boolean; + /** + * The failure reason for the test/case; wrapped and available via `context.error.cause`. + * @since v21.7.0, v20.12.0 + */ + readonly error: EventData.Error | null; + /** + * Number of times the test has been attempted. + * @since v21.7.0, v20.12.0 + */ + readonly attempt: number; + /** + * The unique identifier of the worker running the current test file. This value is + * derived from the `NODE_TEST_WORKER_ID` environment variable. When running tests + * with `--test-isolation=process` (the default), each test file runs in a separate + * child process and is assigned a worker ID from 1 to N, where N is the number of + * concurrent workers. When running with `--test-isolation=none`, all tests run in + * the same process and the worker ID is always 1. This value is `undefined` when + * not running in a test context. + * + * This property is useful for splitting resources (like database connections or + * server ports) across concurrent test files: + * + * ```js + * import { test } from 'node:test'; + * import { process } from 'node:process'; + * + * test('database operations', async (t) => { + * // Worker ID is available via context + * console.log(`Running in worker ${t.workerId}`); + * + * // Or via environment variable (available at import time) + * const workerId = process.env.NODE_TEST_WORKER_ID; + * // Use workerId to allocate separate resources per worker + * }); + * ``` + * @since v25.8.0 + */ + readonly workerId: number | undefined; + /** + * This function is used to set the number of assertions and subtests that are expected to run + * within the test. If the number of assertions and subtests that run does not match the + * expected count, the test will fail. + * + * > Note: To make sure assertions are tracked, `t.assert` must be used instead of `assert` directly. + * + * ```js + * test('top level test', (t) => { + * t.plan(2); + * t.assert.ok('some relevant assertion here'); + * t.test('subtest', () => {}); + * }); + * ``` + * + * When working with asynchronous code, the `plan` function can be used to ensure that the + * correct number of assertions are run: + * + * ```js + * test('planning with streams', (t, done) => { + * function* generate() { + * yield 'a'; + * yield 'b'; + * yield 'c'; + * } + * const expected = ['a', 'b', 'c']; + * t.plan(expected.length); + * const stream = Readable.from(generate()); + * stream.on('data', (chunk) => { + * t.assert.strictEqual(chunk, expected.shift()); + * }); + * + * stream.on('end', () => { + * done(); + * }); + * }); + * ``` + * + * When using the `wait` option, you can control how long the test will wait for the expected assertions. + * For example, setting a maximum wait time ensures that the test will wait for asynchronous assertions + * to complete within the specified timeframe: + * + * ```js + * test('plan with wait: 2000 waits for async assertions', (t) => { + * t.plan(1, { wait: 2000 }); // Waits for up to 2 seconds for the assertion to complete. + * + * const asyncActivity = () => { + * setTimeout(() => { + * * t.assert.ok(true, 'Async assertion completed within the wait time'); + * }, 1000); // Completes after 1 second, within the 2-second wait time. + * }; + * + * asyncActivity(); // The test will pass because the assertion is completed in time. + * }); + * ``` + * + * Note: If a `wait` timeout is specified, it begins counting down only after the test function finishes executing. + * @since v22.2.0 + */ + plan(count: number, options?: TestContextPlanOptions): void; + /** + * If `shouldRunOnlyTests` is truthy, the test context will only run tests that + * have the `only` option set. Otherwise, all tests are run. If Node.js was not + * started with the `--test-only` command-line option, this function is a + * no-op. + * + * ```js + * test('top level test', (t) => { + * // The test context can be set to run subtests with the 'only' option. + * t.runOnly(true); + * return Promise.all([ + * t.test('this subtest is now skipped'), + * t.test('this subtest is run', { only: true }), + * ]); + * }); + * ``` + * @since v18.0.0, v16.17.0 + * @param shouldRunOnlyTests Whether or not to run `only` tests. + */ + runOnly(shouldRunOnlyTests: boolean): void; + /** + * ```js + * test('top level test', async (t) => { + * await fetch('some/uri', { signal: t.signal }); + * }); + * ``` + * @since v18.7.0, v16.17.0 + */ + readonly signal: AbortSignal; + /** + * This function causes the test's output to indicate the test as skipped. If `message` is provided, it is included in the output. Calling `skip()` does + * not terminate execution of the test function. This function does not return a + * value. + * + * ```js + * test('top level test', (t) => { + * // Make sure to return here as well if the test contains additional logic. + * t.skip('this is skipped'); + * }); + * ``` + * @since v18.0.0, v16.17.0 + * @param message Optional skip message. + */ + skip(message?: string): void; + /** + * This function adds a `TODO` directive to the test's output. If `message` is + * provided, it is included in the output. Calling `todo()` does not terminate + * execution of the test function. This function does not return a value. + * + * ```js + * test('top level test', (t) => { + * // This test is marked as `TODO` + * t.todo('this is a todo'); + * }); + * ``` + * @since v18.0.0, v16.17.0 + * @param message Optional `TODO` message. + */ + todo(message?: string): void; + /** + * This function is used to create subtests under the current test. This function behaves in + * the same fashion as the top level {@link test} function. + * @since v18.0.0 + * @param name The name of the test, which is displayed when reporting test results. + * Defaults to the `name` property of `fn`, or `''` if `fn` does not have a name. + * @param options Configuration options for the test. + * @param fn The function under test. This first argument to this function is a {@link TestContext} object. + * If the test uses callbacks, the callback function is passed as the second argument. + * @returns A {@link Promise} resolved with `undefined` once the test completes. + */ + test: typeof test; + /** + * This method polls a `condition` function until that function either returns + * successfully or the operation times out. + * @since v22.14.0 + * @param condition An assertion function that is invoked + * periodically until it completes successfully or the defined polling timeout + * elapses. Successful completion is defined as not throwing or rejecting. This + * function does not accept any arguments, and is allowed to return any value. + * @param options An optional configuration object for the polling operation. + * @returns Fulfilled with the value returned by `condition`. + */ + waitFor(condition: () => T, options?: TestContextWaitForOptions): Promise>; + /** + * Each test provides its own MockTracker instance. + */ + readonly mock: MockTracker; + } + interface TestContextAssert extends Pick { + /** + * This function serializes `value` and writes it to the file specified by `path`. + * + * ```js + * test('snapshot test with default serialization', (t) => { + * t.assert.fileSnapshot({ value1: 1, value2: 2 }, './snapshots/snapshot.json'); + * }); + * ``` + * + * This function differs from `context.assert.snapshot()` in the following ways: + * + * * The snapshot file path is explicitly provided by the user. + * * Each snapshot file is limited to a single snapshot value. + * * No additional escaping is performed by the test runner. + * + * These differences allow snapshot files to better support features such as syntax + * highlighting. + * @since v22.14.0 + * @param value A value to serialize to a string. If Node.js was started with + * the [`--test-update-snapshots`](https://nodejs.org/docs/latest-v25.x/api/cli.html#--test-update-snapshots) + * flag, the serialized value is written to + * `path`. Otherwise, the serialized value is compared to the contents of the + * existing snapshot file. + * @param path The file where the serialized `value` is written. + * @param options Optional configuration options. + */ + fileSnapshot(value: any, path: string, options?: AssertSnapshotOptions): void; + /** + * This function implements assertions for snapshot testing. + * ```js + * test('snapshot test with default serialization', (t) => { + * t.assert.snapshot({ value1: 1, value2: 2 }); + * }); + * + * test('snapshot test with custom serialization', (t) => { + * t.assert.snapshot({ value3: 3, value4: 4 }, { + * serializers: [(value) => JSON.stringify(value)] + * }); + * }); + * ``` + * @since v22.3.0 + * @param value A value to serialize to a string. If Node.js was started with + * the [`--test-update-snapshots`](https://nodejs.org/docs/latest-v25.x/api/cli.html#--test-update-snapshots) + * flag, the serialized value is written to + * the snapshot file. Otherwise, the serialized value is compared to the + * corresponding value in the existing snapshot file. + */ + snapshot(value: any, options?: AssertSnapshotOptions): void; + /** + * A custom assertion function registered with `assert.register()`. + */ + [name: string]: (...args: any[]) => void; + } + interface AssertSnapshotOptions { + /** + * An array of synchronous functions used to serialize `value` into a string. + * `value` is passed as the only argument to the first serializer function. + * The return value of each serializer is passed as input to the next serializer. + * Once all serializers have run, the resulting value is coerced to a string. + * + * If no serializers are provided, the test runner's default serializers are used. + */ + serializers?: ReadonlyArray<(value: any) => any> | undefined; + } + interface TestContextPlanOptions { + /** + * The wait time for the plan: + * * If `true`, the plan waits indefinitely for all assertions and subtests to run. + * * If `false`, the plan performs an immediate check after the test function completes, + * without waiting for any pending assertions or subtests. + * Any assertions or subtests that complete after this check will not be counted towards the plan. + * * If a number, it specifies the maximum wait time in milliseconds + * before timing out while waiting for expected assertions and subtests to be matched. + * If the timeout is reached, the test will fail. + * @default false + */ + wait?: boolean | number | undefined; + } + interface TestContextWaitForOptions { + /** + * The number of milliseconds to wait after an unsuccessful + * invocation of `condition` before trying again. + * @default 50 + */ + interval?: number | undefined; + /** + * The poll timeout in milliseconds. If `condition` has not + * succeeded by the time this elapses, an error occurs. + * @default 1000 + */ + timeout?: number | undefined; + } + /** + * An instance of `SuiteContext` is passed to each suite function in order to + * interact with the test runner. However, the `SuiteContext` constructor is not + * exposed as part of the API. + * @since v18.7.0, v16.17.0 + */ + interface SuiteContext { + /** + * The absolute path of the test file that created the current suite. If a test file imports + * additional modules that generate suites, the imported suites will return the path of the root test file. + * @since v22.6.0 + */ + readonly filePath: string | undefined; + /** + * The name of the suite and each of its ancestors, separated by `>`. + * @since v22.3.0, v20.16.0 + */ + readonly fullName: string; + /** + * The name of the suite. + * @since v18.8.0, v16.18.0 + */ + readonly name: string; + /** + * Can be used to abort test subtasks when the test has been aborted. + * @since v18.7.0, v16.17.0 + */ + readonly signal: AbortSignal; + } + interface TestOptions { + /** + * If a number is provided, then that many tests would run in parallel. + * If truthy, it would run (number of cpu cores - 1) tests in parallel. + * For subtests, it will be `Infinity` tests in parallel. + * If falsy, it would only run one test at a time. + * If unspecified, subtests inherit this value from their parent. + * @default false + */ + concurrency?: number | boolean | undefined; + /** + * If truthy, the test is expected to fail. If a non-empty string is provided, that string is displayed + * in the test results as the reason why the test is expected to fail. If a + * `RegExp`, `Function`, `Object`, or `Error` is provided directly (without wrapping in `{ match: … }`), the test passes + * only if the thrown error matches, following the behavior of + * `assert.throws`. To provide both a reason and validation, pass an object + * with `label` (string) and `match` (RegExp, Function, Object, or Error). + * @since v25.5.0 + * @default false + */ + expectFailure?: boolean | string | AssertPredicate | undefined; + /** + * If truthy, and the test context is configured to run `only` tests, then this test will be + * run. Otherwise, the test is skipped. + * @default false + */ + only?: boolean | undefined; + /** + * Allows aborting an in-progress test. + * @since v18.8.0 + */ + signal?: AbortSignal | undefined; + /** + * If truthy, the test is skipped. If a string is provided, that string is displayed in the + * test results as the reason for skipping the test. + * @default false + */ + skip?: boolean | string | undefined; + /** + * A number of milliseconds the test will fail after. If unspecified, subtests inherit this + * value from their parent. + * @default Infinity + * @since v18.7.0 + */ + timeout?: number | undefined; + /** + * If truthy, the test marked as `TODO`. If a string is provided, that string is displayed in + * the test results as the reason why the test is `TODO`. + * @default false + */ + todo?: boolean | string | undefined; + /** + * The number of assertions and subtests expected to be run in the test. + * If the number of assertions run in the test does not match the number + * specified in the plan, the test will fail. + * @default undefined + * @since v22.2.0 + */ + plan?: number | undefined; + } + /** + * This function creates a hook that runs before executing a suite. + * + * ```js + * describe('tests', async () => { + * before(() => console.log('about to run some test')); + * it('is a subtest', () => { + * // Some relevant assertion here + * }); + * }); + * ``` + * @since v18.8.0, v16.18.0 + * @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument. + * @param options Configuration options for the hook. + */ + function before(fn?: HookFn, options?: HookOptions): void; + /** + * This function creates a hook that runs after executing a suite. + * + * ```js + * describe('tests', async () => { + * after(() => console.log('finished running tests')); + * it('is a subtest', () => { + * // Some relevant assertion here + * }); + * }); + * ``` + * @since v18.8.0, v16.18.0 + * @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument. + * @param options Configuration options for the hook. + */ + function after(fn?: HookFn, options?: HookOptions): void; + /** + * This function creates a hook that runs before each test in the current suite. + * + * ```js + * describe('tests', async () => { + * beforeEach(() => console.log('about to run a test')); + * it('is a subtest', () => { + * // Some relevant assertion here + * }); + * }); + * ``` + * @since v18.8.0, v16.18.0 + * @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument. + * @param options Configuration options for the hook. + */ + function beforeEach(fn?: HookFn, options?: HookOptions): void; + /** + * This function creates a hook that runs after each test in the current suite. + * The `afterEach()` hook is run even if the test fails. + * + * ```js + * describe('tests', async () => { + * afterEach(() => console.log('finished running a test')); + * it('is a subtest', () => { + * // Some relevant assertion here + * }); + * }); + * ``` + * @since v18.8.0, v16.18.0 + * @param fn The hook function. If the hook uses callbacks, the callback function is passed as the second argument. + * @param options Configuration options for the hook. + */ + function afterEach(fn?: HookFn, options?: HookOptions): void; + /** + * The hook function. The first argument is the context in which the hook is called. + * If the hook uses callbacks, the callback function is passed as the second argument. + */ + type HookFn = (c: TestContext | SuiteContext, done: (result?: any) => void) => any; + /** + * The hook function. The first argument is a `TestContext` object. + * If the hook uses callbacks, the callback function is passed as the second argument. + */ + type TestContextHookFn = (t: TestContext, done: (result?: any) => void) => any; + /** + * Configuration options for hooks. + * @since v18.8.0 + */ + interface HookOptions { + /** + * Allows aborting an in-progress hook. + */ + signal?: AbortSignal | undefined; + /** + * A number of milliseconds the hook will fail after. If unspecified, subtests inherit this + * value from their parent. + * @default Infinity + */ + timeout?: number | undefined; + } + interface MockFunctionOptions { + /** + * The number of times that the mock will use the behavior of `implementation`. + * Once the mock function has been called `times` times, + * it will automatically restore the behavior of `original`. + * This value must be an integer greater than zero. + * @default Infinity + */ + times?: number | undefined; + } + interface MockMethodOptions extends MockFunctionOptions { + /** + * If `true`, `object[methodName]` is treated as a getter. + * This option cannot be used with the `setter` option. + */ + getter?: boolean | undefined; + /** + * If `true`, `object[methodName]` is treated as a setter. + * This option cannot be used with the `getter` option. + */ + setter?: boolean | undefined; + } + type Mock = F & { + mock: MockFunctionContext; + }; + interface MockModuleOptions { + /** + * If false, each call to `require()` or `import()` generates a new mock module. + * If true, subsequent calls will return the same module mock, and the mock module is inserted into the CommonJS cache. + * @default false + */ + cache?: boolean | undefined; + /** + * Optional mocked exports. The `default` property, if + * provided, is used as the mocked module's default export. All other own + * enumerable properties are used as named exports. + * **This option cannot be used with `defaultExport` or `namedExports`.** + * * If the mock is a CommonJS or builtin module, `exports.default` is used as + * the value of `module.exports`. + * * If `exports.default` is not provided for a CommonJS or builtin mock, + * `module.exports` defaults to an empty object. + * * If named exports are provided with a non-object default export, the mock + * throws an exception when used as a CommonJS or builtin module. + */ + exports?: object | undefined; + /** + * An optional value used as the mocked module's default + * export. If this value is not provided, ESM mocks do not include a default + * export. If the mock is a CommonJS or builtin module, this setting is used as + * the value of `module.exports`. If this value is not provided, CJS and builtin + * mocks use an empty object as the value of `module.exports`. + * **This option cannot be used with `options.exports`.** + * This option is deprecated and will be removed in a later version. + * Prefer `options.exports.default`. + * @deprecated + */ + defaultExport?: any; + /** + * An optional object whose keys and values are used to + * create the named exports of the mock module. If the mock is a CommonJS or + * builtin module, these values are copied onto `module.exports`. Therefore, if a + * mock is created with both named exports and a non-object default export, the + * mock will throw an exception when used as a CJS or builtin module. + * **This option cannot be used with `options.exports`.** + * This option is deprecated and will be removed in a later version. + * Prefer `options.exports`. + * @deprecated + */ + namedExports?: object | undefined; + } + /** + * The `MockTracker` class is used to manage mocking functionality. The test runner + * module provides a top level `mock` export which is a `MockTracker` instance. + * Each test also provides its own `MockTracker` instance via the test context's `mock` property. + * @since v19.1.0, v18.13.0 + */ + interface MockTracker { + /** + * This function is used to create a mock function. + * + * The following example creates a mock function that increments a counter by one + * on each invocation. The `times` option is used to modify the mock behavior such + * that the first two invocations add two to the counter instead of one. + * + * ```js + * test('mocks a counting function', (t) => { + * let cnt = 0; + * + * function addOne() { + * cnt++; + * return cnt; + * } + * + * function addTwo() { + * cnt += 2; + * return cnt; + * } + * + * const fn = t.mock.fn(addOne, addTwo, { times: 2 }); + * + * assert.strictEqual(fn(), 2); + * assert.strictEqual(fn(), 4); + * assert.strictEqual(fn(), 5); + * assert.strictEqual(fn(), 6); + * }); + * ``` + * @since v19.1.0, v18.13.0 + * @param original An optional function to create a mock on. + * @param implementation An optional function used as the mock implementation for `original`. This is useful for creating mocks that exhibit one behavior for a specified number of calls and + * then restore the behavior of `original`. + * @param options Optional configuration options for the mock function. + * @return The mocked function. The mocked function contains a special `mock` property, which is an instance of {@link MockFunctionContext}, and can be used for inspecting and changing the + * behavior of the mocked function. + */ + fn undefined>( + original?: F, + options?: MockFunctionOptions, + ): Mock; + fn undefined, Implementation extends Function = F>( + original?: F, + implementation?: Implementation, + options?: MockFunctionOptions, + ): Mock; + /** + * This function is used to create a mock on an existing object method. The + * following example demonstrates how a mock is created on an existing object + * method. + * + * ```js + * test('spies on an object method', (t) => { + * const number = { + * value: 5, + * subtract(a) { + * return this.value - a; + * }, + * }; + * + * t.mock.method(number, 'subtract'); + * assert.strictEqual(number.subtract.mock.calls.length, 0); + * assert.strictEqual(number.subtract(3), 2); + * assert.strictEqual(number.subtract.mock.calls.length, 1); + * + * const call = number.subtract.mock.calls[0]; + * + * assert.deepStrictEqual(call.arguments, [3]); + * assert.strictEqual(call.result, 2); + * assert.strictEqual(call.error, undefined); + * assert.strictEqual(call.target, undefined); + * assert.strictEqual(call.this, number); + * }); + * ``` + * @since v19.1.0, v18.13.0 + * @param object The object whose method is being mocked. + * @param methodName The identifier of the method on `object` to mock. If `object[methodName]` is not a function, an error is thrown. + * @param implementation An optional function used as the mock implementation for `object[methodName]`. + * @param options Optional configuration options for the mock method. + * @return The mocked method. The mocked method contains a special `mock` property, which is an instance of {@link MockFunctionContext}, and can be used for inspecting and changing the + * behavior of the mocked method. + */ + method< + MockedObject extends object, + MethodName extends FunctionPropertyNames, + >( + object: MockedObject, + methodName: MethodName, + options?: MockFunctionOptions, + ): MockedObject[MethodName] extends Function ? Mock + : never; + method< + MockedObject extends object, + MethodName extends FunctionPropertyNames, + Implementation extends Function, + >( + object: MockedObject, + methodName: MethodName, + implementation: Implementation, + options?: MockFunctionOptions, + ): MockedObject[MethodName] extends Function ? Mock + : never; + method( + object: MockedObject, + methodName: keyof MockedObject, + options: MockMethodOptions, + ): Mock; + method( + object: MockedObject, + methodName: keyof MockedObject, + implementation: Function, + options: MockMethodOptions, + ): Mock; + /** + * This function is syntax sugar for `MockTracker.method` with `options.getter` set to `true`. + * @since v19.3.0, v18.13.0 + */ + getter< + MockedObject extends object, + MethodName extends keyof MockedObject, + >( + object: MockedObject, + methodName: MethodName, + options?: MockFunctionOptions, + ): Mock<() => MockedObject[MethodName]>; + getter< + MockedObject extends object, + MethodName extends keyof MockedObject, + Implementation extends Function, + >( + object: MockedObject, + methodName: MethodName, + implementation?: Implementation, + options?: MockFunctionOptions, + ): Mock<(() => MockedObject[MethodName]) | Implementation>; + /** + * This function is syntax sugar for `MockTracker.method` with `options.setter` set to `true`. + * @since v19.3.0, v18.13.0 + */ + setter< + MockedObject extends object, + MethodName extends keyof MockedObject, + >( + object: MockedObject, + methodName: MethodName, + options?: MockFunctionOptions, + ): Mock<(value: MockedObject[MethodName]) => void>; + setter< + MockedObject extends object, + MethodName extends keyof MockedObject, + Implementation extends Function, + >( + object: MockedObject, + methodName: MethodName, + implementation?: Implementation, + options?: MockFunctionOptions, + ): Mock<((value: MockedObject[MethodName]) => void) | Implementation>; + /** + * This function is used to mock the exports of ECMAScript modules, CommonJS modules, JSON modules, and + * Node.js builtin modules. Any references to the original module prior to mocking are not impacted. In + * order to enable module mocking, Node.js must be started with the + * [`--experimental-test-module-mocks`](https://nodejs.org/docs/latest-v25.x/api/cli.html#--experimental-test-module-mocks) + * command-line flag. + * + * **Note**: [module customization hooks](https://nodejs.org/docs/latest-v25.x/api/module.html#customization-hooks) registered via the **synchronous** API effect resolution of + * the `specifier` provided to `mock.module`. Customization hooks registered via the **asynchronous** + * API are currently ignored (because the test runner's loader is synchronous, and node does not + * support multi-chain / cross-chain loading). + * + * The following example demonstrates how a mock is created for a module. + * + * ```js + * test('mocks a builtin module in both module systems', async (t) => { + * // Create a mock of 'node:readline' with a named export named 'foo', which + * // does not exist in the original 'node:readline' module. + * const mock = t.mock.module('node:readline', { + * exports: { foo: () => 42 }, + * }); + * + * let esmImpl = await import('node:readline'); + * let cjsImpl = require('node:readline'); + * + * // cursorTo() is an export of the original 'node:readline' module. + * assert.strictEqual(esmImpl.cursorTo, undefined); + * assert.strictEqual(cjsImpl.cursorTo, undefined); + * assert.strictEqual(esmImpl.fn(), 42); + * assert.strictEqual(cjsImpl.fn(), 42); + * + * mock.restore(); + * + * // The mock is restored, so the original builtin module is returned. + * esmImpl = await import('node:readline'); + * cjsImpl = require('node:readline'); + * + * assert.strictEqual(typeof esmImpl.cursorTo, 'function'); + * assert.strictEqual(typeof cjsImpl.cursorTo, 'function'); + * assert.strictEqual(esmImpl.fn, undefined); + * assert.strictEqual(cjsImpl.fn, undefined); + * }); + * ``` + * @since v22.3.0 + * @experimental + * @param specifier A string identifying the module to mock. + * @param options Optional configuration options for the mock module. + */ + module(specifier: string | URL, options?: MockModuleOptions): MockModuleContext; + /** + * Creates a mock for a property value on an object. This allows you to track and control access to a specific property, + * including how many times it is read (getter) or written (setter), and to restore the original value after mocking. + * + * ```js + * test('mocks a property value', (t) => { + * const obj = { foo: 42 }; + * const prop = t.mock.property(obj, 'foo', 100); + * + * assert.strictEqual(obj.foo, 100); + * assert.strictEqual(prop.mock.accessCount(), 1); + * assert.strictEqual(prop.mock.accesses[0].type, 'get'); + * assert.strictEqual(prop.mock.accesses[0].value, 100); + * + * obj.foo = 200; + * assert.strictEqual(prop.mock.accessCount(), 2); + * assert.strictEqual(prop.mock.accesses[1].type, 'set'); + * assert.strictEqual(prop.mock.accesses[1].value, 200); + * + * prop.mock.restore(); + * assert.strictEqual(obj.foo, 42); + * }); + * ``` + * @since v24.3.0 + * @param object The object whose value is being mocked. + * @param propertyName The identifier of the property on `object` to mock. + * @param value An optional value used as the mock value + * for `object[propertyName]`. **Default:** The original property value. + * @returns A proxy to the mocked object. The mocked object contains a + * special `mock` property, which is an instance of [`MockPropertyContext`][], and + * can be used for inspecting and changing the behavior of the mocked property. + */ + property< + MockedObject extends object, + PropertyName extends keyof MockedObject, + >( + object: MockedObject, + property: PropertyName, + value?: MockedObject[PropertyName], + ): MockedObject & { mock: MockPropertyContext }; + /** + * This function restores the default behavior of all mocks that were previously + * created by this `MockTracker` and disassociates the mocks from the `MockTracker` instance. Once disassociated, the mocks can still be used, but the `MockTracker` instance can no longer be + * used to reset their behavior or + * otherwise interact with them. + * + * After each test completes, this function is called on the test context's `MockTracker`. If the global `MockTracker` is used extensively, calling this + * function manually is recommended. + * @since v19.1.0, v18.13.0 + */ + reset(): void; + /** + * This function restores the default behavior of all mocks that were previously + * created by this `MockTracker`. Unlike `mock.reset()`, `mock.restoreAll()` does + * not disassociate the mocks from the `MockTracker` instance. + * @since v19.1.0, v18.13.0 + */ + restoreAll(): void; + readonly timers: MockTimers; + } + const mock: MockTracker; + interface MockFunctionCall< + F extends Function, + ReturnType = F extends (...args: any) => infer T ? T + : F extends abstract new(...args: any) => infer T ? T + : unknown, + Args = F extends (...args: infer Y) => any ? Y + : F extends abstract new(...args: infer Y) => any ? Y + : unknown[], + > { + /** + * An array of the arguments passed to the mock function. + */ + arguments: Args; + /** + * If the mocked function threw then this property contains the thrown value. + */ + error: unknown | undefined; + /** + * The value returned by the mocked function. + * + * If the mocked function threw, it will be `undefined`. + */ + result: ReturnType | undefined; + /** + * An `Error` object whose stack can be used to determine the callsite of the mocked function invocation. + */ + stack: Error; + /** + * If the mocked function is a constructor, this field contains the class being constructed. + * Otherwise this will be `undefined`. + */ + target: F extends abstract new(...args: any) => any ? F : undefined; + /** + * The mocked function's `this` value. + */ + this: unknown; + } + /** + * The `MockFunctionContext` class is used to inspect or manipulate the behavior of + * mocks created via the `MockTracker` APIs. + * @since v19.1.0, v18.13.0 + */ + interface MockFunctionContext { + /** + * A getter that returns a copy of the internal array used to track calls to the + * mock. Each entry in the array is an object with the following properties. + * @since v19.1.0, v18.13.0 + */ + readonly calls: MockFunctionCall[]; + /** + * This function returns the number of times that this mock has been invoked. This + * function is more efficient than checking `ctx.calls.length` because `ctx.calls` is a getter that creates a copy of the internal call tracking array. + * @since v19.1.0, v18.13.0 + * @return The number of times that this mock has been invoked. + */ + callCount(): number; + /** + * This function is used to change the behavior of an existing mock. + * + * The following example creates a mock function using `t.mock.fn()`, calls the + * mock function, and then changes the mock implementation to a different function. + * + * ```js + * test('changes a mock behavior', (t) => { + * let cnt = 0; + * + * function addOne() { + * cnt++; + * return cnt; + * } + * + * function addTwo() { + * cnt += 2; + * return cnt; + * } + * + * const fn = t.mock.fn(addOne); + * + * assert.strictEqual(fn(), 1); + * fn.mock.mockImplementation(addTwo); + * assert.strictEqual(fn(), 3); + * assert.strictEqual(fn(), 5); + * }); + * ``` + * @since v19.1.0, v18.13.0 + * @param implementation The function to be used as the mock's new implementation. + */ + mockImplementation(implementation: F): void; + /** + * This function is used to change the behavior of an existing mock for a single + * invocation. Once invocation `onCall` has occurred, the mock will revert to + * whatever behavior it would have used had `mockImplementationOnce()` not been + * called. + * + * The following example creates a mock function using `t.mock.fn()`, calls the + * mock function, changes the mock implementation to a different function for the + * next invocation, and then resumes its previous behavior. + * + * ```js + * test('changes a mock behavior once', (t) => { + * let cnt = 0; + * + * function addOne() { + * cnt++; + * return cnt; + * } + * + * function addTwo() { + * cnt += 2; + * return cnt; + * } + * + * const fn = t.mock.fn(addOne); + * + * assert.strictEqual(fn(), 1); + * fn.mock.mockImplementationOnce(addTwo); + * assert.strictEqual(fn(), 3); + * assert.strictEqual(fn(), 4); + * }); + * ``` + * @since v19.1.0, v18.13.0 + * @param implementation The function to be used as the mock's implementation for the invocation number specified by `onCall`. + * @param onCall The invocation number that will use `implementation`. If the specified invocation has already occurred then an exception is thrown. + */ + mockImplementationOnce(implementation: F, onCall?: number): void; + /** + * Resets the call history of the mock function. + * @since v19.3.0, v18.13.0 + */ + resetCalls(): void; + /** + * Resets the implementation of the mock function to its original behavior. The + * mock can still be used after calling this function. + * @since v19.1.0, v18.13.0 + */ + restore(): void; + } + /** + * @since v22.3.0 + * @experimental + */ + interface MockModuleContext { + /** + * Resets the implementation of the mock module. + * @since v22.3.0 + */ + restore(): void; + } + /** + * @since v24.3.0 + */ + class MockPropertyContext { + /** + * A getter that returns a copy of the internal array used to track accesses (get/set) to + * the mocked property. Each entry in the array is an object with the following properties: + */ + readonly accesses: Array<{ + type: "get" | "set"; + value: PropertyType; + stack: Error; + }>; + /** + * This function returns the number of times that the property was accessed. + * This function is more efficient than checking `ctx.accesses.length` because + * `ctx.accesses` is a getter that creates a copy of the internal access tracking array. + * @returns The number of times that the property was accessed (read or written). + */ + accessCount(): number; + /** + * This function is used to change the value returned by the mocked property getter. + * @param value The new value to be set as the mocked property value. + */ + mockImplementation(value: PropertyType): void; + /** + * This function is used to change the behavior of an existing mock for a single + * invocation. Once invocation `onAccess` has occurred, the mock will revert to + * whatever behavior it would have used had `mockImplementationOnce()` not been + * called. + * + * The following example creates a mock function using `t.mock.property()`, calls the + * mock property, changes the mock implementation to a different value for the + * next invocation, and then resumes its previous behavior. + * + * ```js + * test('changes a mock behavior once', (t) => { + * const obj = { foo: 1 }; + * + * const prop = t.mock.property(obj, 'foo', 5); + * + * assert.strictEqual(obj.foo, 5); + * prop.mock.mockImplementationOnce(25); + * assert.strictEqual(obj.foo, 25); + * assert.strictEqual(obj.foo, 5); + * }); + * ``` + * @param value The value to be used as the mock's + * implementation for the invocation number specified by `onAccess`. + * @param onAccess The invocation number that will use `value`. If + * the specified invocation has already occurred then an exception is thrown. + * **Default:** The number of the next invocation. + */ + mockImplementationOnce(value: PropertyType, onAccess?: number): void; + /** + * Resets the access history of the mocked property. + */ + resetAccesses(): void; + /** + * Resets the implementation of the mock property to its original behavior. The + * mock can still be used after calling this function. + */ + restore(): void; + } + interface MockTimersOptions { + apis: ReadonlyArray<"setInterval" | "setTimeout" | "setImmediate" | "Date">; + now?: number | Date | undefined; + } + /** + * Mocking timers is a technique commonly used in software testing to simulate and + * control the behavior of timers, such as `setInterval` and `setTimeout`, + * without actually waiting for the specified time intervals. + * + * The MockTimers API also allows for mocking of the `Date` constructor and + * `setImmediate`/`clearImmediate` functions. + * + * The `MockTracker` provides a top-level `timers` export + * which is a `MockTimers` instance. + * @since v20.4.0 + */ + interface MockTimers { + /** + * Enables timer mocking for the specified timers. + * + * **Note:** When you enable mocking for a specific timer, its associated + * clear function will also be implicitly mocked. + * + * **Note:** Mocking `Date` will affect the behavior of the mocked timers + * as they use the same internal clock. + * + * Example usage without setting initial time: + * + * ```js + * import { mock } from 'node:test'; + * mock.timers.enable({ apis: ['setInterval', 'Date'], now: 1234 }); + * ``` + * + * The above example enables mocking for the `Date` constructor, `setInterval` timer and + * implicitly mocks the `clearInterval` function. Only the `Date` constructor from `globalThis`, + * `setInterval` and `clearInterval` functions from `node:timers`, `node:timers/promises`, and `globalThis` will be mocked. + * + * Example usage with initial time set + * + * ```js + * import { mock } from 'node:test'; + * mock.timers.enable({ apis: ['Date'], now: 1000 }); + * ``` + * + * Example usage with initial Date object as time set + * + * ```js + * import { mock } from 'node:test'; + * mock.timers.enable({ apis: ['Date'], now: new Date() }); + * ``` + * + * Alternatively, if you call `mock.timers.enable()` without any parameters: + * + * All timers (`'setInterval'`, `'clearInterval'`, `'Date'`, `'setImmediate'`, `'clearImmediate'`, `'setTimeout'`, and `'clearTimeout'`) + * will be mocked. + * + * The `setInterval`, `clearInterval`, `setTimeout`, and `clearTimeout` functions from `node:timers`, `node:timers/promises`, + * and `globalThis` will be mocked. + * The `Date` constructor from `globalThis` will be mocked. + * + * If there is no initial epoch set, the initial date will be based on 0 in the Unix epoch. This is `January 1st, 1970, 00:00:00 UTC`. You can + * set an initial date by passing a now property to the `.enable()` method. This value will be used as the initial date for the mocked Date + * object. It can either be a positive integer, or another Date object. + * @since v20.4.0 + */ + enable(options?: MockTimersOptions): void; + /** + * Sets the current Unix timestamp that will be used as reference for any mocked + * `Date` objects. + * + * ```js + * import assert from 'node:assert'; + * import { test } from 'node:test'; + * + * test('runAll functions following the given order', (context) => { + * const now = Date.now(); + * const setTime = 1000; + * // Date.now is not mocked + * assert.deepStrictEqual(Date.now(), now); + * + * context.mock.timers.enable({ apis: ['Date'] }); + * context.mock.timers.setTime(setTime); + * // Date.now is now 1000 + * assert.strictEqual(Date.now(), setTime); + * }); + * ``` + * @since v21.2.0, v20.11.0 + */ + setTime(milliseconds: number): void; + /** + * This function restores the default behavior of all mocks that were previously + * created by this `MockTimers` instance and disassociates the mocks + * from the `MockTracker` instance. + * + * **Note:** After each test completes, this function is called on + * the test context's `MockTracker`. + * + * ```js + * import { mock } from 'node:test'; + * mock.timers.reset(); + * ``` + * @since v20.4.0 + */ + reset(): void; + /** + * Advances time for all mocked timers. + * + * **Note:** This diverges from how `setTimeout` in Node.js behaves and accepts + * only positive numbers. In Node.js, `setTimeout` with negative numbers is + * only supported for web compatibility reasons. + * + * The following example mocks a `setTimeout` function and + * by using `.tick` advances in + * time triggering all pending timers. + * + * ```js + * import assert from 'node:assert'; + * import { test } from 'node:test'; + * + * test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => { + * const fn = context.mock.fn(); + * + * context.mock.timers.enable({ apis: ['setTimeout'] }); + * + * setTimeout(fn, 9999); + * + * assert.strictEqual(fn.mock.callCount(), 0); + * + * // Advance in time + * context.mock.timers.tick(9999); + * + * assert.strictEqual(fn.mock.callCount(), 1); + * }); + * ``` + * + * Alternativelly, the `.tick` function can be called many times + * + * ```js + * import assert from 'node:assert'; + * import { test } from 'node:test'; + * + * test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => { + * const fn = context.mock.fn(); + * context.mock.timers.enable({ apis: ['setTimeout'] }); + * const nineSecs = 9000; + * setTimeout(fn, nineSecs); + * + * const twoSeconds = 3000; + * context.mock.timers.tick(twoSeconds); + * context.mock.timers.tick(twoSeconds); + * context.mock.timers.tick(twoSeconds); + * + * assert.strictEqual(fn.mock.callCount(), 1); + * }); + * ``` + * + * Advancing time using `.tick` will also advance the time for any `Date` object + * created after the mock was enabled (if `Date` was also set to be mocked). + * + * ```js + * import assert from 'node:assert'; + * import { test } from 'node:test'; + * + * test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => { + * const fn = context.mock.fn(); + * + * context.mock.timers.enable({ apis: ['setTimeout', 'Date'] }); + * setTimeout(fn, 9999); + * + * assert.strictEqual(fn.mock.callCount(), 0); + * assert.strictEqual(Date.now(), 0); + * + * // Advance in time + * context.mock.timers.tick(9999); + * assert.strictEqual(fn.mock.callCount(), 1); + * assert.strictEqual(Date.now(), 9999); + * }); + * ``` + * @since v20.4.0 + */ + tick(milliseconds: number): void; + /** + * Triggers all pending mocked timers immediately. If the `Date` object is also + * mocked, it will also advance the `Date` object to the furthest timer's time. + * + * The example below triggers all pending timers immediately, + * causing them to execute without any delay. + * + * ```js + * import assert from 'node:assert'; + * import { test } from 'node:test'; + * + * test('runAll functions following the given order', (context) => { + * context.mock.timers.enable({ apis: ['setTimeout', 'Date'] }); + * const results = []; + * setTimeout(() => results.push(1), 9999); + * + * // Notice that if both timers have the same timeout, + * // the order of execution is guaranteed + * setTimeout(() => results.push(3), 8888); + * setTimeout(() => results.push(2), 8888); + * + * assert.deepStrictEqual(results, []); + * + * context.mock.timers.runAll(); + * assert.deepStrictEqual(results, [3, 2, 1]); + * // The Date object is also advanced to the furthest timer's time + * assert.strictEqual(Date.now(), 9999); + * }); + * ``` + * + * **Note:** The `runAll()` function is specifically designed for + * triggering timers in the context of timer mocking. + * It does not have any effect on real-time system + * clocks or actual timers outside of the mocking environment. + * @since v20.4.0 + */ + runAll(): void; + /** + * Calls {@link MockTimers.reset()}. + */ + [Symbol.dispose](): void; + } + /** + * An object whose methods are used to configure available assertions on the + * `TestContext` objects in the current process. The methods from `node:assert` + * and snapshot testing functions are available by default. + * + * It is possible to apply the same configuration to all files by placing common + * configuration code in a module + * preloaded with `--require` or `--import`. + * @since v22.14.0 + */ + namespace assert { + /** + * Defines a new assertion function with the provided name and function. If an + * assertion already exists with the same name, it is overwritten. + * @since v22.14.0 + */ + function register(name: string, fn: (this: TestContext, ...args: any[]) => void): void; + } + /** + * @since v22.3.0 + */ + namespace snapshot { + /** + * This function is used to customize the default serialization mechanism used by the test runner. + * + * By default, the test runner performs serialization by calling `JSON.stringify(value, null, 2)` on the provided value. + * `JSON.stringify()` does have limitations regarding circular structures and supported data types. + * If a more robust serialization mechanism is required, this function should be used to specify a list of custom serializers. + * + * Serializers are called in order, with the output of the previous serializer passed as input to the next. + * The final result must be a string value. + * @since v22.3.0 + * @param serializers An array of synchronous functions used as the default serializers for snapshot tests. + */ + function setDefaultSnapshotSerializers(serializers: ReadonlyArray<(value: any) => any>): void; + /** + * This function is used to set a custom resolver for the location of the snapshot file used for snapshot testing. + * By default, the snapshot filename is the same as the entry point filename with `.snapshot` appended. + * @since v22.3.0 + * @param fn A function used to compute the location of the snapshot file. + * The function receives the path of the test file as its only argument. If the + * test is not associated with a file (for example in the REPL), the input is + * undefined. `fn()` must return a string specifying the location of the snapshot file. + */ + function setResolveSnapshotPath(fn: (path: string | undefined) => string): void; + } + } + type FunctionPropertyNames = { + [K in keyof T]: T[K] extends Function ? K : never; + }[keyof T]; + export = test; +} diff --git a/node_modules/@types/node/test/reporters.d.ts b/node_modules/@types/node/test/reporters.d.ts new file mode 100644 index 0000000..55595f3 --- /dev/null +++ b/node_modules/@types/node/test/reporters.d.ts @@ -0,0 +1,59 @@ +declare module "node:test/reporters" { + import { Transform, TransformOptions } from "node:stream"; + import { EventData } from "node:test"; + type TestEvent = + | { type: "test:coverage"; data: EventData.TestCoverage } + | { type: "test:complete"; data: EventData.TestComplete } + | { type: "test:dequeue"; data: EventData.TestDequeue } + | { type: "test:diagnostic"; data: EventData.TestDiagnostic } + | { type: "test:enqueue"; data: EventData.TestEnqueue } + | { type: "test:fail"; data: EventData.TestFail } + | { type: "test:interrupted"; data: EventData.TestInterrupted } + | { type: "test:pass"; data: EventData.TestPass } + | { type: "test:plan"; data: EventData.TestPlan } + | { type: "test:start"; data: EventData.TestStart } + | { type: "test:stderr"; data: EventData.TestStderr } + | { type: "test:stdout"; data: EventData.TestStdout } + | { type: "test:summary"; data: EventData.TestSummary } + | { type: "test:watch:drained"; data: undefined } + | { type: "test:watch:restarted"; data: undefined }; + interface ReporterConstructorWrapper Transform> { + new(...args: ConstructorParameters): InstanceType; + (...args: ConstructorParameters): InstanceType; + } + /** + * The `dot` reporter outputs the test results in a compact format, + * where each passing test is represented by a `.`, + * and each failing test is represented by a `X`. + * @since v20.0.0 + */ + function dot(source: AsyncIterable): NodeJS.AsyncIterator; + /** + * The `tap` reporter outputs the test results in the [TAP](https://testanything.org/) format. + * @since v20.0.0 + */ + function tap(source: AsyncIterable): NodeJS.AsyncIterator; + class SpecReporter extends Transform { + constructor(); + } + /** + * The `spec` reporter outputs the test results in a human-readable format. + * @since v20.0.0 + */ + const spec: ReporterConstructorWrapper; + /** + * The `junit` reporter outputs test results in a jUnit XML format. + * @since v21.0.0 + */ + function junit(source: AsyncIterable): NodeJS.AsyncIterator; + class LcovReporter extends Transform { + constructor(options?: Omit); + } + /** + * The `lcov` reporter outputs test coverage when used with the + * [`--experimental-test-coverage`](https://nodejs.org/docs/latest-v25.x/api/cli.html#--experimental-test-coverage) flag. + * @since v22.0.0 + */ + const lcov: ReporterConstructorWrapper; + export { dot, junit, lcov, spec, tap, TestEvent }; +} diff --git a/node_modules/@types/node/timers.d.ts b/node_modules/@types/node/timers.d.ts new file mode 100644 index 0000000..5b74b89 --- /dev/null +++ b/node_modules/@types/node/timers.d.ts @@ -0,0 +1,149 @@ +declare module "node:timers" { + import { Abortable } from "node:events"; + import * as promises from "node:timers/promises"; + export interface TimerOptions extends Abortable { + /** + * Set to `false` to indicate that the scheduled `Timeout` + * should not require the Node.js event loop to remain active. + * @default true + */ + ref?: boolean | undefined; + } + global { + namespace NodeJS { + /** + * This object is created internally and is returned from `setImmediate()`. It + * can be passed to `clearImmediate()` in order to cancel the scheduled + * actions. + * + * By default, when an immediate is scheduled, the Node.js event loop will continue + * running as long as the immediate is active. The `Immediate` object returned by + * `setImmediate()` exports both `immediate.ref()` and `immediate.unref()` + * functions that can be used to control this default behavior. + */ + interface Immediate extends RefCounted, Disposable { + /** + * If true, the `Immediate` object will keep the Node.js event loop active. + * @since v11.0.0 + */ + hasRef(): boolean; + /** + * When called, requests that the Node.js event loop _not_ exit so long as the + * `Immediate` is active. Calling `immediate.ref()` multiple times will have no + * effect. + * + * By default, all `Immediate` objects are "ref'ed", making it normally unnecessary + * to call `immediate.ref()` unless `immediate.unref()` had been called previously. + * @since v9.7.0 + * @returns a reference to `immediate` + */ + ref(): this; + /** + * When called, the active `Immediate` object will not require the Node.js event + * loop to remain active. If there is no other activity keeping the event loop + * running, the process may exit before the `Immediate` object's callback is + * invoked. Calling `immediate.unref()` multiple times will have no effect. + * @since v9.7.0 + * @returns a reference to `immediate` + */ + unref(): this; + /** + * Cancels the immediate. This is similar to calling `clearImmediate()`. + * @since v20.5.0, v18.18.0 + */ + [Symbol.dispose](): void; + _onImmediate(...args: any[]): void; + } + // Legacy interface used in Node.js v9 and prior + // TODO: remove in a future major version bump + /** @deprecated Use `NodeJS.Timeout` instead. */ + interface Timer extends RefCounted { + hasRef(): boolean; + refresh(): this; + [Symbol.toPrimitive](): number; + } + /** + * This object is created internally and is returned from `setTimeout()` and + * `setInterval()`. It can be passed to either `clearTimeout()` or + * `clearInterval()` in order to cancel the scheduled actions. + * + * By default, when a timer is scheduled using either `setTimeout()` or + * `setInterval()`, the Node.js event loop will continue running as long as the + * timer is active. Each of the `Timeout` objects returned by these functions + * export both `timeout.ref()` and `timeout.unref()` functions that can be used to + * control this default behavior. + */ + interface Timeout extends RefCounted, Disposable, Timer { + /** + * Cancels the timeout. + * @since v0.9.1 + * @legacy Use `clearTimeout()` instead. + * @returns a reference to `timeout` + */ + close(): this; + /** + * If true, the `Timeout` object will keep the Node.js event loop active. + * @since v11.0.0 + */ + hasRef(): boolean; + /** + * When called, requests that the Node.js event loop _not_ exit so long as the + * `Timeout` is active. Calling `timeout.ref()` multiple times will have no effect. + * + * By default, all `Timeout` objects are "ref'ed", making it normally unnecessary + * to call `timeout.ref()` unless `timeout.unref()` had been called previously. + * @since v0.9.1 + * @returns a reference to `timeout` + */ + ref(): this; + /** + * Sets the timer's start time to the current time, and reschedules the timer to + * call its callback at the previously specified duration adjusted to the current + * time. This is useful for refreshing a timer without allocating a new + * JavaScript object. + * + * Using this on a timer that has already called its callback will reactivate the + * timer. + * @since v10.2.0 + * @returns a reference to `timeout` + */ + refresh(): this; + /** + * When called, the active `Timeout` object will not require the Node.js event loop + * to remain active. If there is no other activity keeping the event loop running, + * the process may exit before the `Timeout` object's callback is invoked. Calling + * `timeout.unref()` multiple times will have no effect. + * @since v0.9.1 + * @returns a reference to `timeout` + */ + unref(): this; + /** + * Coerce a `Timeout` to a primitive. The primitive can be used to + * clear the `Timeout`. The primitive can only be used in the + * same thread where the timeout was created. Therefore, to use it + * across `worker_threads` it must first be passed to the correct + * thread. This allows enhanced compatibility with browser + * `setTimeout()` and `setInterval()` implementations. + * @since v14.9.0, v12.19.0 + */ + [Symbol.toPrimitive](): number; + /** + * Cancels the timeout. + * @since v20.5.0, v18.18.0 + */ + [Symbol.dispose](): void; + _onTimeout(...args: any[]): void; + } + } + } + import clearImmediate = globalThis.clearImmediate; + import clearInterval = globalThis.clearInterval; + import clearTimeout = globalThis.clearTimeout; + import setImmediate = globalThis.setImmediate; + import setInterval = globalThis.setInterval; + import setTimeout = globalThis.setTimeout; + export { clearImmediate, clearInterval, clearTimeout, promises, setImmediate, setInterval, setTimeout }; +} +declare module "timers" { + export * from "node:timers"; +} diff --git a/node_modules/@types/node/timers/promises.d.ts b/node_modules/@types/node/timers/promises.d.ts new file mode 100644 index 0000000..8e178ea --- /dev/null +++ b/node_modules/@types/node/timers/promises.d.ts @@ -0,0 +1,93 @@ +declare module "node:timers/promises" { + import { TimerOptions } from "node:timers"; + /** + * ```js + * import { + * setTimeout, + * } from 'node:timers/promises'; + * + * const res = await setTimeout(100, 'result'); + * + * console.log(res); // Prints 'result' + * ``` + * @since v15.0.0 + * @param delay The number of milliseconds to wait before fulfilling the + * promise. **Default:** `1`. + * @param value A value with which the promise is fulfilled. + */ + function setTimeout(delay?: number, value?: T, options?: TimerOptions): Promise; + /** + * ```js + * import { + * setImmediate, + * } from 'node:timers/promises'; + * + * const res = await setImmediate('result'); + * + * console.log(res); // Prints 'result' + * ``` + * @since v15.0.0 + * @param value A value with which the promise is fulfilled. + */ + function setImmediate(value?: T, options?: TimerOptions): Promise; + /** + * Returns an async iterator that generates values in an interval of `delay` ms. + * If `ref` is `true`, you need to call `next()` of async iterator explicitly + * or implicitly to keep the event loop alive. + * + * ```js + * import { + * setInterval, + * } from 'node:timers/promises'; + * + * const interval = 100; + * for await (const startTime of setInterval(interval, Date.now())) { + * const now = Date.now(); + * console.log(now); + * if ((now - startTime) > 1000) + * break; + * } + * console.log(Date.now()); + * ``` + * @since v15.9.0 + * @param delay The number of milliseconds to wait between iterations. + * **Default:** `1`. + * @param value A value with which the iterator returns. + */ + function setInterval(delay?: number, value?: T, options?: TimerOptions): NodeJS.AsyncIterator; + interface Scheduler { + /** + * An experimental API defined by the [Scheduling APIs](https://github.com/WICG/scheduling-apis) draft specification + * being developed as a standard Web Platform API. + * + * Calling `timersPromises.scheduler.wait(delay, options)` is roughly equivalent + * to calling `timersPromises.setTimeout(delay, undefined, options)` except that + * the `ref` option is not supported. + * + * ```js + * import { scheduler } from 'node:timers/promises'; + * + * await scheduler.wait(1000); // Wait one second before continuing + * ``` + * @since v17.3.0, v16.14.0 + * @experimental + * @param delay The number of milliseconds to wait before resolving the + * promise. + */ + wait(delay: number, options?: { signal?: AbortSignal }): Promise; + /** + * An experimental API defined by the [Scheduling APIs](https://github.com/WICG/scheduling-apis) draft specification + * being developed as a standard Web Platform API. + * + * Calling `timersPromises.scheduler.yield()` is equivalent to calling + * `timersPromises.setImmediate()` with no arguments. + * @since v17.3.0, v16.14.0 + * @experimental + */ + yield(): Promise; + } + const scheduler: Scheduler; +} +declare module "timers/promises" { + export * from "node:timers/promises"; +} diff --git a/node_modules/@types/node/tls.d.ts b/node_modules/@types/node/tls.d.ts new file mode 100644 index 0000000..3efd2ae --- /dev/null +++ b/node_modules/@types/node/tls.d.ts @@ -0,0 +1,1193 @@ +declare module "node:tls" { + import { NonSharedBuffer } from "node:buffer"; + import { X509Certificate } from "node:crypto"; + import * as net from "node:net"; + import * as stream from "stream"; + const CLIENT_RENEG_LIMIT: number; + const CLIENT_RENEG_WINDOW: number; + interface Certificate extends NodeJS.Dict { + /** + * Country code. + */ + C?: string | string[]; + /** + * Street. + */ + ST?: string | string[]; + /** + * Locality. + */ + L?: string | string[]; + /** + * Organization. + */ + O?: string | string[]; + /** + * Organizational unit. + */ + OU?: string | string[]; + /** + * Common name. + */ + CN?: string | string[]; + } + interface PeerCertificate { + /** + * `true` if a Certificate Authority (CA), `false` otherwise. + * @since v18.13.0 + */ + ca: boolean; + /** + * The DER encoded X.509 certificate data. + */ + raw: NonSharedBuffer; + /** + * The certificate subject. + */ + subject: Certificate; + /** + * The certificate issuer, described in the same terms as the `subject`. + */ + issuer: Certificate; + /** + * The date-time the certificate is valid from. + */ + valid_from: string; + /** + * The date-time the certificate is valid to. + */ + valid_to: string; + /** + * The certificate serial number, as a hex string. + */ + serialNumber: string; + /** + * The SHA-1 digest of the DER encoded certificate. + * It is returned as a `:` separated hexadecimal string. + */ + fingerprint: string; + /** + * The SHA-256 digest of the DER encoded certificate. + * It is returned as a `:` separated hexadecimal string. + */ + fingerprint256: string; + /** + * The SHA-512 digest of the DER encoded certificate. + * It is returned as a `:` separated hexadecimal string. + */ + fingerprint512: string; + /** + * The extended key usage, a set of OIDs. + */ + ext_key_usage?: string[]; + /** + * A string containing concatenated names for the subject, + * an alternative to the `subject` names. + */ + subjectaltname?: string; + /** + * An array describing the AuthorityInfoAccess, used with OCSP. + */ + infoAccess?: NodeJS.Dict; + /** + * For RSA keys: The RSA bit size. + * + * For EC keys: The key size in bits. + */ + bits?: number; + /** + * The RSA exponent, as a string in hexadecimal number notation. + */ + exponent?: string; + /** + * The RSA modulus, as a hexadecimal string. + */ + modulus?: string; + /** + * The public key. + */ + pubkey?: NonSharedBuffer; + /** + * The ASN.1 name of the OID of the elliptic curve. + * Well-known curves are identified by an OID. + * While it is unusual, it is possible that the curve + * is identified by its mathematical properties, + * in which case it will not have an OID. + */ + asn1Curve?: string; + /** + * The NIST name for the elliptic curve, if it has one + * (not all well-known curves have been assigned names by NIST). + */ + nistCurve?: string; + } + interface DetailedPeerCertificate extends PeerCertificate { + /** + * The issuer certificate object. + * For self-signed certificates, this may be a circular reference. + */ + issuerCertificate: DetailedPeerCertificate; + } + interface CipherNameAndProtocol { + /** + * The cipher name. + */ + name: string; + /** + * SSL/TLS protocol version. + */ + version: string; + /** + * IETF name for the cipher suite. + */ + standardName: string; + } + interface EphemeralKeyInfo { + /** + * The supported types are 'DH' and 'ECDH'. + */ + type: string; + /** + * The name property is available only when type is 'ECDH'. + */ + name?: string | undefined; + /** + * The size of parameter of an ephemeral key exchange. + */ + size: number; + } + interface KeyObject { + /** + * Private keys in PEM format. + */ + pem: string | Buffer; + /** + * Optional passphrase. + */ + passphrase?: string | undefined; + } + interface PxfObject { + /** + * PFX or PKCS12 encoded private key and certificate chain. + */ + buf: string | Buffer; + /** + * Optional passphrase. + */ + passphrase?: string | undefined; + } + interface TLSSocketOptions extends SecureContextOptions, CommonConnectionOptions { + /** + * If true the TLS socket will be instantiated in server-mode. + * Defaults to false. + */ + isServer?: boolean | undefined; + /** + * An optional net.Server instance. + */ + server?: net.Server | undefined; + /** + * An optional Buffer instance containing a TLS session. + */ + session?: Buffer | undefined; + } + interface TLSSocketEventMap extends net.SocketEventMap { + "keylog": [line: NonSharedBuffer]; + "OCSPResponse": [response: NonSharedBuffer]; + "secure": []; + "secureConnect": []; + "session": [session: NonSharedBuffer]; + } + /** + * Performs transparent encryption of written data and all required TLS + * negotiation. + * + * Instances of `tls.TLSSocket` implement the duplex `Stream` interface. + * + * Methods that return TLS connection metadata (e.g.{@link TLSSocket.getPeerCertificate}) will only return data while the + * connection is open. + * @since v0.11.4 + */ + class TLSSocket extends net.Socket { + /** + * Construct a new tls.TLSSocket object from an existing TCP socket. + */ + constructor(socket: net.Socket | stream.Duplex, options?: TLSSocketOptions); + /** + * This property is `true` if the peer certificate was signed by one of the CAs + * specified when creating the `tls.TLSSocket` instance, otherwise `false`. + * @since v0.11.4 + */ + authorized: boolean; + /** + * Returns the reason why the peer's certificate was not been verified. This + * property is set only when `tlsSocket.authorized === false`. + * @since v0.11.4 + */ + authorizationError: Error; + /** + * Always returns `true`. This may be used to distinguish TLS sockets from regular`net.Socket` instances. + * @since v0.11.4 + */ + encrypted: true; + /** + * String containing the selected ALPN protocol. + * Before a handshake has completed, this value is always null. + * When a handshake is completed but not ALPN protocol was selected, tlsSocket.alpnProtocol equals false. + */ + alpnProtocol: string | false | null; + /** + * String containing the server name requested via SNI (Server Name Indication) TLS extension. + */ + servername: string | false | null; + /** + * Returns an object representing the local certificate. The returned object has + * some properties corresponding to the fields of the certificate. + * + * See {@link TLSSocket.getPeerCertificate} for an example of the certificate + * structure. + * + * If there is no local certificate, an empty object will be returned. If the + * socket has been destroyed, `null` will be returned. + * @since v11.2.0 + */ + getCertificate(): PeerCertificate | object | null; + /** + * Returns an object containing information on the negotiated cipher suite. + * + * For example, a TLSv1.2 protocol with AES256-SHA cipher: + * + * ```json + * { + * "name": "AES256-SHA", + * "standardName": "TLS_RSA_WITH_AES_256_CBC_SHA", + * "version": "SSLv3" + * } + * ``` + * + * See [SSL\_CIPHER\_get\_name](https://www.openssl.org/docs/man1.1.1/man3/SSL_CIPHER_get_name.html) for more information. + * @since v0.11.4 + */ + getCipher(): CipherNameAndProtocol; + /** + * Returns an object representing the type, name, and size of parameter of + * an ephemeral key exchange in `perfect forward secrecy` on a client + * connection. It returns an empty object when the key exchange is not + * ephemeral. As this is only supported on a client socket; `null` is returned + * if called on a server socket. The supported types are `'DH'` and `'ECDH'`. The `name` property is available only when type is `'ECDH'`. + * + * For example: `{ type: 'ECDH', name: 'prime256v1', size: 256 }`. + * @since v5.0.0 + */ + getEphemeralKeyInfo(): EphemeralKeyInfo | object | null; + /** + * As the `Finished` messages are message digests of the complete handshake + * (with a total of 192 bits for TLS 1.0 and more for SSL 3.0), they can + * be used for external authentication procedures when the authentication + * provided by SSL/TLS is not desired or is not enough. + * + * Corresponds to the `SSL_get_finished` routine in OpenSSL and may be used + * to implement the `tls-unique` channel binding from [RFC 5929](https://tools.ietf.org/html/rfc5929). + * @since v9.9.0 + * @return The latest `Finished` message that has been sent to the socket as part of a SSL/TLS handshake, or `undefined` if no `Finished` message has been sent yet. + */ + getFinished(): NonSharedBuffer | undefined; + /** + * Returns an object representing the peer's certificate. If the peer does not + * provide a certificate, an empty object will be returned. If the socket has been + * destroyed, `null` will be returned. + * + * If the full certificate chain was requested, each certificate will include an`issuerCertificate` property containing an object representing its issuer's + * certificate. + * @since v0.11.4 + * @param detailed Include the full certificate chain if `true`, otherwise include just the peer's certificate. + * @return A certificate object. + */ + getPeerCertificate(detailed: true): DetailedPeerCertificate; + getPeerCertificate(detailed?: false): PeerCertificate; + getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate; + /** + * As the `Finished` messages are message digests of the complete handshake + * (with a total of 192 bits for TLS 1.0 and more for SSL 3.0), they can + * be used for external authentication procedures when the authentication + * provided by SSL/TLS is not desired or is not enough. + * + * Corresponds to the `SSL_get_peer_finished` routine in OpenSSL and may be used + * to implement the `tls-unique` channel binding from [RFC 5929](https://tools.ietf.org/html/rfc5929). + * @since v9.9.0 + * @return The latest `Finished` message that is expected or has actually been received from the socket as part of a SSL/TLS handshake, or `undefined` if there is no `Finished` message so + * far. + */ + getPeerFinished(): NonSharedBuffer | undefined; + /** + * 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. + * + * Protocol versions are: + * + * * `'SSLv3'` + * * `'TLSv1'` + * * `'TLSv1.1'` + * * `'TLSv1.2'` + * * `'TLSv1.3'` + * + * See the OpenSSL [`SSL_get_version`](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html) documentation for more information. + * @since v5.7.0 + */ + getProtocol(): string | null; + /** + * Returns the TLS session data or `undefined` if no session was + * negotiated. On the client, the data can be provided to the `session` option of {@link connect} to resume the connection. On the server, it may be useful + * for debugging. + * + * See `Session Resumption` for more information. + * + * Note: `getSession()` works only for TLSv1.2 and below. For TLSv1.3, applications + * must use the `'session'` event (it also works for TLSv1.2 and below). + * @since v0.11.4 + */ + getSession(): NonSharedBuffer | undefined; + /** + * See [SSL\_get\_shared\_sigalgs](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_shared_sigalgs.html) for more information. + * @since v12.11.0 + * @return List of signature algorithms shared between the server and the client in the order of decreasing preference. + */ + getSharedSigalgs(): string[]; + /** + * For a client, returns the TLS session ticket if one is available, or`undefined`. For a server, always returns `undefined`. + * + * It may be useful for debugging. + * + * See `Session Resumption` for more information. + * @since v0.11.4 + */ + getTLSTicket(): NonSharedBuffer | undefined; + /** + * See `Session Resumption` for more information. + * @since v0.5.6 + * @return `true` if the session was reused, `false` otherwise. + */ + isSessionReused(): boolean; + /** + * The `tlsSocket.renegotiate()` method initiates a TLS renegotiation process. + * Upon completion, the `callback` function will be passed a single argument + * that is either an `Error` (if the request failed) or `null`. + * + * This method can be used to request a peer's certificate after the secure + * connection has been established. + * + * When running as the server, the socket will be destroyed with an error after `handshakeTimeout` timeout. + * + * For TLSv1.3, renegotiation cannot be initiated, it is not supported by the + * protocol. + * @since v0.11.8 + * @param callback If `renegotiate()` returned `true`, callback is attached once to the `'secure'` event. If `renegotiate()` returned `false`, `callback` will be called in the next tick with + * an error, unless the `tlsSocket` has been destroyed, in which case `callback` will not be called at all. + * @return `true` if renegotiation was initiated, `false` otherwise. + */ + renegotiate( + options: { + rejectUnauthorized?: boolean | undefined; + requestCert?: boolean | undefined; + }, + callback: (err: Error | null) => void, + ): undefined | boolean; + /** + * The `tlsSocket.setKeyCert()` method sets the private key and certificate to use for the socket. + * This is mainly useful if you wish to select a server certificate from a TLS server's `ALPNCallback`. + * @since v22.5.0, v20.17.0 + * @param context An object containing at least `key` and `cert` properties from the {@link createSecureContext()} `options`, + * or a TLS context object created with {@link createSecureContext()} itself. + */ + setKeyCert(context: SecureContextOptions | SecureContext): void; + /** + * The `tlsSocket.setMaxSendFragment()` method sets the maximum TLS fragment size. + * Returns `true` if setting the limit succeeded; `false` otherwise. + * + * Smaller fragment sizes decrease the buffering latency on the client: larger + * 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. + * @since v0.11.11 + * @param [size=16384] The maximum TLS fragment size. The maximum value is `16384`. + */ + setMaxSendFragment(size: number): boolean; + /** + * Disables TLS renegotiation for this `TLSSocket` instance. Once called, attempts + * to renegotiate will trigger an `'error'` event on the `TLSSocket`. + * @since v8.4.0 + */ + disableRenegotiation(): void; + /** + * When enabled, TLS packet trace information is written to `stderr`. This can be + * used to debug TLS connection problems. + * + * 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. + * @since v12.2.0 + */ + enableTrace(): void; + /** + * Returns the peer certificate as an `X509Certificate` object. + * + * If there is no peer certificate, or the socket has been destroyed,`undefined` will be returned. + * @since v15.9.0 + */ + getPeerX509Certificate(): X509Certificate | undefined; + /** + * Returns the local certificate as an `X509Certificate` object. + * + * If there is no local certificate, or the socket has been destroyed,`undefined` will be returned. + * @since v15.9.0 + */ + getX509Certificate(): X509Certificate | undefined; + /** + * Keying material is used for validations to prevent different kind of attacks in + * network protocols, for example in the specifications of IEEE 802.1X. + * + * Example + * + * ```js + * const keyingMaterial = tlsSocket.exportKeyingMaterial( + * 128, + * 'client finished'); + * + * /* + * Example return value of keyingMaterial: + * + * + * ``` + * + * See the OpenSSL [`SSL_export_keying_material`](https://www.openssl.org/docs/man1.1.1/man3/SSL_export_keying_material.html) documentation for more + * information. + * @since v13.10.0, v12.17.0 + * @param length number of bytes to retrieve from keying material + * @param label an application specific label, typically this will be a value from the [IANA Exporter Label + * Registry](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels). + * @param context Optionally provide a context. + * @return requested bytes of the keying material + */ + exportKeyingMaterial(length: number, label: string, context: Buffer): NonSharedBuffer; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: TLSSocketEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: TLSSocketEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: TLSSocketEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: TLSSocketEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off(eventName: E, listener: (...args: TLSSocketEventMap[E]) => void): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on(eventName: E, listener: (...args: TLSSocketEventMap[E]) => void): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once(eventName: E, listener: (...args: TLSSocketEventMap[E]) => void): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: TLSSocketEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: TLSSocketEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: TLSSocketEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: TLSSocketEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + interface CommonConnectionOptions { + /** + * An optional TLS context object from tls.createSecureContext() + */ + secureContext?: SecureContext | undefined; + /** + * When enabled, TLS packet trace information is written to `stderr`. This can be + * used to debug TLS connection problems. + * @default false + */ + enableTrace?: boolean | undefined; + /** + * If true the server will request a certificate from clients that + * connect and attempt to verify that certificate. Defaults to + * false. + */ + requestCert?: boolean | undefined; + /** + * An array of strings, or a single `Buffer`, `TypedArray`, or `DataView` containing the supported + * ALPN protocols. Buffers should have the format `[len][name][len][name]...` + * e.g. `'\x08http/1.1\x08http/1.0'`, where the `len` byte is the length of the + * next protocol name. Passing an array is usually much simpler, e.g. + * `['http/1.1', 'http/1.0']`. Protocols earlier in the list have higher + * preference than those later. + */ + ALPNProtocols?: readonly string[] | NodeJS.ArrayBufferView | undefined; + /** + * 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) | undefined; + /** + * 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 | undefined; + /** + * 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 | undefined; + } + interface TlsOptions extends SecureContextOptions, CommonConnectionOptions, net.ServerOpts { + /** + * Abort the connection if the SSL/TLS handshake does not finish in the + * specified number of milliseconds. A 'tlsClientError' is emitted on + * the tls.Server object whenever a handshake times out. Default: + * 120000 (120 seconds). + */ + handshakeTimeout?: number | undefined; + /** + * The number of seconds after which a TLS session created by the + * server will no longer be resumable. See Session Resumption for more + * information. Default: 300. + */ + sessionTimeout?: number | undefined; + /** + * 48-bytes of cryptographically strong pseudo-random data. + */ + ticketKeys?: Buffer | undefined; + /** + * @param socket + * @param identity identity parameter sent from the client. + * @return pre-shared key that must either be + * a buffer or `null` to stop the negotiation process. Returned PSK must be + * compatible with the selected cipher's digest. + * + * When negotiating TLS-PSK (pre-shared keys), this function is called + * with the identity provided by the client. + * If the return value is `null` the negotiation process will stop and an + * "unknown_psk_identity" alert message will be sent to the other party. + * If the server wishes to hide the fact that the PSK identity was not known, + * the callback must provide some random data as `psk` to make the connection + * fail with "decrypt_error" before negotiation is finished. + * PSK ciphers are disabled by default, and using TLS-PSK thus + * requires explicitly specifying a cipher suite with the `ciphers` option. + * More information can be found in the RFC 4279. + */ + pskCallback?: ((socket: TLSSocket, identity: string) => NodeJS.ArrayBufferView | null) | undefined; + /** + * hint to send to a client to help + * with selecting the identity during TLS-PSK negotiation. Will be ignored + * in TLS 1.3. Upon failing to set pskIdentityHint `tlsClientError` will be + * emitted with `ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED` code. + */ + pskIdentityHint?: string | undefined; + } + interface PSKCallbackNegotation { + psk: NodeJS.ArrayBufferView; + identity: string; + } + interface ConnectionOptions extends SecureContextOptions, CommonConnectionOptions { + host?: string | undefined; + port?: number | undefined; + path?: string | undefined; // Creates unix socket connection to path. If this option is specified, `host` and `port` are ignored. + socket?: stream.Duplex | undefined; // Establish secure connection on a given socket rather than creating a new socket + checkServerIdentity?: typeof checkServerIdentity | undefined; + servername?: string | undefined; // SNI TLS Extension + session?: Buffer | undefined; + minDHSize?: number | undefined; + lookup?: net.LookupFunction | undefined; + timeout?: number | undefined; + /** + * When negotiating TLS-PSK (pre-shared keys), this function is called + * with optional identity `hint` provided by the server or `null` + * in case of TLS 1.3 where `hint` was removed. + * It will be necessary to provide a custom `tls.checkServerIdentity()` + * for the connection as the default one will try to check hostname/IP + * of the server against the certificate but that's not applicable for PSK + * because there won't be a certificate present. + * More information can be found in the RFC 4279. + * + * @param hint message sent from the server to help client + * decide which identity to use during negotiation. + * Always `null` if TLS 1.3 is used. + * @returns Return `null` to stop the negotiation process. `psk` must be + * compatible with the selected cipher's digest. + * `identity` must use UTF-8 encoding. + */ + pskCallback?: ((hint: string | null) => PSKCallbackNegotation | null) | undefined; + } + interface ServerEventMap extends net.ServerEventMap { + "connection": [socket: net.Socket]; + "keylog": [line: NonSharedBuffer, tlsSocket: TLSSocket]; + "newSession": [sessionId: NonSharedBuffer, sessionData: NonSharedBuffer, callback: () => void]; + "OCSPRequest": [ + certificate: NonSharedBuffer, + issuer: NonSharedBuffer, + callback: (err: Error | null, resp: Buffer | null) => void, + ]; + "resumeSession": [sessionId: Buffer, callback: (err: Error | null, sessionData?: Buffer) => void]; + "secureConnection": [tlsSocket: TLSSocket]; + "tlsClientError": [exception: Error, tlsSocket: TLSSocket]; + } + /** + * Accepts encrypted connections using TLS or SSL. + * @since v0.3.2 + */ + class Server extends net.Server { + constructor(secureConnectionListener?: (socket: TLSSocket) => void); + constructor(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void); + /** + * The `server.addContext()` method adds a secure context that will be used if + * the client request's SNI name matches the supplied `hostname` (or wildcard). + * + * When there are multiple matching contexts, the most recently added one is + * used. + * @since v0.5.3 + * @param hostname A SNI host name or wildcard (e.g. `'*'`) + * @param context An object containing any of the possible properties from the {@link createSecureContext} `options` arguments (e.g. `key`, `cert`, `ca`, etc), or a TLS context object created + * with {@link createSecureContext} itself. + */ + addContext(hostname: string, context: SecureContextOptions | SecureContext): void; + /** + * Returns the session ticket keys. + * + * See `Session Resumption` for more information. + * @since v3.0.0 + * @return A 48-byte buffer containing the session ticket keys. + */ + getTicketKeys(): NonSharedBuffer; + /** + * The `server.setSecureContext()` method replaces the secure context of an + * existing server. Existing connections to the server are not interrupted. + * @since v11.0.0 + * @param options An object containing any of the possible properties from the {@link createSecureContext} `options` arguments (e.g. `key`, `cert`, `ca`, etc). + */ + setSecureContext(options: SecureContextOptions): void; + /** + * Sets the session ticket keys. + * + * Changes to the ticket keys are effective only for future server connections. + * Existing or currently pending server connections will use the previous keys. + * + * See `Session Resumption` for more information. + * @since v3.0.0 + * @param keys A 48-byte buffer containing the session ticket keys. + */ + setTicketKeys(keys: Buffer): void; + // #region InternalEventEmitter + addListener(eventName: E, listener: (...args: ServerEventMap[E]) => void): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: ServerEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: ServerEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: ServerEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off(eventName: E, listener: (...args: ServerEventMap[E]) => void): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on(eventName: E, listener: (...args: ServerEventMap[E]) => void): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once(eventName: E, listener: (...args: ServerEventMap[E]) => void): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: ServerEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: ServerEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } + type SecureVersion = "TLSv1.3" | "TLSv1.2" | "TLSv1.1" | "TLSv1"; + interface SecureContextOptions { + /** + * If set, this will be called when a client opens a connection using the ALPN extension. + * One argument will be passed to the callback: an object containing `servername` and `protocols` fields, + * respectively containing the server name from the SNI extension (if any) and an array of + * ALPN protocol name strings. The callback must return either one of the strings listed in `protocols`, + * which will be returned to the client as the selected ALPN protocol, or `undefined`, + * to reject the connection with a fatal alert. If a string is returned that does not match one of + * the client's ALPN protocols, an error will be thrown. + * This option cannot be used with the `ALPNProtocols` option, and setting both options will throw an error. + */ + ALPNCallback?: ((arg: { servername: string; protocols: string[] }) => string | undefined) | undefined; + /** + * Treat intermediate (non-self-signed) + * certificates in the trust CA certificate list as trusted. + * @since v22.9.0, v20.18.0 + */ + allowPartialTrustChain?: boolean | undefined; + /** + * Optionally override the trusted CA certificates. Default is to trust + * the well-known CAs curated by Mozilla. Mozilla's CAs are completely + * replaced when CAs are explicitly specified using this option. + */ + ca?: string | Buffer | Array | undefined; + /** + * Cert chains in PEM format. One cert chain should be provided per + * private key. Each cert chain should consist of the PEM formatted + * certificate for a provided private key, followed by the PEM + * formatted intermediate certificates (if any), in order, and not + * including the root CA (the root CA must be pre-known to the peer, + * see ca). When providing multiple cert chains, they do not have to + * be in the same order as their private keys in key. If the + * intermediate certificates are not provided, the peer will not be + * able to validate the certificate, and the handshake will fail. + */ + cert?: string | Buffer | Array | undefined; + /** + * Colon-separated list of supported signature algorithms. The list + * can contain digest algorithms (SHA256, MD5 etc.), public key + * algorithms (RSA-PSS, ECDSA etc.), combination of both (e.g + * 'RSA+SHA384') or TLS v1.3 scheme names (e.g. rsa_pss_pss_sha512). + */ + sigalgs?: string | undefined; + /** + * Cipher suite specification, replacing the default. For more + * information, see modifying the default cipher suite. Permitted + * ciphers can be obtained via tls.getCiphers(). Cipher names must be + * uppercased in order for OpenSSL to accept them. + */ + ciphers?: string | undefined; + /** + * Name of an OpenSSL engine which can provide the client certificate. + * @deprecated + */ + clientCertEngine?: string | undefined; + /** + * PEM formatted CRLs (Certificate Revocation Lists). + */ + crl?: string | Buffer | Array | undefined; + /** + * `'auto'` or custom Diffie-Hellman parameters, required for non-ECDHE perfect forward secrecy. + * If omitted or invalid, the parameters are silently discarded and DHE ciphers will not be available. + * ECDHE-based perfect forward secrecy will still be available. + */ + dhparam?: string | Buffer | undefined; + /** + * A string describing a named curve or a colon separated list of curve + * NIDs or names, for example P-521:P-384:P-256, to use for ECDH key + * agreement. Set to auto to select the curve automatically. Use + * crypto.getCurves() to obtain a list of available curve names. On + * recent releases, openssl ecparam -list_curves will also display the + * name and description of each available elliptic curve. Default: + * tls.DEFAULT_ECDH_CURVE. + */ + ecdhCurve?: string | undefined; + /** + * Attempt to use the server's cipher suite preferences instead of the + * client's. When true, causes SSL_OP_CIPHER_SERVER_PREFERENCE to be + * set in secureOptions + */ + honorCipherOrder?: boolean | undefined; + /** + * Private keys in PEM format. PEM allows the option of private keys + * being encrypted. Encrypted keys will be decrypted with + * options.passphrase. Multiple keys using different algorithms can be + * provided either as an array of unencrypted key strings or buffers, + * or an array of objects in the form {pem: [, + * passphrase: ]}. The object form can only occur in an array. + * object.passphrase is optional. Encrypted keys will be decrypted with + * object.passphrase if provided, or options.passphrase if it is not. + */ + key?: string | Buffer | Array | undefined; + /** + * Name of an OpenSSL engine to get private key from. Should be used + * together with privateKeyIdentifier. + * @deprecated + */ + privateKeyEngine?: string | undefined; + /** + * Identifier of a private key managed by an OpenSSL engine. Should be + * used together with privateKeyEngine. Should not be set together with + * key, because both options define a private key in different ways. + * @deprecated + */ + privateKeyIdentifier?: string | undefined; + /** + * 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 | undefined; + /** + * 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 | undefined; + /** + * Shared passphrase used for a single private key and/or a PFX. + */ + passphrase?: string | undefined; + /** + * PFX or PKCS12 encoded private key and certificate chain. pfx is an + * alternative to providing key and cert individually. PFX is usually + * encrypted, if it is, passphrase will be used to decrypt it. Multiple + * PFX can be provided either as an array of unencrypted PFX buffers, + * or an array of objects in the form {buf: [, + * passphrase: ]}. The object form can only occur in an array. + * object.passphrase is optional. Encrypted PFX will be decrypted with + * object.passphrase if provided, or options.passphrase if it is not. + */ + pfx?: string | Buffer | Array | undefined; + /** + * Optionally affect the OpenSSL protocol behavior, which is not + * usually necessary. This should be used carefully if at all! Value is + * a numeric bitmask of the SSL_OP_* options from OpenSSL Options + */ + secureOptions?: number | undefined; // Value is a numeric bitmask of the `SSL_OP_*` options + /** + * Legacy mechanism to select the TLS protocol version to use, it does + * not support independent control of the minimum and maximum version, + * and does not support limiting the protocol to TLSv1.3. Use + * minVersion and maxVersion instead. The possible values are listed as + * SSL_METHODS, use the function names as strings. For example, use + * 'TLSv1_1_method' to force TLS version 1.1, or 'TLS_method' to allow + * any TLS protocol version up to TLSv1.3. It is not recommended to use + * TLS versions less than 1.2, but it may be required for + * interoperability. Default: none, see minVersion. + */ + secureProtocol?: string | undefined; + /** + * Opaque identifier used by servers to ensure session state is not + * shared between applications. Unused by clients. + */ + sessionIdContext?: string | undefined; + /** + * 48-bytes of cryptographically strong pseudo-random data. + * See Session Resumption for more information. + */ + ticketKeys?: Buffer | undefined; + /** + * The number of seconds after which a TLS session created by the + * server will no longer be resumable. See Session Resumption for more + * information. Default: 300. + */ + sessionTimeout?: number | undefined; + } + interface SecureContext { + context: any; + } + /** + * Verifies the certificate `cert` is issued to `hostname`. + * + * Returns [Error](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) object, populating it with `reason`, `host`, and `cert` on + * failure. On success, returns [undefined](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Undefined_type). + * + * This function is intended to be used in combination with the`checkServerIdentity` option that can be passed to {@link connect} and as + * such operates on a `certificate object`. For other purposes, consider using `x509.checkHost()` instead. + * + * This function can be overwritten by providing an alternative function as the `options.checkServerIdentity` option that is passed to `tls.connect()`. The + * overwriting function can call `tls.checkServerIdentity()` of course, to augment + * the checks done with additional verification. + * + * This function is only called if the certificate passed all other checks, such as + * being issued by trusted CA (`options.ca`). + * + * Earlier versions of Node.js incorrectly accepted certificates for a given`hostname` if a matching `uniformResourceIdentifier` subject alternative name + * was present (see [CVE-2021-44531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44531)). Applications that wish to accept`uniformResourceIdentifier` subject alternative names can use + * a custom `options.checkServerIdentity` function that implements the desired behavior. + * @since v0.8.4 + * @param hostname The host name or IP address to verify the certificate against. + * @param cert A `certificate object` representing the peer's certificate. + */ + function checkServerIdentity(hostname: string, cert: PeerCertificate): Error | undefined; + /** + * Creates a new {@link Server}. The `secureConnectionListener`, if provided, is + * automatically set as a listener for the `'secureConnection'` event. + * + * The `ticketKeys` options is automatically shared between `node:cluster` module + * workers. + * + * The following illustrates a simple echo server: + * + * ```js + * import tls from 'node:tls'; + * import fs from 'node:fs'; + * + * const options = { + * key: fs.readFileSync('server-key.pem'), + * cert: fs.readFileSync('server-cert.pem'), + * + * // This is necessary only if using client certificate authentication. + * requestCert: true, + * + * // This is necessary only if the client uses a self-signed certificate. + * ca: [ fs.readFileSync('client-cert.pem') ], + * }; + * + * const server = tls.createServer(options, (socket) => { + * console.log('server connected', + * socket.authorized ? 'authorized' : 'unauthorized'); + * socket.write('welcome!\n'); + * socket.setEncoding('utf8'); + * socket.pipe(socket); + * }); + * server.listen(8000, () => { + * console.log('server bound'); + * }); + * ``` + * + * The server can be tested by connecting to it using the example client from {@link connect}. + * @since v0.3.2 + */ + function createServer(secureConnectionListener?: (socket: TLSSocket) => void): Server; + function createServer(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void): Server; + /** + * The `callback` function, if specified, will be added as a listener for the `'secureConnect'` event. + * + * `tls.connect()` returns a {@link TLSSocket} object. + * + * Unlike the `https` API, `tls.connect()` does not enable the + * SNI (Server Name Indication) extension by default, which may cause some + * servers to return an incorrect certificate or reject the connection + * altogether. To enable SNI, set the `servername` option in addition + * to `host`. + * + * The following illustrates a client for the echo server example from {@link createServer}: + * + * ```js + * // Assumes an echo server that is listening on port 8000. + * import tls from 'node:tls'; + * import fs from 'node:fs'; + * + * const options = { + * // Necessary only if the server requires client certificate authentication. + * key: fs.readFileSync('client-key.pem'), + * cert: fs.readFileSync('client-cert.pem'), + * + * // Necessary only if the server uses a self-signed certificate. + * ca: [ fs.readFileSync('server-cert.pem') ], + * + * // Necessary only if the server's cert isn't for "localhost". + * checkServerIdentity: () => { return null; }, + * }; + * + * const socket = tls.connect(8000, options, () => { + * console.log('client connected', + * socket.authorized ? 'authorized' : 'unauthorized'); + * process.stdin.pipe(socket); + * process.stdin.resume(); + * }); + * socket.setEncoding('utf8'); + * socket.on('data', (data) => { + * console.log(data); + * }); + * socket.on('end', () => { + * console.log('server ends connection'); + * }); + * ``` + * @since v0.11.3 + */ + 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; + /** + * `{@link createServer}` sets the default value of the `honorCipherOrder` option + * to `true`, other APIs that create secure contexts leave it unset. + * + * `{@link createServer}` uses a 128 bit truncated SHA1 hash value generated + * from `process.argv` as the default value of the `sessionIdContext` option, other + * APIs that create secure contexts have no default value. + * + * The `tls.createSecureContext()` method creates a `SecureContext` object. It is + * usable as an argument to several `tls` APIs, such as `server.addContext()`, + * but has no public methods. The {@link Server} constructor and the {@link createServer} method do not support the `secureContext` option. + * + * A key is _required_ for ciphers that use certificates. Either `key` or `pfx` can be used to provide it. + * + * If the `ca` option is not given, then Node.js will default to using [Mozilla's publicly trusted list of + * CAs](https://hg.mozilla.org/mozilla-central/raw-file/tip/security/nss/lib/ckfw/builtins/certdata.txt). + * + * Custom DHE parameters are discouraged in favor of the new `dhparam: 'auto' `option. When set to `'auto'`, well-known DHE parameters of sufficient strength + * will be selected automatically. Otherwise, if necessary, `openssl dhparam` can + * be used to create custom parameters. The key length must be greater than or + * equal to 1024 bits or else an error will be thrown. Although 1024 bits is + * permissible, use 2048 bits or larger for stronger security. + * @since v0.11.13 + */ + function createSecureContext(options?: SecureContextOptions): SecureContext; + /** + * Returns an array containing the CA certificates from various sources, depending on `type`: + * + * * `"default"`: return the CA certificates that will be used by the Node.js TLS clients by default. + * * When `--use-bundled-ca` is enabled (default), or `--use-openssl-ca` is not enabled, + * this would include CA certificates from the bundled Mozilla CA store. + * * When `--use-system-ca` is enabled, this would also include certificates from the system's + * trusted store. + * * When `NODE_EXTRA_CA_CERTS` is used, this would also include certificates loaded from the specified + * file. + * * `"system"`: return the CA certificates that are loaded from the system's trusted store, according + * to rules set by `--use-system-ca`. This can be used to get the certificates from the system + * when `--use-system-ca` is not enabled. + * * `"bundled"`: return the CA certificates from the bundled Mozilla CA store. This would be the same + * as `tls.rootCertificates`. + * * `"extra"`: return the CA certificates loaded from `NODE_EXTRA_CA_CERTS`. It's an empty array if + * `NODE_EXTRA_CA_CERTS` is not set. + * @since v22.15.0 + * @param type The type of CA certificates that will be returned. Valid values + * are `"default"`, `"system"`, `"bundled"` and `"extra"`. + * **Default:** `"default"`. + * @returns An array of PEM-encoded certificates. The array may contain duplicates + * if the same certificate is repeatedly stored in multiple sources. + */ + function getCACertificates(type?: "default" | "system" | "bundled" | "extra"): string[]; + /** + * Returns an array with the names of the supported TLS ciphers. The names are + * lower-case for historical reasons, but must be uppercased to be used in + * the `ciphers` option of `{@link createSecureContext}`. + * + * Not all supported ciphers are enabled by default. See + * [Modifying the default TLS cipher suite](https://nodejs.org/docs/latest-v25.x/api/tls.html#modifying-the-default-tls-cipher-suite). + * + * Cipher names that start with `'tls_'` are for TLSv1.3, all the others are for + * TLSv1.2 and below. + * + * ```js + * console.log(tls.getCiphers()); // ['aes128-gcm-sha256', 'aes128-sha', ...] + * ``` + * @since v0.10.2 + */ + function getCiphers(): string[]; + /** + * Sets the default CA certificates used by Node.js TLS clients. If the provided + * certificates are parsed successfully, they will become the default CA + * certificate list returned by {@link getCACertificates} and used + * by subsequent TLS connections that don't specify their own CA certificates. + * The certificates will be deduplicated before being set as the default. + * + * This function only affects the current Node.js thread. Previous + * sessions cached by the HTTPS agent won't be affected by this change, so + * this method should be called before any unwanted cachable TLS connections are + * made. + * + * To use system CA certificates as the default: + * + * ```js + * import tls from 'node:tls'; + * tls.setDefaultCACertificates(tls.getCACertificates('system')); + * ``` + * + * This function completely replaces the default CA certificate list. To add additional + * certificates to the existing defaults, get the current certificates and append to them: + * + * ```js + * import tls from 'node:tls'; + * const currentCerts = tls.getCACertificates('default'); + * const additionalCerts = ['-----BEGIN CERTIFICATE-----\n...']; + * tls.setDefaultCACertificates([...currentCerts, ...additionalCerts]); + * ``` + * @since v24.5.0 + * @param certs An array of CA certificates in PEM format. + */ + function setDefaultCACertificates(certs: ReadonlyArray): void; + /** + * The default curve name to use for ECDH key agreement in a tls server. + * The default value is `'auto'`. See `{@link createSecureContext()}` for further + * information. + * @since v0.11.13 + */ + let DEFAULT_ECDH_CURVE: string; + /** + * The default value of the `maxVersion` option of `{@link createSecureContext()}`. + * It can be assigned any of the supported TLS protocol versions, + * `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. **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. + * @since v11.4.0 + */ + let DEFAULT_MAX_VERSION: SecureVersion; + /** + * The default value of the `minVersion` option of `{@link createSecureContext()}`. + * It can be assigned any of the supported TLS protocol versions, + * `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. **Default:** `'TLSv1.2'`, unless + * changed using CLI options. Using `--tls-min-v1.0` sets the default to + * `'TLSv1'`. Using `--tls-min-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. + * @since v11.4.0 + */ + let DEFAULT_MIN_VERSION: SecureVersion; + /** + * The default value of the `ciphers` option of `{@link createSecureContext()}`. + * It can be assigned any of the supported OpenSSL ciphers. + * Defaults to the content of `crypto.constants.defaultCoreCipherList`, unless + * changed using CLI options using `--tls-default-ciphers`. + * @since v19.8.0 + */ + let DEFAULT_CIPHERS: string; + /** + * An immutable array of strings representing the root certificates (in PEM format) + * from the bundled Mozilla CA store as supplied by the current Node.js version. + * + * The bundled CA store, as supplied by Node.js, is a snapshot of Mozilla CA store + * that is fixed at release time. It is identical on all supported platforms. + * @since v12.3.0 + */ + const rootCertificates: readonly string[]; +} +declare module "tls" { + export * from "node:tls"; +} 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..5fa7a39 --- /dev/null +++ b/node_modules/@types/node/trace_events.d.ts @@ -0,0 +1,103 @@ +declare module "node: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. + */ + interface Tracing { + /** + * A comma-separated list of the trace event categories covered by this + * `Tracing` object. + * @since v10.0.0 + */ + 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. + * + * ```js + * import trace_events from 'node:trace_events'; + * const t1 = trace_events.createTracing({ categories: ['node', 'v8'] }); + * const t2 = trace_events.createTracing({ categories: ['node.perf', 'node'] }); + * t1.enable(); + * t2.enable(); + * + * // Prints 'node,node.perf,v8' + * console.log(trace_events.getEnabledCategories()); + * + * t2.disable(); // Will only disable emission of the 'node.perf' category + * + * // Prints 'node,v8' + * console.log(trace_events.getEnabledCategories()); + * ``` + * @since v10.0.0 + */ + disable(): void; + /** + * Enables this `Tracing` object for the set of categories covered by + * the `Tracing` object. + * @since v10.0.0 + */ + enable(): void; + /** + * `true` only if the `Tracing` object has been enabled. + * @since v10.0.0 + */ + 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`. + * + * ```js + * import trace_events from 'node:trace_events'; + * const categories = ['node.perf', 'node.async_hooks']; + * const tracing = trace_events.createTracing({ categories }); + * tracing.enable(); + * // do stuff + * tracing.disable(); + * ``` + * @since v10.0.0 + */ + 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. + * + * Given the file `test.js` below, the command `node --trace-event-categories node.perf test.js` will print `'node.async_hooks,node.perf'` to the console. + * + * ```js + * import trace_events from 'node:trace_events'; + * const t1 = trace_events.createTracing({ categories: ['node.async_hooks'] }); + * const t2 = trace_events.createTracing({ categories: ['node.perf'] }); + * const t3 = trace_events.createTracing({ categories: ['v8'] }); + * + * t1.enable(); + * t2.enable(); + * + * console.log(trace_events.getEnabledCategories()); + * ``` + * @since v10.0.0 + */ + function getEnabledCategories(): string | undefined; +} +declare module "trace_events" { + export * from "node:trace_events"; +} diff --git a/node_modules/@types/node/ts5.6/buffer.buffer.d.ts b/node_modules/@types/node/ts5.6/buffer.buffer.d.ts new file mode 100644 index 0000000..118041b --- /dev/null +++ b/node_modules/@types/node/ts5.6/buffer.buffer.d.ts @@ -0,0 +1,462 @@ +declare module "node:buffer" { + global { + interface BufferConstructor { + // see ../buffer.d.ts for implementation shared with all TypeScript versions + + /** + * 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. + */ + new(str: string, encoding?: BufferEncoding): Buffer; + /** + * 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()`). + */ + new(size: number): Buffer; + /** + * 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. + */ + new(array: ArrayLike): Buffer; + /** + * 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. + */ + new(arrayBuffer: ArrayBufferLike): Buffer; + /** + * Allocates a new `Buffer` using an `array` of bytes in the range `0` – `255`. + * Array entries outside that range will be truncated to fit into it. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Creates a new Buffer containing the UTF-8 bytes of the string 'buffer'. + * const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]); + * ``` + * + * If `array` is an `Array`-like object (that is, one with a `length` property of + * type `number`), it is treated as if it is an array, unless it is a `Buffer` or + * a `Uint8Array`. This means all other `TypedArray` variants get treated as an + * `Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use + * `Buffer.copyBytesFrom()`. + * + * A `TypeError` will be thrown if `array` is not an `Array` or another type + * appropriate for `Buffer.from()` variants. + * + * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal + * `Buffer` pool like `Buffer.allocUnsafe()` does. + * @since v5.10.0 + */ + from(array: WithImplicitCoercion>): Buffer; + /** + * This creates a view of the `ArrayBuffer` without copying the underlying + * memory. For example, 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`'s underlying `ArrayBuffer`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const arr = new Uint16Array(2); + * + * arr[0] = 5000; + * arr[1] = 4000; + * + * // Shares memory with `arr`. + * const buf = Buffer.from(arr.buffer); + * + * console.log(buf); + * // Prints: + * + * // Changing the original Uint16Array changes the Buffer also. + * arr[1] = 6000; + * + * console.log(buf); + * // Prints: + * ``` + * + * The optional `byteOffset` and `length` arguments specify a memory range within + * the `arrayBuffer` that will be shared by the `Buffer`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const ab = new ArrayBuffer(10); + * const buf = Buffer.from(ab, 0, 2); + * + * console.log(buf.length); + * // Prints: 2 + * ``` + * + * A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer` or a + * `SharedArrayBuffer` or another type appropriate for `Buffer.from()` + * variants. + * + * It is important to remember that a backing `ArrayBuffer` can cover a range + * of memory that extends beyond the bounds of a `TypedArray` view. A new + * `Buffer` created using the `buffer` property of a `TypedArray` may extend + * beyond the range of the `TypedArray`: + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const arrA = Uint8Array.from([0x63, 0x64, 0x65, 0x66]); // 4 elements + * const arrB = new Uint8Array(arrA.buffer, 1, 2); // 2 elements + * console.log(arrA.buffer === arrB.buffer); // true + * + * const buf = Buffer.from(arrB.buffer); + * console.log(buf); + * // Prints: + * ``` + * @since v5.10.0 + * @param arrayBuffer An `ArrayBuffer`, `SharedArrayBuffer`, for example the + * `.buffer` property of a `TypedArray`. + * @param byteOffset Index of first byte to expose. **Default:** `0`. + * @param length Number of bytes to expose. **Default:** + * `arrayBuffer.byteLength - byteOffset`. + */ + from( + arrayBuffer: WithImplicitCoercion, + byteOffset?: number, + length?: number, + ): Buffer; + /** + * Creates a new `Buffer` containing `string`. The `encoding` parameter identifies + * the character encoding to be used when converting `string` into bytes. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf1 = Buffer.from('this is a tést'); + * const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex'); + * + * console.log(buf1.toString()); + * // Prints: this is a tést + * console.log(buf2.toString()); + * // Prints: this is a tést + * console.log(buf1.toString('latin1')); + * // Prints: this is a tést + * ``` + * + * A `TypeError` will be thrown if `string` is not a string or another type + * appropriate for `Buffer.from()` variants. + * + * `Buffer.from(string)` may also use the internal `Buffer` pool like + * `Buffer.allocUnsafe()` does. + * @since v5.10.0 + * @param string A string to encode. + * @param encoding The encoding of `string`. **Default:** `'utf8'`. + */ + from(string: WithImplicitCoercion, encoding?: BufferEncoding): Buffer; + from(arrayOrString: WithImplicitCoercion | string>): Buffer; + /** + * Creates a new Buffer using the passed {data} + * @param values to create a new Buffer + */ + of(...items: number[]): Buffer; + /** + * Returns a new `Buffer` which is the result of concatenating all the `Buffer` instances in the `list` together. + * + * If the list has no items, or if the `totalLength` is 0, then a new zero-length `Buffer` is returned. + * + * If `totalLength` is not provided, it is calculated from the `Buffer` instances + * in `list` by adding their lengths. + * + * If `totalLength` is provided, it must be an unsigned integer. If the + * combined length of the `Buffer`s in `list` exceeds `totalLength`, the result is + * truncated to `totalLength`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Create a single `Buffer` from a list of three `Buffer` instances. + * + * const buf1 = Buffer.alloc(10); + * const buf2 = Buffer.alloc(14); + * const buf3 = Buffer.alloc(18); + * const totalLength = buf1.length + buf2.length + buf3.length; + * + * console.log(totalLength); + * // Prints: 42 + * + * const bufA = Buffer.concat([buf1, buf2, buf3], totalLength); + * + * console.log(bufA); + * // Prints: + * console.log(bufA.length); + * // Prints: 42 + * ``` + * + * `Buffer.concat()` may also use the internal `Buffer` pool like `Buffer.allocUnsafe()` does. + * @since v0.7.11 + * @param list List of `Buffer` or {@link Uint8Array} instances to concatenate. + * @param totalLength Total length of the `Buffer` instances in `list` when concatenated. + */ + concat(list: readonly Uint8Array[], totalLength?: number): Buffer; + /** + * Copies the underlying memory of `view` into a new `Buffer`. + * + * ```js + * const u16 = new Uint16Array([0, 0xffff]); + * const buf = Buffer.copyBytesFrom(u16, 1, 1); + * u16[1] = 0; + * console.log(buf.length); // 2 + * console.log(buf[0]); // 255 + * console.log(buf[1]); // 255 + * ``` + * @since v19.8.0 + * @param view The {TypedArray} to copy. + * @param [offset=0] The starting offset within `view`. + * @param [length=view.length - offset] The number of elements from `view` to copy. + */ + copyBytesFrom(view: NodeJS.TypedArray, offset?: number, length?: number): Buffer; + /** + * Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the`Buffer` will be zero-filled. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.alloc(5); + * + * console.log(buf); + * // Prints: + * ``` + * + * If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown. + * + * If `fill` is specified, the allocated `Buffer` will be initialized by calling `buf.fill(fill)`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.alloc(5, 'a'); + * + * console.log(buf); + * // Prints: + * ``` + * + * If both `fill` and `encoding` are specified, the allocated `Buffer` will be + * initialized by calling `buf.fill(fill, encoding)`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); + * + * console.log(buf); + * // Prints: + * ``` + * + * Calling `Buffer.alloc()` can be measurably slower than the alternative `Buffer.allocUnsafe()` but ensures that the newly created `Buffer` instance + * contents will never contain sensitive data from previous allocations, including + * data that might not have been allocated for `Buffer`s. + * + * A `TypeError` will be thrown if `size` is not a number. + * @since v5.10.0 + * @param size The desired length of the new `Buffer`. + * @param [fill=0] A value to pre-fill the new `Buffer` with. + * @param [encoding='utf8'] If `fill` is a string, this is its encoding. + */ + alloc(size: number, fill?: string | Uint8Array | number, encoding?: BufferEncoding): Buffer; + /** + * Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown. + * + * The underlying memory for `Buffer` instances created in this way is _not_ + * _initialized_. The contents of the newly created `Buffer` are unknown and _may contain sensitive data_. Use `Buffer.alloc()` instead to initialize`Buffer` instances with zeroes. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.allocUnsafe(10); + * + * console.log(buf); + * // Prints (contents may vary): + * + * buf.fill(0); + * + * console.log(buf); + * // Prints: + * ``` + * + * A `TypeError` will be thrown if `size` is not a number. + * + * The `Buffer` module pre-allocates an internal `Buffer` instance of + * size `Buffer.poolSize` that is used as a pool for the fast allocation of new `Buffer` instances created using `Buffer.allocUnsafe()`, `Buffer.from(array)`, + * and `Buffer.concat()` only when `size` is less than `Buffer.poolSize >>> 1` (floor of `Buffer.poolSize` divided by two). + * + * Use of this pre-allocated internal memory pool is a key difference between + * calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`. + * Specifically, `Buffer.alloc(size, fill)` will _never_ use the internal `Buffer`pool, while `Buffer.allocUnsafe(size).fill(fill)`_will_ use the internal`Buffer` pool if `size` is less + * than or equal to half `Buffer.poolSize`. The + * difference is subtle but can be important when an application requires the + * additional performance that `Buffer.allocUnsafe()` provides. + * @since v5.10.0 + * @param size The desired length of the new `Buffer`. + */ + allocUnsafe(size: number): Buffer; + /** + * Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown. A zero-length `Buffer` is created if + * `size` is 0. + * + * The underlying memory for `Buffer` instances created in this way is _not_ + * _initialized_. The contents of the newly created `Buffer` are unknown and _may contain sensitive data_. Use `buf.fill(0)` to initialize + * such `Buffer` instances with zeroes. + * + * When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances, + * allocations under 4 KiB are sliced from a single pre-allocated `Buffer`. This + * allows applications to avoid the garbage collection overhead of creating many + * individually allocated `Buffer` instances. This approach improves both + * performance and memory usage by eliminating the need to track and clean up as + * many individual `ArrayBuffer` objects. + * + * However, in the case where a developer may need to retain a small chunk of + * memory from a pool for an indeterminate amount of time, it may be appropriate + * to create an un-pooled `Buffer` instance using `Buffer.allocUnsafeSlow()` and + * then copying out the relevant bits. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Need to keep around a few small chunks of memory. + * const store = []; + * + * socket.on('readable', () => { + * let data; + * while (null !== (data = readable.read())) { + * // Allocate for retained data. + * const sb = Buffer.allocUnsafeSlow(10); + * + * // Copy the data into the new allocation. + * data.copy(sb, 0, 0, 10); + * + * store.push(sb); + * } + * }); + * ``` + * + * A `TypeError` will be thrown if `size` is not a number. + * @since v5.12.0 + * @param size The desired length of the new `Buffer`. + */ + allocUnsafeSlow(size: number): Buffer; + } + interface Buffer extends Uint8Array { + // see ../buffer.d.ts for implementation shared with all TypeScript versions + + /** + * 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 not compatible with the `Uint8Array.prototype.slice()`, + * which is a superclass of `Buffer`. To copy the slice, use`Uint8Array.prototype.slice()`. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from('buffer'); + * + * const copiedBuf = Uint8Array.prototype.slice.call(buf); + * copiedBuf[0]++; + * console.log(copiedBuf.toString()); + * // Prints: cuffer + * + * console.log(buf.toString()); + * // Prints: buffer + * + * // With buf.slice(), the original buffer is modified. + * const notReallyCopiedBuf = buf.slice(); + * notReallyCopiedBuf[0]++; + * console.log(notReallyCopiedBuf.toString()); + * // Prints: cuffer + * console.log(buf.toString()); + * // Also prints: cuffer (!) + * ``` + * @since v0.3.0 + * @deprecated Use `subarray` instead. + * @param [start=0] Where the new `Buffer` will start. + * @param [end=buf.length] Where the new `Buffer` will end (not inclusive). + */ + slice(start?: 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. + * + * Specifying `end` greater than `buf.length` will return the same result as + * that of `end` equal to `buf.length`. + * + * This method is inherited from [`TypedArray.prototype.subarray()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray). + * + * Modifying the new `Buffer` slice will modify the memory in the original `Buffer`because the allocated memory of the two objects overlap. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * // Create a `Buffer` with the ASCII alphabet, take a slice, and modify one byte + * // from the original `Buffer`. + * + * const buf1 = Buffer.allocUnsafe(26); + * + * for (let i = 0; i < 26; i++) { + * // 97 is the decimal ASCII value for 'a'. + * buf1[i] = i + 97; + * } + * + * const buf2 = buf1.subarray(0, 3); + * + * console.log(buf2.toString('ascii', 0, buf2.length)); + * // Prints: abc + * + * buf1[0] = 33; + * + * console.log(buf2.toString('ascii', 0, buf2.length)); + * // Prints: !bc + * ``` + * + * Specifying negative indexes causes the slice to be generated relative to the + * end of `buf` rather than the beginning. + * + * ```js + * import { Buffer } from 'node:buffer'; + * + * const buf = Buffer.from('buffer'); + * + * console.log(buf.subarray(-6, -1).toString()); + * // Prints: buffe + * // (Equivalent to buf.subarray(0, 5).) + * + * console.log(buf.subarray(-6, -2).toString()); + * // Prints: buff + * // (Equivalent to buf.subarray(0, 4).) + * + * console.log(buf.subarray(-5, -2).toString()); + * // Prints: uff + * // (Equivalent to buf.subarray(1, 4).) + * ``` + * @since v3.0.0 + * @param [start=0] Where the new `Buffer` will start. + * @param [end=buf.length] Where the new `Buffer` will end (not inclusive). + */ + subarray(start?: number, end?: number): Buffer; + } + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type NonSharedBuffer = Buffer; + /** + * @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports + * TypeScript versions earlier than 5.7. + */ + type AllowSharedBuffer = Buffer; + } +} diff --git a/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts b/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts new file mode 100644 index 0000000..f148cc4 --- /dev/null +++ b/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts @@ -0,0 +1,71 @@ +// Interface declaration for Float16Array, required in @types/node v24+. +// These definitions are specific to TS <=5.6. + +// This needs all of the "common" properties/methods of the TypedArrays, +// otherwise the type unions `TypedArray` and `ArrayBufferView` will be +// empty objects. +interface Float16Array extends Pick { + readonly BYTES_PER_ELEMENT: number; + readonly buffer: ArrayBufferLike; + readonly byteLength: number; + readonly byteOffset: number; + readonly length: number; + readonly [Symbol.toStringTag]: "Float16Array"; + at(index: number): number | undefined; + copyWithin(target: number, start: number, end?: number): this; + every(predicate: (value: number, index: number, array: Float16Array) => unknown, thisArg?: any): boolean; + fill(value: number, start?: number, end?: number): this; + filter(predicate: (value: number, index: number, array: Float16Array) => any, thisArg?: any): Float16Array; + find(predicate: (value: number, index: number, obj: Float16Array) => boolean, thisArg?: any): number | undefined; + findIndex(predicate: (value: number, index: number, obj: Float16Array) => boolean, thisArg?: any): number; + findLast( + predicate: (value: number, index: number, array: Float16Array) => value is S, + thisArg?: any, + ): S | undefined; + findLast( + predicate: (value: number, index: number, array: Float16Array) => unknown, + thisArg?: any, + ): number | undefined; + findLastIndex(predicate: (value: number, index: number, array: Float16Array) => unknown, thisArg?: any): number; + forEach(callbackfn: (value: number, index: number, array: Float16Array) => void, thisArg?: any): void; + includes(searchElement: number, fromIndex?: number): boolean; + indexOf(searchElement: number, fromIndex?: number): number; + join(separator?: string): string; + lastIndexOf(searchElement: number, fromIndex?: number): number; + map(callbackfn: (value: number, index: number, array: Float16Array) => number, thisArg?: any): Float16Array; + reduce( + callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float16Array) => number, + ): number; + reduce( + callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float16Array) => number, + initialValue: number, + ): number; + reduce( + callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float16Array) => U, + initialValue: U, + ): U; + reduceRight( + callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float16Array) => number, + ): number; + reduceRight( + callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float16Array) => number, + initialValue: number, + ): number; + reduceRight( + callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float16Array) => U, + initialValue: U, + ): U; + reverse(): Float16Array; + set(array: ArrayLike, offset?: number): void; + slice(start?: number, end?: number): Float16Array; + some(predicate: (value: number, index: number, array: Float16Array) => unknown, thisArg?: any): boolean; + sort(compareFn?: (a: number, b: number) => number): this; + subarray(begin?: number, end?: number): Float16Array; + toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions): string; + toReversed(): Float16Array; + toSorted(compareFn?: (a: number, b: number) => number): Float16Array; + toString(): string; + valueOf(): Float16Array; + with(index: number, value: number): Float16Array; + [index: number]: number; +} diff --git a/node_modules/@types/node/ts5.6/globals.typedarray.d.ts b/node_modules/@types/node/ts5.6/globals.typedarray.d.ts new file mode 100644 index 0000000..57a1ab4 --- /dev/null +++ b/node_modules/@types/node/ts5.6/globals.typedarray.d.ts @@ -0,0 +1,36 @@ +export {}; // Make this a module + +declare global { + namespace NodeJS { + type TypedArray = + | Uint8Array + | Uint8ClampedArray + | Uint16Array + | Uint32Array + | Int8Array + | Int16Array + | Int32Array + | BigUint64Array + | BigInt64Array + | Float16Array + | Float32Array + | Float64Array; + type ArrayBufferView = TypedArray | DataView; + + type NonSharedUint8Array = Uint8Array; + type NonSharedUint8ClampedArray = Uint8ClampedArray; + type NonSharedUint16Array = Uint16Array; + type NonSharedUint32Array = Uint32Array; + type NonSharedInt8Array = Int8Array; + type NonSharedInt16Array = Int16Array; + type NonSharedInt32Array = Int32Array; + type NonSharedBigUint64Array = BigUint64Array; + type NonSharedBigInt64Array = BigInt64Array; + type NonSharedFloat16Array = Float16Array; + type NonSharedFloat32Array = Float32Array; + type NonSharedFloat64Array = Float64Array; + type NonSharedDataView = DataView; + type NonSharedTypedArray = TypedArray; + type NonSharedArrayBufferView = ArrayBufferView; + } +} diff --git a/node_modules/@types/node/ts5.6/index.d.ts b/node_modules/@types/node/ts5.6/index.d.ts new file mode 100644 index 0000000..c088541 --- /dev/null +++ b/node_modules/@types/node/ts5.6/index.d.ts @@ -0,0 +1,119 @@ +/** + * License for programmatically and manually incorporated + * documentation aka. `JSDoc` from https://github.com/nodejs/node/tree/master/doc + * + * Copyright Node.js contributors. All rights reserved. + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +// NOTE: These definitions support Node.js and TypeScript 5.2 through 5.6. + +// Reference required TypeScript libraries: +/// +/// + +// TypeScript library polyfills required for TypeScript <=5.6: +/// + +// Iterator definitions required for compatibility with TypeScript <5.6: +/// + +// Definitions for Node.js modules specific to TypeScript <=5.6: +/// +/// + +// Definitions for Node.js modules that are not specific to any version of TypeScript: +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// diff --git a/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts b/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts new file mode 100644 index 0000000..110b1eb --- /dev/null +++ b/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts @@ -0,0 +1,72 @@ +// Interface declaration for Float16Array, required in @types/node v24+. +// These definitions are specific to TS 5.7. + +// This needs all of the "common" properties/methods of the TypedArrays, +// otherwise the type unions `TypedArray` and `ArrayBufferView` will be +// empty objects. +interface Float16Array { + readonly BYTES_PER_ELEMENT: number; + readonly buffer: TArrayBuffer; + readonly byteLength: number; + readonly byteOffset: number; + readonly length: number; + readonly [Symbol.toStringTag]: "Float16Array"; + at(index: number): number | undefined; + copyWithin(target: number, start: number, end?: number): this; + entries(): ArrayIterator<[number, number]>; + every(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean; + fill(value: number, start?: number, end?: number): this; + filter(predicate: (value: number, index: number, array: this) => any, thisArg?: any): Float16Array; + find(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number | undefined; + findIndex(predicate: (value: number, index: number, obj: this) => boolean, thisArg?: any): number; + findLast( + predicate: (value: number, index: number, array: this) => value is S, + thisArg?: any, + ): S | undefined; + findLast(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number | undefined; + findLastIndex(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): number; + forEach(callbackfn: (value: number, index: number, array: this) => void, thisArg?: any): void; + includes(searchElement: number, fromIndex?: number): boolean; + indexOf(searchElement: number, fromIndex?: number): number; + join(separator?: string): string; + keys(): ArrayIterator; + lastIndexOf(searchElement: number, fromIndex?: number): number; + map(callbackfn: (value: number, index: number, array: this) => number, thisArg?: any): Float16Array; + reduce( + callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, + ): number; + reduce( + callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, + initialValue: number, + ): number; + reduce( + callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, + initialValue: U, + ): U; + reduceRight( + callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, + ): number; + reduceRight( + callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: this) => number, + initialValue: number, + ): number; + reduceRight( + callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: this) => U, + initialValue: U, + ): U; + reverse(): this; + set(array: ArrayLike, offset?: number): void; + slice(start?: number, end?: number): Float16Array; + some(predicate: (value: number, index: number, array: this) => unknown, thisArg?: any): boolean; + sort(compareFn?: (a: number, b: number) => number): this; + subarray(begin?: number, end?: number): Float16Array; + toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions): string; + toReversed(): Float16Array; + toSorted(compareFn?: (a: number, b: number) => number): Float16Array; + toString(): string; + valueOf(): this; + values(): ArrayIterator; + with(index: number, value: number): Float16Array; + [Symbol.iterator](): ArrayIterator; + [index: number]: number; +} diff --git a/node_modules/@types/node/ts5.7/index.d.ts b/node_modules/@types/node/ts5.7/index.d.ts new file mode 100644 index 0000000..2510b2e --- /dev/null +++ b/node_modules/@types/node/ts5.7/index.d.ts @@ -0,0 +1,119 @@ +/** + * License for programmatically and manually incorporated + * documentation aka. `JSDoc` from https://github.com/nodejs/node/tree/master/doc + * + * Copyright Node.js contributors. All rights reserved. + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +// NOTE: These definitions support Node.js and TypeScript 5.7. + +// Reference required TypeScript libraries: +/// +/// + +// TypeScript library polyfills required for TypeScript 5.7: +/// + +// Iterator definitions required for compatibility with TypeScript <5.6: +/// + +// Definitions for Node.js modules specific to TypeScript 5.7+: +/// +/// + +// Definitions for Node.js modules that are not specific to any version of TypeScript: +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// diff --git a/node_modules/@types/node/tty.d.ts b/node_modules/@types/node/tty.d.ts new file mode 100644 index 0000000..39b4a7f --- /dev/null +++ b/node_modules/@types/node/tty.d.ts @@ -0,0 +1,225 @@ +declare module "node:tty" { + import * as net from "node:net"; + /** + * The `tty.isatty()` method returns `true` if the given `fd` is associated with + * a TTY and `false` if it is not, including whenever `fd` is not a non-negative + * integer. + * @since v0.5.8 + * @param fd A numeric file descriptor + */ + function isatty(fd: number): boolean; + /** + * Represents the readable side of a TTY. In normal circumstances `process.stdin` will be the only `tty.ReadStream` instance in a Node.js + * process and there should be no reason to create additional instances. + * @since v0.5.8 + */ + class ReadStream extends net.Socket { + constructor(fd: number, options?: net.SocketConstructorOpts); + /** + * A `boolean` that is `true` if the TTY is currently configured to operate as a + * raw device. + * + * This flag is always `false` when a process starts, even if the terminal is + * operating in raw mode. Its value will change with subsequent calls to `setRawMode`. + * @since v0.7.7 + */ + isRaw: boolean; + /** + * Allows configuration of `tty.ReadStream` so that it operates as a raw device. + * + * When in raw mode, input is always available character-by-character, not + * including modifiers. Additionally, all special processing of characters by the + * terminal is disabled, including echoing input + * characters. Ctrl+C will no longer cause a `SIGINT` when + * in this mode. + * @since v0.7.7 + * @param mode If `true`, configures the `tty.ReadStream` to operate as a raw device. If `false`, configures the `tty.ReadStream` to operate in its default mode. The `readStream.isRaw` + * property will be set to the resulting mode. + * @return The read stream instance. + */ + setRawMode(mode: boolean): this; + /** + * A `boolean` that is always `true` for `tty.ReadStream` instances. + * @since v0.5.8 + */ + isTTY: boolean; + } + /** + * -1 - to the left from cursor + * 0 - the entire line + * 1 - to the right from cursor + */ + type Direction = -1 | 0 | 1; + interface WriteStreamEventMap extends net.SocketEventMap { + "resize": []; + } + /** + * Represents the writable side of a TTY. In normal circumstances, `process.stdout` and `process.stderr` will be the only`tty.WriteStream` instances created for a Node.js process and there + * should be no reason to create additional instances. + * @since v0.5.8 + */ + class WriteStream extends net.Socket { + constructor(fd: number); + /** + * `writeStream.clearLine()` clears the current line of this `WriteStream` in a + * direction identified by `dir`. + * @since v0.7.7 + * @param callback Invoked once the operation completes. + * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. + */ + clearLine(dir: Direction, callback?: () => void): boolean; + /** + * `writeStream.clearScreenDown()` clears this `WriteStream` from the current + * cursor down. + * @since v0.7.7 + * @param callback Invoked once the operation completes. + * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. + */ + clearScreenDown(callback?: () => void): boolean; + /** + * `writeStream.cursorTo()` moves this `WriteStream`'s cursor to the specified + * position. + * @since v0.7.7 + * @param callback Invoked once the operation completes. + * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. + */ + cursorTo(x: number, y?: number, callback?: () => void): boolean; + cursorTo(x: number, callback: () => void): boolean; + /** + * `writeStream.moveCursor()` moves this `WriteStream`'s cursor _relative_ to its + * current position. + * @since v0.7.7 + * @param callback Invoked once the operation completes. + * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. + */ + moveCursor(dx: number, dy: number, callback?: () => void): boolean; + /** + * Returns: + * + * * `1` for 2, + * * `4` for 16, + * * `8` for 256, + * * `24` for 16,777,216 colors supported. + * + * Use this to determine what colors the terminal supports. Due to the nature of + * colors in terminals it is possible to either have false positives or false + * negatives. It depends on process information and the environment variables that + * may lie about what terminal is used. + * It is possible to pass in an `env` object to simulate the usage of a specific + * terminal. This can be useful to check how specific environment settings behave. + * + * To enforce a specific color support, use one of the below environment settings. + * + * * 2 colors: `FORCE_COLOR = 0` (Disables colors) + * * 16 colors: `FORCE_COLOR = 1` + * * 256 colors: `FORCE_COLOR = 2` + * * 16,777,216 colors: `FORCE_COLOR = 3` + * + * Disabling color support is also possible by using the `NO_COLOR` and `NODE_DISABLE_COLORS` environment variables. + * @since v9.9.0 + * @param [env=process.env] An object containing the environment variables to check. This enables simulating the usage of a specific terminal. + */ + getColorDepth(env?: object): number; + /** + * Returns `true` if the `writeStream` supports at least as many colors as provided + * in `count`. Minimum support is 2 (black and white). + * + * This has the same false positives and negatives as described in `writeStream.getColorDepth()`. + * + * ```js + * process.stdout.hasColors(); + * // Returns true or false depending on if `stdout` supports at least 16 colors. + * process.stdout.hasColors(256); + * // Returns true or false depending on if `stdout` supports at least 256 colors. + * process.stdout.hasColors({ TMUX: '1' }); + * // Returns true. + * process.stdout.hasColors(2 ** 24, { TMUX: '1' }); + * // Returns false (the environment setting pretends to support 2 ** 8 colors). + * ``` + * @since v11.13.0, v10.16.0 + * @param [count=16] The number of colors that are requested (minimum 2). + * @param [env=process.env] An object containing the environment variables to check. This enables simulating the usage of a specific terminal. + */ + hasColors(count?: number): boolean; + hasColors(env?: object): boolean; + hasColors(count: number, env?: object): boolean; + /** + * `writeStream.getWindowSize()` returns the size of the TTY + * corresponding to this `WriteStream`. The array is of the type `[numColumns, numRows]` where `numColumns` and `numRows` represent the number + * of columns and rows in the corresponding TTY. + * @since v0.7.7 + */ + getWindowSize(): [number, number]; + /** + * A `number` specifying the number of columns the TTY currently has. This property + * is updated whenever the `'resize'` event is emitted. + * @since v0.7.7 + */ + columns: number; + /** + * A `number` specifying the number of rows the TTY currently has. This property + * is updated whenever the `'resize'` event is emitted. + * @since v0.7.7 + */ + rows: number; + /** + * A `boolean` that is always `true`. + * @since v0.5.8 + */ + isTTY: boolean; + // #region InternalEventEmitter + addListener( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(eventName: E, ...args: WriteStreamEventMap[E]): boolean; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount( + eventName: E, + listener?: (...args: WriteStreamEventMap[E]) => void, + ): number; + listenerCount(eventName: string | symbol, listener?: (...args: any[]) => void): number; + listeners(eventName: E): ((...args: WriteStreamEventMap[E]) => void)[]; + listeners(eventName: string | symbol): ((...args: any[]) => void)[]; + off( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + off(eventName: string | symbol, listener: (...args: any[]) => void): this; + on( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + on(eventName: string | symbol, listener: (...args: any[]) => void): this; + once( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + once(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependListener( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + rawListeners(eventName: E): ((...args: WriteStreamEventMap[E]) => void)[]; + rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; + // eslint-disable-next-line @definitelytyped/no-unnecessary-generics + removeAllListeners(eventName?: E): this; + removeAllListeners(eventName?: string | symbol): this; + removeListener( + eventName: E, + listener: (...args: WriteStreamEventMap[E]) => void, + ): this; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): this; + // #endregion + } +} +declare module "tty" { + export * from "node:tty"; +} diff --git a/node_modules/@types/node/url.d.ts b/node_modules/@types/node/url.d.ts new file mode 100644 index 0000000..a464d82 --- /dev/null +++ b/node_modules/@types/node/url.d.ts @@ -0,0 +1,556 @@ +declare module "node:url" { + import { Blob, NonSharedBuffer } from "node:buffer"; + import { ClientRequestArgs } from "node:http"; + import { ParsedUrlQuery, ParsedUrlQueryInput } from "node:querystring"; + // Input to `url.format` + interface UrlObject { + auth?: string | null | undefined; + hash?: string | null | undefined; + host?: string | null | undefined; + hostname?: string | null | undefined; + href?: string | null | undefined; + pathname?: string | null | undefined; + protocol?: string | null | undefined; + search?: string | null | undefined; + slashes?: boolean | null | undefined; + port?: string | number | null | undefined; + query?: string | null | ParsedUrlQueryInput | undefined; + } + // Output of `url.parse` + interface Url { + auth: string | null; + hash: string | null; + host: string | null; + hostname: string | null; + href: string; + path: string | null; + pathname: string | null; + protocol: string | null; + search: string | null; + slashes: boolean | null; + port: string | null; + query: string | null | ParsedUrlQuery; + } + interface UrlWithParsedQuery extends Url { + query: ParsedUrlQuery; + } + interface UrlWithStringQuery extends Url { + query: string | null; + } + interface FileUrlToPathOptions { + /** + * `true` if the `path` should be return as a windows filepath, `false` for posix, and `undefined` for the system default. + * @default undefined + * @since v22.1.0 + */ + windows?: boolean | undefined; + } + interface PathToFileUrlOptions { + /** + * `true` if the `path` should be return as a windows filepath, `false` for posix, and `undefined` for the system default. + * @default undefined + * @since v22.1.0 + */ + windows?: boolean | undefined; + } + /** + * The `url.parse()` method takes a URL string, parses it, and returns a URL + * object. + * + * A `TypeError` is thrown if `urlString` is not a string. + * + * A `URIError` is thrown if the `auth` property is present but cannot be decoded. + * + * `url.parse()` uses a lenient, non-standard algorithm for parsing URL + * strings. It is prone to security issues such as [host name spoofing](https://hackerone.com/reports/678487) + * and incorrect handling of usernames and passwords. Do not use with untrusted + * input. CVEs are not issued for `url.parse()` vulnerabilities. Use the + * [WHATWG URL](https://nodejs.org/docs/latest-v25.x/api/url.html#the-whatwg-url-api) API instead, for example: + * + * ```js + * function getURL(req) { + * const proto = req.headers['x-forwarded-proto'] || 'https'; + * const host = req.headers['x-forwarded-host'] || req.headers.host || 'example.com'; + * return new URL(req.url || '/', `${proto}://${host}`); + * } + * ``` + * + * The example above assumes well-formed headers are forwarded from a reverse + * proxy to your Node.js server. If you are not using a reverse proxy, you should + * use the example below: + * + * ```js + * function getURL(req) { + * return new URL(req.url || '/', 'https://example.com'); + * } + * ``` + * @since v0.1.25 + * @deprecated Use the WHATWG URL API instead. + * @param urlString The URL string to parse. + * @param parseQueryString If `true`, the `query` property will always + * be set to an object returned by the [`querystring`](https://nodejs.org/docs/latest-v25.x/api/querystring.html) module's `parse()` + * method. If `false`, the `query` property on the returned URL object will be an + * unparsed, undecoded string. **Default:** `false`. + * @param slashesDenoteHost If `true`, the first token after the literal + * string `//` and preceding the next `/` will be interpreted as the `host`. + * For instance, given `//foo/bar`, the result would be + * `{host: 'foo', pathname: '/bar'}` rather than `{pathname: '//foo/bar'}`. + * **Default:** `false`. + */ + function parse( + urlString: string, + parseQueryString?: false, + slashesDenoteHost?: boolean, + ): UrlWithStringQuery; + function parse(urlString: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery; + function parse(urlString: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url; + /** + * The `url.format()` method returns a formatted URL string derived from `urlObject`. + * + * ```js + * import url from 'node:url'; + * url.format({ + * protocol: 'https', + * hostname: 'example.com', + * pathname: '/some/path', + * query: { + * page: 1, + * format: 'json', + * }, + * }); + * + * // => 'https://example.com/some/path?page=1&format=json' + * ``` + * + * If `urlObject` is not an object or a string, `url.format()` will throw a `TypeError`. + * + * The formatting process operates as follows: + * + * * A new empty string `result` is created. + * * If `urlObject.protocol` is a string, it is appended as-is to `result`. + * * Otherwise, if `urlObject.protocol` is not `undefined` and is not a string, an `Error` is thrown. + * * For all string values of `urlObject.protocol` that _do not end_ with an ASCII + * colon (`:`) character, the literal string `:` will be appended to `result`. + * * If either of the following conditions is true, then the literal string `//` will be appended to `result`: + * * `urlObject.slashes` property is true; + * * `urlObject.protocol` begins with `http`, `https`, `ftp`, `gopher`, or `file`; + * * If the value of the `urlObject.auth` property is truthy, and either `urlObject.host` or `urlObject.hostname` are not `undefined`, the value of `urlObject.auth` will be coerced into a string + * and appended to `result` followed by the literal string `@`. + * * If the `urlObject.host` property is `undefined` then: + * * If the `urlObject.hostname` is a string, it is appended to `result`. + * * Otherwise, if `urlObject.hostname` is not `undefined` and is not a string, + * an `Error` is thrown. + * * If the `urlObject.port` property value is truthy, and `urlObject.hostname` is not `undefined`: + * * The literal string `:` is appended to `result`, and + * * The value of `urlObject.port` is coerced to a string and appended to `result`. + * * Otherwise, if the `urlObject.host` property value is truthy, the value of `urlObject.host` is coerced to a string and appended to `result`. + * * If the `urlObject.pathname` property is a string that is not an empty string: + * * If the `urlObject.pathname` _does not start_ with an ASCII forward slash + * (`/`), then the literal string `'/'` is appended to `result`. + * * The value of `urlObject.pathname` is appended to `result`. + * * Otherwise, if `urlObject.pathname` is not `undefined` and is not a string, an `Error` is thrown. + * * If the `urlObject.search` property is `undefined` and if the `urlObject.query`property is an `Object`, the literal string `?` is appended to `result` followed by the output of calling the + * `querystring` module's `stringify()` method passing the value of `urlObject.query`. + * * Otherwise, if `urlObject.search` is a string: + * * If the value of `urlObject.search` _does not start_ with the ASCII question + * mark (`?`) character, the literal string `?` is appended to `result`. + * * The value of `urlObject.search` is appended to `result`. + * * Otherwise, if `urlObject.search` is not `undefined` and is not a string, an `Error` is thrown. + * * If the `urlObject.hash` property is a string: + * * If the value of `urlObject.hash` _does not start_ with the ASCII hash (`#`) + * character, the literal string `#` is appended to `result`. + * * The value of `urlObject.hash` is appended to `result`. + * * Otherwise, if the `urlObject.hash` property is not `undefined` and is not a + * string, an `Error` is thrown. + * * `result` is returned. + * @since v0.1.25 + * @legacy Use the WHATWG URL API instead. + * @param urlObject A URL object (as returned by `url.parse()` or constructed otherwise). If a string, it is converted to an object by passing it to `url.parse()`. + */ + function format(urlObject: URL, options?: URLFormatOptions): string; + /** + * The `url.format()` method returns a formatted URL string derived from `urlObject`. + * + * ```js + * import url from 'node:url'; + * url.format({ + * protocol: 'https', + * hostname: 'example.com', + * pathname: '/some/path', + * query: { + * page: 1, + * format: 'json', + * }, + * }); + * + * // => 'https://example.com/some/path?page=1&format=json' + * ``` + * + * If `urlObject` is not an object or a string, `url.format()` will throw a `TypeError`. + * + * The formatting process operates as follows: + * + * * A new empty string `result` is created. + * * If `urlObject.protocol` is a string, it is appended as-is to `result`. + * * Otherwise, if `urlObject.protocol` is not `undefined` and is not a string, an `Error` is thrown. + * * For all string values of `urlObject.protocol` that _do not end_ with an ASCII + * colon (`:`) character, the literal string `:` will be appended to `result`. + * * If either of the following conditions is true, then the literal string `//` will be appended to `result`: + * * `urlObject.slashes` property is true; + * * `urlObject.protocol` begins with `http`, `https`, `ftp`, `gopher`, or `file`; + * * If the value of the `urlObject.auth` property is truthy, and either `urlObject.host` or `urlObject.hostname` are not `undefined`, the value of `urlObject.auth` will be coerced into a string + * and appended to `result` followed by the literal string `@`. + * * If the `urlObject.host` property is `undefined` then: + * * If the `urlObject.hostname` is a string, it is appended to `result`. + * * Otherwise, if `urlObject.hostname` is not `undefined` and is not a string, + * an `Error` is thrown. + * * If the `urlObject.port` property value is truthy, and `urlObject.hostname` is not `undefined`: + * * The literal string `:` is appended to `result`, and + * * The value of `urlObject.port` is coerced to a string and appended to `result`. + * * Otherwise, if the `urlObject.host` property value is truthy, the value of `urlObject.host` is coerced to a string and appended to `result`. + * * If the `urlObject.pathname` property is a string that is not an empty string: + * * If the `urlObject.pathname` _does not start_ with an ASCII forward slash + * (`/`), then the literal string `'/'` is appended to `result`. + * * The value of `urlObject.pathname` is appended to `result`. + * * Otherwise, if `urlObject.pathname` is not `undefined` and is not a string, an `Error` is thrown. + * * If the `urlObject.search` property is `undefined` and if the `urlObject.query`property is an `Object`, the literal string `?` is appended to `result` followed by the output of calling the + * `querystring` module's `stringify()` method passing the value of `urlObject.query`. + * * Otherwise, if `urlObject.search` is a string: + * * If the value of `urlObject.search` _does not start_ with the ASCII question + * mark (`?`) character, the literal string `?` is appended to `result`. + * * The value of `urlObject.search` is appended to `result`. + * * Otherwise, if `urlObject.search` is not `undefined` and is not a string, an `Error` is thrown. + * * If the `urlObject.hash` property is a string: + * * If the value of `urlObject.hash` _does not start_ with the ASCII hash (`#`) + * character, the literal string `#` is appended to `result`. + * * The value of `urlObject.hash` is appended to `result`. + * * Otherwise, if the `urlObject.hash` property is not `undefined` and is not a + * string, an `Error` is thrown. + * * `result` is returned. + * @since v0.1.25 + * @legacy Use the WHATWG URL API instead. + * @param urlObject A URL object (as returned by `url.parse()` or constructed otherwise). + */ + function format(urlObject: UrlObject): string; + /** + * `url.format(urlString)` is shorthand for `url.format(url.parse(urlString))`. + * + * Because it invokes the deprecated `url.parse()` internally, passing a string argument + * to `url.format()` is itself deprecated. + * + * Canonicalizing a URL string can be performed using the WHATWG URL API, by + * constructing a new URL object and calling `url.toString()`. + * + * ```js + * import { URL } from 'node:url'; + * + * const unformatted = 'http://[fe80:0:0:0:0:0:0:1]:/a/b?a=b#abc'; + * const formatted = new URL(unformatted).toString(); + * + * console.log(formatted); // Prints: http://[fe80::1]/a/b?a=b#abc + * ``` + * @since v0.1.25 + * @deprecated Use the WHATWG URL API instead. + * @param urlString A string that will be passed to `url.parse()` and then formatted. + */ + function format(urlString: string): string; + /** + * The `url.resolve()` method resolves a target URL relative to a base URL in a + * manner similar to that of a web browser resolving an anchor tag. + * + * ```js + * import url from 'node:url'; + * url.resolve('/one/two/three', 'four'); // '/one/two/four' + * url.resolve('http://example.com/', '/one'); // 'http://example.com/one' + * url.resolve('http://example.com/one', '/two'); // 'http://example.com/two' + * ``` + * + * Because it invokes the deprecated `url.parse()` internally, `url.resolve()` is itself deprecated. + * + * To achieve the same result using the WHATWG URL API: + * + * ```js + * function resolve(from, to) { + * const resolvedUrl = new URL(to, new URL(from, 'resolve://')); + * if (resolvedUrl.protocol === 'resolve:') { + * // `from` is a relative URL. + * const { pathname, search, hash } = resolvedUrl; + * return pathname + search + hash; + * } + * return resolvedUrl.toString(); + * } + * + * resolve('/one/two/three', 'four'); // '/one/two/four' + * resolve('http://example.com/', '/one'); // 'http://example.com/one' + * resolve('http://example.com/one', '/two'); // 'http://example.com/two' + * ``` + * @since v0.1.25 + * @deprecated Use the WHATWG URL API instead. + * @param from The base URL to use if `to` is a relative URL. + * @param to The target URL to resolve. + */ + function resolve(from: string, to: string): string; + /** + * Returns the [Punycode](https://tools.ietf.org/html/rfc5891#section-4.4) ASCII serialization of the `domain`. If `domain` is an + * invalid domain, the empty string is returned. + * + * It performs the inverse operation to {@link domainToUnicode}. + * + * ```js + * import url from 'node:url'; + * + * console.log(url.domainToASCII('español.com')); + * // Prints xn--espaol-zwa.com + * console.log(url.domainToASCII('中文.com')); + * // Prints xn--fiq228c.com + * console.log(url.domainToASCII('xn--iñvalid.com')); + * // Prints an empty string + * ``` + * @since v7.4.0, v6.13.0 + */ + function domainToASCII(domain: string): string; + /** + * Returns the Unicode serialization of the `domain`. If `domain` is an invalid + * domain, the empty string is returned. + * + * It performs the inverse operation to {@link domainToASCII}. + * + * ```js + * import url from 'node:url'; + * + * console.log(url.domainToUnicode('xn--espaol-zwa.com')); + * // Prints español.com + * console.log(url.domainToUnicode('xn--fiq228c.com')); + * // Prints 中文.com + * console.log(url.domainToUnicode('xn--iñvalid.com')); + * // Prints an empty string + * ``` + * @since v7.4.0, v6.13.0 + */ + 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. + * + * ```js + * import { fileURLToPath } from 'node:url'; + * + * const __filename = fileURLToPath(import.meta.url); + * + * new URL('file:///C:/path/').pathname; // Incorrect: /C:/path/ + * fileURLToPath('file:///C:/path/'); // Correct: C:\path\ (Windows) + * + * new URL('file://nas/foo.txt').pathname; // Incorrect: /foo.txt + * fileURLToPath('file://nas/foo.txt'); // Correct: \\nas\foo.txt (Windows) + * + * new URL('file:///你好.txt').pathname; // Incorrect: /%E4%BD%A0%E5%A5%BD.txt + * fileURLToPath('file:///你好.txt'); // Correct: /你好.txt (POSIX) + * + * new URL('file:///hello world').pathname; // Incorrect: /hello%20world + * fileURLToPath('file:///hello world'); // Correct: /hello world (POSIX) + * ``` + * + * **Security Considerations:** + * + * This function decodes percent-encoded characters, including encoded dot-segments + * (`%2e` as `.` and `%2e%2e` as `..`), and then normalizes the resulting path. + * This means that encoded directory traversal sequences (such as `%2e%2e`) are + * decoded and processed as actual path traversal, even though encoded slashes + * (`%2F`, `%5C`) are correctly rejected. + * + * **Applications must not rely on `fileURLToPath()` alone to prevent directory + * traversal attacks.** Always perform explicit path validation and security checks + * on the returned path value to ensure it remains within expected boundaries + * before using it for file system operations. + * @since v10.12.0 + * @param url The file URL string or URL object to convert to a path. + * @return The fully-resolved platform-specific Node.js file path. + */ + function fileURLToPath(url: string | URL, options?: FileUrlToPathOptions): string; + /** + * Like `url.fileURLToPath(...)` except that instead of returning a string + * representation of the path, a `Buffer` is returned. This conversion is + * helpful when the input URL contains percent-encoded segments that are + * not valid UTF-8 / Unicode sequences. + * + * **Security Considerations:** + * + * This function has the same security considerations as `url.fileURLToPath()`. + * It decodes percent-encoded characters, including encoded dot-segments + * (`%2e` as `.` and `%2e%2e` as `..`), and normalizes the path. **Applications + * must not rely on this function alone to prevent directory traversal attacks.** + * Always perform explicit path validation on the returned buffer value before + * using it for file system operations. + * @since v24.3.0 + * @param url The file URL string or URL object to convert to a path. + * @returns The fully-resolved platform-specific Node.js file path + * as a `Buffer`. + */ + function fileURLToPathBuffer(url: string | URL, options?: FileUrlToPathOptions): NonSharedBuffer; + /** + * This function ensures that `path` is resolved absolutely, and that the URL + * control characters are correctly encoded when converting into a File URL. + * + * ```js + * import { pathToFileURL } from 'node:url'; + * + * new URL('/foo#1', 'file:'); // Incorrect: file:///foo#1 + * pathToFileURL('/foo#1'); // Correct: file:///foo%231 (POSIX) + * + * new URL('/some/path%.c', 'file:'); // Incorrect: file:///some/path%.c + * pathToFileURL('/some/path%.c'); // Correct: file:///some/path%25.c (POSIX) + * ``` + * @since v10.12.0 + * @param path The path to convert to a File URL. + * @return The file URL object. + */ + function pathToFileURL(path: string, options?: PathToFileUrlOptions): URL; + /** + * This utility function converts a URL object into an ordinary options object as + * expected by the `http.request()` and `https.request()` APIs. + * + * ```js + * import { urlToHttpOptions } from 'node:url'; + * const myURL = new URL('https://a:b@測試?abc#foo'); + * + * console.log(urlToHttpOptions(myURL)); + * /* + * { + * protocol: 'https:', + * hostname: 'xn--g6w251d', + * hash: '#foo', + * search: '?abc', + * pathname: '/', + * path: '/?abc', + * href: 'https://a:b@xn--g6w251d/?abc#foo', + * auth: 'a:b' + * } + * + * ``` + * @since v15.7.0, v14.18.0 + * @param url The `WHATWG URL` object to convert to an options object. + * @return Options object + */ + function urlToHttpOptions(url: URL): ClientRequestArgs; + interface URLFormatOptions { + /** + * `true` if the serialized URL string should include the username and password, `false` otherwise. + * @default true + */ + auth?: boolean | undefined; + /** + * `true` if the serialized URL string should include the fragment, `false` otherwise. + * @default true + */ + fragment?: boolean | undefined; + /** + * `true` if the serialized URL string should include the search query, `false` otherwise. + * @default true + */ + search?: boolean | undefined; + /** + * `true` if Unicode characters appearing in the host component of the URL string should be encoded directly as opposed to + * being Punycode encoded. + * @default false + */ + unicode?: boolean | undefined; + } + // #region web types + type URLPatternInput = string | URLPatternInit; + interface URLPatternComponentResult { + input: string; + groups: Record; + } + interface URLPatternInit { + protocol?: string; + username?: string; + password?: string; + hostname?: string; + port?: string; + pathname?: string; + search?: string; + hash?: string; + baseURL?: string; + } + interface URLPatternOptions { + ignoreCase?: boolean; + } + interface URLPatternResult { + inputs: URLPatternInput[]; + protocol: URLPatternComponentResult; + username: URLPatternComponentResult; + password: URLPatternComponentResult; + hostname: URLPatternComponentResult; + port: URLPatternComponentResult; + pathname: URLPatternComponentResult; + search: URLPatternComponentResult; + hash: URLPatternComponentResult; + } + interface 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; + toJSON(): string; + } + var URL: { + prototype: URL; + new(url: string | URL, base?: string | URL): URL; + canParse(input: string | URL, base?: string | URL): boolean; + createObjectURL(blob: Blob): string; + parse(input: string | URL, base?: string | URL): URL | null; + revokeObjectURL(id: string): void; + }; + interface URLPattern { + readonly hasRegExpGroups: boolean; + readonly hash: string; + readonly hostname: string; + readonly password: string; + readonly pathname: string; + readonly port: string; + readonly protocol: string; + readonly search: string; + readonly username: string; + exec(input?: URLPatternInput, baseURL?: string | URL): URLPatternResult | null; + test(input?: URLPatternInput, baseURL?: string | URL): boolean; + } + var URLPattern: { + prototype: URLPattern; + new(input: URLPatternInput, baseURL: string | URL, options?: URLPatternOptions): URLPattern; + new(input?: URLPatternInput, options?: URLPatternOptions): URLPattern; + }; + interface URLSearchParams { + readonly size: number; + append(name: string, value: string): void; + delete(name: string, value?: string): void; + get(name: string): string | null; + getAll(name: string): string[]; + has(name: string, value?: string): boolean; + set(name: string, value: string): void; + sort(): void; + forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void; + [Symbol.iterator](): URLSearchParamsIterator<[string, string]>; + entries(): URLSearchParamsIterator<[string, string]>; + keys(): URLSearchParamsIterator; + values(): URLSearchParamsIterator; + } + var URLSearchParams: { + prototype: URLSearchParams; + new(init?: string[][] | Record | string | URLSearchParams): URLSearchParams; + }; + interface URLSearchParamsIterator extends NodeJS.Iterator { + [Symbol.iterator](): URLSearchParamsIterator; + } + // #endregion +} +declare module "url" { + export * from "node:url"; +} diff --git a/node_modules/@types/node/util.d.ts b/node_modules/@types/node/util.d.ts new file mode 100644 index 0000000..90f12aa --- /dev/null +++ b/node_modules/@types/node/util.d.ts @@ -0,0 +1,1677 @@ +declare module "node:util" { + export * as types from "node:util/types"; + export type InspectStyle = + | "special" + | "number" + | "bigint" + | "boolean" + | "undefined" + | "null" + | "string" + | "symbol" + | "date" + | "name" + | "regexp" + | "module"; + export interface InspectStyles extends Record string)> { + regexp: { + (value: string): string; + colors: InspectColor[]; + }; + } + export type InspectColorModifier = + | "reset" + | "bold" + | "dim" + | "italic" + | "underline" + | "blink" + | "inverse" + | "hidden" + | "strikethrough" + | "doubleunderline"; + export type InspectColorForeground = + | "black" + | "red" + | "green" + | "yellow" + | "blue" + | "magenta" + | "cyan" + | "white" + | "gray" + | "redBright" + | "greenBright" + | "yellowBright" + | "blueBright" + | "magentaBright" + | "cyanBright" + | "whiteBright"; + export type InspectColorBackground = `bg${Capitalize}`; + export type InspectColor = InspectColorModifier | InspectColorForeground | InspectColorBackground; + export interface InspectColors extends Record {} + export interface InspectOptions { + /** + * If `true`, object's non-enumerable symbols and properties are included in the formatted result. + * `WeakMap` and `WeakSet` entries are also included as well as user defined prototype properties (excluding method properties). + * @default false + */ + showHidden?: boolean | undefined; + /** + * Specifies the number of times to recurse while formatting object. + * This is useful for inspecting large objects. + * To recurse up to the maximum call stack size pass `Infinity` or `null`. + * @default 2 + */ + depth?: number | null | undefined; + /** + * If `true`, the output is styled with ANSI color codes. Colors are customizable. + */ + colors?: boolean | undefined; + /** + * If `false`, `[util.inspect.custom](depth, opts, inspect)` functions are not invoked. + * @default true + */ + customInspect?: boolean | undefined; + /** + * If `true`, `Proxy` inspection includes the target and handler objects. + * @default false + */ + showProxy?: boolean | undefined; + /** + * Specifies the maximum number of `Array`, `TypedArray`, `WeakMap`, and `WeakSet` elements + * to include when formatting. Set to `null` or `Infinity` to show all elements. + * Set to `0` or negative to show no elements. + * @default 100 + */ + maxArrayLength?: number | null | undefined; + /** + * Specifies the maximum number of characters to + * include when formatting. Set to `null` or `Infinity` to show all elements. + * Set to `0` or negative to show no characters. + * @default 10000 + */ + maxStringLength?: number | null | undefined; + /** + * The length at which input values are split across multiple lines. + * Set to `Infinity` to format the input as a single line + * (in combination with `compact` set to `true` or any number >= `1`). + * @default 80 + */ + breakLength?: number | undefined; + /** + * 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 | undefined; + /** + * If set to `true` or a function, all properties of an object, and `Set` and `Map` + * entries are sorted in the resulting string. + * If set to `true` the default sort is used. + * If set to a function, it is used as a compare function. + */ + sorted?: boolean | ((a: string, b: string) => number) | undefined; + /** + * 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 | undefined; + /** + * If set to `true`, an underscore is used to separate every three digits in all bigints and numbers. + * @default false + */ + numericSeparator?: boolean | undefined; + } + export interface InspectContext extends Required { + stylize(text: string, styleType: InspectStyle): string; + } + import _inspect = inspect; + export interface Inspectable { + [inspect.custom](depth: number, options: InspectContext, inspect: typeof _inspect): any; + } + // TODO: Remove these in a future major + /** @deprecated Use `InspectStyle` instead. */ + export type Style = Exclude; + /** @deprecated Use the `Inspectable` interface instead. */ + export type CustomInspectFunction = (depth: number, options: InspectContext) => any; + /** @deprecated Use `InspectContext` instead. */ + export interface InspectOptionsStylized extends InspectContext {} + /** @deprecated Use `InspectColorModifier` instead. */ + export type Modifiers = InspectColorModifier; + /** @deprecated Use `InspectColorForeground` instead. */ + export type ForegroundColors = InspectColorForeground; + /** @deprecated Use `InspectColorBackground` instead. */ + export type BackgroundColors = InspectColorBackground; + export interface CallSiteObject { + /** + * Returns the name of the function associated with this call site. + */ + functionName: string; + /** + * Returns the name of the resource that contains the script for the + * function for this call site. + */ + scriptName: string; + /** + * Returns the unique id of the script, as in Chrome DevTools protocol + * [`Runtime.ScriptId`](https://chromedevtools.github.io/devtools-protocol/1-3/Runtime/#type-ScriptId). + * @since v22.14.0 + */ + scriptId: string; + /** + * Returns the number, 1-based, of the line for the associate function call. + */ + lineNumber: number; + /** + * Returns the 1-based column offset on the line for the associated function call. + */ + columnNumber: number; + } + export type DiffEntry = [operation: -1 | 0 | 1, value: string]; + /** + * `util.diff()` compares two string or array values and returns an array of difference entries. + * It uses the Myers diff algorithm to compute minimal differences, which is the same algorithm + * used internally by assertion error messages. + * + * If the values are equal, an empty array is returned. + * + * ```js + * const { diff } = require('node:util'); + * + * // Comparing strings + * const actualString = '12345678'; + * const expectedString = '12!!5!7!'; + * console.log(diff(actualString, expectedString)); + * // [ + * // [0, '1'], + * // [0, '2'], + * // [1, '3'], + * // [1, '4'], + * // [-1, '!'], + * // [-1, '!'], + * // [0, '5'], + * // [1, '6'], + * // [-1, '!'], + * // [0, '7'], + * // [1, '8'], + * // [-1, '!'], + * // ] + * // Comparing arrays + * const actualArray = ['1', '2', '3']; + * const expectedArray = ['1', '3', '4']; + * console.log(diff(actualArray, expectedArray)); + * // [ + * // [0, '1'], + * // [1, '2'], + * // [0, '3'], + * // [-1, '4'], + * // ] + * // Equal values return empty array + * console.log(diff('same', 'same')); + * // [] + * ``` + * @since v22.15.0 + * @experimental + * @param actual The first value to compare + * @param expected The second value to compare + * @returns An array of difference entries. Each entry is an array with two elements: + * * Index 0: `number` Operation code: `-1` for delete, `0` for no-op/unchanged, `1` for insert + * * Index 1: `string` The value associated with the operation + */ + export function diff(actual: string | readonly string[], expected: string | readonly string[]): DiffEntry[]; + /** + * The `util.format()` method returns a formatted string using the first argument + * as a `printf`-like format string which can contain zero or more format + * specifiers. Each specifier is replaced with the converted value from the + * corresponding argument. Supported specifiers are: + * + * If a specifier does not have a corresponding argument, it is not replaced: + * + * ```js + * util.format('%s:%s', 'foo'); + * // Returns: 'foo:%s' + * ``` + * + * Values that are not part of the format string are formatted using `util.inspect()` if their type is not `string`. + * + * If there are more arguments passed to the `util.format()` method than the + * number of specifiers, the extra arguments are concatenated to the returned + * string, separated by spaces: + * + * ```js + * util.format('%s:%s', 'foo', 'bar', 'baz'); + * // Returns: 'foo:bar baz' + * ``` + * + * If the first argument does not contain a valid format specifier, `util.format()` returns a string that is the concatenation of all arguments separated by spaces: + * + * ```js + * util.format(1, 2, 3); + * // Returns: '1 2 3' + * ``` + * + * If only one argument is passed to `util.format()`, it is returned as it is + * without any formatting: + * + * ```js + * util.format('%% %s'); + * // Returns: '%% %s' + * ``` + * + * `util.format()` is a synchronous method that is intended as a debugging tool. + * Some input values can have a significant performance overhead that can block the + * event loop. Use this function with care and never in a hot code path. + * @since v0.5.3 + * @param format A `printf`-like format string. + */ + export function format(format?: any, ...param: any[]): string; + /** + * This function is identical to {@link format}, except in that it takes + * an `inspectOptions` argument which specifies options that are passed along to {@link inspect}. + * + * ```js + * util.formatWithOptions({ colors: true }, 'See object %O', { foo: 42 }); + * // Returns 'See object { foo: 42 }', where `42` is colored as a number + * // when printed to a terminal. + * ``` + * @since v10.0.0 + */ + export function formatWithOptions(inspectOptions: InspectOptions, format?: any, ...param: any[]): string; + export interface GetCallSitesOptions { + /** + * Reconstruct the original location in the stacktrace from the source-map. + * Enabled by default with the flag `--enable-source-maps`. + */ + sourceMap?: boolean | undefined; + } + /** + * Returns an array of call site objects containing the stack of + * the caller function. + * + * Unlike accessing an `error.stack`, the result returned from this API is not + * interfered with `Error.prepareStackTrace`. + * + * ```js + * import { getCallSites } from 'node:util'; + * + * function exampleFunction() { + * const callSites = getCallSites(); + * + * console.log('Call Sites:'); + * callSites.forEach((callSite, index) => { + * console.log(`CallSite ${index + 1}:`); + * console.log(`Function Name: ${callSite.functionName}`); + * console.log(`Script Name: ${callSite.scriptName}`); + * console.log(`Line Number: ${callSite.lineNumber}`); + * console.log(`Column Number: ${callSite.columnNumber}`); + * }); + * // CallSite 1: + * // Function Name: exampleFunction + * // Script Name: /home/example.js + * // Line Number: 5 + * // Column Number: 26 + * + * // CallSite 2: + * // Function Name: anotherFunction + * // Script Name: /home/example.js + * // Line Number: 22 + * // Column Number: 3 + * + * // ... + * } + * + * // A function to simulate another stack layer + * function anotherFunction() { + * exampleFunction(); + * } + * + * anotherFunction(); + * ``` + * + * It is possible to reconstruct the original locations by setting the option `sourceMap` to `true`. + * If the source map is not available, the original location will be the same as the current location. + * When the `--enable-source-maps` flag is enabled, for example when using `--experimental-transform-types`, + * `sourceMap` will be true by default. + * + * ```ts + * import { getCallSites } from 'node:util'; + * + * interface Foo { + * foo: string; + * } + * + * const callSites = getCallSites({ sourceMap: true }); + * + * // With sourceMap: + * // Function Name: '' + * // Script Name: example.js + * // Line Number: 7 + * // Column Number: 26 + * + * // Without sourceMap: + * // Function Name: '' + * // Script Name: example.js + * // Line Number: 2 + * // Column Number: 26 + * ``` + * @param frameCount Number of frames to capture as call site objects. + * **Default:** `10`. Allowable range is between 1 and 200. + * @return An array of call site objects + * @since v22.9.0 + */ + export function getCallSites(frameCount?: number, options?: GetCallSitesOptions): CallSiteObject[]; + export function getCallSites(options: GetCallSitesOptions): CallSiteObject[]; + /** + * Returns the string name for a numeric error code that comes from a Node.js API. + * The mapping between error codes and error names is platform-dependent. + * See `Common System Errors` for the names of common errors. + * + * ```js + * fs.access('file/that/does/not/exist', (err) => { + * const name = util.getSystemErrorName(err.errno); + * console.error(name); // ENOENT + * }); + * ``` + * @since v9.7.0 + */ + export function getSystemErrorName(err: number): string; + /** + * Enable or disable printing a stack trace on `SIGINT`. The API is only available on the main thread. + * @since 24.6.0 + */ + export function setTraceSigInt(enable: boolean): void; + /** + * Returns a Map of all system error codes available from the Node.js API. + * The mapping between error codes and error names is platform-dependent. + * See `Common System Errors` for the names of common errors. + * + * ```js + * fs.access('file/that/does/not/exist', (err) => { + * const errorMap = util.getSystemErrorMap(); + * const name = errorMap.get(err.errno); + * console.error(name); // ENOENT + * }); + * ``` + * @since v16.0.0, v14.17.0 + */ + export function getSystemErrorMap(): Map; + /** + * Returns the string message for a numeric error code that comes from a Node.js + * API. + * The mapping between error codes and string messages is platform-dependent. + * + * ```js + * fs.access('file/that/does/not/exist', (err) => { + * const message = util.getSystemErrorMessage(err.errno); + * console.error(message); // no such file or directory + * }); + * ``` + * @since v22.12.0 + */ + export function getSystemErrorMessage(err: number): string; + /** + * Returns the `string` after replacing any surrogate code points + * (or equivalently, any unpaired surrogate code units) with the + * Unicode "replacement character" U+FFFD. + * @since v16.8.0, v14.18.0 + */ + export function toUSVString(string: string): string; + /** + * Creates and returns an `AbortController` instance whose `AbortSignal` is marked + * as transferable and can be used with `structuredClone()` or `postMessage()`. + * @since v18.11.0 + * @returns A transferable AbortController + */ + export function transferableAbortController(): AbortController; + /** + * Marks the given `AbortSignal` as transferable so that it can be used with`structuredClone()` and `postMessage()`. + * + * ```js + * const signal = transferableAbortSignal(AbortSignal.timeout(100)); + * const channel = new MessageChannel(); + * channel.port2.postMessage(signal, [signal]); + * ``` + * @since v18.11.0 + * @param signal The AbortSignal + * @returns The same AbortSignal + */ + export function transferableAbortSignal(signal: AbortSignal): AbortSignal; + /** + * Listens to abort event on the provided `signal` and returns a promise that resolves when the `signal` is aborted. + * If `resource` is provided, it weakly references the operation's associated object, + * so if `resource` is garbage collected before the `signal` aborts, + * then returned promise shall remain pending. + * This prevents memory leaks in long-running or non-cancelable operations. + * + * ```js + * import { aborted } from 'node:util'; + * + * // Obtain an object with an abortable signal, like a custom resource or operation. + * const dependent = obtainSomethingAbortable(); + * + * // Pass `dependent` as the resource, indicating the promise should only resolve + * // if `dependent` is still in memory when the signal is aborted. + * aborted(dependent.signal, dependent).then(() => { + * // This code runs when `dependent` is aborted. + * console.log('Dependent resource was aborted.'); + * }); + * + * // Simulate an event that triggers the abort. + * dependent.on('event', () => { + * dependent.abort(); // This will cause the `aborted` promise to resolve. + * }); + * ``` + * @since v19.7.0 + * @param resource Any non-null object tied to the abortable operation and held weakly. + * If `resource` is garbage collected before the `signal` aborts, the promise remains pending, + * allowing Node.js to stop tracking it. + * This helps prevent memory leaks in long-running or non-cancelable operations. + */ + export function aborted(signal: AbortSignal, resource: any): Promise; + /** + * The `util.inspect()` method returns a string representation of `object` that is + * intended for debugging. The output of `util.inspect` may change at any time + * and should not be depended upon programmatically. Additional `options` may be + * passed that alter the result. + * `util.inspect()` will use the constructor's name and/or `Symbol.toStringTag` + * property to make an identifiable tag for an inspected value. + * + * ```js + * class Foo { + * get [Symbol.toStringTag]() { + * return 'bar'; + * } + * } + * + * class Bar {} + * + * const baz = Object.create(null, { [Symbol.toStringTag]: { value: 'foo' } }); + * + * util.inspect(new Foo()); // 'Foo [bar] {}' + * util.inspect(new Bar()); // 'Bar {}' + * util.inspect(baz); // '[foo] {}' + * ``` + * + * Circular references point to their anchor by using a reference index: + * + * ```js + * import { inspect } from 'node:util'; + * + * const obj = {}; + * obj.a = [obj]; + * obj.b = {}; + * obj.b.inner = obj.b; + * obj.b.obj = obj; + * + * console.log(inspect(obj)); + * // { + * // a: [ [Circular *1] ], + * // b: { inner: [Circular *2], obj: [Circular *1] } + * // } + * ``` + * + * The following example inspects all properties of the `util` object: + * + * ```js + * import util from 'node:util'; + * + * console.log(util.inspect(util, { showHidden: true, depth: null })); + * ``` + * + * The following example highlights the effect of the `compact` option: + * + * ```js + * import { inspect } from 'node:util'; + * + * const o = { + * a: [1, 2, [[ + * 'Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit, sed do ' + + * 'eiusmod \ntempor incididunt ut labore et dolore magna aliqua.', + * 'test', + * 'foo']], 4], + * b: new Map([['za', 1], ['zb', 'test']]), + * }; + * console.log(inspect(o, { compact: true, depth: 5, breakLength: 80 })); + * + * // { a: + * // [ 1, + * // 2, + * // [ [ 'Lorem ipsum dolor sit amet,\nconsectetur [...]', // A long line + * // 'test', + * // 'foo' ] ], + * // 4 ], + * // b: Map(2) { 'za' => 1, 'zb' => 'test' } } + * + * // Setting `compact` to false or an integer creates more reader friendly output. + * console.log(inspect(o, { compact: false, depth: 5, breakLength: 80 })); + * + * // { + * // a: [ + * // 1, + * // 2, + * // [ + * // [ + * // 'Lorem ipsum dolor sit amet,\n' + + * // 'consectetur adipiscing elit, sed do eiusmod \n' + + * // 'tempor incididunt ut labore et dolore magna aliqua.', + * // 'test', + * // 'foo' + * // ] + * // ], + * // 4 + * // ], + * // b: Map(2) { + * // 'za' => 1, + * // 'zb' => 'test' + * // } + * // } + * + * // Setting `breakLength` to e.g. 150 will print the "Lorem ipsum" text in a + * // single line. + * ``` + * + * The `showHidden` option allows `WeakMap` and `WeakSet` entries to be + * inspected. If there are more entries than `maxArrayLength`, there is no + * guarantee which entries are displayed. That means retrieving the same + * `WeakSet` entries twice may result in different output. Furthermore, entries + * with no remaining strong references may be garbage collected at any time. + * + * ```js + * import { inspect } from 'node:util'; + * + * const obj = { a: 1 }; + * const obj2 = { b: 2 }; + * const weakSet = new WeakSet([obj, obj2]); + * + * console.log(inspect(weakSet, { showHidden: true })); + * // WeakSet { { a: 1 }, { b: 2 } } + * ``` + * + * The `sorted` option ensures that an object's property insertion order does not + * impact the result of `util.inspect()`. + * + * ```js + * import { inspect } from 'node:util'; + * import assert from 'node:assert'; + * + * const o1 = { + * b: [2, 3, 1], + * a: '`a` comes before `b`', + * c: new Set([2, 3, 1]), + * }; + * console.log(inspect(o1, { sorted: true })); + * // { a: '`a` comes before `b`', b: [ 2, 3, 1 ], c: Set(3) { 1, 2, 3 } } + * console.log(inspect(o1, { sorted: (a, b) => b.localeCompare(a) })); + * // { c: Set(3) { 3, 2, 1 }, b: [ 2, 3, 1 ], a: '`a` comes before `b`' } + * + * const o2 = { + * c: new Set([2, 1, 3]), + * a: '`a` comes before `b`', + * b: [2, 3, 1], + * }; + * assert.strict.equal( + * inspect(o1, { sorted: true }), + * inspect(o2, { sorted: true }), + * ); + * ``` + * + * The `numericSeparator` option adds an underscore every three digits to all + * numbers. + * + * ```js + * import { inspect } from 'node:util'; + * + * const thousand = 1000; + * const million = 1000000; + * const bigNumber = 123456789n; + * const bigDecimal = 1234.12345; + * + * console.log(inspect(thousand, { numericSeparator: true })); + * // 1_000 + * console.log(inspect(million, { numericSeparator: true })); + * // 1_000_000 + * console.log(inspect(bigNumber, { numericSeparator: true })); + * // 123_456_789n + * console.log(inspect(bigDecimal, { numericSeparator: true })); + * // 1_234.123_45 + * ``` + * + * `util.inspect()` is a synchronous method intended for debugging. Its maximum + * output length is approximately 128 MiB. Inputs that result in longer output will + * be truncated. + * @since v0.3.0 + * @param object Any JavaScript primitive or `Object`. + * @return The representation of `object`. + */ + export function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string; + export function inspect(object: any, options?: InspectOptions): string; + export namespace inspect { + const custom: unique symbol; + let colors: InspectColors; + let styles: InspectStyles; + let defaultOptions: InspectOptions; + let replDefaults: InspectOptions; + } + /** + * Alias for [`Array.isArray()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray). + * + * Returns `true` if the given `object` is an `Array`. Otherwise, returns `false`. + * + * ```js + * import util from 'node:util'; + * + * util.isArray([]); + * // Returns: true + * util.isArray(new Array()); + * // Returns: true + * util.isArray({}); + * // Returns: false + * ``` + * @since v0.6.0 + * @deprecated Since v4.0.0 - Use `isArray` instead. + */ + export function isArray(object: unknown): object is unknown[]; + /** + * Usage of `util.inherits()` is discouraged. Please use the ES6 `class` and + * `extends` keywords to get language level inheritance support. Also note + * that the two styles are [semantically incompatible](https://github.com/nodejs/node/issues/4179). + * + * Inherit the prototype methods from one + * [constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor) into another. The + * prototype of `constructor` will be set to a new object created from + * `superConstructor`. + * + * This mainly adds some input validation on top of + * `Object.setPrototypeOf(constructor.prototype, superConstructor.prototype)`. + * As an additional convenience, `superConstructor` will be accessible + * through the `constructor.super_` property. + * + * ```js + * const util = require('node:util'); + * const EventEmitter = require('node:events'); + * + * function MyStream() { + * EventEmitter.call(this); + * } + * + * util.inherits(MyStream, EventEmitter); + * + * MyStream.prototype.write = function(data) { + * this.emit('data', data); + * }; + * + * const stream = new MyStream(); + * + * console.log(stream instanceof EventEmitter); // true + * console.log(MyStream.super_ === EventEmitter); // true + * + * stream.on('data', (data) => { + * console.log(`Received data: "${data}"`); + * }); + * stream.write('It works!'); // Received data: "It works!" + * ``` + * + * ES6 example using `class` and `extends`: + * + * ```js + * import EventEmitter from 'node:events'; + * + * class MyStream extends EventEmitter { + * write(data) { + * this.emit('data', data); + * } + * } + * + * const stream = new MyStream(); + * + * stream.on('data', (data) => { + * console.log(`Received data: "${data}"`); + * }); + * stream.write('With ES6'); + * ``` + * @since v0.3.0 + * @legacy Use ES2015 class syntax and `extends` keyword instead. + */ + export function inherits(constructor: unknown, superConstructor: unknown): void; + /** + * The `util.convertProcessSignalToExitCode()` method converts a signal name to its + * corresponding POSIX exit code. Following the POSIX standard, the exit code + * for a process terminated by a signal is calculated as `128 + signal number`. + * + * If `signal` is not a valid signal name, then an error will be thrown. See + * [`signal(7)`](https://man7.org/linux/man-pages/man7/signal.7.html) for a list of valid signals. + * + * ```js + * import { convertProcessSignalToExitCode } from 'node:util'; + * + * console.log(convertProcessSignalToExitCode('SIGTERM')); // 143 (128 + 15) + * console.log(convertProcessSignalToExitCode('SIGKILL')); // 137 (128 + 9) + * ``` + * + * This is particularly useful when working with processes to determine + * the exit code based on the signal that terminated the process. + * @since v25.4.0 + * @param signal A signal name (e.g. `'SIGTERM'`) + * @returns The exit code corresponding to `signal` + */ + export function convertProcessSignalToExitCode(signal: NodeJS.Signals): number; + export type DebugLoggerFunction = (msg: string, ...param: unknown[]) => void; + export interface DebugLogger extends DebugLoggerFunction { + /** + * The `util.debuglog().enabled` getter is used to create a test that can be used + * in conditionals based on the existence of the `NODE_DEBUG` environment variable. + * If the `section` name appears within the value of that environment variable, + * then the returned value will be `true`. If not, then the returned value will be + * `false`. + * + * ```js + * import { debuglog } from 'node:util'; + * const enabled = debuglog('foo').enabled; + * if (enabled) { + * console.log('hello from foo [%d]', 123); + * } + * ``` + * + * If this program is run with `NODE_DEBUG=foo` in the environment, then it will + * output something like: + * + * ```console + * hello from foo [123] + * ``` + */ + enabled: boolean; + } + /** + * The `util.debuglog()` method is used to create a function that conditionally + * writes debug messages to `stderr` based on the existence of the `NODE_DEBUG` + * environment variable. If the `section` name appears within the value of that + * environment variable, then the returned function operates similar to + * `console.error()`. If not, then the returned function is a no-op. + * + * ```js + * import { debuglog } from 'node:util'; + * const log = debuglog('foo'); + * + * log('hello from foo [%d]', 123); + * ``` + * + * If this program is run with `NODE_DEBUG=foo` in the environment, then + * it will output something like: + * + * ```console + * FOO 3245: hello from foo [123] + * ``` + * + * where `3245` is the process id. If it is not run with that + * environment variable set, then it will not print anything. + * + * The `section` supports wildcard also: + * + * ```js + * import { debuglog } from 'node:util'; + * const log = debuglog('foo-bar'); + * + * log('hi there, it\'s foo-bar [%d]', 2333); + * ``` + * + * if it is run with `NODE_DEBUG=foo*` in the environment, then it will output + * something like: + * + * ```console + * FOO-BAR 3257: hi there, it's foo-bar [2333] + * ``` + * + * Multiple comma-separated `section` names may be specified in the `NODE_DEBUG` + * environment variable: `NODE_DEBUG=fs,net,tls`. + * + * The optional `callback` argument can be used to replace the logging function + * with a different function that doesn't have any initialization or + * unnecessary wrapping. + * + * ```js + * import { debuglog } from 'node:util'; + * let log = debuglog('internals', (debug) => { + * // Replace with a logging function that optimizes out + * // testing if the section is enabled + * log = debug; + * }); + * ``` + * @since v0.11.3 + * @param section A string identifying the portion of the application for which the `debuglog` function is being created. + * @param callback A callback invoked the first time the logging function is called with a function argument that is a more optimized logging function. + * @return The logging function + */ + export function debuglog(section: string, callback?: (fn: DebugLoggerFunction) => void): DebugLogger; + export { debuglog as debug }; + export interface DeprecateOptions { + /** + * When false do not change the prototype of object + * while emitting the deprecation warning. + * @since v25.2.0 + * @default true + */ + modifyPrototype?: boolean | undefined; + } + /** + * The `util.deprecate()` method wraps `fn` (which may be a function or class) in + * such a way that it is marked as deprecated. + * + * ```js + * import { deprecate } from 'node:util'; + * + * export const obsoleteFunction = deprecate(() => { + * // Do something here. + * }, 'obsoleteFunction() is deprecated. Use newShinyFunction() instead.'); + * ``` + * + * When called, `util.deprecate()` will return a function that will emit a + * `DeprecationWarning` using the `'warning'` event. The warning will + * be emitted and printed to `stderr` the first time the returned function is + * called. After the warning is emitted, the wrapped function is called without + * emitting a warning. + * + * If the same optional `code` is supplied in multiple calls to `util.deprecate()`, + * the warning will be emitted only once for that `code`. + * + * ```js + * import { deprecate } from 'node:util'; + * + * const fn1 = deprecate( + * () => 'a value', + * 'deprecation message', + * 'DEP0001', + * ); + * const fn2 = deprecate( + * () => 'a different value', + * 'other dep message', + * 'DEP0001', + * ); + * fn1(); // Emits a deprecation warning with code DEP0001 + * fn2(); // Does not emit a deprecation warning because it has the same code + * ``` + * + * If either the `--no-deprecation` or `--no-warnings` command-line flags are + * used, or if the `process.noDeprecation` property is set to `true` _prior_ to + * the first deprecation warning, the `util.deprecate()` method does nothing. + * + * If the `--trace-deprecation` or `--trace-warnings` command-line flags are set, + * or the `process.traceDeprecation` property is set to `true`, a warning and a + * stack trace are printed to `stderr` the first time the deprecated function is + * called. + * + * If the `--throw-deprecation` command-line flag is set, or the + * `process.throwDeprecation` property is set to `true`, then an exception will be + * thrown when the deprecated function is called. + * + * The `--throw-deprecation` command-line flag and `process.throwDeprecation` + * property take precedence over `--trace-deprecation` and + * `process.traceDeprecation`. + * @since v0.8.0 + * @param fn The function that is being deprecated. + * @param msg A warning message to display when the deprecated function is invoked. + * @param code A deprecation code. See the `list of deprecated APIs` for a list of codes. + * @return The deprecated function wrapped to emit a warning. + */ + export function deprecate(fn: T, msg: string, code?: string, options?: DeprecateOptions): T; + export interface IsDeepStrictEqualOptions { + /** + * If `true`, prototype and constructor + * comparison is skipped during deep strict equality check. + * @since v24.9.0 + * @default false + */ + skipPrototype?: boolean | undefined; + } + /** + * Returns `true` if there is deep strict equality between `val1` and `val2`. + * Otherwise, returns `false`. + * + * See `assert.deepStrictEqual()` for more information about deep strict + * equality. + * @since v9.0.0 + */ + export function isDeepStrictEqual(val1: unknown, val2: unknown, options?: IsDeepStrictEqualOptions): boolean; + /** + * Returns `str` with any ANSI escape codes removed. + * + * ```js + * console.log(util.stripVTControlCharacters('\u001B[4mvalue\u001B[0m')); + * // Prints "value" + * ``` + * @since v16.11.0 + */ + export function stripVTControlCharacters(str: string): string; + /** + * Takes an `async` function (or a function that returns a `Promise`) and returns a + * function following the error-first callback style, i.e. taking + * an `(err, value) => ...` callback as the last argument. In the callback, the + * first argument will be the rejection reason (or `null` if the `Promise` + * resolved), and the second argument will be the resolved value. + * + * ```js + * import { callbackify } from 'node:util'; + * + * async function fn() { + * return 'hello world'; + * } + * const callbackFunction = callbackify(fn); + * + * callbackFunction((err, ret) => { + * if (err) throw err; + * console.log(ret); + * }); + * ``` + * + * Will print: + * + * ```text + * hello world + * ``` + * + * The callback is executed asynchronously, and will have a limited stack trace. + * If the callback throws, the process will emit an `'uncaughtException'` + * event, and if not handled will exit. + * + * Since `null` has a special meaning as the first argument to a callback, if a + * wrapped function rejects a `Promise` with a falsy value as a reason, the value + * is wrapped in an `Error` with the original value stored in a field named + * `reason`. + * + * ```js + * function fn() { + * return Promise.reject(null); + * } + * const callbackFunction = util.callbackify(fn); + * + * callbackFunction((err, ret) => { + * // When the Promise was rejected with `null` it is wrapped with an Error and + * // the original value is stored in `reason`. + * err && Object.hasOwn(err, 'reason') && err.reason === null; // true + * }); + * ``` + * @since v8.2.0 + * @param fn An `async` function + * @return a callback style function + */ + export function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException) => void) => void; + export function callbackify( + fn: () => Promise, + ): (callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + export function callbackify( + fn: (arg1: T1) => Promise, + ): (arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void; + export function callbackify( + fn: (arg1: T1) => Promise, + ): (arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + export function callbackify( + fn: (arg1: T1, arg2: T2) => Promise, + ): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void; + export function callbackify( + fn: (arg1: T1, arg2: T2) => Promise, + ): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + export function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3) => Promise, + ): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void; + export 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; + export 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; + export 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; + export 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; + export 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; + export 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; + export 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; + export interface CustomPromisifyLegacy extends Function { + __promisify__: TCustom; + } + export interface CustomPromisifySymbol extends Function { + [promisify.custom]: TCustom; + } + export type CustomPromisify = + | CustomPromisifySymbol + | CustomPromisifyLegacy; + /** + * Takes a function following the common error-first callback style, i.e. taking + * an `(err, value) => ...` callback as the last argument, and returns a version + * that returns promises. + * + * ```js + * import { promisify } from 'node:util'; + * import { stat } from 'node:fs'; + * + * const promisifiedStat = promisify(stat); + * promisifiedStat('.').then((stats) => { + * // Do something with `stats` + * }).catch((error) => { + * // Handle the error. + * }); + * ``` + * + * Or, equivalently using `async function`s: + * + * ```js + * import { promisify } from 'node:util'; + * import { stat } from 'node:fs'; + * + * const promisifiedStat = promisify(stat); + * + * async function callStat() { + * const stats = await promisifiedStat('.'); + * console.log(`This directory is owned by ${stats.uid}`); + * } + * + * callStat(); + * ``` + * + * If there is an `original[util.promisify.custom]` property present, `promisify` + * will return its value, see [Custom promisified functions](https://nodejs.org/docs/latest-v25.x/api/util.html#custom-promisified-functions). + * + * `promisify()` assumes that `original` is a function taking a callback as its + * final argument in all cases. If `original` is not a function, `promisify()` + * will throw an error. If `original` is a function but its last argument is not + * an error-first callback, it will still be passed an error-first + * callback as its last argument. + * + * Using `promisify()` on class methods or other methods that use `this` may not + * work as expected unless handled specially: + * + * ```js + * import { promisify } from 'node:util'; + * + * class Foo { + * constructor() { + * this.a = 42; + * } + * + * bar(callback) { + * callback(null, this.a); + * } + * } + * + * const foo = new Foo(); + * + * const naiveBar = promisify(foo.bar); + * // TypeError: Cannot read properties of undefined (reading 'a') + * // naiveBar().then(a => console.log(a)); + * + * naiveBar.call(foo).then((a) => console.log(a)); // '42' + * + * const bindBar = naiveBar.bind(foo); + * bindBar().then((a) => console.log(a)); // '42' + * ``` + * @since v8.0.0 + */ + export function promisify(fn: CustomPromisify): TCustom; + export function promisify( + fn: (callback: (err: any, result: TResult) => void) => void, + ): () => Promise; + export function promisify(fn: (callback: (err?: any) => void) => void): () => Promise; + export function promisify( + fn: (arg1: T1, callback: (err: any, result: TResult) => void) => void, + ): (arg1: T1) => Promise; + export function promisify(fn: (arg1: T1, callback: (err?: any) => void) => void): (arg1: T1) => Promise; + export function promisify( + fn: (arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void, + ): (arg1: T1, arg2: T2) => Promise; + export function promisify( + fn: (arg1: T1, arg2: T2, callback: (err?: any) => void) => void, + ): (arg1: T1, arg2: T2) => Promise; + export function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3) => Promise; + export function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3) => Promise; + export 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; + export 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; + export 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; + export 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; + export function promisify(fn: Function): Function; + export namespace promisify { + /** + * That can be used to declare custom promisified variants of functions. + */ + const custom: unique symbol; + } + /** + * Stability: 1.1 - Active development + * Given an example `.env` file: + * + * ```js + * import { parseEnv } from 'node:util'; + * + * parseEnv('HELLO=world\nHELLO=oh my\n'); + * // Returns: { HELLO: 'oh my' } + * ``` + * @param content The raw contents of a `.env` file. + * @since v20.12.0 + */ + export function parseEnv(content: string): NodeJS.Dict; + export interface StyleTextOptions { + /** + * When true, `stream` is checked to see if it can handle colors. + * @default true + */ + validateStream?: boolean | undefined; + /** + * A stream that will be validated if it can be colored. + * @default process.stdout + */ + stream?: NodeJS.WritableStream | undefined; + } + /** + * This function returns a formatted text considering the `format` passed + * for printing in a terminal. It is aware of the terminal's capabilities + * and acts according to the configuration set via `NO_COLOR`, + * `NODE_DISABLE_COLORS` and `FORCE_COLOR` environment variables. + * + * ```js + * import { styleText } from 'node:util'; + * import { stderr } from 'node:process'; + * + * const successMessage = styleText('green', 'Success!'); + * console.log(successMessage); + * + * const errorMessage = styleText( + * 'red', + * 'Error! Error!', + * // Validate if process.stderr has TTY + * { stream: stderr }, + * ); + * console.error(errorMessage); + * ``` + * + * `util.inspect.colors` also provides text formats such as `italic`, and + * `underline` and you can combine both: + * + * ```js + * console.log( + * util.styleText(['underline', 'italic'], 'My italic underlined message'), + * ); + * ``` + * + * When passing an array of formats, the order of the format applied + * is left to right so the following style might overwrite the previous one. + * + * ```js + * console.log( + * util.styleText(['red', 'green'], 'text'), // green + * ); + * ``` + * + * The special format value `none` applies no additional styling to the text. + * + * The full list of formats can be found in [modifiers](https://nodejs.org/docs/latest-v25.x/api/util.html#modifiers). + * @param format A text format or an Array of text formats defined in `util.inspect.colors`. + * @param text The text to to be formatted. + * @since v20.12.0 + */ + export function styleText( + format: InspectColor | readonly InspectColor[], + text: string, + options?: StyleTextOptions, + ): string; + /** @deprecated This alias will be removed in a future version. Use the canonical `TextEncoderEncodeIntoResult` instead. */ + // TODO: remove in future major + export interface EncodeIntoResult extends TextEncoderEncodeIntoResult {} + //// parseArgs + /** + * Provides a higher level API for command-line argument parsing than interacting + * with `process.argv` directly. Takes a specification for the expected arguments + * and returns a structured object with the parsed options and positionals. + * + * ```js + * import { parseArgs } from 'node:util'; + * const args = ['-f', '--bar', 'b']; + * const options = { + * foo: { + * type: 'boolean', + * short: 'f', + * }, + * bar: { + * type: 'string', + * }, + * }; + * const { + * values, + * positionals, + * } = parseArgs({ args, options }); + * console.log(values, positionals); + * // Prints: [Object: null prototype] { foo: true, bar: 'b' } [] + * ``` + * @since v18.3.0, v16.17.0 + * @param config Used to provide arguments for parsing and to configure the parser. `config` supports the following properties: + * @return The parsed command line arguments: + */ + export function parseArgs(config?: T): ParsedResults; + /** + * Type of argument used in {@link parseArgs}. + */ + export type ParseArgsOptionsType = "boolean" | "string"; + export interface ParseArgsOptionDescriptor { + /** + * Type of argument. + */ + type: ParseArgsOptionsType; + /** + * Whether this option can be provided multiple times. + * If `true`, all values will be collected in an array. + * If `false`, values for the option are last-wins. + * @default false. + */ + multiple?: boolean | undefined; + /** + * A single character alias for the option. + */ + short?: string | undefined; + /** + * The value to assign to + * the option if it does not appear in the arguments to be parsed. The value + * must match the type specified by the `type` property. If `multiple` is + * `true`, it must be an array. No default value is applied when the option + * does appear in the arguments to be parsed, even if the provided value + * is falsy. + * @since v18.11.0 + */ + default?: string | boolean | string[] | boolean[] | undefined; + } + export interface ParseArgsOptionsConfig { + [longOption: string]: ParseArgsOptionDescriptor; + } + export interface ParseArgsConfig { + /** + * Array of argument strings. + */ + args?: readonly string[] | undefined; + /** + * Used to describe arguments known to the parser. + */ + options?: ParseArgsOptionsConfig | undefined; + /** + * Should an error be thrown when unknown arguments are encountered, + * or when arguments are passed that do not match the `type` configured in `options`. + * @default true + */ + strict?: boolean | undefined; + /** + * Whether this command accepts positional arguments. + */ + allowPositionals?: boolean | undefined; + /** + * If `true`, allows explicitly setting boolean options to `false` by prefixing the option name with `--no-`. + * @default false + * @since v22.4.0 + */ + allowNegative?: boolean | undefined; + /** + * Return the parsed tokens. This is useful for extending the built-in behavior, + * from adding additional checks through to reprocessing the tokens in different ways. + * @default false + */ + tokens?: boolean | undefined; + } + /* + IfDefaultsTrue and IfDefaultsFalse are helpers to handle default values for missing boolean properties. + TypeScript does not have exact types for objects: https://github.com/microsoft/TypeScript/issues/12936 + This means it is impossible to distinguish between "field X is definitely not present" and "field X may or may not be present". + But we expect users to generally provide their config inline or `as const`, which means TS will always know whether a given field is present. + So this helper treats "not definitely present" (i.e., not `extends boolean`) as being "definitely not present", i.e. it should have its default value. + This is technically incorrect but is a much nicer UX for the common case. + The IfDefaultsTrue version is for things which default to true; the IfDefaultsFalse version is for things which default to false. + */ + type IfDefaultsTrue = T extends true ? IfTrue + : T extends false ? IfFalse + : IfTrue; + // we put the `extends false` condition first here because `undefined` compares like `any` when `strictNullChecks: false` + type IfDefaultsFalse = T extends false ? IfFalse + : T extends true ? IfTrue + : IfFalse; + type ExtractOptionValue = IfDefaultsTrue< + T["strict"], + O["type"] extends "string" ? string : O["type"] extends "boolean" ? boolean : string | boolean, + string | boolean + >; + type ApplyOptionalModifiers> = ( + & { -readonly [LongOption in keyof O]?: V[LongOption] } + & { [LongOption in keyof O as O[LongOption]["default"] extends {} ? LongOption : never]: V[LongOption] } + ) extends infer P ? { [K in keyof P]: P[K] } : never; // resolve intersection to object + type ParsedValues = + & IfDefaultsTrue + & (T["options"] extends ParseArgsOptionsConfig ? ApplyOptionalModifiers< + T["options"], + { + [LongOption in keyof T["options"]]: IfDefaultsFalse< + T["options"][LongOption]["multiple"], + Array>, + ExtractOptionValue + >; + } + > + : {}); + type ParsedPositionals = IfDefaultsTrue< + T["strict"], + IfDefaultsFalse, + IfDefaultsTrue + >; + type PreciseTokenForOptions< + K extends string, + O extends ParseArgsOptionDescriptor, + > = O["type"] extends "string" ? { + kind: "option"; + index: number; + name: K; + rawName: string; + value: string; + inlineValue: boolean; + } + : O["type"] extends "boolean" ? { + kind: "option"; + index: number; + name: K; + rawName: string; + value: undefined; + inlineValue: undefined; + } + : OptionToken & { name: K }; + type TokenForOptions< + T extends ParseArgsConfig, + K extends keyof T["options"] = keyof T["options"], + > = K extends unknown + ? T["options"] extends ParseArgsOptionsConfig ? PreciseTokenForOptions + : OptionToken + : never; + type ParsedOptionToken = IfDefaultsTrue, OptionToken>; + type ParsedPositionalToken = IfDefaultsTrue< + T["strict"], + IfDefaultsFalse, + IfDefaultsTrue + >; + type ParsedTokens = Array< + ParsedOptionToken | ParsedPositionalToken | { kind: "option-terminator"; index: number } + >; + type PreciseParsedResults = IfDefaultsFalse< + T["tokens"], + { + values: ParsedValues; + positionals: ParsedPositionals; + tokens: ParsedTokens; + }, + { + values: ParsedValues; + positionals: ParsedPositionals; + } + >; + type OptionToken = + | { kind: "option"; index: number; name: string; rawName: string; value: string; inlineValue: boolean } + | { + kind: "option"; + index: number; + name: string; + rawName: string; + value: undefined; + inlineValue: undefined; + }; + type Token = + | OptionToken + | { kind: "positional"; index: number; value: string } + | { kind: "option-terminator"; index: number }; + // If ParseArgsConfig extends T, then the user passed config constructed elsewhere. + // So we can't rely on the `"not definitely present" implies "definitely not present"` assumption mentioned above. + type ParsedResults = ParseArgsConfig extends T ? { + values: { + [longOption: string]: undefined | string | boolean | Array; + }; + positionals: string[]; + tokens?: Token[]; + } + : PreciseParsedResults; + /** + * An implementation of [the MIMEType class](https://bmeck.github.io/node-proposal-mime-api/). + * + * In accordance with browser conventions, all properties of `MIMEType` objects + * are implemented as getters and setters on the class prototype, rather than as + * data properties on the object itself. + * + * A MIME string is a structured string containing multiple meaningful + * components. When parsed, a `MIMEType` object is returned containing + * properties for each of these components. + * @since v19.1.0, v18.13.0 + */ + export class MIMEType { + /** + * Creates a new MIMEType object by parsing the input. + * + * A `TypeError` will be thrown if the `input` is not a valid MIME. + * Note that an effort will be made to coerce the given values into strings. + * @param input The input MIME to parse. + */ + constructor(input: string | { toString: () => string }); + /** + * Gets and sets the type portion of the MIME. + * + * ```js + * import { MIMEType } from 'node:util'; + * + * const myMIME = new MIMEType('text/javascript'); + * console.log(myMIME.type); + * // Prints: text + * myMIME.type = 'application'; + * console.log(myMIME.type); + * // Prints: application + * console.log(String(myMIME)); + * // Prints: application/javascript + * ``` + */ + type: string; + /** + * Gets and sets the subtype portion of the MIME. + * + * ```js + * import { MIMEType } from 'node:util'; + * + * const myMIME = new MIMEType('text/ecmascript'); + * console.log(myMIME.subtype); + * // Prints: ecmascript + * myMIME.subtype = 'javascript'; + * console.log(myMIME.subtype); + * // Prints: javascript + * console.log(String(myMIME)); + * // Prints: text/javascript + * ``` + */ + subtype: string; + /** + * Gets the essence of the MIME. This property is read only. + * Use `mime.type` or `mime.subtype` to alter the MIME. + * + * ```js + * import { MIMEType } from 'node:util'; + * + * const myMIME = new MIMEType('text/javascript;key=value'); + * console.log(myMIME.essence); + * // Prints: text/javascript + * myMIME.type = 'application'; + * console.log(myMIME.essence); + * // Prints: application/javascript + * console.log(String(myMIME)); + * // Prints: application/javascript;key=value + * ``` + */ + readonly essence: string; + /** + * Gets the `MIMEParams` object representing the + * parameters of the MIME. This property is read-only. See `MIMEParams` documentation for details. + */ + readonly params: MIMEParams; + /** + * The `toString()` method on the `MIMEType` object returns the serialized MIME. + * + * Because of the need for standard compliance, this method does not allow users + * to customize the serialization process of the MIME. + */ + toString(): string; + } + /** + * The `MIMEParams` API provides read and write access to the parameters of a `MIMEType`. + * @since v19.1.0, v18.13.0 + */ + export class MIMEParams { + /** + * Remove all name-value pairs whose name is `name`. + */ + delete(name: string): void; + /** + * Returns an iterator over each of the name-value pairs in the parameters. + * Each item of the iterator is a JavaScript `Array`. The first item of the array + * is the `name`, the second item of the array is the `value`. + */ + entries(): NodeJS.Iterator<[name: string, value: string]>; + /** + * Returns the value of the first name-value pair whose name is `name`. If there + * are no such pairs, `null` is returned. + * @return or `null` if there is no name-value pair with the given `name`. + */ + get(name: string): string | null; + /** + * Returns `true` if there is at least one name-value pair whose name is `name`. + */ + has(name: string): boolean; + /** + * Returns an iterator over the names of each name-value pair. + * + * ```js + * import { MIMEType } from 'node:util'; + * + * const { params } = new MIMEType('text/plain;foo=0;bar=1'); + * for (const name of params.keys()) { + * console.log(name); + * } + * // Prints: + * // foo + * // bar + * ``` + */ + keys(): NodeJS.Iterator; + /** + * Sets the value in the `MIMEParams` object associated with `name` to `value`. If there are any pre-existing name-value pairs whose names are `name`, + * set the first such pair's value to `value`. + * + * ```js + * import { MIMEType } from 'node:util'; + * + * const { params } = new MIMEType('text/plain;foo=0;bar=1'); + * params.set('foo', 'def'); + * params.set('baz', 'xyz'); + * console.log(params.toString()); + * // Prints: foo=def;bar=1;baz=xyz + * ``` + */ + set(name: string, value: string): void; + /** + * Returns an iterator over the values of each name-value pair. + */ + values(): NodeJS.Iterator; + /** + * Returns an iterator over each of the name-value pairs in the parameters. + */ + [Symbol.iterator](): NodeJS.Iterator<[name: string, value: string]>; + } + // #region web types + export interface TextDecodeOptions { + stream?: boolean; + } + export interface TextDecoderCommon { + readonly encoding: string; + readonly fatal: boolean; + readonly ignoreBOM: boolean; + } + export interface TextDecoderOptions { + fatal?: boolean; + ignoreBOM?: boolean; + } + export interface TextEncoderCommon { + readonly encoding: string; + } + export interface TextEncoderEncodeIntoResult { + read: number; + written: number; + } + export interface TextDecoder extends TextDecoderCommon { + decode(input?: NodeJS.AllowSharedBufferSource, options?: TextDecodeOptions): string; + } + export var TextDecoder: { + prototype: TextDecoder; + new(label?: string, options?: TextDecoderOptions): TextDecoder; + }; + export interface TextEncoder extends TextEncoderCommon { + encode(input?: string): NodeJS.NonSharedUint8Array; + encodeInto(source: string, destination: Uint8Array): TextEncoderEncodeIntoResult; + } + export var TextEncoder: { + prototype: TextEncoder; + new(): TextEncoder; + }; + // #endregion +} +declare module "util" { + export * from "node:util"; +} diff --git a/node_modules/@types/node/util/types.d.ts b/node_modules/@types/node/util/types.d.ts new file mode 100644 index 0000000..818825b --- /dev/null +++ b/node_modules/@types/node/util/types.d.ts @@ -0,0 +1,558 @@ +declare module "node:util/types" { + import { KeyObject, webcrypto } from "node:crypto"; + /** + * Returns `true` if the value is a built-in [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) or + * [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) instance. + * + * See also `util.types.isArrayBuffer()` and `util.types.isSharedArrayBuffer()`. + * + * ```js + * util.types.isAnyArrayBuffer(new ArrayBuffer()); // Returns true + * util.types.isAnyArrayBuffer(new SharedArrayBuffer()); // Returns true + * ``` + * @since v10.0.0 + */ + function isAnyArrayBuffer(object: unknown): object is ArrayBufferLike; + /** + * Returns `true` if the value is an `arguments` object. + * + * ```js + * function foo() { + * util.types.isArgumentsObject(arguments); // Returns true + * } + * ``` + * @since v10.0.0 + */ + function isArgumentsObject(object: unknown): object is IArguments; + /** + * Returns `true` if the value is a built-in [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) instance. + * This does _not_ include [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) instances. Usually, it is + * desirable to test for both; See `util.types.isAnyArrayBuffer()` for that. + * + * ```js + * util.types.isArrayBuffer(new ArrayBuffer()); // Returns true + * util.types.isArrayBuffer(new SharedArrayBuffer()); // Returns false + * ``` + * @since v10.0.0 + */ + function isArrayBuffer(object: unknown): object is ArrayBuffer; + /** + * Returns `true` if the value is an instance of one of the [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) views, such as typed + * array objects or [`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView). Equivalent to + * [`ArrayBuffer.isView()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView). + * + * ```js + * util.types.isArrayBufferView(new Int8Array()); // true + * util.types.isArrayBufferView(Buffer.from('hello world')); // true + * util.types.isArrayBufferView(new DataView(new ArrayBuffer(16))); // true + * util.types.isArrayBufferView(new ArrayBuffer()); // false + * ``` + * @since v10.0.0 + */ + function isArrayBufferView(object: unknown): object is NodeJS.ArrayBufferView; + /** + * Returns `true` if the value is an [async function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function). + * This only reports back what the JavaScript engine is seeing; + * in particular, the return value may not match the original source code if + * a transpilation tool was used. + * + * ```js + * util.types.isAsyncFunction(function foo() {}); // Returns false + * util.types.isAsyncFunction(async function foo() {}); // Returns true + * ``` + * @since v10.0.0 + */ + function isAsyncFunction(object: unknown): boolean; + /** + * Returns `true` if the value is a `BigInt64Array` instance. + * + * ```js + * util.types.isBigInt64Array(new BigInt64Array()); // Returns true + * util.types.isBigInt64Array(new BigUint64Array()); // Returns false + * ``` + * @since v10.0.0 + */ + function isBigInt64Array(value: unknown): value is BigInt64Array; + /** + * Returns `true` if the value is a BigInt object, e.g. created + * by `Object(BigInt(123))`. + * + * ```js + * util.types.isBigIntObject(Object(BigInt(123))); // Returns true + * util.types.isBigIntObject(BigInt(123)); // Returns false + * util.types.isBigIntObject(123); // Returns false + * ``` + * @since v10.4.0 + */ + function isBigIntObject(object: unknown): object is BigInt; + /** + * Returns `true` if the value is a `BigUint64Array` instance. + * + * ```js + * util.types.isBigUint64Array(new BigInt64Array()); // Returns false + * util.types.isBigUint64Array(new BigUint64Array()); // Returns true + * ``` + * @since v10.0.0 + */ + function isBigUint64Array(value: unknown): value is BigUint64Array; + /** + * Returns `true` if the value is a boolean object, e.g. created + * by `new Boolean()`. + * + * ```js + * util.types.isBooleanObject(false); // Returns false + * util.types.isBooleanObject(true); // Returns false + * util.types.isBooleanObject(new Boolean(false)); // Returns true + * util.types.isBooleanObject(new Boolean(true)); // Returns true + * util.types.isBooleanObject(Boolean(false)); // Returns false + * util.types.isBooleanObject(Boolean(true)); // Returns false + * ``` + * @since v10.0.0 + */ + function isBooleanObject(object: unknown): object is Boolean; + /** + * Returns `true` if the value is any boxed primitive object, e.g. created + * by `new Boolean()`, `new String()` or `Object(Symbol())`. + * + * For example: + * + * ```js + * util.types.isBoxedPrimitive(false); // Returns false + * util.types.isBoxedPrimitive(new Boolean(false)); // Returns true + * util.types.isBoxedPrimitive(Symbol('foo')); // Returns false + * util.types.isBoxedPrimitive(Object(Symbol('foo'))); // Returns true + * util.types.isBoxedPrimitive(Object(BigInt(5))); // Returns true + * ``` + * @since v10.11.0 + */ + function isBoxedPrimitive(object: unknown): object is String | Number | BigInt | Boolean | Symbol; + /** + * Returns `true` if the value is a built-in [`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView) instance. + * + * ```js + * const ab = new ArrayBuffer(20); + * util.types.isDataView(new DataView(ab)); // Returns true + * util.types.isDataView(new Float64Array()); // Returns false + * ``` + * + * See also [`ArrayBuffer.isView()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView). + * @since v10.0.0 + */ + function isDataView(object: unknown): object is DataView; + /** + * Returns `true` if the value is a built-in [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) instance. + * + * ```js + * util.types.isDate(new Date()); // Returns true + * ``` + * @since v10.0.0 + */ + function isDate(object: unknown): object is Date; + /** + * Returns `true` if the value is a native `External` value. + * + * A native `External` value is a special type of object that contains a + * raw C++ pointer (`void*`) for access from native code, and has no other + * properties. Such objects are created either by Node.js internals or native + * addons. In JavaScript, they are + * [frozen](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze) objects with a + * `null` prototype. + * + * ```c + * #include + * #include + * napi_value result; + * static napi_value MyNapi(napi_env env, napi_callback_info info) { + * int* raw = (int*) malloc(1024); + * napi_status status = napi_create_external(env, (void*) raw, NULL, NULL, &result); + * if (status != napi_ok) { + * napi_throw_error(env, NULL, "napi_create_external failed"); + * return NULL; + * } + * return result; + * } + * ... + * DECLARE_NAPI_PROPERTY("myNapi", MyNapi) + * ... + * ``` + * + * ```js + * import native from 'napi_addon.node'; + * import { types } from 'node:util'; + * + * const data = native.myNapi(); + * types.isExternal(data); // returns true + * types.isExternal(0); // returns false + * types.isExternal(new String('foo')); // returns false + * ``` + * + * For further information on `napi_create_external`, refer to + * [`napi_create_external()`](https://nodejs.org/docs/latest-v25.x/api/n-api.html#napi_create_external). + * @since v10.0.0 + */ + function isExternal(object: unknown): boolean; + /** + * Returns `true` if the value is a built-in [`Float16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float16Array) instance. + * + * ```js + * util.types.isFloat16Array(new ArrayBuffer()); // Returns false + * util.types.isFloat16Array(new Float16Array()); // Returns true + * util.types.isFloat16Array(new Float32Array()); // Returns false + * ``` + * @since v24.0.0 + */ + function isFloat16Array(object: unknown): object is Float16Array; + /** + * Returns `true` if the value is a built-in [`Float32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array) instance. + * + * ```js + * util.types.isFloat32Array(new ArrayBuffer()); // Returns false + * util.types.isFloat32Array(new Float32Array()); // Returns true + * util.types.isFloat32Array(new Float64Array()); // Returns false + * ``` + * @since v10.0.0 + */ + function isFloat32Array(object: unknown): object is Float32Array; + /** + * Returns `true` if the value is a built-in [`Float64Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array) instance. + * + * ```js + * util.types.isFloat64Array(new ArrayBuffer()); // Returns false + * util.types.isFloat64Array(new Uint8Array()); // Returns false + * util.types.isFloat64Array(new Float64Array()); // Returns true + * ``` + * @since v10.0.0 + */ + function isFloat64Array(object: unknown): object is Float64Array; + /** + * Returns `true` if the value is a generator function. + * This only reports back what the JavaScript engine is seeing; + * in particular, the return value may not match the original source code if + * a transpilation tool was used. + * + * ```js + * util.types.isGeneratorFunction(function foo() {}); // Returns false + * util.types.isGeneratorFunction(function* foo() {}); // Returns true + * ``` + * @since v10.0.0 + */ + function isGeneratorFunction(object: unknown): object is GeneratorFunction; + /** + * Returns `true` if the value is a generator object as returned from a + * built-in generator function. + * This only reports back what the JavaScript engine is seeing; + * in particular, the return value may not match the original source code if + * a transpilation tool was used. + * + * ```js + * function* foo() {} + * const generator = foo(); + * util.types.isGeneratorObject(generator); // Returns true + * ``` + * @since v10.0.0 + */ + function isGeneratorObject(object: unknown): object is Generator; + /** + * Returns `true` if the value is a built-in [`Int8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array) instance. + * + * ```js + * util.types.isInt8Array(new ArrayBuffer()); // Returns false + * util.types.isInt8Array(new Int8Array()); // Returns true + * util.types.isInt8Array(new Float64Array()); // Returns false + * ``` + * @since v10.0.0 + */ + function isInt8Array(object: unknown): object is Int8Array; + /** + * Returns `true` if the value is a built-in [`Int16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array) instance. + * + * ```js + * util.types.isInt16Array(new ArrayBuffer()); // Returns false + * util.types.isInt16Array(new Int16Array()); // Returns true + * util.types.isInt16Array(new Float64Array()); // Returns false + * ``` + * @since v10.0.0 + */ + function isInt16Array(object: unknown): object is Int16Array; + /** + * Returns `true` if the value is a built-in [`Int32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array) instance. + * + * ```js + * util.types.isInt32Array(new ArrayBuffer()); // Returns false + * util.types.isInt32Array(new Int32Array()); // Returns true + * util.types.isInt32Array(new Float64Array()); // Returns false + * ``` + * @since v10.0.0 + */ + function isInt32Array(object: unknown): object is Int32Array; + /** + * Returns `true` if the value is a built-in [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) instance. + * + * ```js + * util.types.isMap(new Map()); // Returns true + * ``` + * @since v10.0.0 + */ + function isMap( + object: T | {}, + ): object is T extends ReadonlyMap ? (unknown extends T ? never : ReadonlyMap) + : Map; + /** + * Returns `true` if the value is an iterator returned for a built-in [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) instance. + * + * ```js + * const map = new Map(); + * util.types.isMapIterator(map.keys()); // Returns true + * util.types.isMapIterator(map.values()); // Returns true + * util.types.isMapIterator(map.entries()); // Returns true + * util.types.isMapIterator(map[Symbol.iterator]()); // Returns true + * ``` + * @since v10.0.0 + */ + function isMapIterator(object: unknown): boolean; + /** + * Returns `true` if the value is an instance of a [Module Namespace Object](https://tc39.github.io/ecma262/#sec-module-namespace-exotic-objects). + * + * ```js + * import * as ns from './a.js'; + * + * util.types.isModuleNamespaceObject(ns); // Returns true + * ``` + * @since v10.0.0 + */ + function isModuleNamespaceObject(value: unknown): boolean; + /** + * Returns `true` if the value was returned by the constructor of a + * [built-in `Error` type](https://tc39.es/ecma262/#sec-error-objects). + * + * ```js + * console.log(util.types.isNativeError(new Error())); // true + * console.log(util.types.isNativeError(new TypeError())); // true + * console.log(util.types.isNativeError(new RangeError())); // true + * ``` + * + * Subclasses of the native error types are also native errors: + * + * ```js + * class MyError extends Error {} + * console.log(util.types.isNativeError(new MyError())); // true + * ``` + * + * A value being `instanceof` a native error class is not equivalent to `isNativeError()` + * returning `true` for that value. `isNativeError()` returns `true` for errors + * which come from a different [realm](https://tc39.es/ecma262/#realm) while `instanceof Error` returns `false` + * for these errors: + * + * ```js + * import { createContext, runInContext } from 'node:vm'; + * import { types } from 'node:util'; + * + * const context = createContext({}); + * const myError = runInContext('new Error()', context); + * console.log(types.isNativeError(myError)); // true + * console.log(myError instanceof Error); // false + * ``` + * + * Conversely, `isNativeError()` returns `false` for all objects which were not + * returned by the constructor of a native error. That includes values + * which are `instanceof` native errors: + * + * ```js + * const myError = { __proto__: Error.prototype }; + * console.log(util.types.isNativeError(myError)); // false + * console.log(myError instanceof Error); // true + * ``` + * @since v10.0.0 + * @deprecated The `util.types.isNativeError` API is deprecated. Please use `Error.isError` instead. + */ + function isNativeError(object: unknown): object is Error; + /** + * Returns `true` if the value is a number object, e.g. created + * by `new Number()`. + * + * ```js + * util.types.isNumberObject(0); // Returns false + * util.types.isNumberObject(new Number(0)); // Returns true + * ``` + * @since v10.0.0 + */ + function isNumberObject(object: unknown): object is Number; + /** + * Returns `true` if the value is a built-in [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise). + * + * ```js + * util.types.isPromise(Promise.resolve(42)); // Returns true + * ``` + * @since v10.0.0 + */ + function isPromise(object: unknown): object is Promise; + /** + * Returns `true` if the value is a [`Proxy`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy) instance. + * + * ```js + * const target = {}; + * const proxy = new Proxy(target, {}); + * util.types.isProxy(target); // Returns false + * util.types.isProxy(proxy); // Returns true + * ``` + * @since v10.0.0 + */ + function isProxy(object: unknown): boolean; + /** + * Returns `true` if the value is a regular expression object. + * + * ```js + * util.types.isRegExp(/abc/); // Returns true + * util.types.isRegExp(new RegExp('abc')); // Returns true + * ``` + * @since v10.0.0 + */ + function isRegExp(object: unknown): object is RegExp; + /** + * Returns `true` if the value is a built-in [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) instance. + * + * ```js + * util.types.isSet(new Set()); // Returns true + * ``` + * @since v10.0.0 + */ + function isSet( + object: T | {}, + ): object is T extends ReadonlySet ? (unknown extends T ? never : ReadonlySet) : Set; + /** + * Returns `true` if the value is an iterator returned for a built-in [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) instance. + * + * ```js + * const set = new Set(); + * util.types.isSetIterator(set.keys()); // Returns true + * util.types.isSetIterator(set.values()); // Returns true + * util.types.isSetIterator(set.entries()); // Returns true + * util.types.isSetIterator(set[Symbol.iterator]()); // Returns true + * ``` + * @since v10.0.0 + */ + function isSetIterator(object: unknown): boolean; + /** + * Returns `true` if the value is a built-in [`SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) instance. + * This does _not_ include [`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) instances. Usually, it is + * desirable to test for both; See `util.types.isAnyArrayBuffer()` for that. + * + * ```js + * util.types.isSharedArrayBuffer(new ArrayBuffer()); // Returns false + * util.types.isSharedArrayBuffer(new SharedArrayBuffer()); // Returns true + * ``` + * @since v10.0.0 + */ + function isSharedArrayBuffer(object: unknown): object is SharedArrayBuffer; + /** + * Returns `true` if the value is a string object, e.g. created + * by `new String()`. + * + * ```js + * util.types.isStringObject('foo'); // Returns false + * util.types.isStringObject(new String('foo')); // Returns true + * ``` + * @since v10.0.0 + */ + function isStringObject(object: unknown): object is String; + /** + * Returns `true` if the value is a symbol object, created + * by calling `Object()` on a `Symbol` primitive. + * + * ```js + * const symbol = Symbol('foo'); + * util.types.isSymbolObject(symbol); // Returns false + * util.types.isSymbolObject(Object(symbol)); // Returns true + * ``` + * @since v10.0.0 + */ + function isSymbolObject(object: unknown): object is Symbol; + /** + * Returns `true` if the value is a built-in [`TypedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) instance. + * + * ```js + * util.types.isTypedArray(new ArrayBuffer()); // Returns false + * util.types.isTypedArray(new Uint8Array()); // Returns true + * util.types.isTypedArray(new Float64Array()); // Returns true + * ``` + * + * See also [`ArrayBuffer.isView()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView). + * @since v10.0.0 + */ + function isTypedArray(object: unknown): object is NodeJS.TypedArray; + /** + * Returns `true` if the value is a built-in [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) instance. + * + * ```js + * util.types.isUint8Array(new ArrayBuffer()); // Returns false + * util.types.isUint8Array(new Uint8Array()); // Returns true + * util.types.isUint8Array(new Float64Array()); // Returns false + * ``` + * @since v10.0.0 + */ + function isUint8Array(object: unknown): object is Uint8Array; + /** + * Returns `true` if the value is a built-in [`Uint8ClampedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray) instance. + * + * ```js + * util.types.isUint8ClampedArray(new ArrayBuffer()); // Returns false + * util.types.isUint8ClampedArray(new Uint8ClampedArray()); // Returns true + * util.types.isUint8ClampedArray(new Float64Array()); // Returns false + * ``` + * @since v10.0.0 + */ + function isUint8ClampedArray(object: unknown): object is Uint8ClampedArray; + /** + * Returns `true` if the value is a built-in [`Uint16Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array) instance. + * + * ```js + * util.types.isUint16Array(new ArrayBuffer()); // Returns false + * util.types.isUint16Array(new Uint16Array()); // Returns true + * util.types.isUint16Array(new Float64Array()); // Returns false + * ``` + * @since v10.0.0 + */ + function isUint16Array(object: unknown): object is Uint16Array; + /** + * Returns `true` if the value is a built-in [`Uint32Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array) instance. + * + * ```js + * util.types.isUint32Array(new ArrayBuffer()); // Returns false + * util.types.isUint32Array(new Uint32Array()); // Returns true + * util.types.isUint32Array(new Float64Array()); // Returns false + * ``` + * @since v10.0.0 + */ + function isUint32Array(object: unknown): object is Uint32Array; + /** + * Returns `true` if the value is a built-in [`WeakMap`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap) instance. + * + * ```js + * util.types.isWeakMap(new WeakMap()); // Returns true + * ``` + * @since v10.0.0 + */ + function isWeakMap(object: unknown): object is WeakMap; + /** + * Returns `true` if the value is a built-in [`WeakSet`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet) instance. + * + * ```js + * util.types.isWeakSet(new WeakSet()); // Returns true + * ``` + * @since v10.0.0 + */ + function isWeakSet(object: unknown): object is WeakSet; + /** + * Returns `true` if `value` is a `KeyObject`, `false` otherwise. + * @since v16.2.0 + */ + function isKeyObject(object: unknown): object is KeyObject; + /** + * Returns `true` if `value` is a `CryptoKey`, `false` otherwise. + * @since v16.2.0 + */ + function isCryptoKey(object: unknown): object is webcrypto.CryptoKey; +} +declare module "util/types" { + export * from "node:util/types"; +} diff --git a/node_modules/@types/node/v8.d.ts b/node_modules/@types/node/v8.d.ts new file mode 100644 index 0000000..c121c61 --- /dev/null +++ b/node_modules/@types/node/v8.d.ts @@ -0,0 +1,980 @@ +declare module "node:v8" { + import { NonSharedBuffer } from "node:buffer"; + import { Readable } from "node: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; + total_global_handles_size: number; + used_global_handles_size: number; + external_memory: number; + total_allocated_bytes: number; + } + interface HeapCodeStatistics { + code_and_metadata_size: number; + bytecode_and_metadata_size: number; + external_script_source_size: number; + } + interface HeapSnapshotOptions { + /** + * If true, expose internals in the heap snapshot. + * @default false + */ + exposeInternals?: boolean | undefined; + /** + * If true, expose numeric values in artificial fields. + * @default false + */ + exposeNumericValues?: boolean | undefined; + } + /** + * 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. + * + * ```js + * console.log(v8.cachedDataVersionTag()); // 3947234607 + * // The value returned by v8.cachedDataVersionTag() is derived from the V8 + * // version, command-line flags, and detected CPU features. Test that the value + * // does indeed update when flags are toggled. + * v8.setFlagsFromString('--allow_natives_syntax'); + * console.log(v8.cachedDataVersionTag()); // 183726201 + * ``` + * @since v8.0.0 + */ + function cachedDataVersionTag(): number; + /** + * Returns an object with the following properties: + * + * `does_zap_garbage` is a 0/1 boolean, which signifies whether the `--zap_code_space` option is enabled or not. This makes V8 overwrite heap + * garbage with a bit pattern. The RSS footprint (resident set size) gets bigger + * because it continuously touches all heap pages and that makes them less likely + * to get swapped out by the operating system. + * + * `number_of_native_contexts` The value of native\_context is the number of the + * top-level contexts currently active. Increase of this number over time indicates + * a memory leak. + * + * `number_of_detached_contexts` The value of detached\_context is the number + * of contexts that were detached and not yet garbage collected. This number + * being non-zero indicates a potential memory leak. + * + * `total_global_handles_size` The value of total\_global\_handles\_size is the + * total memory size of V8 global handles. + * + * `used_global_handles_size` The value of used\_global\_handles\_size is the + * used memory size of V8 global handles. + * + * `external_memory` The value of external\_memory is the memory size of array + * buffers and external strings. + * + * `total_allocated_bytes` The value of total allocated bytes since the Isolate + * creation. + * + * ```js + * { + * total_heap_size: 7326976, + * total_heap_size_executable: 4194304, + * total_physical_size: 7326976, + * total_available_size: 1152656, + * used_heap_size: 3476208, + * heap_size_limit: 1535115264, + * malloced_memory: 16384, + * peak_malloced_memory: 1127496, + * does_zap_garbage: 0, + * number_of_native_contexts: 1, + * number_of_detached_contexts: 0, + * total_global_handles_size: 8192, + * used_global_handles_size: 3296, + * external_memory: 318824, + * total_allocated_bytes: 45224088 + * } + * ``` + * @since v1.0.0 + */ + function getHeapStatistics(): HeapInfo; + /** + * It returns an object with a structure similar to the + * [`cppgc::HeapStatistics`](https://v8docs.nodesource.com/node-22.4/d7/d51/heap-statistics_8h_source.html) + * object. See the [V8 documentation](https://v8docs.nodesource.com/node-22.4/df/d2f/structcppgc_1_1_heap_statistics.html) + * for more information about the properties of the object. + * + * ```js + * // Detailed + * ({ + * committed_size_bytes: 131072, + * resident_size_bytes: 131072, + * used_size_bytes: 152, + * space_statistics: [ + * { + * name: 'NormalPageSpace0', + * committed_size_bytes: 0, + * resident_size_bytes: 0, + * used_size_bytes: 0, + * page_stats: [{}], + * free_list_stats: {}, + * }, + * { + * name: 'NormalPageSpace1', + * committed_size_bytes: 131072, + * resident_size_bytes: 131072, + * used_size_bytes: 152, + * page_stats: [{}], + * free_list_stats: {}, + * }, + * { + * name: 'NormalPageSpace2', + * committed_size_bytes: 0, + * resident_size_bytes: 0, + * used_size_bytes: 0, + * page_stats: [{}], + * free_list_stats: {}, + * }, + * { + * name: 'NormalPageSpace3', + * committed_size_bytes: 0, + * resident_size_bytes: 0, + * used_size_bytes: 0, + * page_stats: [{}], + * free_list_stats: {}, + * }, + * { + * name: 'LargePageSpace', + * committed_size_bytes: 0, + * resident_size_bytes: 0, + * used_size_bytes: 0, + * page_stats: [{}], + * free_list_stats: {}, + * }, + * ], + * type_names: [], + * detail_level: 'detailed', + * }); + * ``` + * + * ```js + * // Brief + * ({ + * committed_size_bytes: 131072, + * resident_size_bytes: 131072, + * used_size_bytes: 128864, + * space_statistics: [], + * type_names: [], + * detail_level: 'brief', + * }); + * ``` + * @since v22.15.0 + * @param detailLevel **Default:** `'detailed'`. Specifies the level of detail in the returned statistics. + * Accepted values are: + * * `'brief'`: Brief statistics contain only the top-level + * allocated and used + * memory statistics for the entire heap. + * * `'detailed'`: Detailed statistics also contain a break + * down per space and page, as well as freelist statistics + * and object type histograms. + */ + function getCppHeapStatistics(detailLevel?: "brief" | "detailed"): object; + /** + * Returns statistics about the V8 heap spaces, i.e. the segments which make up + * the V8 heap. Neither the ordering of heap spaces, nor the availability of a + * heap space can be guaranteed as the statistics are provided via the + * V8 [`GetHeapSpaceStatistics`](https://v8docs.nodesource.com/node-13.2/d5/dda/classv8_1_1_isolate.html#ac673576f24fdc7a33378f8f57e1d13a4) function and may change from one V8 version to the + * next. + * + * The value returned is an array of objects containing the following properties: + * + * ```json + * [ + * { + * "space_name": "new_space", + * "space_size": 2063872, + * "space_used_size": 951112, + * "space_available_size": 80824, + * "physical_space_size": 2063872 + * }, + * { + * "space_name": "old_space", + * "space_size": 3090560, + * "space_used_size": 2493792, + * "space_available_size": 0, + * "physical_space_size": 3090560 + * }, + * { + * "space_name": "code_space", + * "space_size": 1260160, + * "space_used_size": 644256, + * "space_available_size": 960, + * "physical_space_size": 1260160 + * }, + * { + * "space_name": "map_space", + * "space_size": 1094160, + * "space_used_size": 201608, + * "space_available_size": 0, + * "physical_space_size": 1094160 + * }, + * { + * "space_name": "large_object_space", + * "space_size": 0, + * "space_used_size": 0, + * "space_available_size": 1490980608, + * "physical_space_size": 0 + * } + * ] + * ``` + * @since v6.0.0 + */ + function getHeapSpaceStatistics(): HeapSpaceInfo[]; + /** + * The `v8.setFlagsFromString()` method can be used to programmatically set + * V8 command-line flags. This method should be used with care. Changing settings + * after the VM has started may result in unpredictable behavior, including + * crashes and data loss; or it may simply do nothing. + * + * The V8 options available for a version of Node.js may be determined by running `node --v8-options`. + * + * Usage: + * + * ```js + * // Print GC events to stdout for one minute. + * import v8 from 'node:v8'; + * v8.setFlagsFromString('--trace_gc'); + * setTimeout(() => { v8.setFlagsFromString('--notrace_gc'); }, 60e3); + * ``` + * @since v1.0.0 + */ + function setFlagsFromString(flags: string): void; + /** + * This is similar to the [`queryObjects()` console API](https://developer.chrome.com/docs/devtools/console/utilities#queryObjects-function) + * provided by the Chromium DevTools console. It can be used to search for objects that have the matching constructor on its prototype chain + * in the heap after a full garbage collection, which can be useful for memory leak regression tests. To avoid surprising results, users should + * avoid using this API on constructors whose implementation they don't control, or on constructors that can be invoked by other parties in the + * application. + * + * To avoid accidental leaks, this API does not return raw references to the objects found. By default, it returns the count of the objects + * found. If `options.format` is `'summary'`, it returns an array containing brief string representations for each object. The visibility provided + * in this API is similar to what the heap snapshot provides, while users can save the cost of serialization and parsing and directly filter the + * target objects during the search. + * + * Only objects created in the current execution context are included in the results. + * + * ```js + * import { queryObjects } from 'node:v8'; + * class A { foo = 'bar'; } + * console.log(queryObjects(A)); // 0 + * const a = new A(); + * console.log(queryObjects(A)); // 1 + * // [ "A { foo: 'bar' }" ] + * console.log(queryObjects(A, { format: 'summary' })); + * + * class B extends A { bar = 'qux'; } + * const b = new B(); + * console.log(queryObjects(B)); // 1 + * // [ "B { foo: 'bar', bar: 'qux' }" ] + * console.log(queryObjects(B, { format: 'summary' })); + * + * // Note that, when there are child classes inheriting from a constructor, + * // the constructor also shows up in the prototype chain of the child + * // classes's prototoype, so the child classes's prototoype would also be + * // included in the result. + * console.log(queryObjects(A)); // 3 + * // [ "B { foo: 'bar', bar: 'qux' }", 'A {}', "A { foo: 'bar' }" ] + * console.log(queryObjects(A, { format: 'summary' })); + * ``` + * @param ctor The constructor that can be used to search on the prototype chain in order to filter target objects in the heap. + * @since v20.13.0 + */ + function queryObjects(ctor: Function): number | string[]; + function queryObjects(ctor: Function, options: { format: "count" }): number; + function queryObjects(ctor: Function, options: { format: "summary" }): string[]; + /** + * Generates a snapshot of the current V8 heap and returns a Readable + * Stream that may be used to read the JSON serialized representation. + * 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. Therefore, the schema may change from one version of V8 to the next. + * + * Creating a heap snapshot requires memory about twice the size of the heap at + * the time the snapshot is created. This results in the risk of OOM killers + * terminating the process. + * + * Generating a snapshot is a synchronous operation which blocks the event loop + * for a duration depending on the heap size. + * + * ```js + * // Print heap snapshot to the console + * import v8 from 'node:v8'; + * const stream = v8.getHeapSnapshot(); + * stream.pipe(process.stdout); + * ``` + * @since v11.13.0 + * @return A Readable containing the V8 heap snapshot. + */ + function getHeapSnapshot(options?: HeapSnapshotOptions): Readable; + /** + * Generates a snapshot of the current V8 heap and writes it to a JSON + * file. This file 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. + * + * A heap snapshot is specific to a single V8 isolate. When using `worker threads`, a heap snapshot generated from the main thread will + * not contain any information about the workers, and vice versa. + * + * Creating a heap snapshot requires memory about twice the size of the heap at + * the time the snapshot is created. This results in the risk of OOM killers + * terminating the process. + * + * Generating a snapshot is a synchronous operation which blocks the event loop + * for a duration depending on the heap size. + * + * ```js + * import { writeHeapSnapshot } from 'node:v8'; + * import { + * Worker, + * isMainThread, + * parentPort, + * } from 'node:worker_threads'; + * + * if (isMainThread) { + * const worker = new Worker(__filename); + * + * worker.once('message', (filename) => { + * console.log(`worker heapdump: ${filename}`); + * // Now get a heapdump for the main thread. + * console.log(`main thread heapdump: ${writeHeapSnapshot()}`); + * }); + * + * // Tell the worker to create a heapdump. + * worker.postMessage('heapdump'); + * } else { + * parentPort.once('message', (message) => { + * if (message === 'heapdump') { + * // Generate a heapdump for the worker + * // and return the filename to the parent. + * parentPort.postMessage(writeHeapSnapshot()); + * } + * }); + * } + * ``` + * @since v11.13.0 + * @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. + * @return The filename where the snapshot was saved. + */ + function writeHeapSnapshot(filename?: string, options?: HeapSnapshotOptions): string; + /** + * Get statistics about code and its metadata in the heap, see + * V8 [`GetHeapCodeAndMetadataStatistics`](https://v8docs.nodesource.com/node-13.2/d5/dda/classv8_1_1_isolate.html#a6079122af17612ef54ef3348ce170866) API. Returns an object with the + * following properties: + * + * ```js + * { + * code_and_metadata_size: 212208, + * bytecode_and_metadata_size: 161368, + * external_script_source_size: 1410794, + * cpu_profiler_metadata_size: 0, + * } + * ``` + * @since v12.8.0 + */ + function getHeapCodeStatistics(): HeapCodeStatistics; + /** + * @since v25.0.0 + */ + interface SyncCPUProfileHandle { + /** + * Stopping collecting the profile and return the profile data. + * @since v25.0.0 + */ + stop(): string; + /** + * Stopping collecting the profile and the profile will be discarded. + * @since v25.0.0 + */ + [Symbol.dispose](): void; + } + /** + * @since v24.8.0 + */ + interface CPUProfileHandle { + /** + * Stopping collecting the profile, then return a Promise that fulfills with an error or the + * profile data. + * @since v24.8.0 + */ + stop(): Promise; + /** + * Stopping collecting the profile and the profile will be discarded. + * @since v24.8.0 + */ + [Symbol.asyncDispose](): Promise; + } + /** + * @since v24.9.0 + */ + interface HeapProfileHandle { + /** + * Stopping collecting the profile, then return a Promise that fulfills with an error or the + * profile data. + * @since v24.9.0 + */ + stop(): Promise; + /** + * Stopping collecting the profile and the profile will be discarded. + * @since v24.9.0 + */ + [Symbol.asyncDispose](): Promise; + } + /** + * Starting a CPU profile then return a `SyncCPUProfileHandle` object. + * This API supports `using` syntax. + * + * ```js + * const handle = v8.startCpuProfile(); + * const profile = handle.stop(); + * console.log(profile); + * ``` + * @since v25.0.0 + */ + function startCpuProfile(): SyncCPUProfileHandle; + /** + * V8 only supports `Latin-1/ISO-8859-1` and `UTF16` as the underlying representation of a string. + * If the `content` uses `Latin-1/ISO-8859-1` as the underlying representation, this function will return true; + * otherwise, it returns false. + * + * If this method returns false, that does not mean that the string contains some characters not in `Latin-1/ISO-8859-1`. + * Sometimes a `Latin-1` string may also be represented as `UTF16`. + * + * ```js + * const { isStringOneByteRepresentation } = require('node:v8'); + * + * const Encoding = { + * latin1: 1, + * utf16le: 2, + * }; + * const buffer = Buffer.alloc(100); + * function writeString(input) { + * if (isStringOneByteRepresentation(input)) { + * buffer.writeUint8(Encoding.latin1); + * buffer.writeUint32LE(input.length, 1); + * buffer.write(input, 5, 'latin1'); + * } else { + * buffer.writeUint8(Encoding.utf16le); + * buffer.writeUint32LE(input.length * 2, 1); + * buffer.write(input, 5, 'utf16le'); + * } + * } + * writeString('hello'); + * writeString('你好'); + * ``` + * @since v23.10.0, v22.15.0 + */ + function isStringOneByteRepresentation(content: string): boolean; + /** + * @since v8.0.0 + */ + 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(): NonSharedBuffer; + /** + * Marks an `ArrayBuffer` as having its contents transferred out of band. + * Pass the corresponding `ArrayBuffer` in the deserializing context to `deserializer.transferArrayBuffer()`. + * @param id A 32-bit unsigned integer. + * @param arrayBuffer An `ArrayBuffer` instance. + */ + transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void; + /** + * Write a raw 32-bit unsigned integer. + * For use inside of a custom `serializer._writeHostObject()`. + */ + writeUint32(value: number): void; + /** + * Write a raw 64-bit unsigned integer, split into high and low 32-bit parts. + * For use inside of a custom `serializer._writeHostObject()`. + */ + writeUint64(hi: number, lo: number): void; + /** + * Write a JS `number` value. + * For use inside of a custom `serializer._writeHostObject()`. + */ + 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. + * For use inside of a custom `serializer._writeHostObject()`. + */ + writeRawBytes(buffer: NodeJS.ArrayBufferView): 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 `ArrayBuffer`s that they are referring to. + * @since v8.0.0 + */ + class DefaultSerializer extends Serializer {} + /** + * @since v8.0.0 + */ + 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 + * `SharedArrayBuffer`s). + * @param id A 32-bit unsigned integer. + * @param arrayBuffer An `ArrayBuffer` instance. + */ + 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. + * For use inside of a custom `deserializer._readHostObject()`. + */ + readUint32(): number; + /** + * Read a raw 64-bit unsigned integer and return it as an array `[hi, lo]` with two 32-bit unsigned integer entries. + * For use inside of a custom `deserializer._readHostObject()`. + */ + readUint64(): [number, number]; + /** + * Read a JS `number` value. + * For use inside of a custom `deserializer._readHostObject()`. + */ + 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()`. + * For use inside of a custom `deserializer._readHostObject()`. + */ + readRawBytes(length: number): Buffer; + } + /** + * A subclass of `Deserializer` corresponding to the format written by `DefaultSerializer`. + * @since v8.0.0 + */ + class DefaultDeserializer extends Deserializer {} + /** + * Uses a `DefaultSerializer` to serialize `value` into a buffer. + * + * `ERR_BUFFER_TOO_LARGE` will be thrown when trying to + * serialize a huge object which requires buffer + * larger than `buffer.constants.MAX_LENGTH`. + * @since v8.0.0 + */ + function serialize(value: any): NonSharedBuffer; + /** + * Uses a `DefaultDeserializer` with default options to read a JS value + * from a buffer. + * @since v8.0.0 + * @param buffer A buffer returned by {@link serialize}. + */ + function deserialize(buffer: NodeJS.ArrayBufferView): any; + /** + * The `v8.takeCoverage()` method allows the user to write the coverage started by `NODE_V8_COVERAGE` to disk on demand. This method can be invoked multiple + * times during the lifetime of the process. Each time the execution counter will + * be reset and a new coverage report will be written to the directory specified + * by `NODE_V8_COVERAGE`. + * + * When the process is about to exit, one last coverage will still be written to + * disk unless {@link stopCoverage} is invoked before the process exits. + * @since v15.1.0, v14.18.0, v12.22.0 + */ + function takeCoverage(): void; + /** + * The `v8.stopCoverage()` method allows the user to stop the coverage collection + * started by `NODE_V8_COVERAGE`, so that V8 can release the execution count + * records and optimize code. This can be used in conjunction with {@link takeCoverage} if the user wants to collect the coverage on demand. + * @since v15.1.0, v14.18.0, v12.22.0 + */ + function stopCoverage(): void; + /** + * The API is a no-op if `--heapsnapshot-near-heap-limit` is already set from the command line or the API is called more than once. + * `limit` must be a positive integer. See [`--heapsnapshot-near-heap-limit`](https://nodejs.org/docs/latest-v25.x/api/cli.html#--heapsnapshot-near-heap-limitmax_count) for more information. + * @since v18.10.0, v16.18.0 + */ + function setHeapSnapshotNearHeapLimit(limit: number): void; + /** + * This API collects GC data in current thread. + * @since v19.6.0, v18.15.0 + */ + class GCProfiler { + /** + * Start collecting GC data. + * @since v19.6.0, v18.15.0 + */ + start(): void; + /** + * Stop collecting GC data and return an object. The content of object + * is as follows. + * + * ```json + * { + * "version": 1, + * "startTime": 1674059033862, + * "statistics": [ + * { + * "gcType": "Scavenge", + * "beforeGC": { + * "heapStatistics": { + * "totalHeapSize": 5005312, + * "totalHeapSizeExecutable": 524288, + * "totalPhysicalSize": 5226496, + * "totalAvailableSize": 4341325216, + * "totalGlobalHandlesSize": 8192, + * "usedGlobalHandlesSize": 2112, + * "usedHeapSize": 4883840, + * "heapSizeLimit": 4345298944, + * "mallocedMemory": 254128, + * "externalMemory": 225138, + * "peakMallocedMemory": 181760 + * }, + * "heapSpaceStatistics": [ + * { + * "spaceName": "read_only_space", + * "spaceSize": 0, + * "spaceUsedSize": 0, + * "spaceAvailableSize": 0, + * "physicalSpaceSize": 0 + * } + * ] + * }, + * "cost": 1574.14, + * "afterGC": { + * "heapStatistics": { + * "totalHeapSize": 6053888, + * "totalHeapSizeExecutable": 524288, + * "totalPhysicalSize": 5500928, + * "totalAvailableSize": 4341101384, + * "totalGlobalHandlesSize": 8192, + * "usedGlobalHandlesSize": 2112, + * "usedHeapSize": 4059096, + * "heapSizeLimit": 4345298944, + * "mallocedMemory": 254128, + * "externalMemory": 225138, + * "peakMallocedMemory": 181760 + * }, + * "heapSpaceStatistics": [ + * { + * "spaceName": "read_only_space", + * "spaceSize": 0, + * "spaceUsedSize": 0, + * "spaceAvailableSize": 0, + * "physicalSpaceSize": 0 + * } + * ] + * } + * } + * ], + * "endTime": 1674059036865 + * } + * ``` + * + * Here's an example. + * + * ```js + * import { GCProfiler } from 'node:v8'; + * const profiler = new GCProfiler(); + * profiler.start(); + * setTimeout(() => { + * console.log(profiler.stop()); + * }, 1000); + * ``` + * @since v19.6.0, v18.15.0 + */ + stop(): GCProfilerResult; + /** + * Stop collecting GC data, and discard the profile. + * @since v25.5.0 + */ + [Symbol.dispose](): void; + } + interface GCProfilerResult { + version: number; + startTime: number; + endTime: number; + statistics: Array<{ + gcType: string; + cost: number; + beforeGC: { + heapStatistics: HeapStatistics; + heapSpaceStatistics: HeapSpaceStatistics[]; + }; + afterGC: { + heapStatistics: HeapStatistics; + heapSpaceStatistics: HeapSpaceStatistics[]; + }; + }>; + } + interface HeapStatistics { + totalHeapSize: number; + totalHeapSizeExecutable: number; + totalPhysicalSize: number; + totalAvailableSize: number; + totalGlobalHandlesSize: number; + usedGlobalHandlesSize: number; + usedHeapSize: number; + heapSizeLimit: number; + mallocedMemory: number; + externalMemory: number; + peakMallocedMemory: number; + } + interface HeapSpaceStatistics { + spaceName: string; + spaceSize: number; + spaceUsedSize: number; + spaceAvailableSize: number; + physicalSpaceSize: number; + } + /** + * Called when a promise is constructed. This does not mean that corresponding before/after events will occur, only that the possibility exists. This will + * happen if a promise is created without ever getting a continuation. + * @since v17.1.0, v16.14.0 + * @param promise The promise being created. + * @param parent The promise continued from, if applicable. + */ + interface Init { + (promise: Promise, parent: Promise): void; + } + /** + * Called before a promise continuation executes. This can be in the form of `then()`, `catch()`, or `finally()` handlers or an await resuming. + * + * The before callback will be called 0 to N times. The before callback will typically be called 0 times if no continuation was ever made for the promise. + * The before callback may be called many times in the case where many continuations have been made from the same promise. + * @since v17.1.0, v16.14.0 + */ + interface Before { + (promise: Promise): void; + } + /** + * Called immediately after a promise continuation executes. This may be after a `then()`, `catch()`, or `finally()` handler or before an await after another await. + * @since v17.1.0, v16.14.0 + */ + interface After { + (promise: Promise): void; + } + /** + * Called when the promise receives a resolution or rejection value. This may occur synchronously in the case of {@link Promise.resolve()} or + * {@link Promise.reject()}. + * @since v17.1.0, v16.14.0 + */ + interface Settled { + (promise: Promise): void; + } + /** + * Key events in the lifetime of a promise have been categorized into four areas: creation of a promise, before/after a continuation handler is called or + * around an await, and when the promise resolves or rejects. + * + * Because promises are asynchronous resources whose lifecycle is tracked via the promise hooks mechanism, the `init()`, `before()`, `after()`, and + * `settled()` callbacks must not be async functions as they create more promises which would produce an infinite loop. + * @since v17.1.0, v16.14.0 + */ + interface HookCallbacks { + init?: Init; + before?: Before; + after?: After; + settled?: Settled; + } + interface PromiseHooks { + /** + * The `init` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop. + * @since v17.1.0, v16.14.0 + * @param init The {@link Init | `init` callback} to call when a promise is created. + * @return Call to stop the hook. + */ + onInit: (init: Init) => Function; + /** + * The `settled` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop. + * @since v17.1.0, v16.14.0 + * @param settled The {@link Settled | `settled` callback} to call when a promise is created. + * @return Call to stop the hook. + */ + onSettled: (settled: Settled) => Function; + /** + * The `before` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop. + * @since v17.1.0, v16.14.0 + * @param before The {@link Before | `before` callback} to call before a promise continuation executes. + * @return Call to stop the hook. + */ + onBefore: (before: Before) => Function; + /** + * The `after` hook must be a plain function. Providing an async function will throw as it would produce an infinite microtask loop. + * @since v17.1.0, v16.14.0 + * @param after The {@link After | `after` callback} to call after a promise continuation executes. + * @return Call to stop the hook. + */ + onAfter: (after: After) => Function; + /** + * Registers functions to be called for different lifetime events of each promise. + * The callbacks `init()`/`before()`/`after()`/`settled()` are called for the respective events during a promise's lifetime. + * All callbacks are optional. For example, if only promise creation needs to be tracked, then only the init callback needs to be passed. + * The hook callbacks must be plain functions. Providing async functions will throw as it would produce an infinite microtask loop. + * @since v17.1.0, v16.14.0 + * @param callbacks The {@link HookCallbacks | Hook Callbacks} to register + * @return Used for disabling hooks + */ + createHook: (callbacks: HookCallbacks) => Function; + } + /** + * The `promiseHooks` interface can be used to track promise lifecycle events. + * @since v17.1.0, v16.14.0 + */ + const promiseHooks: PromiseHooks; + type StartupSnapshotCallbackFn = (args: any) => any; + /** + * The `v8.startupSnapshot` interface can be used to add serialization and deserialization hooks for custom startup snapshots. + * + * ```bash + * $ node --snapshot-blob snapshot.blob --build-snapshot entry.js + * # This launches a process with the snapshot + * $ node --snapshot-blob snapshot.blob + * ``` + * + * In the example above, `entry.js` can use methods from the `v8.startupSnapshot` interface to specify how to save information for custom objects + * in the snapshot during serialization and how the information can be used to synchronize these objects during deserialization of the snapshot. + * For example, if the `entry.js` contains the following script: + * + * ```js + * 'use strict'; + * + * import fs from 'node:fs'; + * import zlib from 'node:zlib'; + * import path from 'node:path'; + * import assert from 'node:assert'; + * + * import v8 from 'node:v8'; + * + * class BookShelf { + * storage = new Map(); + * + * // Reading a series of files from directory and store them into storage. + * constructor(directory, books) { + * for (const book of books) { + * this.storage.set(book, fs.readFileSync(path.join(directory, book))); + * } + * } + * + * static compressAll(shelf) { + * for (const [ book, content ] of shelf.storage) { + * shelf.storage.set(book, zlib.gzipSync(content)); + * } + * } + * + * static decompressAll(shelf) { + * for (const [ book, content ] of shelf.storage) { + * shelf.storage.set(book, zlib.gunzipSync(content)); + * } + * } + * } + * + * // __dirname here is where the snapshot script is placed + * // during snapshot building time. + * const shelf = new BookShelf(__dirname, [ + * 'book1.en_US.txt', + * 'book1.es_ES.txt', + * 'book2.zh_CN.txt', + * ]); + * + * assert(v8.startupSnapshot.isBuildingSnapshot()); + * // On snapshot serialization, compress the books to reduce size. + * v8.startupSnapshot.addSerializeCallback(BookShelf.compressAll, shelf); + * // On snapshot deserialization, decompress the books. + * v8.startupSnapshot.addDeserializeCallback(BookShelf.decompressAll, shelf); + * v8.startupSnapshot.setDeserializeMainFunction((shelf) => { + * // process.env and process.argv are refreshed during snapshot + * // deserialization. + * const lang = process.env.BOOK_LANG || 'en_US'; + * const book = process.argv[1]; + * const name = `${book}.${lang}.txt`; + * console.log(shelf.storage.get(name)); + * }, shelf); + * ``` + * + * The resulted binary will get print the data deserialized from the snapshot during start up, using the refreshed `process.env` and `process.argv` of the launched process: + * + * ```bash + * $ BOOK_LANG=es_ES node --snapshot-blob snapshot.blob book1 + * # Prints content of book1.es_ES.txt deserialized from the snapshot. + * ``` + * + * Currently the application deserialized from a user-land snapshot cannot be snapshotted again, so these APIs are only available to applications that are not deserialized from a user-land snapshot. + * + * @since v18.6.0, v16.17.0 + */ + namespace startupSnapshot { + /** + * Add a callback that will be called when the Node.js instance is about to get serialized into a snapshot and exit. + * This can be used to release resources that should not or cannot be serialized or to convert user data into a form more suitable for serialization. + * @since v18.6.0, v16.17.0 + */ + function addSerializeCallback(callback: StartupSnapshotCallbackFn, data?: any): void; + /** + * Add a callback that will be called when the Node.js instance is deserialized from a snapshot. + * The `callback` and the `data` (if provided) will be serialized into the snapshot, they can be used to re-initialize the state of the application or + * to re-acquire resources that the application needs when the application is restarted from the snapshot. + * @since v18.6.0, v16.17.0 + */ + function addDeserializeCallback(callback: StartupSnapshotCallbackFn, data?: any): void; + /** + * This sets the entry point of the Node.js application when it is deserialized from a snapshot. This can be called only once in the snapshot building script. + * If called, the deserialized application no longer needs an additional entry point script to start up and will simply invoke the callback along with the deserialized + * data (if provided), otherwise an entry point script still needs to be provided to the deserialized application. + * @since v18.6.0, v16.17.0 + */ + function setDeserializeMainFunction(callback: StartupSnapshotCallbackFn, data?: any): void; + /** + * Returns true if the Node.js instance is run to build a snapshot. + * @since v18.6.0, v16.17.0 + */ + function isBuildingSnapshot(): boolean; + } +} +declare module "v8" { + export * from "node:v8"; +} diff --git a/node_modules/@types/node/vm.d.ts b/node_modules/@types/node/vm.d.ts new file mode 100644 index 0000000..963078c --- /dev/null +++ b/node_modules/@types/node/vm.d.ts @@ -0,0 +1,1136 @@ +declare module "node:vm" { + import { NonSharedBuffer } from "node:buffer"; + import { ImportAttributes, ImportPhase } from "node:module"; + interface Context extends NodeJS.Dict {} + interface BaseOptions { + /** + * Specifies the filename used in stack traces produced by this script. + * @default '' + */ + filename?: string | undefined; + /** + * Specifies the line number offset that is displayed in stack traces produced by this script. + * @default 0 + */ + lineOffset?: number | undefined; + /** + * Specifies the column number offset that is displayed in stack traces produced by this script. + * @default 0 + */ + columnOffset?: number | undefined; + } + type DynamicModuleLoader = ( + specifier: string, + referrer: T, + importAttributes: ImportAttributes, + phase: ImportPhase, + ) => Module | Promise; + interface ScriptOptions extends BaseOptions { + /** + * Provides an optional data with V8's code cache data for the supplied source. + */ + cachedData?: NodeJS.ArrayBufferView | undefined; + /** @deprecated in favor of `script.createCachedData()` */ + produceCachedData?: boolean | undefined; + /** + * Used to specify how the modules should be loaded during the evaluation of this script when `import()` is called. This option is + * part of the experimental modules API. We do not recommend using it in a production environment. For detailed information, see + * [Support of dynamic `import()` in compilation APIs](https://nodejs.org/docs/latest-v25.x/api/vm.html#support-of-dynamic-import-in-compilation-apis). + * @experimental + */ + importModuleDynamically?: + | DynamicModuleLoader +``` + +and use it + +``` + +``` + +### Manually + +Download json-with-bigint.min.js from this repository to your project's folder and use it + +``` + + +``` + +## How to use + +`JSONParse` - works just like [native JSON.parse](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse), but supports BigInt + +`JSONStringify` - works just like [native JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify), but supports BigInt + +Examples: + +- `JSONParse('{"someBigNumber":9007199254740992}')` +- `JSONStringify({ +someBigNumber: 9007199254740992n +})` diff --git a/node_modules/json-with-bigint/__tests__/helpers.cjs b/node_modules/json-with-bigint/__tests__/helpers.cjs new file mode 100644 index 0000000..5575693 --- /dev/null +++ b/node_modules/json-with-bigint/__tests__/helpers.cjs @@ -0,0 +1,11 @@ +const originalParse = JSON.parse; + +/* + Function to test the V1 (implementation without the JSON.parse's context.source feature support) +*/ +const imitateJSONParseWithoutContext = (text, reviver) => { + return originalParse(text, (key, value) => reviver(key, value)); +}; + +module.exports = { originalParse, imitateJSONParseWithoutContext }; +module.exports.default = { originalParse, imitateJSONParseWithoutContext }; diff --git a/node_modules/json-with-bigint/__tests__/performance.cjs b/node_modules/json-with-bigint/__tests__/performance.cjs new file mode 100644 index 0000000..74e29cc --- /dev/null +++ b/node_modules/json-with-bigint/__tests__/performance.cjs @@ -0,0 +1,146 @@ +// ------ Performance tests ------ + +"use strict"; + +const { performance } = require("perf_hooks"); +const { imitateJSONParseWithoutContext } = require("./helpers.cjs"); +const { JSONParse, JSONStringify } = require("../json-with-bigint.cjs"); + +const fs = require("fs").promises; +const get = require("https").get; + +// JSON is located in a separate GitHub repo here: +// https://github.com/Ivan-Korolenko/json-with-bigint.performance.json/blob/main/performance.json +const JSON_URL = + "https://raw.githubusercontent.com/Ivan-Korolenko/json-with-bigint.performance.json/refs/heads/main/performance.json"; +const JSON_LOCAL_FILEPATH = "__tests__/performance.json"; + +async function fetchJSON(url, maxRetries = 3, delay = 1000) { + for (let attempt = 1; attempt <= maxRetries; attempt++) { + try { + const response = await new Promise((resolve, reject) => { + get(url, (res) => { + if (res.statusCode >= 500 && res.statusCode < 600) { + reject(new Error(`Server error ${res.statusCode}: Retrying...`)); + } else if (res.statusCode !== 200) { + reject( + new Error( + `Request failed with status ${res.statusCode} ${res.statusMessage}`, + ), + ); + } + + let data = ""; + res.on("data", (chunk) => { + data += chunk; + }); + res.on("end", () => resolve(data)); + }).on("error", reject); + }); + + return JSON.parse(response); + } catch (error) { + if (attempt < maxRetries) { + console.warn(`Attempt ${attempt} failed: ${error.message}`); + await new Promise((res) => + setTimeout(res, delay * Math.pow(2, attempt - 1)), + ); // Exponential backoff + } else { + console.error("Max retries reached. Fetch failed:", error); + throw error; + } + } + } +} + +async function saveJSONToFile(filePath, data) { + try { + const jsonString = JSON.stringify(data, null, 2); + const tempPath = `${filePath}.tmp`; + + await fs.writeFile(tempPath, jsonString, "utf8"); + await fs.rename(tempPath, filePath); // Atomic write + console.log(`✅ JSON data saved to ${filePath}`); + } catch (error) { + console.error("Error saving JSON to file:", error); + throw error; + } +} + +async function fetchAndSaveJSON(url, filePath) { + try { + const jsonData = await fetchJSON(url); + + await saveJSONToFile(filePath, jsonData); + } catch (error) { + console.error("❌ Operation failed:", error); + } +} + +// If the file was downloaded earlier, use it. Otherwise, download +// After n attempts, give up and throw an error +async function readPerformanceJSON( + filePath, + encoding, + maxAttempts = 3, + attempt = 0, +) { + if (attempt === maxAttempts) + throw new Error( + `Reading performance JSON failed after ${attempt} attempts. Check download URL, file availability on that URL, and local filepath`, + ); + + try { + const data = await fs.readFile(filePath, encoding); + + return data; + } catch (error) { + if (error.code === "ENOENT") { + console.log( + `File not found. Downloading... (Attempt ${attempt + 1}/${maxAttempts})`, + ); + await fetchAndSaveJSON(JSON_URL, filePath); + + return await readPerformanceJSON( + filePath, + encoding, + maxAttempts, + attempt + 1, + ); + } else { + console.error("Error reading file:", error); + throw error; // Re-throw to avoid silent failures + } + } +} + +const measureExecTime = (fn) => { + const startTime = performance.now(); + + fn(); + + const endTime = performance.now(); + + console.log("Time: ", endTime - startTime); +}; + +const runTests = (data) => { + console.log("___________\nPerformance test. One-way"); + measureExecTime(() => JSONParse(data)); + + console.log("___________\nPerformance test. Round-trip"); + measureExecTime(() => JSONStringify(JSONParse(data))); +}; + +async function main() { + const data = await readPerformanceJSON(JSON_LOCAL_FILEPATH, "utf8"); + + console.log("------ V2 performance tests ------"); + runTests(data); + + console.log("\n------ V1 (without context.source) performance tests ------"); + JSON.parse = imitateJSONParseWithoutContext; + runTests(data); +} + +main(); diff --git a/node_modules/json-with-bigint/__tests__/performance.mjs b/node_modules/json-with-bigint/__tests__/performance.mjs new file mode 100644 index 0000000..3856f8b --- /dev/null +++ b/node_modules/json-with-bigint/__tests__/performance.mjs @@ -0,0 +1,146 @@ +// ------ Performance tests ------ + +"use strict"; + +import { performance } from "perf_hooks"; +import { imitateJSONParseWithoutContext } from "./helpers.cjs"; +import { JSONParse, JSONStringify } from "../json-with-bigint.js"; + +import { promises as fs } from "fs"; +import { get } from "https"; + +// JSON is located in a separate GitHub repo here: +// https://github.com/Ivan-Korolenko/json-with-bigint.performance.json/blob/main/performance.json +const JSON_URL = + "https://raw.githubusercontent.com/Ivan-Korolenko/json-with-bigint.performance.json/refs/heads/main/performance.json"; +const JSON_LOCAL_FILEPATH = "__tests__/performance.json"; + +async function fetchJSON(url, maxRetries = 3, delay = 1000) { + for (let attempt = 1; attempt <= maxRetries; attempt++) { + try { + const response = await new Promise((resolve, reject) => { + get(url, (res) => { + if (res.statusCode >= 500 && res.statusCode < 600) { + reject(new Error(`Server error ${res.statusCode}: Retrying...`)); + } else if (res.statusCode !== 200) { + reject( + new Error( + `Request failed with status ${res.statusCode} ${res.statusMessage}`, + ), + ); + } + + let data = ""; + res.on("data", (chunk) => { + data += chunk; + }); + res.on("end", () => resolve(data)); + }).on("error", reject); + }); + + return JSON.parse(response); + } catch (error) { + if (attempt < maxRetries) { + console.warn(`Attempt ${attempt} failed: ${error.message}`); + await new Promise((res) => + setTimeout(res, delay * Math.pow(2, attempt - 1)), + ); // Exponential backoff + } else { + console.error("Max retries reached. Fetch failed:", error); + throw error; + } + } + } +} + +async function saveJSONToFile(filePath, data) { + try { + const jsonString = JSON.stringify(data, null, 2); + const tempPath = `${filePath}.tmp`; + + await fs.writeFile(tempPath, jsonString, "utf8"); + await fs.rename(tempPath, filePath); // Atomic write + console.log(`✅ JSON data saved to ${filePath}`); + } catch (error) { + console.error("Error saving JSON to file:", error); + throw error; + } +} + +async function fetchAndSaveJSON(url, filePath) { + try { + const jsonData = await fetchJSON(url); + + await saveJSONToFile(filePath, jsonData); + } catch (error) { + console.error("❌ Operation failed:", error); + } +} + +// If the file was downloaded earlier, use it. Otherwise, download +// After n attempts, give up and throw an error +async function readPerformanceJSON( + filePath, + encoding, + maxAttempts = 3, + attempt = 0, +) { + if (attempt === maxAttempts) + throw new Error( + `Reading performance JSON failed after ${attempt} attempts. Check download URL, file availability on that URL, and local filepath`, + ); + + try { + const data = await fs.readFile(filePath, encoding); + + return data; + } catch (error) { + if (error.code === "ENOENT") { + console.log( + `File not found. Downloading... (Attempt ${attempt + 1}/${maxAttempts})`, + ); + await fetchAndSaveJSON(JSON_URL, filePath); + + return await readPerformanceJSON( + filePath, + encoding, + maxAttempts, + attempt + 1, + ); + } else { + console.error("Error reading file:", error); + throw error; // Re-throw to avoid silent failures + } + } +} + +const measureExecTime = (fn) => { + const startTime = performance.now(); + + fn(); + + const endTime = performance.now(); + + console.log("Time: ", endTime - startTime); +}; + +const runTests = (data) => { + console.log("___________\nPerformance test. One-way"); + measureExecTime(() => JSONParse(data)); + + console.log("___________\nPerformance test. Round-trip"); + measureExecTime(() => JSONStringify(JSONParse(data))); +}; + +async function main() { + const data = await readPerformanceJSON(JSON_LOCAL_FILEPATH, "utf8"); + + console.log("------ V2 performance tests ------"); + runTests(data); + + console.log("\n------ V1 (without context.source) performance tests ------"); + JSON.parse = imitateJSONParseWithoutContext; + runTests(data); +} + +main(); diff --git a/node_modules/json-with-bigint/__tests__/unit.cjs b/node_modules/json-with-bigint/__tests__/unit.cjs new file mode 100644 index 0000000..166ce96 --- /dev/null +++ b/node_modules/json-with-bigint/__tests__/unit.cjs @@ -0,0 +1,158 @@ +// ------ Unit tests ------ + +"use strict"; + +const { deepStrictEqual } = require("assert"); +const { imitateJSONParseWithoutContext } = require("./helpers.cjs"); +const { JSONStringify, JSONParse } = require("../json-with-bigint.cjs"); + +const test1JSON = `{"zero":9007199254740998,"one":-42,"two":-9007199254740998,"test":["He was\\":[-23432432432434324324324324]",111,9007199254740998,{"test2":-9007199254740998}],"test3":["He was:[-23432432432434324324324324]",111,9007199254740998,{"test2":-9007199254740998,"float":1.9007199254740998,"float2":0.1,"float3":2.9007199254740996,"int":1,"int2":3243243432432434324324324}],"float4":[1.9007199254740998,1111111111111111111111111111111111,0.1,1,54354654654654654654656546546546546]}`; +const test1Obj = { + zero: 9007199254740998n, + one: -42, + two: -9007199254740998n, + test: [ + 'He was":[-23432432432434324324324324]', + 111, + 9007199254740998n, + { test2: -9007199254740998n }, + ], + test3: [ + "He was:[-23432432432434324324324324]", + 111, + 9007199254740998n, + { + test2: -9007199254740998n, + float: 1.9007199254740998, + float2: 0.1, + float3: 2.9007199254740996, + int: 1, + int2: 3243243432432434324324324n, + }, + ], + float4: [ + 1.9007199254740998, + 1111111111111111111111111111111111n, + 0.1, + 1, + 54354654654654654654656546546546546n, + ], +}; + +const test2JSON = `{ + "test": [ + { + "ID": 1035342667379599058, + "Timestamp": "2022-09-13 22:21:25", + "Contents": "broken example message", + "Contents2": "broken example 1035342667379599058 message", + "Contents3": "broken example [1035342667379599058, 1035342667379599058] message", + "Attachments": "", + "BreakingValue": 54354654654654654654656546546546546 + }, + 1035342667379599058, + -1.1035342667379599058, + 1035342667379599058 + ], + "test2": { + "1035342667379599058": 1035342667379599058 + } +}`; +// Special case, because native JSON.parse strips \n and whitespaces. +// So technically, a true round-trip operation (including all spaces, etc.) is not possible in the case of pretty JSON without writing your own full JSON.parse implementation for this particular case. +// In practice, though, it shouldn't cause any problems, because data will work fine even in that case, and if the backend expects a prettified JSON, you can just prettify it before sending it. +const test2TersedJSON = `{"test":[{"ID":1035342667379599058,"Timestamp":"2022-09-13 22:21:25","Contents":"broken example message","Contents2":"broken example 1035342667379599058 message","Contents3":"broken example [1035342667379599058, 1035342667379599058] message","Attachments":"","BreakingValue":54354654654654654654656546546546546},1035342667379599058,-1.10353426673796,1035342667379599058],"test2":{"1035342667379599058":1035342667379599058}}`; +const test2Obj = { + test: [ + { + ID: 1035342667379599058n, + Timestamp: "2022-09-13 22:21:25", + Contents: "broken example message", + Contents2: "broken example 1035342667379599058 message", + Contents3: + "broken example [1035342667379599058, 1035342667379599058] message", + Attachments: "", + BreakingValue: 54354654654654654654656546546546546n, + }, + 1035342667379599058n, + -1.10353426673796, + 1035342667379599058n, + ], + test2: { "1035342667379599058": 1035342667379599058n }, +}; + +const test3JSON = `{"items":[{"message":"some text 17365091955960356025, some text"}]}`; +const test3Obj = { + items: [{ message: "some text 17365091955960356025, some text" }], +}; + +const test4JSON = `9007199254740998`; +const test4Obj = 9007199254740998n; + +const test5JSON = `[9007199254740998,[9007199254740998],9007199254740998]`; +const test5Obj = [9007199254740998n, [9007199254740998n], 9007199254740998n]; + +const test6JSON = `[9007199254740998]`; +const test6Obj = [9007199254740998n]; + +const test7JSON = `["0a","1b","9n","9nn",90071992547409981111,"90071992547409981111.5n"]`; +const test7Obj = [ + "0a", + "1b", + "9n", + "9nn", + 90071992547409981111n, + "90071992547409981111.5n", +]; + +const test8Obj = { uid: BigInt("1308537228663099396") }; +const test8JSON = '{\n "uid": 1308537228663099396\n}'; + +const runTests = () => { + deepStrictEqual(JSONParse(test1JSON), test1Obj); + console.log("1 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test1JSON)), test1JSON); + console.log("1 test round-trip passed"); + + deepStrictEqual(JSONParse(test2JSON), test2Obj); + console.log("2 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test2JSON)), test2TersedJSON); + console.log("2 test round-trip passed"); + + deepStrictEqual(JSONParse(test3JSON), test3Obj); + console.log("3 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test3JSON)), test3JSON); + console.log("3 test round-trip passed"); + + deepStrictEqual(JSONParse(test4JSON), test4Obj); + console.log("4 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test4JSON)), test4JSON); + console.log("4 test round-trip passed"); + + deepStrictEqual(JSONParse(test5JSON), test5Obj); + console.log("5 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test5JSON)), test5JSON); + console.log("5 test round-trip passed"); + + deepStrictEqual(JSONParse(test6JSON), test6Obj); + console.log("6 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test6JSON)), test6JSON); + console.log("6 test round-trip passed"); + + deepStrictEqual(JSONParse(test7JSON), test7Obj); + console.log("7 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test7JSON)), test7JSON); + console.log("7 test round-trip passed"); + + deepStrictEqual(JSONStringify(test8Obj, null, 2), test8JSON); + console.log("8 test passed"); + deepStrictEqual(JSONParse(JSONStringify(test8Obj, null, 2)), test8Obj); + console.log("8 test round-trip passed"); +}; + +console.log("------ V2 unit tests ------"); +runTests(); + +console.log("\n------ V1 (without context.source) unit tests ------"); +JSON.parse = imitateJSONParseWithoutContext; +runTests(); diff --git a/node_modules/json-with-bigint/__tests__/unit.mjs b/node_modules/json-with-bigint/__tests__/unit.mjs new file mode 100644 index 0000000..e7d1c27 --- /dev/null +++ b/node_modules/json-with-bigint/__tests__/unit.mjs @@ -0,0 +1,158 @@ +// ------ Unit tests ------ + +"use strict"; + +import { deepStrictEqual } from "assert"; +import { imitateJSONParseWithoutContext } from "./helpers.cjs"; +import { JSONStringify, JSONParse } from "../json-with-bigint.js"; + +const test1JSON = `{"zero":9007199254740998,"one":-42,"two":-9007199254740998,"test":["He was\\":[-23432432432434324324324324]",111,9007199254740998,{"test2":-9007199254740998}],"test3":["He was:[-23432432432434324324324324]",111,9007199254740998,{"test2":-9007199254740998,"float":1.9007199254740998,"float2":0.1,"float3":2.9007199254740996,"int":1,"int2":3243243432432434324324324}],"float4":[1.9007199254740998,1111111111111111111111111111111111,0.1,1,54354654654654654654656546546546546]}`; +const test1Obj = { + zero: 9007199254740998n, + one: -42, + two: -9007199254740998n, + test: [ + 'He was":[-23432432432434324324324324]', + 111, + 9007199254740998n, + { test2: -9007199254740998n }, + ], + test3: [ + "He was:[-23432432432434324324324324]", + 111, + 9007199254740998n, + { + test2: -9007199254740998n, + float: 1.9007199254740998, + float2: 0.1, + float3: 2.9007199254740996, + int: 1, + int2: 3243243432432434324324324n, + }, + ], + float4: [ + 1.9007199254740998, + 1111111111111111111111111111111111n, + 0.1, + 1, + 54354654654654654654656546546546546n, + ], +}; + +const test2JSON = `{ + "test": [ + { + "ID": 1035342667379599058, + "Timestamp": "2022-09-13 22:21:25", + "Contents": "broken example message", + "Contents2": "broken example 1035342667379599058 message", + "Contents3": "broken example [1035342667379599058, 1035342667379599058] message", + "Attachments": "", + "BreakingValue": 54354654654654654654656546546546546 + }, + 1035342667379599058, + -1.1035342667379599058, + 1035342667379599058 + ], + "test2": { + "1035342667379599058": 1035342667379599058 + } +}`; +// Special case, because native JSON.parse strips \n and whitespaces. +// So technically, a true round-trip operation (including all spaces, etc.) is not possible in the case of pretty JSON without writing your own full JSON.parse implementation for this particular case. +// In practice, though, it shouldn't cause any problems, because data will work fine even in that case, and if the backend expects a prettified JSON, you can just prettify it before sending it. +const test2TersedJSON = `{"test":[{"ID":1035342667379599058,"Timestamp":"2022-09-13 22:21:25","Contents":"broken example message","Contents2":"broken example 1035342667379599058 message","Contents3":"broken example [1035342667379599058, 1035342667379599058] message","Attachments":"","BreakingValue":54354654654654654654656546546546546},1035342667379599058,-1.10353426673796,1035342667379599058],"test2":{"1035342667379599058":1035342667379599058}}`; +const test2Obj = { + test: [ + { + ID: 1035342667379599058n, + Timestamp: "2022-09-13 22:21:25", + Contents: "broken example message", + Contents2: "broken example 1035342667379599058 message", + Contents3: + "broken example [1035342667379599058, 1035342667379599058] message", + Attachments: "", + BreakingValue: 54354654654654654654656546546546546n, + }, + 1035342667379599058n, + -1.10353426673796, + 1035342667379599058n, + ], + test2: { "1035342667379599058": 1035342667379599058n }, +}; + +const test3JSON = `{"items":[{"message":"some text 17365091955960356025, some text"}]}`; +const test3Obj = { + items: [{ message: "some text 17365091955960356025, some text" }], +}; + +const test4JSON = `9007199254740998`; +const test4Obj = 9007199254740998n; + +const test5JSON = `[9007199254740998,[9007199254740998],9007199254740998]`; +const test5Obj = [9007199254740998n, [9007199254740998n], 9007199254740998n]; + +const test6JSON = `[9007199254740998]`; +const test6Obj = [9007199254740998n]; + +const test7JSON = `["0a","1b","9n","9nn",90071992547409981111,"90071992547409981111.5n"]`; +const test7Obj = [ + "0a", + "1b", + "9n", + "9nn", + 90071992547409981111n, + "90071992547409981111.5n", +]; + +const test8Obj = { uid: BigInt("1308537228663099396") }; +const test8JSON = '{\n "uid": 1308537228663099396\n}'; + +const runTests = () => { + deepStrictEqual(JSONParse(test1JSON), test1Obj); + console.log("1 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test1JSON)), test1JSON); + console.log("1 test round-trip passed"); + + deepStrictEqual(JSONParse(test2JSON), test2Obj); + console.log("2 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test2JSON)), test2TersedJSON); + console.log("2 test round-trip passed"); + + deepStrictEqual(JSONParse(test3JSON), test3Obj); + console.log("3 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test3JSON)), test3JSON); + console.log("3 test round-trip passed"); + + deepStrictEqual(JSONParse(test4JSON), test4Obj); + console.log("4 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test4JSON)), test4JSON); + console.log("4 test round-trip passed"); + + deepStrictEqual(JSONParse(test5JSON), test5Obj); + console.log("5 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test5JSON)), test5JSON); + console.log("5 test round-trip passed"); + + deepStrictEqual(JSONParse(test6JSON), test6Obj); + console.log("6 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test6JSON)), test6JSON); + console.log("6 test round-trip passed"); + + deepStrictEqual(JSONParse(test7JSON), test7Obj); + console.log("7 test passed"); + deepStrictEqual(JSONStringify(JSONParse(test7JSON)), test7JSON); + console.log("7 test round-trip passed"); + + deepStrictEqual(JSONStringify(test8Obj, null, 2), test8JSON); + console.log("8 test passed"); + deepStrictEqual(JSONParse(JSONStringify(test8Obj, null, 2)), test8Obj); + console.log("8 test round-trip passed"); +}; + +console.log("------ V2 unit tests ------"); +runTests(); + +console.log("\n------ V1 (without context.source) unit tests ------"); +JSON.parse = imitateJSONParseWithoutContext; +runTests(); diff --git a/node_modules/json-with-bigint/json-with-bigint.cjs b/node_modules/json-with-bigint/json-with-bigint.cjs new file mode 100644 index 0000000..a87c8d4 --- /dev/null +++ b/node_modules/json-with-bigint/json-with-bigint.cjs @@ -0,0 +1,221 @@ +// This file is auto-generated. Do not edit this file directly. +// Instead edit the json-with-bigint.js and generate this file using: +// npm run build:cjs + +"use strict"; + +const intRegex = /^-?\d+$/; +const noiseValue = /^-?\d+n+$/; // Noise - strings that match the custom format before being converted to it +const originalStringify = JSON.stringify; +const originalParse = JSON.parse; +const customFormat = /^-?\d+n$/; + +const bigIntsStringify = /([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g; +const noiseStringify = + /([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g; + +/** + * @typedef {(this: any, key: string | number | undefined, value: any) => any} Replacer + * @typedef {(key: string | number | undefined, value: any, context?: { source: string }) => any} Reviver + */ + +/** + * Converts a JavaScript value to a JSON string. + * + * Supports serialization of BigInt values using two strategies: + * 1. Custom format "123n" → "123" (universal fallback) + * 2. Native JSON.rawJSON() (Node.js 22+, fastest) when available + * + * All other values are serialized exactly like native JSON.stringify(). + * + * @param {*} value The value to convert to a JSON string. + * @param {Replacer | Array | null} [replacer] + * A function that alters the behavior of the stringification process, + * or an array of strings/numbers to indicate properties to exclude. + * @param {string | number} [space] + * A string or number to specify indentation or pretty-printing. + * @returns {string} The JSON string representation. + */ +const JSONStringify = (value, replacer, space) => { + if ("rawJSON" in JSON) { + return originalStringify( + value, + (key, value) => { + if (typeof value === "bigint") return JSON.rawJSON(value.toString()); + + if (typeof replacer === "function") return replacer(key, value); + + if (Array.isArray(replacer) && replacer.includes(key)) return value; + + return value; + }, + space, + ); + } + + if (!value) return originalStringify(value, replacer, space); + + const convertedToCustomJSON = originalStringify( + value, + (key, value) => { + const isNoise = typeof value === "string" && noiseValue.test(value); + + if (isNoise) return value.toString() + "n"; // Mark noise values with additional "n" to offset the deletion of one "n" during the processing + + if (typeof value === "bigint") return value.toString() + "n"; + + if (typeof replacer === "function") return replacer(key, value); + + if (Array.isArray(replacer) && replacer.includes(key)) return value; + + return value; + }, + space, + ); + const processedJSON = convertedToCustomJSON.replace( + bigIntsStringify, + "$1$2$3", + ); // Delete one "n" off the end of every BigInt value + const denoisedJSON = processedJSON.replace(noiseStringify, "$1$2$3"); // Remove one "n" off the end of every noisy string + + return denoisedJSON; +}; + +const featureCache = new Map(); + +/** + * Detects if the current JSON.parse implementation supports the context.source feature. + * + * Uses toString() fingerprinting to cache results and automatically detect runtime + * replacements of JSON.parse (polyfills, mocks, etc.). + * + * @returns {boolean} true if context.source is supported, false otherwise. + */ +const isContextSourceSupported = () => { + const parseFingerprint = JSON.parse.toString(); + + if (featureCache.has(parseFingerprint)) { + return featureCache.get(parseFingerprint); + } + + try { + const result = JSON.parse( + "1", + (_, __, context) => !!context?.source && context.source === "1", + ); + featureCache.set(parseFingerprint, result); + + return result; + } catch { + featureCache.set(parseFingerprint, false); + + return false; + } +}; + +/** + * Reviver function that converts custom-format BigInt strings back to BigInt values. + * Also handles "noise" strings that accidentally match the BigInt format. + * + * @param {string | number | undefined} key The object key. + * @param {*} value The value being parsed. + * @param {object} [context] Parse context (if supported by JSON.parse). + * @param {Reviver} [userReviver] User's custom reviver function. + * @returns {any} The transformed value. + */ +const convertMarkedBigIntsReviver = (key, value, context, userReviver) => { + const isCustomFormatBigInt = + typeof value === "string" && customFormat.test(value); + if (isCustomFormatBigInt) return BigInt(value.slice(0, -1)); + + const isNoiseValue = typeof value === "string" && noiseValue.test(value); + if (isNoiseValue) return value.slice(0, -1); + + if (typeof userReviver !== "function") return value; + + return userReviver(key, value, context); +}; + +/** + * Fast JSON.parse implementation (~2x faster than classic fallback). + * Uses JSON.parse's context.source feature to detect integers and convert + * large numbers directly to BigInt without string manipulation. + * + * Does not support legacy custom format from v1 of this library. + * + * @param {string} text JSON string to parse. + * @param {Reviver} [reviver] Transform function to apply to each value. + * @returns {any} Parsed JavaScript value. + */ +const JSONParseV2 = (text, reviver) => { + return JSON.parse(text, (key, value, context) => { + const isBigNumber = + typeof value === "number" && + (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER); + const isInt = context && intRegex.test(context.source); + const isBigInt = isBigNumber && isInt; + + if (isBigInt) return BigInt(context.source); + + if (typeof reviver !== "function") return value; + + return reviver(key, value, context); + }); +}; + +const MAX_INT = Number.MAX_SAFE_INTEGER.toString(); +const MAX_DIGITS = MAX_INT.length; +const stringsOrLargeNumbers = + /"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g; +const noiseValueWithQuotes = /^"-?\d+n+"$/; // Noise - strings that match the custom format before being converted to it + +/** + * Converts a JSON string into a JavaScript value. + * + * Supports parsing of large integers using two strategies: + * 1. Classic fallback: Marks large numbers with "123n" format, then converts to BigInt + * 2. Fast path (JSONParseV2): Uses context.source feature (~2x faster) when available + * + * All other JSON values are parsed exactly like native JSON.parse(). + * + * @param {string} text A valid JSON string. + * @param {Reviver} [reviver] + * A function that transforms the results. This function is called for each member + * of the object. If a member contains nested objects, the nested objects are + * transformed before the parent object is. + * @returns {any} The parsed JavaScript value. + * @throws {SyntaxError} If text is not valid JSON. + */ +const JSONParse = (text, reviver) => { + if (!text) return originalParse(text, reviver); + + if (isContextSourceSupported()) return JSONParseV2(text, reviver); // Shortcut to a faster (2x) and simpler version + + // Find and mark big numbers with "n" + const serializedData = text.replace( + stringsOrLargeNumbers, + (text, digits, fractional, exponential) => { + const isString = text[0] === '"'; + const isNoise = isString && noiseValueWithQuotes.test(text); + + if (isNoise) return text.substring(0, text.length - 1) + 'n"'; // Mark noise values with additional "n" to offset the deletion of one "n" during the processing + + const isFractionalOrExponential = fractional || exponential; + const isLessThanMaxSafeInt = + digits && + (digits.length < MAX_DIGITS || + (digits.length === MAX_DIGITS && digits <= MAX_INT)); // With a fixed number of digits, we can correctly use lexicographical comparison to do a numeric comparison + + if (isString || isFractionalOrExponential || isLessThanMaxSafeInt) + return text; + + return '"' + text + 'n"'; + }, + ); + + return originalParse(serializedData, (key, value, context) => + convertMarkedBigIntsReviver(key, value, context, reviver), + ); +}; + +module.exports = { JSONStringify, JSONParse }; diff --git a/node_modules/json-with-bigint/json-with-bigint.d.cts b/node_modules/json-with-bigint/json-with-bigint.d.cts new file mode 100644 index 0000000..46b78f7 --- /dev/null +++ b/node_modules/json-with-bigint/json-with-bigint.d.cts @@ -0,0 +1,3 @@ +export const JSONStringify: typeof JSON.stringify; + +export const JSONParse: typeof JSON.parse; diff --git a/node_modules/json-with-bigint/json-with-bigint.d.ts b/node_modules/json-with-bigint/json-with-bigint.d.ts new file mode 100644 index 0000000..46b78f7 --- /dev/null +++ b/node_modules/json-with-bigint/json-with-bigint.d.ts @@ -0,0 +1,3 @@ +export const JSONStringify: typeof JSON.stringify; + +export const JSONParse: typeof JSON.parse; diff --git a/node_modules/json-with-bigint/json-with-bigint.js b/node_modules/json-with-bigint/json-with-bigint.js new file mode 100644 index 0000000..883fa2b --- /dev/null +++ b/node_modules/json-with-bigint/json-with-bigint.js @@ -0,0 +1,215 @@ +const intRegex = /^-?\d+$/; +const noiseValue = /^-?\d+n+$/; // Noise - strings that match the custom format before being converted to it +const originalStringify = JSON.stringify; +const originalParse = JSON.parse; +const customFormat = /^-?\d+n$/; + +const bigIntsStringify = /([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g; +const noiseStringify = + /([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g; + +/** + * @typedef {(this: any, key: string | number | undefined, value: any) => any} Replacer + * @typedef {(key: string | number | undefined, value: any, context?: { source: string }) => any} Reviver + */ + +/** + * Converts a JavaScript value to a JSON string. + * + * Supports serialization of BigInt values using two strategies: + * 1. Custom format "123n" → "123" (universal fallback) + * 2. Native JSON.rawJSON() (Node.js 22+, fastest) when available + * + * All other values are serialized exactly like native JSON.stringify(). + * + * @param {*} value The value to convert to a JSON string. + * @param {Replacer | Array | null} [replacer] + * A function that alters the behavior of the stringification process, + * or an array of strings/numbers to indicate properties to exclude. + * @param {string | number} [space] + * A string or number to specify indentation or pretty-printing. + * @returns {string} The JSON string representation. + */ +const JSONStringify = (value, replacer, space) => { + if ("rawJSON" in JSON) { + return originalStringify( + value, + (key, value) => { + if (typeof value === "bigint") return JSON.rawJSON(value.toString()); + + if (typeof replacer === "function") return replacer(key, value); + + if (Array.isArray(replacer) && replacer.includes(key)) return value; + + return value; + }, + space, + ); + } + + if (!value) return originalStringify(value, replacer, space); + + const convertedToCustomJSON = originalStringify( + value, + (key, value) => { + const isNoise = typeof value === "string" && noiseValue.test(value); + + if (isNoise) return value.toString() + "n"; // Mark noise values with additional "n" to offset the deletion of one "n" during the processing + + if (typeof value === "bigint") return value.toString() + "n"; + + if (typeof replacer === "function") return replacer(key, value); + + if (Array.isArray(replacer) && replacer.includes(key)) return value; + + return value; + }, + space, + ); + const processedJSON = convertedToCustomJSON.replace( + bigIntsStringify, + "$1$2$3", + ); // Delete one "n" off the end of every BigInt value + const denoisedJSON = processedJSON.replace(noiseStringify, "$1$2$3"); // Remove one "n" off the end of every noisy string + + return denoisedJSON; +}; + +const featureCache = new Map(); + +/** + * Detects if the current JSON.parse implementation supports the context.source feature. + * + * Uses toString() fingerprinting to cache results and automatically detect runtime + * replacements of JSON.parse (polyfills, mocks, etc.). + * + * @returns {boolean} true if context.source is supported, false otherwise. + */ +const isContextSourceSupported = () => { + const parseFingerprint = JSON.parse.toString(); + + if (featureCache.has(parseFingerprint)) { + return featureCache.get(parseFingerprint); + } + + try { + const result = JSON.parse( + "1", + (_, __, context) => !!context?.source && context.source === "1", + ); + featureCache.set(parseFingerprint, result); + + return result; + } catch { + featureCache.set(parseFingerprint, false); + + return false; + } +}; + +/** + * Reviver function that converts custom-format BigInt strings back to BigInt values. + * Also handles "noise" strings that accidentally match the BigInt format. + * + * @param {string | number | undefined} key The object key. + * @param {*} value The value being parsed. + * @param {object} [context] Parse context (if supported by JSON.parse). + * @param {Reviver} [userReviver] User's custom reviver function. + * @returns {any} The transformed value. + */ +const convertMarkedBigIntsReviver = (key, value, context, userReviver) => { + const isCustomFormatBigInt = + typeof value === "string" && customFormat.test(value); + if (isCustomFormatBigInt) return BigInt(value.slice(0, -1)); + + const isNoiseValue = typeof value === "string" && noiseValue.test(value); + if (isNoiseValue) return value.slice(0, -1); + + if (typeof userReviver !== "function") return value; + + return userReviver(key, value, context); +}; + +/** + * Fast JSON.parse implementation (~2x faster than classic fallback). + * Uses JSON.parse's context.source feature to detect integers and convert + * large numbers directly to BigInt without string manipulation. + * + * Does not support legacy custom format from v1 of this library. + * + * @param {string} text JSON string to parse. + * @param {Reviver} [reviver] Transform function to apply to each value. + * @returns {any} Parsed JavaScript value. + */ +const JSONParseV2 = (text, reviver) => { + return JSON.parse(text, (key, value, context) => { + const isBigNumber = + typeof value === "number" && + (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER); + const isInt = context && intRegex.test(context.source); + const isBigInt = isBigNumber && isInt; + + if (isBigInt) return BigInt(context.source); + + if (typeof reviver !== "function") return value; + + return reviver(key, value, context); + }); +}; + +const MAX_INT = Number.MAX_SAFE_INTEGER.toString(); +const MAX_DIGITS = MAX_INT.length; +const stringsOrLargeNumbers = + /"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g; +const noiseValueWithQuotes = /^"-?\d+n+"$/; // Noise - strings that match the custom format before being converted to it + +/** + * Converts a JSON string into a JavaScript value. + * + * Supports parsing of large integers using two strategies: + * 1. Classic fallback: Marks large numbers with "123n" format, then converts to BigInt + * 2. Fast path (JSONParseV2): Uses context.source feature (~2x faster) when available + * + * All other JSON values are parsed exactly like native JSON.parse(). + * + * @param {string} text A valid JSON string. + * @param {Reviver} [reviver] + * A function that transforms the results. This function is called for each member + * of the object. If a member contains nested objects, the nested objects are + * transformed before the parent object is. + * @returns {any} The parsed JavaScript value. + * @throws {SyntaxError} If text is not valid JSON. + */ +const JSONParse = (text, reviver) => { + if (!text) return originalParse(text, reviver); + + if (isContextSourceSupported()) return JSONParseV2(text, reviver); // Shortcut to a faster (2x) and simpler version + + // Find and mark big numbers with "n" + const serializedData = text.replace( + stringsOrLargeNumbers, + (text, digits, fractional, exponential) => { + const isString = text[0] === '"'; + const isNoise = isString && noiseValueWithQuotes.test(text); + + if (isNoise) return text.substring(0, text.length - 1) + 'n"'; // Mark noise values with additional "n" to offset the deletion of one "n" during the processing + + const isFractionalOrExponential = fractional || exponential; + const isLessThanMaxSafeInt = + digits && + (digits.length < MAX_DIGITS || + (digits.length === MAX_DIGITS && digits <= MAX_INT)); // With a fixed number of digits, we can correctly use lexicographical comparison to do a numeric comparison + + if (isString || isFractionalOrExponential || isLessThanMaxSafeInt) + return text; + + return '"' + text + 'n"'; + }, + ); + + return originalParse(serializedData, (key, value, context) => + convertMarkedBigIntsReviver(key, value, context, reviver), + ); +}; + +export { JSONStringify, JSONParse }; diff --git a/node_modules/json-with-bigint/json-with-bigint.min.js b/node_modules/json-with-bigint/json-with-bigint.min.js new file mode 100644 index 0000000..7ba1339 --- /dev/null +++ b/node_modules/json-with-bigint/json-with-bigint.min.js @@ -0,0 +1 @@ +const intRegex=/^-?\d+$/,noiseValue=/^-?\d+n+$/,originalStringify=JSON.stringify,originalParse=JSON.parse,customFormat=/^-?\d+n$/,bigIntsStringify=/([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g,noiseStringify=/([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g,JSONStringify=(e,r,t)=>{if("rawJSON"in JSON)return originalStringify(e,((e,t)=>"bigint"==typeof t?JSON.rawJSON(t.toString()):"function"==typeof r?r(e,t):(Array.isArray(r)&&r.includes(e),t)),t);if(!e)return originalStringify(e,r,t);const n=originalStringify(e,((e,t)=>"string"==typeof t&&noiseValue.test(t)||"bigint"==typeof t?t.toString()+"n":"function"==typeof r?r(e,t):(Array.isArray(r)&&r.includes(e),t)),t);return n.replace(bigIntsStringify,"$1$2$3").replace(noiseStringify,"$1$2$3")},featureCache=new Map,isContextSourceSupported=()=>{const e=JSON.parse.toString();if(featureCache.has(e))return featureCache.get(e);try{const r=JSON.parse("1",((e,r,t)=>!!t?.source&&"1"===t.source));return featureCache.set(e,r),r}catch{return featureCache.set(e,!1),!1}},convertMarkedBigIntsReviver=(e,r,t,n)=>{if("string"==typeof r&&customFormat.test(r))return BigInt(r.slice(0,-1));return"string"==typeof r&&noiseValue.test(r)?r.slice(0,-1):"function"!=typeof n?r:n(e,r,t)},JSONParseV2=(e,r)=>JSON.parse(e,((e,t,n)=>{const i="number"==typeof t&&(t>Number.MAX_SAFE_INTEGER||t{if(!e)return originalParse(e,r);if(isContextSourceSupported())return JSONParseV2(e,r);const t=e.replace(stringsOrLargeNumbers,((e,r,t,n)=>{const i='"'===e[0];if(i&&noiseValueWithQuotes.test(e))return e.substring(0,e.length-1)+'n"';const s=t||n,o=r&&(r.lengthconvertMarkedBigIntsReviver(e,t,n,r)))};export{JSONStringify,JSONParse}; \ No newline at end of file diff --git a/node_modules/json-with-bigint/package.json b/node_modules/json-with-bigint/package.json new file mode 100644 index 0000000..de6fc2b --- /dev/null +++ b/node_modules/json-with-bigint/package.json @@ -0,0 +1,32 @@ +{ + "name": "json-with-bigint", + "version": "3.5.8", + "description": "JS library that allows you to easily serialize and deserialize data with BigInt values", + "type": "module", + "types": "./json-with-bigint.d.ts", + "exports": { + "import": "./json-with-bigint.js", + "require": "./json-with-bigint.cjs" + }, + "scripts": { + "build:cjs": "node ./scripts/build-cjs.js", + "test": "npm run unit:cjs && npm run unit:esm", + "performance:cjs": "node __tests__/performance.cjs", + "unit:cjs": "node __tests__/unit.cjs", + "performance:esm": "node __tests__/performance.mjs", + "unit:esm": "node __tests__/unit.mjs" + }, + "repository": { + "type": "git", + "url": "https://github.com/Ivan-Korolenko/json-with-bigint" + }, + "keywords": [ + "JSON", + "BigInt", + "js", + "ts", + "library" + ], + "author": "Ivan Korolenko ", + "license": "MIT" +} diff --git a/node_modules/json-with-bigint/scripts/build-cjs.js b/node_modules/json-with-bigint/scripts/build-cjs.js new file mode 100644 index 0000000..e95ba72 --- /dev/null +++ b/node_modules/json-with-bigint/scripts/build-cjs.js @@ -0,0 +1,58 @@ +import fs from "node:fs"; + +const esmSource = fs.readFileSync("./json-with-bigint.js", "utf-8"); +const prefix = `// This file is auto-generated. Do not edit this file directly. +// Instead edit the json-with-bigint.js and regenerate this file using: +// npm run build:cjs + +"use strict"; + +`; + +const exportedNames = new Set(); + +// Find export { name1, name2 } +const namedExportsMatch = esmSource.match(/export\s*\{([^}]+?)\}/s); +if (namedExportsMatch) { + namedExportsMatch[1] + .split(",") + .map((name) => name.trim()) + .filter(Boolean) + .forEach((name) => exportedNames.add(name)); +} + +// Find export foo; +const singleExports = esmSource.match(/export\s+(\w+)\s*;/g); +if (singleExports) { + singleExports.forEach((match) => { + const name = match.match(/export\s+(\w+)/)?.[1]; + if (name) exportedNames.add(name); + }); +} + +// Find export default foo; +const defaultExport = esmSource.match(/export\s+default\s+(\w+)/); +if (defaultExport) { + exportedNames.add(defaultExport[1]); +} + +let cjsSource = esmSource + // Remove export { ... } + .replace(/^\s*export\s*\{[^}]+\}\s*;?\s*$/gm, "") + // Remove export name; + .replace(/^\s*export\s+\w+\s*;?\s*$/gm, "") + // Remove export default name; + .replace(/^\s*export\s+default\s+\w+\s*;?\s*$/gm, "") + // Remove export default (...) + .replace(/^\s*export\s+default\s+.+?$/gm, "") + .trim(); + +const exportsList = Array.from(exportedNames).join(", "); + +const moduleExports = + exportedNames.size > 0 ? `module.exports = { ${exportsList} };` : ""; + +cjsSource = prefix + cjsSource + `\n\n${moduleExports}\n`; + +fs.writeFileSync("./json-with-bigint.cjs", cjsSource, "utf8"); +console.log("✅ CJS generated: module.exports = { " + exportsList + " }"); diff --git a/node_modules/json-with-bigint/tsconfig.json b/node_modules/json-with-bigint/tsconfig.json new file mode 100644 index 0000000..34f5539 --- /dev/null +++ b/node_modules/json-with-bigint/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "target": "es2020", + "allowJs": true, + "checkJs": false, + "noEmit": true + }, + "include": ["json-with-bigint.js"] +} diff --git a/node_modules/lodash.get/package.json b/node_modules/lodash.get/package.json index dbdc0d4..3dd8e77 100644 --- a/node_modules/lodash.get/package.json +++ b/node_modules/lodash.get/package.json @@ -14,8 +14,4 @@ ], "repository": "lodash/lodash", "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } - -,"_resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" -,"_integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" -,"_from": "lodash.get@4.4.2" -} \ No newline at end of file +} diff --git a/node_modules/lodash.set/package.json b/node_modules/lodash.set/package.json index e991634..057651b 100644 --- a/node_modules/lodash.set/package.json +++ b/node_modules/lodash.set/package.json @@ -14,8 +14,4 @@ ], "repository": "lodash/lodash", "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } - -,"_resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz" -,"_integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=" -,"_from": "lodash.set@4.3.2" -} \ No newline at end of file +} diff --git a/node_modules/lodash.uniq/package.json b/node_modules/lodash.uniq/package.json index 8a09fd1..d433123 100644 --- a/node_modules/lodash.uniq/package.json +++ b/node_modules/lodash.uniq/package.json @@ -14,8 +14,4 @@ ], "repository": "lodash/lodash", "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } - -,"_resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" -,"_integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" -,"_from": "lodash.uniq@4.5.0" -} \ No newline at end of file +} diff --git a/node_modules/macos-release/index.d.ts b/node_modules/macos-release/index.d.ts index c4efcf4..b963835 100644 --- a/node_modules/macos-release/index.d.ts +++ b/node_modules/macos-release/index.d.ts @@ -2,7 +2,7 @@ declare const macosRelease: { /** Get the name and version of a macOS release from the Darwin version. - @param release - By default, the current operating system is used, but you can supply a custom [Darwin kernel version](http://en.wikipedia.org/wiki/Darwin_%28operating_system%29#Release_history), which is the output of [`os.release()`](https://nodejs.org/api/os.html#os_os_release). + @param release - By default, the current operating system is used, but you can supply a custom [Darwin kernel version](https://en.wikipedia.org/wiki/Darwin_%28operating_system%29#Release_history), which is the output of [`os.release()`](https://nodejs.org/api/os.html#os_os_release). @example ``` @@ -23,12 +23,16 @@ declare const macosRelease: { macosRelease('14.0.0'); //=> {name: 'Yosemite', version: '10.10'} + + macosRelease('20.0.0'); + //=> {name: 'Big Sur', version: '11'} ``` */ - (release?: string): string; + (): {name: string, version: string} + (release: string): {name: string, version: string} | undefined; // TODO: remove this in the next major version, refactor the whole definition to: - // declare function macosRelease(release?: string): string; + // declare function macosRelease(release?: string): {name: string, version: string}; // export = macosRelease; default: typeof macosRelease; }; diff --git a/node_modules/macos-release/index.js b/node_modules/macos-release/index.js index b6eba6b..d314d73 100644 --- a/node_modules/macos-release/index.js +++ b/node_modules/macos-release/index.js @@ -2,28 +2,33 @@ const os = require('os'); const nameMap = new Map([ - [19, 'Catalina'], - [18, 'Mojave'], - [17, 'High Sierra'], - [16, 'Sierra'], - [15, 'El Capitan'], - [14, 'Yosemite'], - [13, 'Mavericks'], - [12, 'Mountain Lion'], - [11, 'Lion'], - [10, 'Snow Leopard'], - [9, 'Leopard'], - [8, 'Tiger'], - [7, 'Panther'], - [6, 'Jaguar'], - [5, 'Puma'] + [21, ['Monterey', '12']], + [20, ['Big Sur', '11']], + [19, ['Catalina', '10.15']], + [18, ['Mojave', '10.14']], + [17, ['High Sierra', '10.13']], + [16, ['Sierra', '10.12']], + [15, ['El Capitan', '10.11']], + [14, ['Yosemite', '10.10']], + [13, ['Mavericks', '10.9']], + [12, ['Mountain Lion', '10.8']], + [11, ['Lion', '10.7']], + [10, ['Snow Leopard', '10.6']], + [9, ['Leopard', '10.5']], + [8, ['Tiger', '10.4']], + [7, ['Panther', '10.3']], + [6, ['Jaguar', '10.2']], + [5, ['Puma', '10.1']] ]); const macosRelease = release => { release = Number((release || os.release()).split('.')[0]); + + const [name, version] = nameMap.get(release) || ['Unknown', '']; + return { - name: nameMap.get(release), - version: '10.' + (release - 4) + name, + version }; }; diff --git a/node_modules/macos-release/license b/node_modules/macos-release/license index e7af2f7..fa7ceba 100644 --- a/node_modules/macos-release/license +++ b/node_modules/macos-release/license @@ -1,6 +1,6 @@ MIT License -Copyright (c) Sindre Sorhus (sindresorhus.com) +Copyright (c) Sindre Sorhus (https://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: diff --git a/node_modules/macos-release/package.json b/node_modules/macos-release/package.json index 870c40c..7d8b5f3 100644 --- a/node_modules/macos-release/package.json +++ b/node_modules/macos-release/package.json @@ -1,13 +1,14 @@ { "name": "macos-release", - "version": "2.3.0", + "version": "2.5.1", "description": "Get the name and version of a macOS release from the Darwin version", "license": "MIT", "repository": "sindresorhus/macos-release", + "funding": "https://github.com/sponsors/sindresorhus", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" + "url": "https://sindresorhus.com" }, "engines": { "node": ">=6" @@ -36,8 +37,4 @@ "tsd": "^0.7.1", "xo": "^0.24.0" } - -,"_resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz" -,"_integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==" -,"_from": "macos-release@2.3.0" -} \ No newline at end of file +} diff --git a/node_modules/macos-release/readme.md b/node_modules/macos-release/readme.md index 2e7b907..4dd2320 100644 --- a/node_modules/macos-release/readme.md +++ b/node_modules/macos-release/readme.md @@ -1,16 +1,14 @@ -# macos-release [![Build Status](https://travis-ci.org/sindresorhus/macos-release.svg?branch=master)](https://travis-ci.org/sindresorhus/macos-release) +# macos-release -> Get the name and version of a macOS release from the Darwin version
+> Get the name and version of a macOS release from the Darwin version\ > Example: `13.2.0` → `{name: 'Mavericks', version: '10.9'}` - ## Install ``` $ npm install macos-release ``` - ## Usage ```js @@ -31,19 +29,20 @@ macosRelease(os.release()); macosRelease('14.0.0'); //=> {name: 'Yosemite', version: '10.10'} -``` +macosRelease('20.0.0'); +//=> {name: 'Big Sur', version: '11'} +``` ## API -### macosRelease([release]) +### macosRelease(release?) #### release Type: `string` -By default, the current operating system is used, but you can supply a custom [Darwin kernel version](http://en.wikipedia.org/wiki/Darwin_%28operating_system%29#Release_history), which is the output of [`os.release()`](http://nodejs.org/api/os.html#os_os_release). - +By default, the current operating system is used, but you can supply a custom [Darwin kernel version](https://en.wikipedia.org/wiki/Darwin_%28operating_system%29#Release_history), which is the output of [`os.release()`](https://nodejs.org/api/os.html#os_os_release). ## Related @@ -51,7 +50,14 @@ By default, the current operating system is used, but you can supply a custom [D - [macos-version](https://github.com/sindresorhus/macos-version) - Get the macOS version of the current system. Example: `10.9.3` - [win-release](https://github.com/sindresorhus/win-release) - Get the name of a Windows version from the release number: `5.1.2600` → `XP` - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) +--- + +
+ + Get professional support for this package with a Tidelift subscription + +
+ + Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies. +
+
diff --git a/node_modules/node-fetch/README.md b/node_modules/node-fetch/README.md index 2dde742..55f09b7 100644 --- a/node_modules/node-fetch/README.md +++ b/node_modules/node-fetch/README.md @@ -188,6 +188,49 @@ fetch('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png') }); ``` +In Node.js 14 you can also use async iterators to read `body`; however, be careful to catch +errors -- the longer a response runs, the more likely it is to encounter an error. + +```js +const fetch = require('node-fetch'); +const response = await fetch('https://httpbin.org/stream/3'); +try { + for await (const chunk of response.body) { + console.dir(JSON.parse(chunk.toString())); + } +} catch (err) { + console.error(err.stack); +} +``` + +In Node.js 12 you can also use async iterators to read `body`; however, async iterators with streams +did not mature until Node.js 14, so you need to do some extra work to ensure you handle errors +directly from the stream and wait on it response to fully close. + +```js +const fetch = require('node-fetch'); +const read = async body => { + let error; + body.on('error', err => { + error = err; + }); + for await (const chunk of body) { + console.dir(JSON.parse(chunk.toString())); + } + return new Promise((resolve, reject) => { + body.on('close', () => { + error ? reject(error) : resolve(); + }); + }); +}; +try { + const response = await fetch('https://httpbin.org/stream/3'); + await read(response.body); +} catch (err) { + console.error(err.stack); +} +``` + #### Buffer If you prefer to cache binary data in full, use buffer(). (NOTE: `buffer()` is a `node-fetch`-only API) @@ -344,7 +387,6 @@ Header | Value ------------------- | -------------------------------------------------------- `Accept-Encoding` | `gzip,deflate` _(when `options.compress === true`)_ `Accept` | `*/*` -`Connection` | `close` _(when no `options.agent` is present)_ `Content-Length` | _(automatically calculated, if possible)_ `Transfer-Encoding` | `chunked` _(when `req.body` is a stream)_ `User-Agent` | `node-fetch/1.0 (+https://github.com/bitinn/node-fetch)` @@ -361,6 +403,8 @@ The `agent` option allows you to specify networking related options which are ou See [`http.Agent`](https://nodejs.org/api/http.html#http_new_agent_options) for more information. +If no agent is specified, the default agent provided by Node.js is used. Note that [this changed in Node.js 19](https://github.com/nodejs/node/blob/4267b92604ad78584244488e7f7508a690cb80d0/lib/_http_agent.js#L564) to have `keepalive` true by default. If you wish to enable `keepalive` in an earlier version of Node.js, you can override the agent as per the following code sample. + In addition, the `agent` option accepts a function that returns `http`(s)`.Agent` instance given current [URL](https://nodejs.org/api/url.html), this is useful during a redirection chain across HTTP and HTTPS protocol. ```js diff --git a/node_modules/node-fetch/browser.js b/node_modules/node-fetch/browser.js index 83c54c5..ee86265 100644 --- a/node_modules/node-fetch/browser.js +++ b/node_modules/node-fetch/browser.js @@ -11,15 +11,15 @@ var getGlobal = function () { throw new Error('unable to locate global object'); } -var global = getGlobal(); +var globalObject = getGlobal(); -module.exports = exports = global.fetch; +module.exports = exports = globalObject.fetch; // Needed for TypeScript and Webpack. -if (global.fetch) { - exports.default = global.fetch.bind(global); +if (globalObject.fetch) { + exports.default = globalObject.fetch.bind(globalObject); } -exports.Headers = global.Headers; -exports.Request = global.Request; -exports.Response = global.Response; \ No newline at end of file +exports.Headers = globalObject.Headers; +exports.Request = globalObject.Request; +exports.Response = globalObject.Response; diff --git a/node_modules/node-fetch/lib/index.es.js b/node_modules/node-fetch/lib/index.es.js index 4852f7c..aae9799 100644 --- a/node_modules/node-fetch/lib/index.es.js +++ b/node_modules/node-fetch/lib/index.es.js @@ -1361,10 +1361,6 @@ function getNodeRequestOptions(request) { agent = agent(parsedURL); } - if (!headers.has('Connection') && !agent) { - headers.set('Connection', 'close'); - } - // HTTP-network fetch step 4.2 // chunked encoding is handled by Node.js @@ -1413,6 +1409,20 @@ const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); }; +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + /** * Fetch function * @@ -1444,7 +1454,7 @@ function fetch(url, opts) { let error = new AbortError('The user aborted a request.'); reject(error); if (request.body && request.body instanceof Stream.Readable) { - request.body.destroy(error); + destroyStream(request.body, error); } if (!response || !response.body) return; response.body.emit('error', error); @@ -1485,9 +1495,43 @@ function fetch(url, opts) { req.on('error', function (err) { reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + finalize(); }); + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + req.on('response', function (res) { clearTimeout(reqTimeout); @@ -1559,7 +1603,7 @@ function fetch(url, opts) { size: request.size }; - if (!isDomainOrSubdomain(request.url, locationURL)) { + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { requestOpts.headers.delete(name); } @@ -1652,6 +1696,13 @@ function fetch(url, opts) { response = new Response(body, response_options); resolve(response); }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); return; } @@ -1671,6 +1722,44 @@ function fetch(url, opts) { writeToStream(req, request); }); } +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // tests for socket presence, as in some situations the + // the 'socket' event is not triggered for the request + // (happens in deno), avoids `TypeError` + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket && socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + /** * Redirect code matching * @@ -1685,4 +1774,4 @@ fetch.isRedirect = function (code) { fetch.Promise = global.Promise; export default fetch; -export { Headers, Request, Response, FetchError }; +export { Headers, Request, Response, FetchError, AbortError }; diff --git a/node_modules/node-fetch/lib/index.js b/node_modules/node-fetch/lib/index.js index e5b04f1..567ff5d 100644 --- a/node_modules/node-fetch/lib/index.js +++ b/node_modules/node-fetch/lib/index.js @@ -1365,10 +1365,6 @@ function getNodeRequestOptions(request) { agent = agent(parsedURL); } - if (!headers.has('Connection') && !agent) { - headers.set('Connection', 'close'); - } - // HTTP-network fetch step 4.2 // chunked encoding is handled by Node.js @@ -1417,6 +1413,20 @@ const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); }; +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + /** * Fetch function * @@ -1448,7 +1458,7 @@ function fetch(url, opts) { let error = new AbortError('The user aborted a request.'); reject(error); if (request.body && request.body instanceof Stream.Readable) { - request.body.destroy(error); + destroyStream(request.body, error); } if (!response || !response.body) return; response.body.emit('error', error); @@ -1489,9 +1499,43 @@ function fetch(url, opts) { req.on('error', function (err) { reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + finalize(); }); + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + req.on('response', function (res) { clearTimeout(reqTimeout); @@ -1563,7 +1607,7 @@ function fetch(url, opts) { size: request.size }; - if (!isDomainOrSubdomain(request.url, locationURL)) { + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { requestOpts.headers.delete(name); } @@ -1656,6 +1700,13 @@ function fetch(url, opts) { response = new Response(body, response_options); resolve(response); }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); return; } @@ -1675,6 +1726,44 @@ function fetch(url, opts) { writeToStream(req, request); }); } +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // tests for socket presence, as in some situations the + // the 'socket' event is not triggered for the request + // (happens in deno), avoids `TypeError` + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket && socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + /** * Redirect code matching * @@ -1695,3 +1784,4 @@ exports.Headers = Headers; exports.Request = Request; exports.Response = Response; exports.FetchError = FetchError; +exports.AbortError = AbortError; diff --git a/node_modules/node-fetch/lib/index.mjs b/node_modules/node-fetch/lib/index.mjs index 49ee05e..2863dd9 100644 --- a/node_modules/node-fetch/lib/index.mjs +++ b/node_modules/node-fetch/lib/index.mjs @@ -1359,10 +1359,6 @@ function getNodeRequestOptions(request) { agent = agent(parsedURL); } - if (!headers.has('Connection') && !agent) { - headers.set('Connection', 'close'); - } - // HTTP-network fetch step 4.2 // chunked encoding is handled by Node.js @@ -1411,6 +1407,20 @@ const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); }; +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + /** * Fetch function * @@ -1442,7 +1452,7 @@ function fetch(url, opts) { let error = new AbortError('The user aborted a request.'); reject(error); if (request.body && request.body instanceof Stream.Readable) { - request.body.destroy(error); + destroyStream(request.body, error); } if (!response || !response.body) return; response.body.emit('error', error); @@ -1483,9 +1493,43 @@ function fetch(url, opts) { req.on('error', function (err) { reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + finalize(); }); + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + req.on('response', function (res) { clearTimeout(reqTimeout); @@ -1557,7 +1601,7 @@ function fetch(url, opts) { size: request.size }; - if (!isDomainOrSubdomain(request.url, locationURL)) { + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { requestOpts.headers.delete(name); } @@ -1650,6 +1694,13 @@ function fetch(url, opts) { response = new Response(body, response_options); resolve(response); }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); return; } @@ -1669,6 +1720,44 @@ function fetch(url, opts) { writeToStream(req, request); }); } +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // tests for socket presence, as in some situations the + // the 'socket' event is not triggered for the request + // (happens in deno), avoids `TypeError` + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket && socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + /** * Redirect code matching * @@ -1683,4 +1772,4 @@ fetch.isRedirect = function (code) { fetch.Promise = global.Promise; export default fetch; -export { Headers, Request, Response, FetchError }; +export { Headers, Request, Response, FetchError, AbortError }; diff --git a/node_modules/node-fetch/package.json b/node_modules/node-fetch/package.json index 3c1bd8d..e0be176 100644 --- a/node_modules/node-fetch/package.json +++ b/node_modules/node-fetch/package.json @@ -1,6 +1,6 @@ { "name": "node-fetch", - "version": "2.6.7", + "version": "2.7.0", "description": "A light-weight module that brings window.fetch to node.js", "main": "lib/index.js", "browser": "./browser.js", @@ -39,7 +39,7 @@ "dependencies": { "whatwg-url": "^5.0.0" }, - "peerDependencies": { + "peerDependencies": { "encoding": "^0.1.0" }, "peerDependenciesMeta": { @@ -53,7 +53,9 @@ "abortcontroller-polyfill": "^1.3.0", "babel-core": "^6.26.3", "babel-plugin-istanbul": "^4.1.6", - "babel-preset-env": "^1.6.1", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-polyfill": "^6.26.0", + "babel-preset-env": "1.4.0", "babel-register": "^6.16.3", "chai": "^3.5.0", "chai-as-promised": "^7.1.1", @@ -72,5 +74,16 @@ "rollup-plugin-babel": "^3.0.7", "string-to-arraybuffer": "^1.0.2", "teeny-request": "3.7.0" + }, + "release": { + "branches": [ + "+([0-9]).x", + "main", + "next", + { + "name": "beta", + "prerelease": true + } + ] } } diff --git a/node_modules/npm-run-path/package.json b/node_modules/npm-run-path/package.json index 557c23e..3c27504 100644 --- a/node_modules/npm-run-path/package.json +++ b/node_modules/npm-run-path/package.json @@ -42,8 +42,4 @@ "xo": { "esnext": true } - -,"_resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" -,"_integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=" -,"_from": "npm-run-path@2.0.2" -} \ No newline at end of file +} diff --git a/node_modules/once/package.json b/node_modules/once/package.json index a498f74..16815b2 100644 --- a/node_modules/once/package.json +++ b/node_modules/once/package.json @@ -30,8 +30,4 @@ ], "author": "Isaac Z. Schlueter (http://blog.izs.me/)", "license": "ISC" - -,"_resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz" -,"_integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" -,"_from": "once@1.4.0" -} \ No newline at end of file +} diff --git a/node_modules/p-finally/package.json b/node_modules/p-finally/package.json index 719d847..b26ab51 100644 --- a/node_modules/p-finally/package.json +++ b/node_modules/p-finally/package.json @@ -39,8 +39,4 @@ "xo": { "esnext": true } - -,"_resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" -,"_integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" -,"_from": "p-finally@1.0.0" -} \ No newline at end of file +} diff --git a/node_modules/path-key/package.json b/node_modules/path-key/package.json index d9d2751..81e0e8b 100644 --- a/node_modules/path-key/package.json +++ b/node_modules/path-key/package.json @@ -36,8 +36,4 @@ "xo": { "esnext": true } - -,"_resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" -,"_integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" -,"_from": "path-key@2.0.1" -} \ No newline at end of file +} diff --git a/node_modules/pump/.github/FUNDING.yml b/node_modules/pump/.github/FUNDING.yml new file mode 100644 index 0000000..f6c9139 --- /dev/null +++ b/node_modules/pump/.github/FUNDING.yml @@ -0,0 +1,2 @@ +github: mafintosh +tidelift: "npm/pump" diff --git a/node_modules/pump/README.md b/node_modules/pump/README.md index 4c81471..5dcd8a5 100644 --- a/node_modules/pump/README.md +++ b/node_modules/pump/README.md @@ -53,6 +53,9 @@ Similarly to `stream.pipe()`, `pump()` returns the last stream passed in, so you return pump(s1, s2) // returns s2 ``` +Note that `pump` attaches error handlers to the streams to do internal error handling, so if `s2` emits an +error in the above scenario, it will not trigger a `proccess.on('uncaughtException')` if you do not listen for it. + If you want to return a stream that combines *both* s1 and s2 to a single stream use [pumpify](https://github.com/mafintosh/pumpify) instead. @@ -63,3 +66,9 @@ MIT ## Related `pump` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one. + +## For enterprise + +Available as part of the Tidelift Subscription. + +The maintainers of pump and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-pump?utm_source=npm-pump&utm_medium=referral&utm_campaign=enterprise) diff --git a/node_modules/pump/SECURITY.md b/node_modules/pump/SECURITY.md new file mode 100644 index 0000000..da9c516 --- /dev/null +++ b/node_modules/pump/SECURITY.md @@ -0,0 +1,5 @@ +## Security contact information + +To report a security vulnerability, please use the +[Tidelift security contact](https://tidelift.com/security). +Tidelift will coordinate the fix and disclosure. diff --git a/node_modules/pump/empty.js b/node_modules/pump/empty.js new file mode 100644 index 0000000..7209432 --- /dev/null +++ b/node_modules/pump/empty.js @@ -0,0 +1 @@ +module.exports = null diff --git a/node_modules/pump/index.js b/node_modules/pump/index.js index c15059f..712c076 100644 --- a/node_modules/pump/index.js +++ b/node_modules/pump/index.js @@ -1,9 +1,13 @@ var once = require('once') var eos = require('end-of-stream') -var fs = require('fs') // we only need fs to get the ReadStream and WriteStream prototypes +var fs + +try { + fs = require('fs') // we only need fs to get the ReadStream and WriteStream prototypes +} catch (e) {} var noop = function () {} -var ancient = /^v?\.0/.test(process.version) +var ancient = typeof process === 'undefined' ? false : /^v?\.0/.test(process.version) var isFn = function (fn) { return typeof fn === 'function' diff --git a/node_modules/pump/package.json b/node_modules/pump/package.json index be95fce..8d4795e 100644 --- a/node_modules/pump/package.json +++ b/node_modules/pump/package.json @@ -1,12 +1,18 @@ { "name": "pump", - "version": "3.0.0", + "version": "3.0.4", "repository": "git://github.com/mafintosh/pump.git", "license": "MIT", "description": "pipe streams together and close all of them if one of them closes", "browser": { "fs": false }, + "imports": { + "fs": { + "bare": "./empty.js", + "default": "fs" + } + }, "keywords": [ "streams", "pipe", @@ -21,8 +27,4 @@ "scripts": { "test": "node test-browser.js && node test-node.js" } - -,"_resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" -,"_integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" -,"_from": "pump@3.0.0" -} \ No newline at end of file +} diff --git a/node_modules/semver/CHANGELOG.md b/node_modules/semver/CHANGELOG.md deleted file mode 100644 index 66304fd..0000000 --- a/node_modules/semver/CHANGELOG.md +++ /dev/null @@ -1,39 +0,0 @@ -# changes log - -## 5.7 - -* Add `minVersion` method - -## 5.6 - -* Move boolean `loose` param to an options object, with - backwards-compatibility protection. -* Add ability to opt out of special prerelease version handling with - the `includePrerelease` option flag. - -## 5.5 - -* Add version coercion capabilities - -## 5.4 - -* Add intersection checking - -## 5.3 - -* Add `minSatisfying` method - -## 5.2 - -* Add `prerelease(v)` that returns prerelease components - -## 5.1 - -* Add Backus-Naur for ranges -* Remove excessively cute inspection methods - -## 5.0 - -* Remove AMD/Browserified build artifacts -* Fix ltr and gtr when using the `*` range -* Fix for range `*` with a prerelease identifier diff --git a/node_modules/semver/package.json b/node_modules/semver/package.json index 31e12dd..db035e9 100644 --- a/node_modules/semver/package.json +++ b/node_modules/semver/package.json @@ -1,19 +1,26 @@ { "name": "semver", - "version": "5.7.1", + "version": "5.7.2", "description": "The semantic version parser used by npm.", "main": "semver.js", "scripts": { - "test": "tap", - "preversion": "npm test", - "postversion": "npm publish", - "postpublish": "git push origin --all; git push origin --tags" + "test": "tap test/ --100 --timeout=30", + "lint": "echo linting disabled", + "postlint": "template-oss-check", + "template-oss-apply": "template-oss-apply --force", + "lintfix": "npm run lint -- --fix", + "snap": "tap test/ --100 --timeout=30", + "posttest": "npm run lint" }, "devDependencies": { - "tap": "^13.0.0-rc.18" + "@npmcli/template-oss": "4.17.0", + "tap": "^12.7.0" }, "license": "ISC", - "repository": "https://github.com/npm/node-semver", + "repository": { + "type": "git", + "url": "https://github.com/npm/node-semver.git" + }, "bin": { "semver": "./bin/semver" }, @@ -22,11 +29,10 @@ "range.bnf", "semver.js" ], - "tap": { - "check-coverage": true + "author": "GitHub Inc.", + "templateOSS": { + "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", + "content": "./scripts/template-oss", + "version": "4.17.0" } - -,"_resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" -,"_integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" -,"_from": "semver@5.7.1" -} \ No newline at end of file +} diff --git a/node_modules/semver/semver.js b/node_modules/semver/semver.js index d315d5d..dcb6833 100644 --- a/node_modules/semver/semver.js +++ b/node_modules/semver/semver.js @@ -26,11 +26,39 @@ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || // Max safe segment length for coercion. var MAX_SAFE_COMPONENT_LENGTH = 16 +var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6 + // The actual regexps go on exports.re var re = exports.re = [] +var safeRe = exports.safeRe = [] var src = exports.src = [] var R = 0 +var LETTERDASHNUMBER = '[a-zA-Z0-9-]' + +// Replace some greedy regex tokens to prevent regex dos issues. These regex are +// used internally via the safeRe object since all inputs in this library get +// normalized first to trim and collapse all extra whitespace. The original +// regexes are exported for userland consumption and lower level usage. A +// future breaking change could export the safer regex only with a note that +// all input should have extra whitespace removed. +var safeRegexReplacements = [ + ['\\s', 1], + ['\\d', MAX_LENGTH], + [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], +] + +function makeSafeRe (value) { + for (var i = 0; i < safeRegexReplacements.length; i++) { + var token = safeRegexReplacements[i][0] + var max = safeRegexReplacements[i][1] + value = value + .split(token + '*').join(token + '{0,' + max + '}') + .split(token + '+').join(token + '{1,' + max + '}') + } + return value +} + // The following Regular Expressions can be used for tokenizing, // validating, and parsing SemVer version strings. @@ -40,14 +68,14 @@ var R = 0 var NUMERICIDENTIFIER = R++ src[NUMERICIDENTIFIER] = '0|[1-9]\\d*' var NUMERICIDENTIFIERLOOSE = R++ -src[NUMERICIDENTIFIERLOOSE] = '[0-9]+' +src[NUMERICIDENTIFIERLOOSE] = '\\d+' // ## Non-numeric Identifier // Zero or more digits, followed by a letter or hyphen, and then zero or // more letters, digits, or hyphens. var NONNUMERICIDENTIFIER = R++ -src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*' +src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-]' + LETTERDASHNUMBER + '*' // ## Main Version // Three dot-separated numeric identifiers. @@ -89,7 +117,7 @@ src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] + // Any combination of digits, letters, or hyphens. var BUILDIDENTIFIER = R++ -src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+' +src[BUILDIDENTIFIER] = LETTERDASHNUMBER + '+' // ## Build Metadata // Plus sign, followed by one or more period-separated build metadata @@ -174,6 +202,7 @@ src[LONETILDE] = '(?:~>?)' var TILDETRIM = R++ src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+' re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g') +safeRe[TILDETRIM] = new RegExp(makeSafeRe(src[TILDETRIM]), 'g') var tildeTrimReplace = '$1~' var TILDE = R++ @@ -189,6 +218,7 @@ src[LONECARET] = '(?:\\^)' var CARETTRIM = R++ src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+' re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g') +safeRe[CARETTRIM] = new RegExp(makeSafeRe(src[CARETTRIM]), 'g') var caretTrimReplace = '$1^' var CARET = R++ @@ -210,6 +240,7 @@ src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] + // this one has to use the /g flag re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g') +safeRe[COMPARATORTRIM] = new RegExp(makeSafeRe(src[COMPARATORTRIM]), 'g') var comparatorTrimReplace = '$1$2$3' // Something like `1.2.3 - 1.2.4` @@ -238,6 +269,14 @@ for (var i = 0; i < R; i++) { debug(i, src[i]) if (!re[i]) { re[i] = new RegExp(src[i]) + + // Replace all greedy whitespace to prevent regex dos issues. These regex are + // used internally via the safeRe object since all inputs in this library get + // normalized first to trim and collapse all extra whitespace. The original + // regexes are exported for userland consumption and lower level usage. A + // future breaking change could export the safer regex only with a note that + // all input should have extra whitespace removed. + safeRe[i] = new RegExp(makeSafeRe(src[i])) } } @@ -262,7 +301,7 @@ function parse (version, options) { return null } - var r = options.loose ? re[LOOSE] : re[FULL] + var r = options.loose ? safeRe[LOOSE] : safeRe[FULL] if (!r.test(version)) { return null } @@ -317,7 +356,7 @@ function SemVer (version, options) { this.options = options this.loose = !!options.loose - var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL]) + var m = version.trim().match(options.loose ? safeRe[LOOSE] : safeRe[FULL]) if (!m) { throw new TypeError('Invalid Version: ' + version) @@ -731,6 +770,7 @@ function Comparator (comp, options) { return new Comparator(comp, options) } + comp = comp.trim().split(/\s+/).join(' ') debug('comparator', comp, options) this.options = options this.loose = !!options.loose @@ -747,7 +787,7 @@ function Comparator (comp, options) { var ANY = {} Comparator.prototype.parse = function (comp) { - var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR] + var r = this.options.loose ? safeRe[COMPARATORLOOSE] : safeRe[COMPARATOR] var m = comp.match(r) if (!m) { @@ -861,9 +901,16 @@ function Range (range, options) { this.loose = !!options.loose this.includePrerelease = !!options.includePrerelease - // First, split based on boolean or || + // First reduce all whitespace as much as possible so we do not have to rely + // on potentially slow regexes like \s*. This is then stored and used for + // future error messages as well. this.raw = range - this.set = range.split(/\s*\|\|\s*/).map(function (range) { + .trim() + .split(/\s+/) + .join(' ') + + // First, split based on boolean or || + this.set = this.raw.split('||').map(function (range) { return this.parseRange(range.trim()) }, this).filter(function (c) { // throw out any that are not relevant for whatever reason @@ -871,7 +918,7 @@ function Range (range, options) { }) if (!this.set.length) { - throw new TypeError('Invalid SemVer Range: ' + range) + throw new TypeError('Invalid SemVer Range: ' + this.raw) } this.format() @@ -890,28 +937,23 @@ Range.prototype.toString = function () { Range.prototype.parseRange = function (range) { var loose = this.options.loose - range = range.trim() // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` - var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE] + var hr = loose ? safeRe[HYPHENRANGELOOSE] : safeRe[HYPHENRANGE] range = range.replace(hr, hyphenReplace) debug('hyphen replace', range) // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` - range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace) - debug('comparator trim', range, re[COMPARATORTRIM]) + range = range.replace(safeRe[COMPARATORTRIM], comparatorTrimReplace) + debug('comparator trim', range, safeRe[COMPARATORTRIM]) // `~ 1.2.3` => `~1.2.3` - range = range.replace(re[TILDETRIM], tildeTrimReplace) + range = range.replace(safeRe[TILDETRIM], tildeTrimReplace) // `^ 1.2.3` => `^1.2.3` - range = range.replace(re[CARETTRIM], caretTrimReplace) - - // normalize spaces - range = range.split(/\s+/).join(' ') + range = range.replace(safeRe[CARETTRIM], caretTrimReplace) // At this point, the range is completely trimmed and // ready to be split into comparators. - - var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR] + var compRe = loose ? safeRe[COMPARATORLOOSE] : safeRe[COMPARATOR] var set = range.split(' ').map(function (comp) { return parseComparator(comp, this.options) }, this).join(' ').split(/\s+/) @@ -987,7 +1029,7 @@ function replaceTildes (comp, options) { } function replaceTilde (comp, options) { - var r = options.loose ? re[TILDELOOSE] : re[TILDE] + var r = options.loose ? safeRe[TILDELOOSE] : safeRe[TILDE] return comp.replace(r, function (_, M, m, p, pr) { debug('tilde', comp, _, M, m, p, pr) var ret @@ -1028,7 +1070,7 @@ function replaceCarets (comp, options) { function replaceCaret (comp, options) { debug('caret', comp, options) - var r = options.loose ? re[CARETLOOSE] : re[CARET] + var r = options.loose ? safeRe[CARETLOOSE] : safeRe[CARET] return comp.replace(r, function (_, M, m, p, pr) { debug('caret', comp, _, M, m, p, pr) var ret @@ -1087,7 +1129,7 @@ function replaceXRanges (comp, options) { function replaceXRange (comp, options) { comp = comp.trim() - var r = options.loose ? re[XRANGELOOSE] : re[XRANGE] + var r = options.loose ? safeRe[XRANGELOOSE] : safeRe[XRANGE] return comp.replace(r, function (ret, gtlt, M, m, p, pr) { debug('xRange', comp, ret, gtlt, M, m, p, pr) var xM = isX(M) @@ -1157,10 +1199,10 @@ function replaceXRange (comp, options) { function replaceStars (comp, options) { debug('replaceStars', comp, options) // Looseness is ignored here. star is always as loose as it gets! - return comp.trim().replace(re[STAR], '') + return comp.trim().replace(safeRe[STAR], '') } -// This function is passed to string.replace(re[HYPHENRANGE]) +// This function is passed to string.replace(safeRe[HYPHENRANGE]) // M, m, patch, prerelease, build // 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 // 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do @@ -1471,7 +1513,7 @@ function coerce (version) { return null } - var match = version.match(re[COERCE]) + var match = version.match(safeRe[COERCE]) if (match == null) { return null diff --git a/node_modules/shebang-command/package.json b/node_modules/shebang-command/package.json index 3009d53..19c9ce5 100644 --- a/node_modules/shebang-command/package.json +++ b/node_modules/shebang-command/package.json @@ -36,8 +36,4 @@ "test.js" ] } - -,"_resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" -,"_integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=" -,"_from": "shebang-command@1.2.0" -} \ No newline at end of file +} diff --git a/node_modules/shebang-regex/package.json b/node_modules/shebang-regex/package.json index 665793c..d8ec9b6 100644 --- a/node_modules/shebang-regex/package.json +++ b/node_modules/shebang-regex/package.json @@ -29,8 +29,4 @@ "devDependencies": { "ava": "0.0.4" } - -,"_resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" -,"_integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" -,"_from": "shebang-regex@1.0.0" -} \ No newline at end of file +} diff --git a/node_modules/signal-exit/CHANGELOG.md b/node_modules/signal-exit/CHANGELOG.md deleted file mode 100644 index e2f70d2..0000000 --- a/node_modules/signal-exit/CHANGELOG.md +++ /dev/null @@ -1,27 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - - -## [3.0.1](https://github.com/tapjs/signal-exit/compare/v3.0.0...v3.0.1) (2016-09-08) - - -### Bug Fixes - -* do not listen on SIGBUS, SIGFPE, SIGSEGV and SIGILL ([#40](https://github.com/tapjs/signal-exit/issues/40)) ([5b105fb](https://github.com/tapjs/signal-exit/commit/5b105fb)) - - - - -# [3.0.0](https://github.com/tapjs/signal-exit/compare/v2.1.2...v3.0.0) (2016-06-13) - - -### Bug Fixes - -* get our test suite running on Windows ([#23](https://github.com/tapjs/signal-exit/issues/23)) ([6f3eda8](https://github.com/tapjs/signal-exit/commit/6f3eda8)) -* hooking SIGPROF was interfering with profilers see [#21](https://github.com/tapjs/signal-exit/issues/21) ([#24](https://github.com/tapjs/signal-exit/issues/24)) ([1248a4c](https://github.com/tapjs/signal-exit/commit/1248a4c)) - - -### BREAKING CHANGES - -* signal-exit no longer wires into SIGPROF diff --git a/node_modules/signal-exit/README.md b/node_modules/signal-exit/README.md index 8ebccab..f9c7c00 100644 --- a/node_modules/signal-exit/README.md +++ b/node_modules/signal-exit/README.md @@ -3,7 +3,6 @@ [![Build Status](https://travis-ci.org/tapjs/signal-exit.png)](https://travis-ci.org/tapjs/signal-exit) [![Coverage](https://coveralls.io/repos/tapjs/signal-exit/badge.svg?branch=master)](https://coveralls.io/r/tapjs/signal-exit?branch=master) [![NPM version](https://img.shields.io/npm/v/signal-exit.svg)](https://www.npmjs.com/package/signal-exit) -[![Windows Tests](https://img.shields.io/appveyor/ci/bcoe/signal-exit/master.svg?label=Windows%20Tests)](https://ci.appveyor.com/project/bcoe/signal-exit) [![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version) When you want to fire an event no matter how a process exits: @@ -31,7 +30,7 @@ The return value of the function is a function that will remove the handler. Note that the function *only* fires for signals if the signal would -cause the proces to exit. That is, there are no other listeners, and +cause the process to exit. That is, there are no other listeners, and it is a fatal signal. ## Options diff --git a/node_modules/signal-exit/index.js b/node_modules/signal-exit/index.js index 337f691..93703f3 100644 --- a/node_modules/signal-exit/index.js +++ b/node_modules/signal-exit/index.js @@ -1,157 +1,202 @@ // Note: since nyc uses this module to output coverage, any lines // that are in the direct sync flow of nyc's outputCoverage are // ignored, since we can never get coverage for them. -var assert = require('assert') -var signals = require('./signals.js') - -var EE = require('events') -/* istanbul ignore if */ -if (typeof EE !== 'function') { - EE = EE.EventEmitter +// grab a reference to node's real process object right away +var process = global.process + +const processOk = function (process) { + return process && + typeof process === 'object' && + typeof process.removeListener === 'function' && + typeof process.emit === 'function' && + typeof process.reallyExit === 'function' && + typeof process.listeners === 'function' && + typeof process.kill === 'function' && + typeof process.pid === 'number' && + typeof process.on === 'function' } -var emitter -if (process.__signal_exit_emitter__) { - emitter = process.__signal_exit_emitter__ +// some kind of non-node environment, just no-op +/* istanbul ignore if */ +if (!processOk(process)) { + module.exports = function () { + return function () {} + } } else { - emitter = process.__signal_exit_emitter__ = new EE() - emitter.count = 0 - emitter.emitted = {} -} - -// Because this emitter is a global, we have to check to see if a -// previous version of this library failed to enable infinite listeners. -// I know what you're about to say. But literally everything about -// signal-exit is a compromise with evil. Get used to it. -if (!emitter.infinite) { - emitter.setMaxListeners(Infinity) - emitter.infinite = true -} - -module.exports = function (cb, opts) { - assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler') + var assert = require('assert') + var signals = require('./signals.js') + var isWin = /^win/i.test(process.platform) + + var EE = require('events') + /* istanbul ignore if */ + if (typeof EE !== 'function') { + EE = EE.EventEmitter + } - if (loaded === false) { - load() + var emitter + if (process.__signal_exit_emitter__) { + emitter = process.__signal_exit_emitter__ + } else { + emitter = process.__signal_exit_emitter__ = new EE() + emitter.count = 0 + emitter.emitted = {} } - var ev = 'exit' - if (opts && opts.alwaysLast) { - ev = 'afterexit' + // Because this emitter is a global, we have to check to see if a + // previous version of this library failed to enable infinite listeners. + // I know what you're about to say. But literally everything about + // signal-exit is a compromise with evil. Get used to it. + if (!emitter.infinite) { + emitter.setMaxListeners(Infinity) + emitter.infinite = true } - var remove = function () { - emitter.removeListener(ev, cb) - if (emitter.listeners('exit').length === 0 && - emitter.listeners('afterexit').length === 0) { - unload() + module.exports = function (cb, opts) { + /* istanbul ignore if */ + if (!processOk(global.process)) { + return function () {} } - } - emitter.on(ev, cb) + assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler') - return remove -} + if (loaded === false) { + load() + } -module.exports.unload = unload -function unload () { - if (!loaded) { - return - } - loaded = false + var ev = 'exit' + if (opts && opts.alwaysLast) { + ev = 'afterexit' + } - signals.forEach(function (sig) { - try { - process.removeListener(sig, sigListeners[sig]) - } catch (er) {} - }) - process.emit = originalProcessEmit - process.reallyExit = originalProcessReallyExit - emitter.count -= 1 -} + var remove = function () { + emitter.removeListener(ev, cb) + if (emitter.listeners('exit').length === 0 && + emitter.listeners('afterexit').length === 0) { + unload() + } + } + emitter.on(ev, cb) -function emit (event, code, signal) { - if (emitter.emitted[event]) { - return + return remove } - emitter.emitted[event] = true - emitter.emit(event, code, signal) -} -// { : , ... } -var sigListeners = {} -signals.forEach(function (sig) { - sigListeners[sig] = function listener () { - // If there are no other listeners, an exit is coming! - // Simplest way: remove us and then re-send the signal. - // We know that this will kill the process, so we can - // safely emit now. - var listeners = process.listeners(sig) - if (listeners.length === emitter.count) { - unload() - emit('exit', null, sig) - /* istanbul ignore next */ - emit('afterexit', null, sig) - /* istanbul ignore next */ - process.kill(process.pid, sig) + var unload = function unload () { + if (!loaded || !processOk(global.process)) { + return } + loaded = false + + signals.forEach(function (sig) { + try { + process.removeListener(sig, sigListeners[sig]) + } catch (er) {} + }) + process.emit = originalProcessEmit + process.reallyExit = originalProcessReallyExit + emitter.count -= 1 } -}) + module.exports.unload = unload -module.exports.signals = function () { - return signals -} - -module.exports.load = load - -var loaded = false - -function load () { - if (loaded) { - return + var emit = function emit (event, code, signal) { + /* istanbul ignore if */ + if (emitter.emitted[event]) { + return + } + emitter.emitted[event] = true + emitter.emit(event, code, signal) } - loaded = true - - // This is the number of onSignalExit's that are in play. - // It's important so that we can count the correct number of - // listeners on signals, and don't wait for the other one to - // handle it instead of us. - emitter.count += 1 - - signals = signals.filter(function (sig) { - try { - process.on(sig, sigListeners[sig]) - return true - } catch (er) { - return false + + // { : , ... } + var sigListeners = {} + signals.forEach(function (sig) { + sigListeners[sig] = function listener () { + /* istanbul ignore if */ + if (!processOk(global.process)) { + return + } + // If there are no other listeners, an exit is coming! + // Simplest way: remove us and then re-send the signal. + // We know that this will kill the process, so we can + // safely emit now. + var listeners = process.listeners(sig) + if (listeners.length === emitter.count) { + unload() + emit('exit', null, sig) + /* istanbul ignore next */ + emit('afterexit', null, sig) + /* istanbul ignore next */ + if (isWin && sig === 'SIGHUP') { + // "SIGHUP" throws an `ENOSYS` error on Windows, + // so use a supported signal instead + sig = 'SIGINT' + } + /* istanbul ignore next */ + process.kill(process.pid, sig) + } } }) - process.emit = processEmit - process.reallyExit = processReallyExit -} + module.exports.signals = function () { + return signals + } -var originalProcessReallyExit = process.reallyExit -function processReallyExit (code) { - process.exitCode = code || 0 - emit('exit', process.exitCode, null) - /* istanbul ignore next */ - emit('afterexit', process.exitCode, null) - /* istanbul ignore next */ - originalProcessReallyExit.call(process, process.exitCode) -} + var loaded = false -var originalProcessEmit = process.emit -function processEmit (ev, arg) { - if (ev === 'exit') { - if (arg !== undefined) { - process.exitCode = arg + var load = function load () { + if (loaded || !processOk(global.process)) { + return } - var ret = originalProcessEmit.apply(this, arguments) + loaded = true + + // This is the number of onSignalExit's that are in play. + // It's important so that we can count the correct number of + // listeners on signals, and don't wait for the other one to + // handle it instead of us. + emitter.count += 1 + + signals = signals.filter(function (sig) { + try { + process.on(sig, sigListeners[sig]) + return true + } catch (er) { + return false + } + }) + + process.emit = processEmit + process.reallyExit = processReallyExit + } + module.exports.load = load + + var originalProcessReallyExit = process.reallyExit + var processReallyExit = function processReallyExit (code) { + /* istanbul ignore if */ + if (!processOk(global.process)) { + return + } + process.exitCode = code || /* istanbul ignore next */ 0 emit('exit', process.exitCode, null) /* istanbul ignore next */ emit('afterexit', process.exitCode, null) - return ret - } else { - return originalProcessEmit.apply(this, arguments) + /* istanbul ignore next */ + originalProcessReallyExit.call(process, process.exitCode) + } + + var originalProcessEmit = process.emit + var processEmit = function processEmit (ev, arg) { + if (ev === 'exit' && processOk(global.process)) { + /* istanbul ignore else */ + if (arg !== undefined) { + process.exitCode = arg + } + var ret = originalProcessEmit.apply(this, arguments) + /* istanbul ignore next */ + emit('exit', process.exitCode, null) + /* istanbul ignore next */ + emit('afterexit', process.exitCode, null) + /* istanbul ignore next */ + return ret + } else { + return originalProcessEmit.apply(this, arguments) + } } } diff --git a/node_modules/signal-exit/package.json b/node_modules/signal-exit/package.json index c3b2677..e1a0031 100644 --- a/node_modules/signal-exit/package.json +++ b/node_modules/signal-exit/package.json @@ -1,13 +1,14 @@ { "name": "signal-exit", - "version": "3.0.2", + "version": "3.0.7", "description": "when you want to fire an event no matter how a process exits.", "main": "index.js", "scripts": { - "pretest": "standard", - "test": "tap --timeout=240 ./test/*.js --cov", - "coverage": "nyc report --reporter=text-lcov | coveralls", - "release": "standard-version" + "test": "tap", + "snap": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "prepublishOnly": "git push origin --follow-tags" }, "files": [ "index.js", @@ -29,14 +30,9 @@ "homepage": "https://github.com/tapjs/signal-exit", "devDependencies": { "chai": "^3.5.0", - "coveralls": "^2.11.10", - "nyc": "^8.1.0", - "standard": "^7.1.2", - "standard-version": "^2.3.0", - "tap": "^8.0.1" + "coveralls": "^3.1.1", + "nyc": "^15.1.0", + "standard-version": "^9.3.1", + "tap": "^15.1.1" } - -,"_resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" -,"_integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" -,"_from": "signal-exit@3.0.2" -} \ No newline at end of file +} diff --git a/node_modules/strip-eof/package.json b/node_modules/strip-eof/package.json index d054db1..36b88cd 100644 --- a/node_modules/strip-eof/package.json +++ b/node_modules/strip-eof/package.json @@ -36,8 +36,4 @@ "ava": "*", "xo": "*" } - -,"_resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" -,"_integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" -,"_from": "strip-eof@1.0.0" -} \ No newline at end of file +} diff --git a/node_modules/type-fest/index.d.ts b/node_modules/type-fest/index.d.ts new file mode 100644 index 0000000..3c7621b --- /dev/null +++ b/node_modules/type-fest/index.d.ts @@ -0,0 +1,130 @@ +// Basic +export * from './source/primitive'; +export * from './source/typed-array'; +export * from './source/basic'; +export * from './source/observable-like'; + +// Utilities +export type {EmptyObject, IsEmptyObject} from './source/empty-object'; +export type {Except} from './source/except'; +export type {TaggedUnion} from './source/tagged-union'; +export type {Writable} from './source/writable'; +export type {WritableDeep} from './source/writable-deep'; +export type {Merge} from './source/merge'; +export type {MergeDeep, MergeDeepOptions} from './source/merge-deep'; +export type {MergeExclusive} from './source/merge-exclusive'; +export type {RequireAtLeastOne} from './source/require-at-least-one'; +export type {RequireExactlyOne} from './source/require-exactly-one'; +export type {RequireAllOrNone} from './source/require-all-or-none'; +export type { + OmitIndexSignature, + /** + @deprecated Renamed to {@link OmitIndexSignature}. + */ + OmitIndexSignature as RemoveIndexSignature, +} from './source/omit-index-signature'; +export type {PickIndexSignature} from './source/pick-index-signature'; +export type {PartialDeep, PartialDeepOptions} from './source/partial-deep'; +export type {RequiredDeep} from './source/required-deep'; +export type {PartialOnUndefinedDeep, PartialOnUndefinedDeepOptions} from './source/partial-on-undefined-deep'; +export type {ReadonlyDeep} from './source/readonly-deep'; +export type {LiteralUnion} from './source/literal-union'; +export type {Promisable} from './source/promisable'; +export type {Opaque, UnwrapOpaque} from './source/opaque'; +export type {InvariantOf} from './source/invariant-of'; +export type {SetOptional} from './source/set-optional'; +export type {SetReadonly} from './source/set-readonly'; +export type {SetRequired} from './source/set-required'; +export type {SetNonNullable} from './source/set-non-nullable'; +export type {ValueOf} from './source/value-of'; +export type {AsyncReturnType} from './source/async-return-type'; +export type {ConditionalExcept} from './source/conditional-except'; +export type {ConditionalKeys} from './source/conditional-keys'; +export type {ConditionalPick} from './source/conditional-pick'; +export type {ConditionalPickDeep, ConditionalPickDeepOptions} from './source/conditional-pick-deep'; +export type {UnionToIntersection} from './source/union-to-intersection'; +export type {Stringified} from './source/stringified'; +export type {FixedLengthArray} from './source/fixed-length-array'; +export type {MultidimensionalArray} from './source/multidimensional-array'; +export type {MultidimensionalReadonlyArray} from './source/multidimensional-readonly-array'; +export type {IterableElement} from './source/iterable-element'; +export type {Entry} from './source/entry'; +export type {Entries} from './source/entries'; +export type {SetReturnType} from './source/set-return-type'; +export type {Asyncify} from './source/asyncify'; +export type {Simplify} from './source/simplify'; +export type {Jsonify} from './source/jsonify'; +export type {Jsonifiable} from './source/jsonifiable'; +export type {Schema} from './source/schema'; +export type {LiteralToPrimitive} from './source/literal-to-primitive'; +export type {LiteralToPrimitiveDeep} from './source/literal-to-primitive-deep'; +export type { + PositiveInfinity, + NegativeInfinity, + Finite, + Integer, + Float, + NegativeFloat, + Negative, + NonNegative, + NegativeInteger, + NonNegativeInteger, +} from './source/numeric'; +export type {StringKeyOf} from './source/string-key-of'; +export type {Exact} from './source/exact'; +export type {ReadonlyTuple} from './source/readonly-tuple'; +export type {OptionalKeysOf} from './source/optional-keys-of'; +export type {OverrideProperties} from './source/override-properties'; +export type {HasOptionalKeys} from './source/has-optional-keys'; +export type {RequiredKeysOf} from './source/required-keys-of'; +export type {HasRequiredKeys} from './source/has-required-keys'; +export type {ReadonlyKeysOf} from './source/readonly-keys-of'; +export type {HasReadonlyKeys} from './source/has-readonly-keys'; +export type {WritableKeysOf} from './source/writable-keys-of'; +export type {HasWritableKeys} from './source/has-writable-keys'; +export type {Spread} from './source/spread'; +export type {TupleToUnion} from './source/tuple-to-union'; +export type {IsEqual} from './source/is-equal'; +export type { + IsLiteral, + IsStringLiteral, + IsNumericLiteral, + IsBooleanLiteral, + IsSymbolLiteral, +} from './source/is-literal'; +export type {IsAny} from './source/is-any'; +export type {IfAny} from './source/if-any'; +export type {IsNever} from './source/is-never'; +export type {IfNever} from './source/if-never'; +export type {IsUnknown} from './source/is-unknown'; +export type {IfUnknown} from './source/if-unknown'; + +// Template literal types +export type {CamelCase} from './source/camel-case'; +export type {CamelCasedProperties} from './source/camel-cased-properties'; +export type {CamelCasedPropertiesDeep} from './source/camel-cased-properties-deep'; +export type {KebabCase} from './source/kebab-case'; +export type {KebabCasedProperties} from './source/kebab-cased-properties'; +export type {KebabCasedPropertiesDeep} from './source/kebab-cased-properties-deep'; +export type {PascalCase} from './source/pascal-case'; +export type {PascalCasedProperties} from './source/pascal-cased-properties'; +export type {PascalCasedPropertiesDeep} from './source/pascal-cased-properties-deep'; +export type {SnakeCase} from './source/snake-case'; +export type {SnakeCasedProperties} from './source/snake-cased-properties'; +export type {SnakeCasedPropertiesDeep} from './source/snake-cased-properties-deep'; +export type {ScreamingSnakeCase} from './source/screaming-snake-case'; +export type {DelimiterCase} from './source/delimiter-case'; +export type {DelimiterCasedProperties} from './source/delimiter-cased-properties'; +export type {DelimiterCasedPropertiesDeep} from './source/delimiter-cased-properties-deep'; +export type {Join} from './source/join'; +export type {Split} from './source/split'; +export type {Trim} from './source/trim'; +export type {Replace} from './source/replace'; +export type {Includes} from './source/includes'; +export type {Get} from './source/get'; +export type {LastArrayElement} from './source/last-array-element'; + +// Miscellaneous +export type {GlobalThis} from './source/global-this'; +export type {PackageJson} from './source/package-json'; +export type {TsConfigJson} from './source/tsconfig-json'; diff --git a/node_modules/type-fest/package.json b/node_modules/type-fest/package.json new file mode 100644 index 0000000..35800bd --- /dev/null +++ b/node_modules/type-fest/package.json @@ -0,0 +1,59 @@ +{ + "name": "type-fest", + "version": "3.13.1", + "description": "A collection of essential TypeScript types", + "license": "(MIT OR CC0-1.0)", + "repository": "sindresorhus/type-fest", + "funding": "https://github.com/sponsors/sindresorhus", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "types": "./index.d.ts", + "engines": { + "node": ">=14.16" + }, + "scripts": { + "test": "xo && tsd && tsc && node script/test/source-files-extension.js" + }, + "files": [ + "index.d.ts", + "source" + ], + "keywords": [ + "typescript", + "ts", + "types", + "utility", + "util", + "utilities", + "omit", + "merge", + "json", + "generics" + ], + "devDependencies": { + "@sindresorhus/tsconfig": "~0.7.0", + "expect-type": "^0.15.0", + "tsd": "^0.28.1", + "typescript": "^5.0.4", + "xo": "^0.54.2" + }, + "xo": { + "rules": { + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/ban-types": "off", + "@typescript-eslint/naming-convention": "off", + "import/extensions": "off", + "@typescript-eslint/no-redeclare": "off", + "@typescript-eslint/no-confusing-void-expression": "off", + "@typescript-eslint/no-unsafe-argument": "off" + } + }, + "tsd": { + "compilerOptions": { + "noUnusedLocals": false + } + } +} diff --git a/node_modules/type-fest/readme.md b/node_modules/type-fest/readme.md new file mode 100644 index 0000000..ea4949f --- /dev/null +++ b/node_modules/type-fest/readme.md @@ -0,0 +1,922 @@ + +
+
+ +[![](https://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://giphy.com/gifs/illustration-rainbow-unicorn-26AHG5KGFxSkUWw1i) +[![npm dependents](https://badgen.net/npm/dependents/type-fest)](https://www.npmjs.com/package/type-fest?activeTab=dependents) +[![npm downloads](https://badgen.net/npm/dt/type-fest)](https://www.npmjs.com/package/type-fest) +[![Docs](https://paka.dev/badges/v0/cute.svg)](https://paka.dev/npm/type-fest) + +Many of the types here should have been built-in. You can help by suggesting some of them to the [TypeScript project](https://github.com/Microsoft/TypeScript/blob/main/CONTRIBUTING.md). + +Either add this package as a dependency or copy-paste the needed types. No credit required. 👌 + +PR welcome for additional commonly needed types and docs improvements. Read the [contributing guidelines](.github/contributing.md) first. + +**Help wanted with reviewing [proposals](https://github.com/sindresorhus/type-fest/issues) and [pull requests](https://github.com/sindresorhus/type-fest/pulls).** + +## Install + +```sh +npm install type-fest +``` + +*Requires TypeScript >=4.7* + +## Usage + +```ts +import type {Except} from 'type-fest'; + +type Foo = { + unicorn: string; + rainbow: boolean; +}; + +type FooWithoutRainbow = Except; +//=> {unicorn: string} +``` + +## API + +Click the type names for complete docs. + +### Basic + +- [`Primitive`](source/primitive.d.ts) - Matches any [primitive value](https://developer.mozilla.org/en-US/docs/Glossary/Primitive). +- [`Class`](source/basic.d.ts) - Matches a [`class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes). +- [`Constructor`](source/basic.d.ts) - Matches a [`class` constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes). +- [`AbstractClass`](source/basic.d.ts) - Matches an [`abstract class`](https://www.typescriptlang.org/docs/handbook/classes.html#abstract-classes). +- [`AbstractConstructor`](source/basic.d.ts) - Matches an [`abstract class`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-2.html#abstract-construct-signatures) constructor. +- [`TypedArray`](source/typed-array.d.ts) - Matches any [typed array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray), like `Uint8Array` or `Float64Array`. +- [`ObservableLike`](source/observable-like.d.ts) - Matches a value that is like an [Observable](https://github.com/tc39/proposal-observable). + +### Utilities + +- [`EmptyObject`](source/empty-object.d.ts) - Represents a strictly empty plain object, the `{}` value. +- [`IsEmptyObject`](source/empty-object.d.ts) - Returns a `boolean` for whether the type is strictly equal to an empty plain object, the `{}` value. +- [`Except`](source/except.d.ts) - Create a type from an object type without certain keys. This is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/utility-types.html#omittype-keys). +- [`Writable`](source/writable.d.ts) - Create a type that strips `readonly` from all or some of an object's keys. The inverse of `Readonly`. +- [`WritableDeep`](source/writable-deep.d.ts) - Create a deeply mutable version of an `object`/`ReadonlyMap`/`ReadonlySet`/`ReadonlyArray` type. The inverse of `ReadonlyDeep`. Use `Writable` if you only need one level deep. +- [`Merge`](source/merge.d.ts) - Merge two types into a new type. Keys of the second type overrides keys of the first type. +- [`MergeDeep`](source/merge-deep.d.ts) - Merge two objects or two arrays/tuples recursively into a new type. +- [`MergeExclusive`](source/merge-exclusive.d.ts) - Create a type that has mutually exclusive keys. +- [`OverrideProperties`](source/override-properties.d.ts) - Override only existing properties of the given type. Similar to `Merge`, but enforces that the original type has the properties you want to override. +- [`RequireAtLeastOne`](source/require-at-least-one.d.ts) - Create a type that requires at least one of the given keys. +- [`RequireExactlyOne`](source/require-exactly-one.d.ts) - Create a type that requires exactly a single key of the given keys and disallows more. +- [`RequireAllOrNone`](source/require-all-or-none.d.ts) - Create a type that requires all of the given keys or none of the given keys. +- [`RequiredDeep`](source/required-deep.d.ts) - Create a deeply required version of another type. Use [`Required`](https://www.typescriptlang.org/docs/handbook/utility-types.html#requiredtype) if you only need one level deep. +- [`OmitIndexSignature`](source/omit-index-signature.d.ts) - Omit any index signatures from the given object type, leaving only explicitly defined properties. +- [`PickIndexSignature`](source/pick-index-signature.d.ts) - Pick only index signatures from the given object type, leaving out all explicitly defined properties. +- [`PartialDeep`](source/partial-deep.d.ts) - Create a deeply optional version of another type. Use [`Partial`](https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype) if you only need one level deep. +- [`PartialOnUndefinedDeep`](source/partial-on-undefined-deep.d.ts) - Create a deep version of another type where all keys accepting `undefined` type are set to optional. +- [`ReadonlyDeep`](source/readonly-deep.d.ts) - Create a deeply immutable version of an `object`/`Map`/`Set`/`Array` type. Use [`Readonly`](https://www.typescriptlang.org/docs/handbook/utility-types.html#readonlytype) if you only need one level deep. +- [`LiteralUnion`](source/literal-union.d.ts) - Create a union type by combining primitive types and literal types without sacrificing auto-completion in IDEs for the literal type part of the union. Workaround for [Microsoft/TypeScript#29729](https://github.com/Microsoft/TypeScript/issues/29729). +- [`Opaque`](source/opaque.d.ts) - Create an [opaque type](https://codemix.com/opaque-types-in-javascript/). +- [`UnwrapOpaque`](source/opaque.d.ts) - Revert an [opaque type](https://codemix.com/opaque-types-in-javascript/) back to its original type. +- [`InvariantOf`](source/invariant-of.d.ts) - Create an [invariant type](https://basarat.gitbook.io/typescript/type-system/type-compatibility#footnote-invariance), which is a type that does not accept supertypes and subtypes. +- [`SetOptional`](source/set-optional.d.ts) - Create a type that makes the given keys optional. +- [`SetReadonly`](source/set-readonly.d.ts) - Create a type that makes the given keys readonly. +- [`SetRequired`](source/set-required.d.ts) - Create a type that makes the given keys required. +- [`SetNonNullable`](source/set-non-nullable.d.ts) - Create a type that makes the given keys non-nullable. +- [`ValueOf`](source/value-of.d.ts) - Create a union of the given object's values, and optionally specify which keys to get the values from. +- [`ConditionalKeys`](source/conditional-keys.d.ts) - Extract keys from a shape where values extend the given `Condition` type. +- [`ConditionalPick`](source/conditional-pick.d.ts) - Like `Pick` except it selects properties from a shape where the values extend the given `Condition` type. +- [`ConditionalPickDeep`](source/conditional-pick-deep.d.ts) - Like `ConditionalPick` except that it selects the properties deeply. +- [`ConditionalExcept`](source/conditional-except.d.ts) - Like `Omit` except it removes properties from a shape where the values extend the given `Condition` type. +- [`UnionToIntersection`](source/union-to-intersection.d.ts) - Convert a union type to an intersection type. +- [`LiteralToPrimitive`](source/literal-to-primitive.d.ts) - Convert a [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types) to the [primitive type](source/primitive.d.ts) it belongs to. +- [`LiteralToPrimitiveDeep`](source/literal-to-primitive-deep.d.ts) - Like `LiteralToPrimitive` except it converts literal types inside an object or array deeply. +- [`Stringified`](source/stringified.d.ts) - Create a type with the keys of the given type changed to `string` type. +- [`IterableElement`](source/iterable-element.d.ts) - Get the element type of an `Iterable`/`AsyncIterable`. For example, an array or a generator. +- [`Entry`](source/entry.d.ts) - Create a type that represents the type of an entry of a collection. +- [`Entries`](source/entries.d.ts) - Create a type that represents the type of the entries of a collection. +- [`SetReturnType`](source/set-return-type.d.ts) - Create a function type with a return type of your choice and the same parameters as the given function type. +- [`Simplify`](source/simplify.d.ts) - Useful to flatten the type output to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability. +- [`Get`](source/get.d.ts) - Get a deeply-nested property from an object using a key path, like [Lodash's `.get()`](https://lodash.com/docs/latest#get) function. +- [`StringKeyOf`](source/string-key-of.d.ts) - Get keys of the given type as strings. +- [`Schema`](source/schema.d.ts) - Create a deep version of another object type where property values are recursively replaced into a given value type. +- [`Exact`](source/exact.d.ts) - Create a type that does not allow extra properties. +- [`OptionalKeysOf`](source/optional-keys-of.d.ts) - Extract all optional keys from the given type. +- [`HasOptionalKeys`](source/has-optional-keys.d.ts) - Create a `true`/`false` type depending on whether the given type has any optional fields. +- [`RequiredKeysOf`](source/required-keys-of.d.ts) - Extract all required keys from the given type. +- [`HasRequiredKeys`](source/has-required-keys.d.ts) - Create a `true`/`false` type depending on whether the given type has any required fields. +- [`ReadonlyKeysOf`](source/readonly-keys-of.d.ts) - Extract all readonly keys from the given type. +- [`HasReadonlyKeys`](source/has-readonly-keys.d.ts) - Create a `true`/`false` type depending on whether the given type has any readonly fields. +- [`WritableKeysOf`](source/writable-keys-of.d.ts) - Extract all writable (non-readonly) keys from the given type. +- [`HasWritableKeys`](source/has-writable-keys.d.ts) - Create a `true`/`false` type depending on whether the given type has any writable fields. +- [`Spread`](source/spread.d.ts) - Mimic the type inferred by TypeScript when merging two objects or two arrays/tuples using the spread syntax. +- [`IsEqual`](source/is-equal.d.ts) - Returns a boolean for whether the two given types are equal. +- [`TaggedUnion`](source/tagged-union.d.ts) - Create a union of types that share a common discriminant property. + +### Type Guard + +#### `IsType` vs. `IfType` + +For every `IsT` type (e.g. `IsAny`), there is an associated `IfT` type that can help simplify conditional types. While the `IsT` types return a `boolean`, the `IfT` types act like an `If`/`Else` - they resolve to the given `TypeIfT` or `TypeIfNotT` depending on whether `IsX` is `true` or not. By default, `IfT` returns a `boolean`: + +```ts +type IfAny = ( + IsAny extends true ? TypeIfAny : TypeIfNotAny +); +``` + +#### Usage + +```ts +import type {IsAny, IfAny} from 'type-fest'; + +type ShouldBeTrue = IsAny extends true ? true : false; +//=> true + +type ShouldBeFalse = IfAny<'not any'>; +//=> false + +type ShouldBeNever = IfAny<'not any', 'not never', 'never'>; +//=> 'never' +``` + +- [`IsLiteral`](source/is-literal.d.ts) - Returns a boolean for whether the given type is a [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types). +- [`IsStringLiteral`](source/is-literal.d.ts) - Returns a boolean for whether the given type is a `string` [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types). +- [`IsNumericLiteral`](source/is-literal.d.ts) - Returns a boolean for whether the given type is a `number` or `bigint` [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types). +- [`IsBooleanLiteral`](source/is-literal.d.ts) - Returns a boolean for whether the given type is a `true` or `false` [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types). +- [`IsSymbolLiteral`](source/is-literal.d.ts) - Returns a boolean for whether the given type is a `symbol` [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types). +- [`IsAny`](source/is-any.d.ts) - Returns a boolean for whether the given type is `any`. (Conditional version: [`IfAny`](source/if-any.d.ts).) +- [`IsNever`](source/is-never.d.ts) - Returns a boolean for whether the given type is `never`. (Conditional version: [`IfNever`](source/if-never.d.ts).) +- [`IsUnknown`](source/is-unknown.d.ts) - Returns a boolean for whether the given type is `unknown`. (Conditional version: [`IfUnknown`](source/if-unknown.d.ts).) + +### JSON + +- [`Jsonify`](source/jsonify.d.ts) - Transform a type to one that is assignable to the `JsonValue` type. +- [`Jsonifiable`](source/jsonifiable.d.ts) - Matches a value that can be losslessly converted to JSON. +- [`JsonPrimitive`](source/basic.d.ts) - Matches a JSON primitive. +- [`JsonObject`](source/basic.d.ts) - Matches a JSON object. +- [`JsonArray`](source/basic.d.ts) - Matches a JSON array. +- [`JsonValue`](source/basic.d.ts) - Matches any valid JSON value. + +### Async + +- [`Promisable`](source/promisable.d.ts) - Create a type that represents either the value or the value wrapped in `PromiseLike`. +- [`AsyncReturnType`](source/async-return-type.d.ts) - Unwrap the return type of a function that returns a `Promise`. +- [`Asyncify`](source/asyncify.d.ts) - Create an async version of the given function type. + +### String + +- [`Trim`](source/trim.d.ts) - Remove leading and trailing spaces from a string. +- [`Split`](source/split.d.ts) - Represents an array of strings split using a given character or character set. +- [`Replace`](source/replace.d.ts) - Represents a string with some or all matches replaced by a replacement. + +### Array + +- [`Includes`](source/includes.d.ts) - Returns a boolean for whether the given array includes the given item. +- [`Join`](source/join.d.ts) - Join an array of strings and/or numbers using the given string as a delimiter. +- [`LastArrayElement`](source/last-array-element.d.ts) - Extracts the type of the last element of an array. +- [`FixedLengthArray`](source/fixed-length-array.d.ts) - Create a type that represents an array of the given type and length. +- [`MultidimensionalArray`](source/multidimensional-array.d.ts) - Create a type that represents a multidimensional array of the given type and dimensions. +- [`MultidimensionalReadonlyArray`](source/multidimensional-readonly-array.d.ts) - Create a type that represents a multidimensional readonly array of the given type and dimensions. +- [`ReadonlyTuple`](source/readonly-tuple.d.ts) - Create a type that represents a read-only tuple of the given type and length. +- [`TupleToUnion`](source/tuple-to-union.d.ts) - Convert a tuple/array into a union type of its elements. + +### Numeric + +- [`PositiveInfinity`](source/numeric.d.ts) - Matches the hidden `Infinity` type. +- [`NegativeInfinity`](source/numeric.d.ts) - Matches the hidden `-Infinity` type. +- [`Finite`](source/numeric.d.ts) - A finite `number`. +- [`Integer`](source/numeric.d.ts) - A `number` that is an integer. +- [`Float`](source/numeric.d.ts) - A `number` that is not an integer. +- [`NegativeFloat`](source/numeric.d.ts) - A negative (`-∞ < x < 0`) `number` that is not an integer. +- [`Negative`](source/numeric.d.ts) - A negative `number`/`bigint` (`-∞ < x < 0`) +- [`NonNegative`](source/numeric.d.ts) - A non-negative `number`/`bigint` (`0 <= x < ∞`). +- [`NegativeInteger`](source/numeric.d.ts) - A negative (`-∞ < x < 0`) `number` that is an integer. +- [`NonNegativeInteger`](source/numeric.d.ts) - A non-negative (`0 <= x < ∞`) `number` that is an integer. + +### Change case + +- [`CamelCase`](source/camel-case.d.ts) - Convert a string literal to camel-case (`fooBar`). +- [`CamelCasedProperties`](source/camel-cased-properties.d.ts) - Convert object properties to camel-case (`fooBar`). +- [`CamelCasedPropertiesDeep`](source/camel-cased-properties-deep.d.ts) - Convert object properties to camel-case recursively (`fooBar`). +- [`KebabCase`](source/kebab-case.d.ts) - Convert a string literal to kebab-case (`foo-bar`). +- [`KebabCasedProperties`](source/kebab-cased-properties.d.ts) - Convert a object properties to kebab-case recursively (`foo-bar`). +- [`KebabCasedPropertiesDeep`](source/kebab-cased-properties-deep.d.ts) - Convert object properties to kebab-case (`foo-bar`). +- [`PascalCase`](source/pascal-case.d.ts) - Converts a string literal to pascal-case (`FooBar`) +- [`PascalCasedProperties`](source/pascal-cased-properties.d.ts) - Converts object properties to pascal-case (`FooBar`) +- [`PascalCasedPropertiesDeep`](source/pascal-cased-properties-deep.d.ts) - Converts object properties to pascal-case (`FooBar`) +- [`SnakeCase`](source/snake-case.d.ts) - Convert a string literal to snake-case (`foo_bar`). +- [`SnakeCasedProperties`](source/snake-cased-properties.d.ts) - Convert object properties to snake-case (`foo_bar`). +- [`SnakeCasedPropertiesDeep`](source/snake-cased-properties-deep.d.ts) - Convert object properties to snake-case recursively (`foo_bar`). +- [`ScreamingSnakeCase`](source/screaming-snake-case.d.ts) - Convert a string literal to screaming-snake-case (`FOO_BAR`). +- [`DelimiterCase`](source/delimiter-case.d.ts) - Convert a string literal to a custom string delimiter casing. +- [`DelimiterCasedProperties`](source/delimiter-cased-properties.d.ts) - Convert object properties to a custom string delimiter casing. +- [`DelimiterCasedPropertiesDeep`](source/delimiter-cased-properties-deep.d.ts) - Convert object properties to a custom string delimiter casing recursively. + +### Miscellaneous + +- [`GlobalThis`](source/global-this.d.ts) - Declare locally scoped properties on `globalThis`. +- [`PackageJson`](source/package-json.d.ts) - Type for [npm's `package.json` file](https://docs.npmjs.com/creating-a-package-json-file). It also includes support for [TypeScript Declaration Files](https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html). +- [`TsConfigJson`](source/tsconfig-json.d.ts) - Type for [TypeScript's `tsconfig.json` file](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html). + +## Declined types + +*If we decline a type addition, we will make sure to document the better solution here.* + +- [`Diff` and `Spread`](https://github.com/sindresorhus/type-fest/pull/7) - The pull request author didn't provide any real-world use-cases and the PR went stale. If you think this type is useful, provide some real-world use-cases and we might reconsider. +- [`Dictionary`](https://github.com/sindresorhus/type-fest/issues/33) - You only save a few characters (`Dictionary` vs `Record`) from [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type), which is more flexible and well-known. Also, you shouldn't use an object as a dictionary. We have `Map` in JavaScript now. +- [`ExtractProperties` and `ExtractMethods`](https://github.com/sindresorhus/type-fest/pull/4) - The types violate the single responsibility principle. Instead, refine your types into more granular type hierarchies. +- [`Url2Json`](https://github.com/sindresorhus/type-fest/pull/262) - Inferring search parameters from a URL string is a cute idea, but not very useful in practice, since search parameters are usually dynamic and defined separately. +- [`Nullish`](https://github.com/sindresorhus/type-fest/pull/318) - The type only saves a couple of characters, not everyone knows what "nullish" means, and I'm also trying to [get away from `null`](https://github.com/sindresorhus/meta/discussions/7). +- [`TitleCase`](https://github.com/sindresorhus/type-fest/pull/303) - It's not solving a common need and is a better fit for a separate package. +- [`ExtendOr` and `ExtendAnd`](https://github.com/sindresorhus/type-fest/pull/247) - The benefits don't outweigh having to learn what they mean. +- [`PackageJsonExtras`](https://github.com/sindresorhus/type-fest/issues/371) - There are too many possible configurations that can be put into `package.json`. If you would like to extend `PackageJson` to support an additional configuration in your project, please see the *Extending existing types* section below. + +## Alternative type names + +*If you know one of our types by a different name, add it here for discovery.* + +- `PartialBy` - See [`SetOptional`](https://github.com/sindresorhus/type-fest/blob/main/source/set-optional.d.ts) +- `RecordDeep`- See [`Schema`](https://github.com/sindresorhus/type-fest/blob/main/source/schema.d.ts) +- `Mutable`- See [`Writable`](https://github.com/sindresorhus/type-fest/blob/main/source/writable.d.ts) +- `Prettify`- See [`Simplify`](https://github.com/sindresorhus/type-fest/blob/main/source/simplify.d.ts) + +## Tips + +### Extending existing types + +- [`PackageJson`](source/package-json.d.ts) - There are a lot of tools that place extra configurations inside the `package.json` file. You can extend `PackageJson` to support these additional configurations. +
+ + Example + + + [Playground](https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBDAnmApnA3gBQIYGMDW2A5igFIDOEAdnNuXAEJ0o4HFmVUC+cAZlBBBwA5ElQBaXinIxhAbgCwAKFCRYCZGnQAZYFRgooPfoJHSANntmKlysWlaESFanAC8jZo-YuaAMgwLKwBhal5gIgB+AC44XX1DADpQqnCiLhsgA) + + ```ts + import type {PackageJson as BasePackageJson} from 'type-fest'; + import type {Linter} from 'eslint'; + + type PackageJson = BasePackageJson & {eslintConfig?: Linter.Config}; + ``` +
+ +### Related + +- [typed-query-selector](https://github.com/g-plane/typed-query-selector) - Enhances `document.querySelector` and `document.querySelectorAll` with a template literal type that matches element types returned from an HTML element query selector. +- [`Linter.Config`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/eslint/index.d.ts) - Definitions for the [ESLint configuration schema](https://eslint.org/docs/user-guide/configuring/language-options). + +### Built-in types + +There are many advanced types most users don't know about. + +- [`Partial`](https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype) - Make all properties in `T` optional. +
+ + Example + + + [Playground](https://www.typescriptlang.org/play/#code/JYOwLgpgTgZghgYwgAgHIHsAmEDC6QzADmyA3gLABQyycADnanALYQBcyAzmFKEQNxUaddFDAcQAV2YAjaIMoBfKlQQAbOJ05osEAIIMAQpOBrsUMkOR1eANziRkCfISKSoD4Pg4ZseAsTIALyW1DS0DEysHADkvvoMMQA0VsKi4sgAzAAMuVaKClY2wPaOknSYDrguADwA0sgQAB6QIJjaANYQAJ7oMDp+LsQAfAAUXd0cdUnI9mo+uv6uANp1ALoAlKHhyGAAFsCcAHTOAW4eYF4gyxNrwbNwago0ypRWp66jH8QcAApwYmAjxq8SWIy2FDCNDA3ToKFBQyIdR69wmfQG1TOhShyBgomQX3w3GQE2Q6IA8jIAFYQBBgI4TTiEs5bTQYsFInrLTbbHZOIlgZDlSqQABqj0kKBC3yINx6a2xfOQwH6o2FVXFaklwSCIUkbQghBAEEwENSfNOlykEGefNe5uhB2O6sgS3GPRmLogmslG1tLxUOKgEDA7hAuydtteryAA) + + ```ts + interface NodeConfig { + appName: string; + port: number; + } + + class NodeAppBuilder { + private configuration: NodeConfig = { + appName: 'NodeApp', + port: 3000 + }; + + private updateConfig(key: Key, value: NodeConfig[Key]) { + this.configuration[key] = value; + } + + config(config: Partial) { + type NodeConfigKey = keyof NodeConfig; + + for (const key of Object.keys(config) as NodeConfigKey[]) { + const updateValue = config[key]; + + if (updateValue === undefined) { + continue; + } + + this.updateConfig(key, updateValue); + } + + return this; + } + } + + // `Partial`` allows us to provide only a part of the + // NodeConfig interface. + new NodeAppBuilder().config({appName: 'ToDoApp'}); + ``` +
+ +- [`Required`](https://www.typescriptlang.org/docs/handbook/utility-types.html#requiredtype) - Make all properties in `T` required. +
+ + Example + + + [Playground](https://typescript-play.js.org/?target=6#code/AQ4SwOwFwUwJwGYEMDGNgGED21VQGJZwC2wA3gFCjXAzFJgA2A-AFzADOUckA5gNxUaIYjA4ckvGG07c+g6gF8KQkAgCuEFFDA5O6gEbEwUbLm2ESwABQIixACJIoSdgCUYAR3Vg4MACYAPGYuFvYAfACU5Ko0APRxwADKMBD+wFAAFuh2Vv7OSBlYGdmc8ABu8LHKsRyGxqY4oQT21pTCIHQMjOwA5DAAHgACxAAOjDAAdChYxL0ANLHUouKSMH0AEmAAhJhY6ozpAJ77GTCMjMCiV0ToSAb7UJPPC9WRgrEJwAAqR6MwSRQPFGUFocDgRHYxnEfGAowh-zgUCOwF6KwkUl6tXqJhCeEsxDaS1AXSYfUGI3GUxmc0WSneQA) + + ```ts + interface ContactForm { + email?: string; + message?: string; + } + + function submitContactForm(formData: Required) { + // Send the form data to the server. + } + + submitContactForm({ + email: 'ex@mple.com', + message: 'Hi! Could you tell me more about…', + }); + + // TypeScript error: missing property 'message' + submitContactForm({ + email: 'ex@mple.com', + }); + ``` +
+ +- [`Readonly`](https://www.typescriptlang.org/docs/handbook/utility-types.html#readonlytype) - Make all properties in `T` readonly. +
+ + Example + + + [Playground](https://typescript-play.js.org/?target=6#code/AQ4UwOwVwW2AZA9gc3mAbmANsA3gKFCOAHkAzMgGkOJABEwAjKZa2kAUQCcvEu32AMQCGAF2FYBIAL4BufDRABLCKLBcywgMZgEKZOoDCiCGSXI8i4hGEwwALmABnUVxXJ57YFgzZHSVF8sT1BpBSItLGEnJz1kAy5LLy0TM2RHACUwYQATEywATwAeAITjU3MAPnkrCJMXLigtUT4AClxgGztKbyDgaX99I1TzAEokr1BRAAslJwA6FIqLAF48TtswHp9MHDla9hJGACswZvmyLjAwAC8wVpm5xZHkUZDaMKIwqyWXYCW0oN4sNlsA1h0ug5gAByACyBQAggAHJHQ7ZBIFoXbzBjMCz7OoQP5YIaJNYQMAAdziCVaALGNSIAHomcAACoFJFgADKWjcSNEwG4vC4ji0wggEEQguiTnMEGALWAV1yAFp8gVgEjeFyuKICvMrCTgVxnst5jtsGC4ljsPNhXxGaAWcAAOq6YRXYDCRg+RWIcA5JSC+kWdCepQ+v3RYCU3RInzRMCGwlpC19NYBW1Ye08R1AA) + + ```ts + enum LogLevel { + Off, + Debug, + Error, + Fatal + }; + + interface LoggerConfig { + name: string; + level: LogLevel; + } + + class Logger { + config: Readonly; + + constructor({name, level}: LoggerConfig) { + this.config = {name, level}; + Object.freeze(this.config); + } + } + + const config: LoggerConfig = { + name: 'MyApp', + level: LogLevel.Debug + }; + + const logger = new Logger(config); + + // TypeScript Error: cannot assign to read-only property. + logger.config.level = LogLevel.Error; + + // We are able to edit config variable as we please. + config.level = LogLevel.Error; + ``` +
+ +- [`Pick`](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys) - From `T`, pick a set of properties whose keys are in the union `K`. +
+ + Example + + + [Playground](https://typescript-play.js.org/?target=6#code/AQ4SwOwFwUwJwGYEMDGNgEE5TCgNugN4BQoZwOUBAXMAM5RyQDmA3KeSFABYCuAtgCMISMHloMmENh04oA9tBjQJjFuzIBfYrOAB6PcADCcGElh1gEGAHcKATwAO6ebyjB5CTNlwFwSxFR0BX5HeToYABNgBDh5fm8cfBg6AHIKG3ldA2BHOOcfFNpUygJ0pAhokr4hETFUgDpswywkggAFUwA3MFtgAF5gQgowKhhVKTYKGuFRcXo1aVZgbTIoJ3RW3xhOmB6+wfbcAGsAHi3kgBpgEtGy4AAfG54BWfqAPnZm4AAlZUj4MAkMA8GAGB4vEgfMlLLw6CwPBA8PYRmMgZVgAC6CgmI4cIommQELwICh8RBgKZKvALh1ur0bHQABR5PYMui0Wk7em2ADaAF0AJS0AASABUALIAGQAogR+Mp3CROCAFBBwVC2ikBpj5CgBIqGjizLA5TAFdAmalImAuqlBRoVQh5HBgEy1eDWfs7J5cjzGYKhroVfpDEhHM4MV6GRR5NN0JrtnRg6BVirTFBeHAKYmYY6QNpdB73LmCJZBlSAXAubtvczeSmQMNSuMbmKNgBlHFgPEUNwusBIPAAQlS1xetTmxT0SDoESgdD0C4aACtHMwxytLrohawgA) + + ```ts + interface Article { + title: string; + thumbnail: string; + content: string; + } + + // Creates new type out of the `Article` interface composed + // from the Articles' two properties: `title` and `thumbnail`. + // `ArticlePreview = {title: string; thumbnail: string}` + type ArticlePreview = Pick; + + // Render a list of articles using only title and description. + function renderArticlePreviews(previews: ArticlePreview[]): HTMLElement { + const articles = document.createElement('div'); + + for (const preview of previews) { + // Append preview to the articles. + } + + return articles; + } + + const articles = renderArticlePreviews([ + { + title: 'TypeScript tutorial!', + thumbnail: '/assets/ts.jpg' + } + ]); + ``` +
+ +- [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type) - Construct a type with a set of properties `K` of type `T`. +
+ + Example + + + [Playground](https://typescript-play.js.org/?target=6#code/AQ4ejYAUHsGcCWAXBMB2dgwGbAKYC2ADgDYwCeeemCaWArgE7ADGMxAhmuQHQBQoYEnJE8wALKEARnkaxEKdMAC8wAOS0kstGuAAfdQBM8ANzxlRjXQbVaWACwC0JPB0NqA3HwGgIwAJJoWozYHCxixnAsjAhStADmwESMMJYo1Fi4HMCIaPEu+MRklHj8gpqyoeHAAKJFFFTAAN4+giDYCIxwSAByHAR4AFw5SDF5Xm2gJBzdfQPD3WPxE5PAlBxdAPLYNQAelgh4aOHDaPQEMowrIAC+3oJ+AMKMrlrAXFhSAFZ4LEhC9g4-0BmA4JBISXgiCkBQABpILrJ5MhUGhYcATGD6Bk4Hh-jNgABrPDkOBlXyQAAq9ngYmJpOAAHcEOCRjAXqwYODfoo6DhakUSph+Uh7GI4P0xER4Cj0OSQGwMP8tP1hgAlX7swwAHgRl2RvIANALSA08ABtAC6AD4VM1Wm0Kow0MMrYaHYJjGYLLJXZb3at1HYnC43Go-QHQDcvA6-JsmEJXARgCDgMYWAhjIYhDAU+YiMAAFIwex0ZmilMITCGF79TLAGRsAgJYAAZRwSEZGzEABFTOZUrJ5Yn+jwnWgeER6HB7AAKJrADpdXqS4ZqYultTG6azVfqHswPBbtauLY7fayQ7HIbAAAMwBuAEoYw9IBq2Ixs9h2eFMOQYPQObALQKJgggABeYhghCIpikkKRpOQRIknAsZUiIeCttECBEP8NSMCkjDDAARMGziuIYxHwYOjDCMBmDNnAuTxA6irdCOBB1Lh5Dqpqn66tISIykawBnOCtqqC0gbjqc9DgpGkxegOliyfJDrRkAA) + + ```ts + // Positions of employees in our company. + type MemberPosition = 'intern' | 'developer' | 'tech-lead'; + + // Interface describing properties of a single employee. + interface Employee { + firstName: string; + lastName: string; + yearsOfExperience: number; + } + + // Create an object that has all possible `MemberPosition` values set as keys. + // Those keys will store a collection of Employees of the same position. + const team: Record = { + intern: [], + developer: [], + 'tech-lead': [], + }; + + // Our team has decided to help John with his dream of becoming Software Developer. + team.intern.push({ + firstName: 'John', + lastName: 'Doe', + yearsOfExperience: 0 + }); + + // `Record` forces you to initialize all of the property keys. + // TypeScript Error: "tech-lead" property is missing + const teamEmpty: Record = { + intern: null, + developer: null, + }; + ``` +
+ +- [`Exclude`](https://www.typescriptlang.org/docs/handbook/utility-types.html#excludetype-excludedunion) - Exclude from `T` those types that are assignable to `U`. +
+ + Example + + + [Playground](https://typescript-play.js.org/?target=6#code/JYOwLgpgTgZghgYwgAgMrQG7QMIHsQzADmyA3gFDLIAOuUYAXMiAK4A2byAPsgM5hRQJHqwC2AI2gBucgF9y5MAE9qKAEoQAjiwj8AEnBAATNtGQBeZAAooWphu26wAGmS3e93bRC8IASgsAPmRDJRlyAHoI5ABRAA8ENhYjFFYOZGVVZBgoXFFkAAM0zh5+QRBhZhYJaAKAOkjogEkQZAQ4X2QAdwALCFbaemRgXmQtFjhOMFwq9K6ULuB0lk6U+HYwZAxJnQaYFhAEMGB8ZCIIMAAFOjAANR2IK0HGWISklIAedCgsKDwCYgAbQA5M9gQBdVzFQJ+JhiSRQMiUYYwayZCC4VHPCzmSzAspCYEBWxgFhQAZwKC+FpgJ43VwARgADH4ZFQSWSBjcZPJyPtDsdTvxKWBvr8rD1DCZoJ5HPopaYoK4EPhCEQmGKcKriLCtrhgEYkVQVT5Nr4fmZLLZtMBbFZgT0wGBqES6ghbHBIJqoBKFdBWQpjfh+DQbhY2tqiHVsbjLMVkAB+ZAAZiZaeQTHOVxu9ySjxNaujNwDVHNvzqbBGkBAdPoAfkQA) + + ```ts + interface ServerConfig { + port: null | string | number; + } + + type RequestHandler = (request: Request, response: Response) => void; + + // Exclude `null` type from `null | string | number`. + // In case the port is equal to `null`, we will use default value. + function getPortValue(port: Exclude): number { + if (typeof port === 'string') { + return parseInt(port, 10); + } + + return port; + } + + function startServer(handler: RequestHandler, config: ServerConfig): void { + const server = require('http').createServer(handler); + + const port = config.port === null ? 3000 : getPortValue(config.port); + server.listen(port); + } + ``` +
+ +- [`Extract`](https://www.typescriptlang.org/docs/handbook/utility-types.html#extracttype-union) - Extract from `T` those types that are assignable to `U`. +
+ + Example + + + [Playground](https://typescript-play.js.org/?target=6#code/CYUwxgNghgTiAEAzArgOzAFwJYHtXzSwEdkQBJYACgEoAueVZAWwCMQYBuAKDDwGcM8MgBF4AXngBlAJ6scESgHIRi6ty5ZUGdoihgEABXZ888AN5d48ANoiAuvUat23K6ihMQ9ATE0BzV3goPy8GZjZOLgBfLi4Aejj4AEEICBwAdz54MAALKFQQ+BxEeAAHY1NgKAwoIKy0grr4DByEUpgccpgMaXgAaxBerCzi+B9-ZulygDouFHRsU1z8kKMYE1RhaqgAHkt4AHkWACt4EAAPbVRgLLWNgBp9gGlBs8uQa6yAUUuYPQwdgNpKM7nh7mMML4CgA+R5WABqUAgpDeVxuhxO1he0jsXGh8EoOBO9COx3BQPo2PBADckaR6IjkSA6PBqTgsMBzPsicdrEC7OJWXSQNwYvFEgAVTS9JLXODpeDpKBZFg4GCoWa8VACIJykAKiQWKy2YQOAioYikCg0OEMDyhRSy4DyxS24KhAAMjyi6gS8AAwjh5OD0iBFHAkJoEOksC1mnkMJq8gUQKDNttKPlnfrwYp3J5XfBHXqoKpfYkAOI4ansTxaeDADmoRSCCBYAbxhC6TDx6rwYHIRX5bScjA4bLJwoDmDwDkfbA9JMrVMVdM1TN69LgkTgwgkchUahqIA) + + ```ts + declare function uniqueId(): number; + + const ID = Symbol('ID'); + + interface Person { + [ID]: number; + name: string; + age: number; + } + + // Allows changing the person data as long as the property key is of string type. + function changePersonData< + Obj extends Person, + Key extends Extract, + Value extends Obj[Key] + > (obj: Obj, key: Key, value: Value): void { + obj[key] = value; + } + + // Tiny Andrew was born. + const andrew = { + [ID]: uniqueId(), + name: 'Andrew', + age: 0, + }; + + // Cool, we're fine with that. + changePersonData(andrew, 'name', 'Pony'); + + // Goverment didn't like the fact that you wanted to change your identity. + changePersonData(andrew, ID, uniqueId()); + ``` +
+ +- [`NonNullable`](https://www.typescriptlang.org/docs/handbook/utility-types.html#nonnullabletype) - Exclude `null` and `undefined` from `T`. +
+ + Example + + Works with strictNullChecks set to true. + + [Playground](https://typescript-play.js.org/?target=6#code/C4TwDgpgBACg9gJ2AOQK4FsBGEFQLxQDOwCAlgHYDmUAPlORtrnQwDasDcAUFwPQBU-WAEMkUOADMowqAGNWwwoSgATCBIqlgpOOSjAAFsOBRSy1IQgr9cKJlSlW1mZYQA3HFH68u8xcoBlHA8EACEHJ08Aby4oKDBUTFZSWXjEFEYcAEIALihkXTR2YSSIAB54JDQsHAA+blj4xOTUsHSACkMzPKD3HHDHNQQAGjSkPMqMmoQASh7g-oihqBi4uNIpdraxPAI2VhmVxrX9AzMAOm2ppnwoAA4ABifuE4BfKAhWSyOTuK7CS7pao3AhXF5rV48E4ICDAVAIPT-cGQyG+XTEIgLMJLTx7CAAdygvRCA0iCHaMwarhJOIQjUBSHaACJHk8mYdeLwxtdcVAAOSsh58+lXdr7Dlcq7A3n3J4PEUdADMcspUE53OluAIUGVTx46oAKuAIAFZGQwCYAKIIBCILjUxaDHAMnla+iodjcIA) + + ```ts + type PortNumber = string | number | null; + + /** Part of a class definition that is used to build a server */ + class ServerBuilder { + portNumber!: NonNullable; + + port(this: ServerBuilder, port: PortNumber): ServerBuilder { + if (port == null) { + this.portNumber = 8000; + } else { + this.portNumber = port; + } + + return this; + } + } + + const serverBuilder = new ServerBuilder(); + + serverBuilder + .port('8000') // portNumber = '8000' + .port(null) // portNumber = 8000 + .port(3000); // portNumber = 3000 + + // TypeScript error + serverBuilder.portNumber = null; + ``` +
+ +- [`Parameters`](https://www.typescriptlang.org/docs/handbook/utility-types.html#parameterstype) - Obtain the parameters of a function type in a tuple. +
+ + Example + + + [Playground](https://typescript-play.js.org/?target=6#code/GYVwdgxgLglg9mABAZwBYmMANgUwBQxgAOIUAXIgIZgCeA2gLoCUFAbnDACaIDeAUIkQB6IYgCypSlBxUATrMo1ECsJzgBbLEoipqAc0J7EMKMgDkiHLnU4wp46pwAPHMgB0fAL58+oSLARECEosLAA5ABUYG2QAHgAxJGdpVWREPDdMylk9ZApqemZEAF4APipacrw-CApEgBogkKwAYThwckQwEHUAIxxZJl4BYVEImiIZKF0oZRwiWVdbeygJmThgOYgcGFYcbhqApCJsyhtpWXcR1cnEePBoeDAABVPzgbTixFeFd8uEsClADcIxGiygIFkSEOT3SmTc2VydQeRx+ZxwF2QQ34gkEwDgsnSuFmMBKiAADEDjIhYk1Qm0OlSYABqZnYka4xA1DJZHJYkGc7yCbyeRA+CAIZCzNAYbA4CIAdxg2zJwVCkWirjwMswuEaACYmCCgA) + + ```ts + function shuffle(input: any[]): void { + // Mutate array randomly changing its' elements indexes. + } + + function callNTimes any> (func: Fn, callCount: number) { + // Type that represents the type of the received function parameters. + type FunctionParameters = Parameters; + + return function (...arguments_: FunctionParameters) { + for (let i = 0; i < callCount; i++) { + func(...arguments_); + } + } + } + + const shuffleTwice = callNTimes(shuffle, 2); + ``` +
+ +- [`ConstructorParameters`](https://www.typescriptlang.org/docs/handbook/utility-types.html#constructorparameterstype) - Obtain the parameters of a constructor function type in a tuple. +
+ + Example + + + [Playground](https://typescript-play.js.org/?target=6#code/MYGwhgzhAECCBOAXAlqApgWQPYBM0mgG8AoaaFRENALmgkXmQDsBzAblOmCycTV4D8teo1YdO3JiICuwRFngAKClWENmLAJRFOZRAAtkEAHQq00ALzlklNBzIBfYk+KhIMAJJTEYJsDQAwmDA+mgAPAAq0GgAHnxMODCKTGgA7tCKxllg8CwQtL4AngDaALraFgB80EWa1SRkAA6MAG5gfNAB4FABPDJyCrQR9tDNyG0dwMGhtBhgjWEiGgA00F70vv4RhY3hEZXVVinpc42KmuJkkv3y8Bly8EPaDWTkhiZd7r3e8LK3llwGCMXGQWGhEOsfH5zJlsrl8p0+gw-goAAo5MAAW3BaHgEEilU0tEhmzQ212BJ0ry4SOg+kg+gBBiMximIGA0nAfAQLGk2N4EAAEgzYcYcnkLsRdDTvNEYkYUKwSdCme9WdM0MYwYhFPSIPpJdTkAAzDKxBUaZX+aAAQgsVmkCTQxuYaBw2ng4Ok8CYcotSu8pMur09iG9vuObxZnx6SN+AyUWTF8MN0CcZE4Ywm5jZHK5aB5fP4iCFIqT4oRRTKRLo6lYVNeAHpG50wOzOe1zHr9NLQ+HoABybsD4HOKXXRA1JCoKhBELmI5pNaB6Fz0KKBAodDYPAgSUTmqYsAALx4m5nC6nW9nGq14KtaEUA9gR9PvuNCjQ9BgACNvcwNBtAcLiAA) + + ```ts + class ArticleModel { + title: string; + content?: string; + + constructor(title: string) { + this.title = title; + } + } + + class InstanceCache any)> { + private ClassConstructor: T; + private cache: Map> = new Map(); + + constructor (ctr: T) { + this.ClassConstructor = ctr; + } + + getInstance (...arguments_: ConstructorParameters): InstanceType { + const hash = this.calculateArgumentsHash(...arguments_); + + const existingInstance = this.cache.get(hash); + if (existingInstance !== undefined) { + return existingInstance; + } + + return new this.ClassConstructor(...arguments_); + } + + private calculateArgumentsHash(...arguments_: any[]): string { + // Calculate hash. + return 'hash'; + } + } + + const articleCache = new InstanceCache(ArticleModel); + const amazonArticle = articleCache.getInstance('Amazon forests burining!'); + ``` +
+ +- [`ReturnType`](https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype) - Obtain the return type of a function type. +
+ + Example + + + [Playground](https://typescript-play.js.org/?target=6#code/MYGwhgzhAECSAmICmBlJAnAbgS2E6A3gFDTTwD2AcuQC4AW2AdgOYAUAlAFzSbnbyEAvkWFFQkGJSQB3GMVI1sNZNwg10TZgG4S0YOUY0kh1es07d+xmvQBXYDXLpWi5UlMaWAGj0GjJ6BtNdkJdBQYIADpXZGgAXmgYpB1ScOwoq38aeN9DYxoU6GFRKzVoJjUwRjwAYXJbPPRuAFkwAAcAHgAxBodsAx9GWwBbACMMAD4cxhloVraOCyYjdAAzMDxoOut1e0d0UNIZ6WhWSPOwdGYIbiqATwBtAF0uaHudUQB6ACpv6ABpJBINqJdAbADW0Do5BOw3u5R2VTwMHIq2gAANtjZ0bkbHsnFCwJh8ONjHp0EgwEZ4JFoN9PkRVr1FAZoMwkDRYIjqkgOrosepoEgAB7+eAwAV2BxOLy6ACCVxgIrFEoMeOl6AACpcwMMORgIB1JRMiBNWKVdhruJKfOdIpdrtwFddXlzKjyACp3Nq842HaDIbL6BrZBIVGhIpB1EMYSLsmjmtWW-YhAA+qegAAYLKQLQj3ZsEsdccmnGcLor2Dn8xGedHGpEIBzEzspfsfMHDNAANTQACMVaIljV5GQkRA5DYmIpVKQAgAJARO9le33BDXIyi0YuLW2nJFGLqkOvxFB0YPdBSaLZ0IwNzyPkO8-xkGgsLh8Al427a3hWAhXwwHA8EHT5PmgAB1bAQBAANJ24adKWpft72RaBUTgRBUCAj89HAM8xCTaBjggABRQx0DuHJv25P9dCkWRZVIAAiBjoFImpmjlFBgA0NpsjadByDacgIDAEAIAAQmYpjoGYgAZSBsmGPw6DtZiiFA8CoJguDmAQmoZ2QvtUKQLdoAYmBTwgdEiCAA) + + ```ts + /** Provides every element of the iterable `iter` into the `callback` function and stores the results in an array. */ + function mapIter< + Elem, + Func extends (elem: Elem) => any, + Ret extends ReturnType + >(iter: Iterable, callback: Func): Ret[] { + const mapped: Ret[] = []; + + for (const elem of iter) { + mapped.push(callback(elem)); + } + + return mapped; + } + + const setObject: Set = new Set(); + const mapObject: Map = new Map(); + + mapIter(setObject, (value: string) => value.indexOf('Foo')); // number[] + + mapIter(mapObject, ([key, value]: [number, string]) => { + return key % 2 === 0 ? value : 'Odd'; + }); // string[] + ``` +
+ +- [`InstanceType`](https://www.typescriptlang.org/docs/handbook/utility-types.html#instancetypetype) - Obtain the instance type of a constructor function type. +
+ + Example + + + [Playground](https://typescript-play.js.org/?target=6#code/MYGwhgzhAECSAmICmBlJAnAbgS2E6A3gFDTTwD2AcuQC4AW2AdgOYAUAlAFzSbnbyEAvkWFFQkGJSQB3GMVI1sNZNwg10TZgG4S0YOUY0kh1es07d+xmvQBXYDXLpWi5UlMaWAGj0GjJ6BtNdkJdBQYIADpXZGgAXmgYpB1ScOwoq38aeN9DYxoU6GFRKzVoJjUwRjwAYXJbPPRuAFkwAAcAHgAxBodsAx9GWwBbACMMAD4cxhloVraOCyYjdAAzMDxoOut1e0d0UNIZ6WhWSPOwdGYIbiqATwBtAF0uaHudUQB6ACpv6ABpJBINqJdAbADW0Do5BOw3u5R2VTwMHIq2gAANtjZ0bkbHsnFCwJh8ONjHp0EgwEZ4JFoN9PkRVr1FAZoMwkDRYIjqkgOrosepoEgAB7+eAwAV2BxOLy6ACCVxgIrFEoMeOl6AACpcwMMORgIB1JRMiBNWKVdhruJKfOdIpdrtwFddXlzKjyACp3Nq842HaDIbL6BrZBIVGhIpB1EMYSLsmjmtWW-YhAA+qegAAYLKQLQj3ZsEsdccmnGcLor2Dn8xGedHGpEIBzEzspfsfMHDNAANTQACMVaIljV5GQkRA5DYmIpVKQAgAJARO9le33BDXIyi0YuLW2nJFGLqkOvxFB0YPdBSaLZ0IwNzyPkO8-xkGgsLh8Al427a3hWAhXwwHA8EHT5PmgAB1bAQBAANJ24adKWpft72RaBUTgRBUCAj89HAM8xCTaBjggABRQx0DuHJv25P9dCkWRZVIAAiBjoFImpmjlFBgA0NpsjadByDacgIDAEAIAAQmYpjoGYgAZSBsmGPw6DtZiiFA8CoJguDmAQmoZ2QvtUKQLdoAYmBTwgdEiCAA) + + ```ts + class IdleService { + doNothing (): void {} + } + + class News { + title: string; + content: string; + + constructor(title: string, content: string) { + this.title = title; + this.content = content; + } + } + + const instanceCounter: Map = new Map(); + + interface Constructor { + new(...arguments_: any[]): any; + } + + // Keep track how many instances of `Constr` constructor have been created. + function getInstance< + Constr extends Constructor, + Arguments extends ConstructorParameters + >(constructor: Constr, ...arguments_: Arguments): InstanceType { + let count = instanceCounter.get(constructor) || 0; + + const instance = new constructor(...arguments_); + + instanceCounter.set(constructor, count + 1); + + console.log(`Created ${count + 1} instances of ${Constr.name} class`); + + return instance; + } + + + const idleService = getInstance(IdleService); + // Will log: `Created 1 instances of IdleService class` + const newsEntry = getInstance(News, 'New ECMAScript proposals!', 'Last month...'); + // Will log: `Created 1 instances of News class` + ``` +
+ +- [`Omit`](https://www.typescriptlang.org/docs/handbook/utility-types.html#omittype-keys) - Constructs a type by picking all properties from T and then removing K. +
+ + Example + + + [Playground](https://typescript-play.js.org/?target=6#code/JYOwLgpgTgZghgYwgAgIImAWzgG2QbwChlks4BzCAVShwC5kBnMKUcgbmKYAcIFgIjBs1YgOXMpSFMWbANoBdTiW5woFddwAW0kfKWEAvoUIB6U8gDCUCHEiNkICAHdkYAJ69kz4GC3JcPG4oAHteKDABBxCYNAxsPFBIWEQUCAAPJG4wZABySUFcgJAAEzMLXNV1ck0dIuCw6EjBADpy5AB1FAQ4EGQAV0YUP2AHDy8wEOQbUugmBLwtEIA3OcmQnEjuZBgQqE7gAGtgZAhwKHdkHFGwNvGUdDIcAGUliIBJEF3kAF5kAHlML4ADyPBIAGjyBUYRQAPnkqho4NoYQA+TiEGD9EAISIhPozErQMG4AASK2gn2+AApek9pCSXm8wFSQooAJQMUkAFQAsgAZACiOAgmDOOSIJAQ+OYyGl4DgoDmf2QJRCCH6YvALQQNjsEGFovF1NyJWAy1y7OUyHMyE+yRAuFImG4Iq1YDswHxbRINjA-SgfXlHqVUE4xiAA) + + ```ts + interface Animal { + imageUrl: string; + species: string; + images: string[]; + paragraphs: string[]; + } + + // Creates new type with all properties of the `Animal` interface + // except 'images' and 'paragraphs' properties. We can use this + // type to render small hover tooltip for a wiki entry list. + type AnimalShortInfo = Omit; + + function renderAnimalHoverInfo (animals: AnimalShortInfo[]): HTMLElement { + const container = document.createElement('div'); + // Internal implementation. + return container; + } + ``` +
+ +- [`Uppercase`](https://www.typescriptlang.org/docs/handbook/utility-types.html#uppercasestringtype) - Transforms every character in a string into uppercase. +
+ + Example + + + ```ts + type T = Uppercase<'hello'>; // 'HELLO' + + type T2 = Uppercase<'foo' | 'bar'>; // 'FOO' | 'BAR' + + type T3 = Uppercase<`aB${S}`>; + type T4 = T3<'xYz'>; // 'ABXYZ' + + type T5 = Uppercase; // string + type T6 = Uppercase; // any + type T7 = Uppercase; // never + type T8 = Uppercase<42>; // Error, type 'number' does not satisfy the constraint 'string' + ``` +
+ +- [`Lowercase`](https://www.typescriptlang.org/docs/handbook/utility-types.html#lowercasestringtype) - Transforms every character in a string into lowercase. +
+ + Example + + + ```ts + type T = Lowercase<'HELLO'>; // 'hello' + + type T2 = Lowercase<'FOO' | 'BAR'>; // 'foo' | 'bar' + + type T3 = Lowercase<`aB${S}`>; + type T4 = T3<'xYz'>; // 'abxyz' + + type T5 = Lowercase; // string + type T6 = Lowercase; // any + type T7 = Lowercase; // never + type T8 = Lowercase<42>; // Error, type 'number' does not satisfy the constraint 'string' + ``` +
+ +- [`Capitalize`](https://www.typescriptlang.org/docs/handbook/utility-types.html#capitalizestringtype) - Transforms the first character in a string into uppercase. +
+ + Example + + + ```ts + type T = Capitalize<'hello'>; // 'Hello' + + type T2 = Capitalize<'foo' | 'bar'>; // 'Foo' | 'Bar' + + type T3 = Capitalize<`aB${S}`>; + type T4 = T3<'xYz'>; // 'ABxYz' + + type T5 = Capitalize; // string + type T6 = Capitalize; // any + type T7 = Capitalize; // never + type T8 = Capitalize<42>; // Error, type 'number' does not satisfy the constraint 'string' + ``` +
+ +- [`Uncapitalize`](https://www.typescriptlang.org/docs/handbook/utility-types.html#uncapitalizestringtype) - Transforms the first character in a string into lowercase. +
+ + Example + + + ```ts + type T = Uncapitalize<'Hello'>; // 'hello' + + type T2 = Uncapitalize<'Foo' | 'Bar'>; // 'foo' | 'bar' + + type T3 = Uncapitalize<`AB${S}`>; + type T4 = T3<'xYz'>; // 'aBxYz' + + type T5 = Uncapitalize; // string + type T6 = Uncapitalize; // any + type T7 = Uncapitalize; // never + type T8 = Uncapitalize<42>; // Error, type 'number' does not satisfy the constraint 'string' + ``` +
+ +You can find some examples in the [TypeScript docs](https://www.typescriptlang.org/docs/handbook/utility-types.html). + +## Maintainers + +- [Sindre Sorhus](https://github.com/sindresorhus) +- [Jarek Radosz](https://github.com/CvX) +- [Dimitri Benin](https://github.com/BendingBender) +- [Pelle Wessman](https://github.com/voxpelli) +- [Sébastien Mischler](https://github.com/skarab42) + +## License + +SPDX-License-Identifier: (MIT OR CC0-1.0) diff --git a/node_modules/type-fest/source/async-return-type.d.ts b/node_modules/type-fest/source/async-return-type.d.ts new file mode 100644 index 0000000..5d9f89c --- /dev/null +++ b/node_modules/type-fest/source/async-return-type.d.ts @@ -0,0 +1,23 @@ +type AsyncFunction = (...arguments_: any[]) => Promise; + +/** +Unwrap the return type of a function that returns a `Promise`. + +There has been [discussion](https://github.com/microsoft/TypeScript/pull/35998) about implementing this type in TypeScript. + +@example +```ts +import type {AsyncReturnType} from 'type-fest'; +import {asyncFunction} from 'api'; + +// This type resolves to the unwrapped return type of `asyncFunction`. +type Value = AsyncReturnType; + +async function doSomething(value: Value) {} + +asyncFunction().then(value => doSomething(value)); +``` + +@category Async +*/ +export type AsyncReturnType = Awaited>; diff --git a/node_modules/type-fest/source/asyncify.d.ts b/node_modules/type-fest/source/asyncify.d.ts new file mode 100644 index 0000000..df3c31d --- /dev/null +++ b/node_modules/type-fest/source/asyncify.d.ts @@ -0,0 +1,32 @@ +import type {SetReturnType} from './set-return-type'; + +/** +Create an async version of the given function type, by boxing the return type in `Promise` while keeping the same parameter types. + +Use-case: You have two functions, one synchronous and one asynchronous that do the same thing. Instead of having to duplicate the type definition, you can use `Asyncify` to reuse the synchronous type. + +@example +``` +import type {Asyncify} from 'type-fest'; + +// Synchronous function. +function getFooSync(someArg: SomeType): Foo { + // … +} + +type AsyncifiedFooGetter = Asyncify; +//=> type AsyncifiedFooGetter = (someArg: SomeType) => Promise; + +// Same as `getFooSync` but asynchronous. +const getFooAsync: AsyncifiedFooGetter = (someArg) => { + // TypeScript now knows that `someArg` is `SomeType` automatically. + // It also knows that this function must return `Promise`. + // If you have `@typescript-eslint/promise-function-async` linter rule enabled, it will even report that "Functions that return promises must be async.". + + // … +} +``` + +@category Async +*/ +export type Asyncify any> = SetReturnType>>>; diff --git a/node_modules/type-fest/source/basic.d.ts b/node_modules/type-fest/source/basic.d.ts new file mode 100644 index 0000000..d4d8f98 --- /dev/null +++ b/node_modules/type-fest/source/basic.d.ts @@ -0,0 +1,68 @@ +/** +Matches a [`class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes). + +@category Class +*/ +export type Class = { + prototype: T; + new(...arguments_: Arguments): T; +}; + +/** +Matches a [`class` constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes). + +@category Class +*/ +export type Constructor = new(...arguments_: Arguments) => T; + +/** +Matches an [`abstract class`](https://www.typescriptlang.org/docs/handbook/classes.html#abstract-classes). + +@category Class + +@privateRemarks +We cannot use a `type` here because TypeScript throws: 'abstract' modifier cannot appear on a type member. (1070) +*/ +// eslint-disable-next-line @typescript-eslint/consistent-type-definitions +export interface AbstractClass extends AbstractConstructor { + prototype: T; +} + +/** +Matches an [`abstract class`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-2.html#abstract-construct-signatures) constructor. + +@category Class +*/ +export type AbstractConstructor = abstract new(...arguments_: Arguments) => T; + +/** +Matches a JSON object. + +This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. Don't use this as a direct return type as the user would have to double-cast it: `jsonObject as unknown as CustomResponse`. Instead, you could extend your CustomResponse type from it to ensure your type only uses JSON-compatible types: `interface CustomResponse extends JsonObject { … }`. + +@category JSON +*/ +export type JsonObject = {[Key in string]: JsonValue} & {[Key in string]?: JsonValue | undefined}; + +/** +Matches a JSON array. + +@category JSON +*/ +export type JsonArray = JsonValue[] | readonly JsonValue[]; + +/** +Matches any valid JSON primitive value. + +@category JSON +*/ +export type JsonPrimitive = string | number | boolean | null; + +/** +Matches any valid JSON value. + +@see `Jsonify` if you need to transform a type to one that is assignable to `JsonValue`. + +@category JSON +*/ +export type JsonValue = JsonPrimitive | JsonObject | JsonArray; diff --git a/node_modules/type-fest/source/camel-case.d.ts b/node_modules/type-fest/source/camel-case.d.ts new file mode 100644 index 0000000..7672286 --- /dev/null +++ b/node_modules/type-fest/source/camel-case.d.ts @@ -0,0 +1,80 @@ +import type {SplitWords} from './split-words'; + +/** +CamelCase options. + +@see {@link CamelCase} +*/ +export type CamelCaseOptions = { + /** + Whether to preserved consecutive uppercase letter. + + @default true + */ + preserveConsecutiveUppercase?: boolean; +}; + +/** +Convert an array of words to camel-case. +*/ +type CamelCaseFromArray< + Words extends string[], + Options extends CamelCaseOptions, + OutputString extends string = '', +> = Words extends [ + infer FirstWord extends string, + ...infer RemainingWords extends string[], +] + ? Options['preserveConsecutiveUppercase'] extends true + ? `${Capitalize}${CamelCaseFromArray}` + : `${Capitalize>}${CamelCaseFromArray}` + : OutputString; + +/** +Convert a string literal to camel-case. + +This can be useful when, for example, converting some kebab-cased command-line flags or a snake-cased database result. + +By default, consecutive uppercase letter are preserved. See {@link CamelCaseOptions.preserveConsecutiveUppercase preserveConsecutiveUppercase} option to change this behaviour. + +@example +``` +import type {CamelCase} from 'type-fest'; + +// Simple + +const someVariable: CamelCase<'foo-bar'> = 'fooBar'; + +// Advanced + +type CamelCasedProperties = { + [K in keyof T as CamelCase]: T[K] +}; + +interface RawOptions { + 'dry-run': boolean; + 'full_family_name': string; + foo: number; + BAR: string; + QUZ_QUX: number; + 'OTHER-FIELD': boolean; +} + +const dbResult: CamelCasedProperties = { + dryRun: true, + fullFamilyName: 'bar.js', + foo: 123, + bar: 'foo', + quzQux: 6, + otherField: false +}; +``` + +@category Change case +@category Template literal +*/ +export type CamelCase = Type extends string + ? string extends Type + ? Type + : Uncapitalize ? Lowercase : Type>, Options>> + : Type; diff --git a/node_modules/type-fest/source/camel-cased-properties-deep.d.ts b/node_modules/type-fest/source/camel-cased-properties-deep.d.ts new file mode 100644 index 0000000..b44482b --- /dev/null +++ b/node_modules/type-fest/source/camel-cased-properties-deep.d.ts @@ -0,0 +1,54 @@ +import type {CamelCase, CamelCaseOptions} from './camel-case'; + +/** +Convert object properties to camel case recursively. + +This can be useful when, for example, converting some API types from a different style. + +@see CamelCasedProperties +@see CamelCase + +@example +``` +import type {CamelCasedPropertiesDeep} from 'type-fest'; + +interface User { + UserId: number; + UserName: string; +} + +interface UserWithFriends { + UserInfo: User; + UserFriends: User[]; +} + +const result: CamelCasedPropertiesDeep = { + userInfo: { + userId: 1, + userName: 'Tom', + }, + userFriends: [ + { + userId: 2, + userName: 'Jerry', + }, + { + userId: 3, + userName: 'Spike', + }, + ], +}; +``` + +@category Change case +@category Template literal +@category Object +*/ +export type CamelCasedPropertiesDeep = Value extends Function + ? Value + : Value extends Array + ? Array> + : Value extends Set + ? Set> : { + [K in keyof Value as CamelCase]: CamelCasedPropertiesDeep; + }; diff --git a/node_modules/type-fest/source/camel-cased-properties.d.ts b/node_modules/type-fest/source/camel-cased-properties.d.ts new file mode 100644 index 0000000..99e1481 --- /dev/null +++ b/node_modules/type-fest/source/camel-cased-properties.d.ts @@ -0,0 +1,36 @@ +import type {CamelCase, CamelCaseOptions} from './camel-case'; + +/** +Convert object properties to camel case but not recursively. + +This can be useful when, for example, converting some API types from a different style. + +@see CamelCasedPropertiesDeep +@see CamelCase + +@example +``` +import type {CamelCasedProperties} from 'type-fest'; + +interface User { + UserId: number; + UserName: string; +} + +const result: CamelCasedProperties = { + userId: 1, + userName: 'Tom', +}; +``` + +@category Change case +@category Template literal +@category Object +*/ +export type CamelCasedProperties = Value extends Function + ? Value + : Value extends Array + ? Value + : { + [K in keyof Value as CamelCase]: Value[K]; + }; diff --git a/node_modules/type-fest/source/conditional-except.d.ts b/node_modules/type-fest/source/conditional-except.d.ts new file mode 100644 index 0000000..9b40b34 --- /dev/null +++ b/node_modules/type-fest/source/conditional-except.d.ts @@ -0,0 +1,45 @@ +import type {Except} from './except'; +import type {ConditionalKeys} from './conditional-keys'; + +/** +Exclude keys from a shape that matches the given `Condition`. + +This is useful when you want to create a new type with a specific set of keys from a shape. For example, you might want to exclude all the primitive properties from a class and form a new shape containing everything but the primitive properties. + +@example +``` +import type {Primitive, ConditionalExcept} from 'type-fest'; + +class Awesome { + name: string; + successes: number; + failures: bigint; + + run() {} +} + +type ExceptPrimitivesFromAwesome = ConditionalExcept; +//=> {run: () => void} +``` + +@example +``` +import type {ConditionalExcept} from 'type-fest'; + +interface Example { + a: string; + b: string | number; + c: () => void; + d: {}; +} + +type NonStringKeysOnly = ConditionalExcept; +//=> {b: string | number; c: () => void; d: {}} +``` + +@category Object +*/ +export type ConditionalExcept = Except< +Base, +ConditionalKeys +>; diff --git a/node_modules/type-fest/source/conditional-keys.d.ts b/node_modules/type-fest/source/conditional-keys.d.ts new file mode 100644 index 0000000..64b9593 --- /dev/null +++ b/node_modules/type-fest/source/conditional-keys.d.ts @@ -0,0 +1,47 @@ +/** +Extract the keys from a type where the value type of the key extends the given `Condition`. + +Internally this is used for the `ConditionalPick` and `ConditionalExcept` types. + +@example +``` +import type {ConditionalKeys} from 'type-fest'; + +interface Example { + a: string; + b: string | number; + c?: string; + d: {}; +} + +type StringKeysOnly = ConditionalKeys; +//=> 'a' +``` + +To support partial types, make sure your `Condition` is a union of undefined (for example, `string | undefined`) as demonstrated below. + +@example +``` +import type {ConditionalKeys} from 'type-fest'; + +type StringKeysAndUndefined = ConditionalKeys; +//=> 'a' | 'c' +``` + +@category Object +*/ +export type ConditionalKeys = NonNullable< +// Wrap in `NonNullable` to strip away the `undefined` type from the produced union. +{ + // Map through all the keys of the given base type. + [Key in keyof Base]: + // Pick only keys with types extending the given `Condition` type. + Base[Key] extends Condition + // Retain this key since the condition passes. + ? Key + // Discard this key since the condition fails. + : never; + + // Convert the produced object into a union type of the keys which passed the conditional test. +}[keyof Base] +>; diff --git a/node_modules/type-fest/source/conditional-pick-deep.d.ts b/node_modules/type-fest/source/conditional-pick-deep.d.ts new file mode 100644 index 0000000..30d09e7 --- /dev/null +++ b/node_modules/type-fest/source/conditional-pick-deep.d.ts @@ -0,0 +1,102 @@ +import type {Opaque} from './opaque'; +import type {IsEqual} from './is-equal'; +import type {ConditionalExcept} from './conditional-except'; +import type {ConditionalSimplifyDeep} from './conditional-simplify'; + +/** +Used to mark properties that should be excluded. +*/ +type ConditionalPickDeepSymbol = Opaque; + +/** +Assert the condition according to the {@link ConditionalPickDeepOptions.condition|condition} option. +*/ +type AssertCondition = Options['condition'] extends 'equality' + ? IsEqual + : Type extends Condition + ? true + : false; + +/** +ConditionalPickDeep options. + +@see ConditionalPickDeep +*/ +export type ConditionalPickDeepOptions = { + /** + The condition assertion mode. + + @default 'extends' + */ + condition?: 'extends' | 'equality'; +}; + +/** +Pick keys recursively from the shape that matches the given condition. + +@see ConditionalPick + +@example +``` +import type {ConditionalPickDeep} from 'type-fest'; + +interface Example { + a: string; + b: string | boolean; + c: { + d: string; + e: { + f?: string; + g?: boolean; + h: string | boolean; + i: boolean | bigint; + }; + j: boolean; + }; +} + +type StringPick = ConditionalPickDeep; +//=> {a: string; c: {d: string}} + +type StringPickOptional = ConditionalPickDeep; +//=> {a: string; c: {d: string; e: {f?: string}}} + +type StringPickOptionalOnly = ConditionalPickDeep; +//=> {c: {e: {f?: string}}} + +type BooleanPick = ConditionalPickDeep; +//=> {c: {e: {g?: boolean}; j: boolean}} + +type NumberPick = ConditionalPickDeep; +//=> {} + +type StringOrBooleanPick = ConditionalPickDeep; +//=> { +// a: string; +// b: string | boolean; +// c: { +// d: string; +// e: { +// h: string | boolean +// }; +// j: boolean; +// }; +// } + +type StringOrBooleanPickOnly = ConditionalPickDeep; +//=> {b: string | boolean; c: {e: {h: string | boolean}}} +``` + +@category Object +*/ +export type ConditionalPickDeep< + Type, + Condition, + Options extends ConditionalPickDeepOptions = {}, +> = ConditionalSimplifyDeep extends true + ? Type[Key] + : Type[Key] extends object + ? ConditionalPickDeep + : ConditionalPickDeepSymbol; +}, (ConditionalPickDeepSymbol | undefined) | Record>>; diff --git a/node_modules/type-fest/source/conditional-pick.d.ts b/node_modules/type-fest/source/conditional-pick.d.ts new file mode 100644 index 0000000..2a24cb2 --- /dev/null +++ b/node_modules/type-fest/source/conditional-pick.d.ts @@ -0,0 +1,44 @@ +import type {ConditionalKeys} from './conditional-keys'; + +/** +Pick keys from the shape that matches the given `Condition`. + +This is useful when you want to create a new type from a specific subset of an existing type. For example, you might want to pick all the primitive properties from a class and form a new automatically derived type. + +@example +``` +import type {Primitive, ConditionalPick} from 'type-fest'; + +class Awesome { + name: string; + successes: number; + failures: bigint; + + run() {} +} + +type PickPrimitivesFromAwesome = ConditionalPick; +//=> {name: string; successes: number; failures: bigint} +``` + +@example +``` +import type {ConditionalPick} from 'type-fest'; + +interface Example { + a: string; + b: string | number; + c: () => void; + d: {}; +} + +type StringKeysOnly = ConditionalPick; +//=> {a: string} +``` + +@category Object +*/ +export type ConditionalPick = Pick< +Base, +ConditionalKeys +>; diff --git a/node_modules/type-fest/source/conditional-simplify.d.ts b/node_modules/type-fest/source/conditional-simplify.d.ts new file mode 100644 index 0000000..03cd506 --- /dev/null +++ b/node_modules/type-fest/source/conditional-simplify.d.ts @@ -0,0 +1,32 @@ +/** +Simplifies a type while including and/or excluding certain types from being simplified. Useful to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability. + +This type is **experimental** and was introduced as a result of this {@link https://github.com/sindresorhus/type-fest/issues/436 issue}. It should be used with caution. + +@internal +@experimental +@see Simplify +@category Object +*/ +export type ConditionalSimplify = Type extends ExcludeType + ? Type + : Type extends IncludeType + ? {[TypeKey in keyof Type]: Type[TypeKey]} + : Type; + +/** +Recursively simplifies a type while including and/or excluding certain types from being simplified. + +This type is **experimental** and was introduced as a result of this {@link https://github.com/sindresorhus/type-fest/issues/436 issue}. It should be used with caution. + +See {@link ConditionalSimplify} for usages and examples. + +@internal +@experimental +@category Object +*/ +export type ConditionalSimplifyDeep = Type extends ExcludeType + ? Type + : Type extends IncludeType + ? {[TypeKey in keyof Type]: ConditionalSimplifyDeep} + : Type; diff --git a/node_modules/type-fest/source/delimiter-case.d.ts b/node_modules/type-fest/source/delimiter-case.d.ts new file mode 100644 index 0000000..9a237b7 --- /dev/null +++ b/node_modules/type-fest/source/delimiter-case.d.ts @@ -0,0 +1,99 @@ +import type {UpperCaseCharacters, WordSeparators} from '../source/internal'; + +// Transforms a string that is fully uppercase into a fully lowercase version. Needed to add support for SCREAMING_SNAKE_CASE, see https://github.com/sindresorhus/type-fest/issues/385 +type UpperCaseToLowerCase = T extends Uppercase ? Lowercase : T; + +// This implementation does not support SCREAMING_SNAKE_CASE, it is used internally by `SplitIncludingDelimiters`. +type SplitIncludingDelimiters_ = + Source extends '' ? [] : + Source extends `${infer FirstPart}${Delimiter}${infer SecondPart}` ? + ( + Source extends `${FirstPart}${infer UsedDelimiter}${SecondPart}` + ? UsedDelimiter extends Delimiter + ? Source extends `${infer FirstPart}${UsedDelimiter}${infer SecondPart}` + ? [...SplitIncludingDelimiters, UsedDelimiter, ...SplitIncludingDelimiters] + : never + : never + : never + ) : + [Source]; + +/** +Unlike a simpler split, this one includes the delimiter splitted on in the resulting array literal. This is to enable splitting on, for example, upper-case characters. + +@category Template literal +*/ +export type SplitIncludingDelimiters = SplitIncludingDelimiters_, Delimiter>; + +/** +Format a specific part of the splitted string literal that `StringArrayToDelimiterCase<>` fuses together, ensuring desired casing. + +@see StringArrayToDelimiterCase +*/ +type StringPartToDelimiterCase = + StringPart extends UsedWordSeparators ? Delimiter : + Start extends true ? Lowercase : + StringPart extends UsedUpperCaseCharacters ? `${Delimiter}${Lowercase}` : + StringPart; + +/** +Takes the result of a splitted string literal and recursively concatenates it together into the desired casing. + +It receives `UsedWordSeparators` and `UsedUpperCaseCharacters` as input to ensure it's fully encapsulated. + +@see SplitIncludingDelimiters +*/ +type StringArrayToDelimiterCase = + Parts extends [`${infer FirstPart}`, ...infer RemainingParts] + ? `${StringPartToDelimiterCase}${StringArrayToDelimiterCase}` + : Parts extends [string] + ? string + : ''; + +/** +Convert a string literal to a custom string delimiter casing. + +This can be useful when, for example, converting a camel-cased object property to an oddly cased one. + +@see KebabCase +@see SnakeCase + +@example +``` +import type {DelimiterCase} from 'type-fest'; + +// Simple + +const someVariable: DelimiterCase<'fooBar', '#'> = 'foo#bar'; + +// Advanced + +type OddlyCasedProperties = { + [K in keyof T as DelimiterCase]: T[K] +}; + +interface SomeOptions { + dryRun: boolean; + includeFile: string; + foo: number; +} + +const rawCliOptions: OddlyCasedProperties = { + 'dry#run': true, + 'include#file': 'bar.js', + foo: 123 +}; +``` + +@category Change case +@category Template literal +*/ +export type DelimiterCase = string extends Value ? Value : Value extends string + ? StringArrayToDelimiterCase< + SplitIncludingDelimiters, + true, + WordSeparators, + UpperCaseCharacters, + Delimiter + > + : Value; diff --git a/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts b/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts new file mode 100644 index 0000000..82299c0 --- /dev/null +++ b/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts @@ -0,0 +1,60 @@ +import type {DelimiterCase} from './delimiter-case'; + +/** +Convert object properties to delimiter case recursively. + +This can be useful when, for example, converting some API types from a different style. + +@see DelimiterCase +@see DelimiterCasedProperties + +@example +``` +import type {DelimiterCasedPropertiesDeep} from 'type-fest'; + +interface User { + userId: number; + userName: string; +} + +interface UserWithFriends { + userInfo: User; + userFriends: User[]; +} + +const result: DelimiterCasedPropertiesDeep = { + 'user-info': { + 'user-id': 1, + 'user-name': 'Tom', + }, + 'user-friends': [ + { + 'user-id': 2, + 'user-name': 'Jerry', + }, + { + 'user-id': 3, + 'user-name': 'Spike', + }, + ], +}; +``` + +@category Change case +@category Template literal +@category Object +*/ +export type DelimiterCasedPropertiesDeep< + Value, + Delimiter extends string, +> = Value extends Function | Date | RegExp + ? Value + : Value extends Array + ? Array> + : Value extends Set + ? Set> : { + [K in keyof Value as DelimiterCase< + K, + Delimiter + >]: DelimiterCasedPropertiesDeep; + }; diff --git a/node_modules/type-fest/source/delimiter-cased-properties.d.ts b/node_modules/type-fest/source/delimiter-cased-properties.d.ts new file mode 100644 index 0000000..c73e07f --- /dev/null +++ b/node_modules/type-fest/source/delimiter-cased-properties.d.ts @@ -0,0 +1,37 @@ +import type {DelimiterCase} from './delimiter-case'; + +/** +Convert object properties to delimiter case but not recursively. + +This can be useful when, for example, converting some API types from a different style. + +@see DelimiterCase +@see DelimiterCasedPropertiesDeep + +@example +``` +import type {DelimiterCasedProperties} from 'type-fest'; + +interface User { + userId: number; + userName: string; +} + +const result: DelimiterCasedProperties = { + 'user-id': 1, + 'user-name': 'Tom', +}; +``` + +@category Change case +@category Template literal +@category Object +*/ +export type DelimiterCasedProperties< + Value, + Delimiter extends string, +> = Value extends Function + ? Value + : Value extends Array + ? Value + : {[K in keyof Value as DelimiterCase]: Value[K]}; diff --git a/node_modules/type-fest/source/empty-object.d.ts b/node_modules/type-fest/source/empty-object.d.ts new file mode 100644 index 0000000..ee79118 --- /dev/null +++ b/node_modules/type-fest/source/empty-object.d.ts @@ -0,0 +1,46 @@ +declare const emptyObjectSymbol: unique symbol; + +/** +Represents a strictly empty plain object, the `{}` value. + +When you annotate something as the type `{}`, it can be anything except `null` and `undefined`. This means that you cannot use `{}` to represent an empty plain object ([read more](https://stackoverflow.com/questions/47339869/typescript-empty-object-and-any-difference/52193484#52193484)). + +@example +``` +import type {EmptyObject} from 'type-fest'; + +// The following illustrates the problem with `{}`. +const foo1: {} = {}; // Pass +const foo2: {} = []; // Pass +const foo3: {} = 42; // Pass +const foo4: {} = {a: 1}; // Pass + +// With `EmptyObject` only the first case is valid. +const bar1: EmptyObject = {}; // Pass +const bar2: EmptyObject = 42; // Fail +const bar3: EmptyObject = []; // Fail +const bar4: EmptyObject = {a: 1}; // Fail +``` + +Unfortunately, `Record`, `Record` and `Record` do not work. See {@link https://github.com/sindresorhus/type-fest/issues/395 #395}. + +@category Object +*/ +export type EmptyObject = {[emptyObjectSymbol]?: never}; + +/** +Returns a `boolean` for whether the type is strictly equal to an empty plain object, the `{}` value. + +@example +``` +import type {IsEmptyObject} from 'type-fest'; + +type Pass = IsEmptyObject<{}>; //=> true +type Fail = IsEmptyObject<[]>; //=> false +type Fail = IsEmptyObject; //=> false +``` + +@see EmptyObject +@category Object +*/ +export type IsEmptyObject = T extends EmptyObject ? true : false; diff --git a/node_modules/type-fest/source/enforce-optional.d.ts b/node_modules/type-fest/source/enforce-optional.d.ts new file mode 100644 index 0000000..8b4a9b5 --- /dev/null +++ b/node_modules/type-fest/source/enforce-optional.d.ts @@ -0,0 +1,47 @@ +import type {Simplify} from './simplify'; + +// Returns `never` if the key is optional otherwise return the key type. +type RequiredFilter = undefined extends Type[Key] + ? Type[Key] extends undefined + ? Key + : never + : Key; + +// Returns `never` if the key is required otherwise return the key type. +type OptionalFilter = undefined extends Type[Key] + ? Type[Key] extends undefined + ? never + : Key + : never; + +/** +Enforce optional keys (by adding the `?` operator) for keys that have a union with `undefined`. + +@example +``` +import type {EnforceOptional} from 'type-fest'; + +type Foo = { + a: string; + b?: string; + c: undefined; + d: number | undefined; +}; + +type FooBar = EnforceOptional; +// => { +// a: string; +// b?: string; +// c: undefined; +// d?: number; +// } +``` + +@internal +@category Object +*/ +export type EnforceOptional = Simplify<{ + [Key in keyof ObjectType as RequiredFilter]: ObjectType[Key] +} & { + [Key in keyof ObjectType as OptionalFilter]?: Exclude +}>; diff --git a/node_modules/type-fest/source/entries.d.ts b/node_modules/type-fest/source/entries.d.ts new file mode 100644 index 0000000..b5bec7f --- /dev/null +++ b/node_modules/type-fest/source/entries.d.ts @@ -0,0 +1,62 @@ +import type {ArrayEntry, MapEntry, ObjectEntry, SetEntry} from './entry'; + +type ArrayEntries = Array>; +type MapEntries = Array>; +type ObjectEntries = Array>; +type SetEntries> = Array>; + +/** +Many collections have an `entries` method which returns an array of a given object's own enumerable string-keyed property [key, value] pairs. The `Entries` type will return the type of that collection's entries. + +For example the {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries|`Object`}, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries|`Map`}, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries|`Array`}, and {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/entries|`Set`} collections all have this method. Note that `WeakMap` and `WeakSet` do not have this method since their entries are not enumerable. + +@see `Entry` if you want to just access the type of a single entry. + +@example +``` +import type {Entries} from 'type-fest'; + +interface Example { + someKey: number; +} + +const manipulatesEntries = (examples: Entries) => examples.map(example => [ + // Does some arbitrary processing on the key (with type information available) + example[0].toUpperCase(), + + // Does some arbitrary processing on the value (with type information available) + example[1].toFixed() +]); + +const example: Example = {someKey: 1}; +const entries = Object.entries(example) as Entries; +const output = manipulatesEntries(entries); + +// Objects +const objectExample = {a: 1}; +const objectEntries: Entries = [['a', 1]]; + +// Arrays +const arrayExample = ['a', 1]; +const arrayEntries: Entries = [[0, 'a'], [1, 1]]; + +// Maps +const mapExample = new Map([['a', 1]]); +const mapEntries: Entries = [['a', 1]]; + +// Sets +const setExample = new Set(['a', 1]); +const setEntries: Entries = [['a', 'a'], [1, 1]]; +``` + +@category Object +@category Map +@category Set +@category Array +*/ +export type Entries = + BaseType extends Map ? MapEntries + : BaseType extends Set ? SetEntries + : BaseType extends readonly unknown[] ? ArrayEntries + : BaseType extends object ? ObjectEntries + : never; diff --git a/node_modules/type-fest/source/entry.d.ts b/node_modules/type-fest/source/entry.d.ts new file mode 100644 index 0000000..68e2f9c --- /dev/null +++ b/node_modules/type-fest/source/entry.d.ts @@ -0,0 +1,65 @@ +type MapKey = BaseType extends Map ? KeyType : never; +type MapValue = BaseType extends Map ? ValueType : never; + +export type ArrayEntry = [number, BaseType[number]]; +export type MapEntry = [MapKey, MapValue]; +export type ObjectEntry = [keyof BaseType, BaseType[keyof BaseType]]; +export type SetEntry = BaseType extends Set ? [ItemType, ItemType] : never; + +/** +Many collections have an `entries` method which returns an array of a given object's own enumerable string-keyed property [key, value] pairs. The `Entry` type will return the type of that collection's entry. + +For example the {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries|`Object`}, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries|`Map`}, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries|`Array`}, and {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/entries|`Set`} collections all have this method. Note that `WeakMap` and `WeakSet` do not have this method since their entries are not enumerable. + +@see `Entries` if you want to just access the type of the array of entries (which is the return of the `.entries()` method). + +@example +``` +import type {Entry} from 'type-fest'; + +interface Example { + someKey: number; +} + +const manipulatesEntry = (example: Entry) => [ + // Does some arbitrary processing on the key (with type information available) + example[0].toUpperCase(), + + // Does some arbitrary processing on the value (with type information available) + example[1].toFixed(), +]; + +const example: Example = {someKey: 1}; +const entry = Object.entries(example)[0] as Entry; +const output = manipulatesEntry(entry); + +// Objects +const objectExample = {a: 1}; +const objectEntry: Entry = ['a', 1]; + +// Arrays +const arrayExample = ['a', 1]; +const arrayEntryString: Entry = [0, 'a']; +const arrayEntryNumber: Entry = [1, 1]; + +// Maps +const mapExample = new Map([['a', 1]]); +const mapEntry: Entry = ['a', 1]; + +// Sets +const setExample = new Set(['a', 1]); +const setEntryString: Entry = ['a', 'a']; +const setEntryNumber: Entry = [1, 1]; +``` + +@category Object +@category Map +@category Array +@category Set +*/ +export type Entry = + BaseType extends Map ? MapEntry + : BaseType extends Set ? SetEntry + : BaseType extends readonly unknown[] ? ArrayEntry + : BaseType extends object ? ObjectEntry + : never; diff --git a/node_modules/type-fest/source/exact.d.ts b/node_modules/type-fest/source/exact.d.ts new file mode 100644 index 0000000..6c435eb --- /dev/null +++ b/node_modules/type-fest/source/exact.d.ts @@ -0,0 +1,62 @@ +import type {KeysOfUnion, ArrayElement, ObjectValue} from './internal'; +import type {Opaque} from './opaque'; +import type {IsEqual} from './is-equal'; + +/** +Create a type from `ParameterType` and `InputType` and change keys exclusive to `InputType` to `never`. +- Generate a list of keys that exists in `InputType` but not in `ParameterType`. +- Mark these excess keys as `never`. +*/ +type ExactObject = {[Key in keyof ParameterType]: Exact>} +& Record>, never>; + +/** +Create a type that does not allow extra properties, meaning it only allows properties that are explicitly declared. + +This is useful for function type-guarding to reject arguments with excess properties. Due to the nature of TypeScript, it does not complain if excess properties are provided unless the provided value is an object literal. + +*Please upvote [this issue](https://github.com/microsoft/TypeScript/issues/12936) if you want to have this type as a built-in in TypeScript.* + +@example +``` +type OnlyAcceptName = {name: string}; + +function onlyAcceptName(arguments_: OnlyAcceptName) {} + +// TypeScript complains about excess properties when an object literal is provided. +onlyAcceptName({name: 'name', id: 1}); +//=> `id` is excess + +// TypeScript does not complain about excess properties when the provided value is a variable (not an object literal). +const invalidInput = {name: 'name', id: 1}; +onlyAcceptName(invalidInput); // No errors +``` + +Having `Exact` allows TypeScript to reject excess properties. + +@example +``` +import {Exact} from 'type-fest'; + +type OnlyAcceptName = {name: string}; + +function onlyAcceptNameImproved>(arguments_: T) {} + +const invalidInput = {name: 'name', id: 1}; +onlyAcceptNameImproved(invalidInput); // Compilation error +``` + +[Read more](https://stackoverflow.com/questions/49580725/is-it-possible-to-restrict-typescript-object-to-contain-only-properties-defined) + +@category Utilities +*/ +export type Exact = + IsEqual extends true ? ParameterType + // Convert union of array to array of union: A[] & B[] => (A & B)[] + : ParameterType extends unknown[] ? Array, ArrayElement>> + // In TypeScript, Array is a subtype of ReadonlyArray, so always test Array before ReadonlyArray. + : ParameterType extends readonly unknown[] ? ReadonlyArray, ArrayElement>> + // For Opaque types, internal details are hidden from public, so let's leave it as is. + : ParameterType extends Opaque ? ParameterType + : ParameterType extends object ? ExactObject + : ParameterType; diff --git a/node_modules/type-fest/source/except.d.ts b/node_modules/type-fest/source/except.d.ts new file mode 100644 index 0000000..7abf302 --- /dev/null +++ b/node_modules/type-fest/source/except.d.ts @@ -0,0 +1,80 @@ +import type {IsEqual} from './is-equal'; + +/** +Filter out keys from an object. + +Returns `never` if `Exclude` is strictly equal to `Key`. +Returns `never` if `Key` extends `Exclude`. +Returns `Key` otherwise. + +@example +``` +type Filtered = Filter<'foo', 'foo'>; +//=> never +``` + +@example +``` +type Filtered = Filter<'bar', string>; +//=> never +``` + +@example +``` +type Filtered = Filter<'bar', 'foo'>; +//=> 'bar' +``` + +@see {Except} +*/ +type Filter = IsEqual extends true ? never : (KeyType extends ExcludeType ? never : KeyType); + +type ExceptOptions = { + /** + Disallow assigning non-specified properties. + + Note that any omitted properties in the resulting type will be present in autocomplete as `undefined`. + + @default false + */ + requireExactProps?: boolean; +}; + +/** +Create a type from an object type without certain keys. + +We recommend setting the `requireExactProps` option to `true`. + +This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically. + +This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)). + +@example +``` +import type {Except} from 'type-fest'; + +type Foo = { + a: number; + b: string; +}; + +type FooWithoutA = Except; +//=> {b: string} + +const fooWithoutA: FooWithoutA = {a: 1, b: '2'}; +//=> errors: 'a' does not exist in type '{ b: string; }' + +type FooWithoutB = Except; +//=> {a: number} & Partial> + +const fooWithoutB: FooWithoutB = {a: 1, b: '2'}; +//=> errors at 'b': Type 'string' is not assignable to type 'undefined'. +``` + +@category Object +*/ +export type Except = { + [KeyType in keyof ObjectType as Filter]: ObjectType[KeyType]; +} & (Options['requireExactProps'] extends true + ? Partial> + : {}); diff --git a/node_modules/type-fest/source/fixed-length-array.d.ts b/node_modules/type-fest/source/fixed-length-array.d.ts new file mode 100644 index 0000000..aa71719 --- /dev/null +++ b/node_modules/type-fest/source/fixed-length-array.d.ts @@ -0,0 +1,43 @@ +/** +Methods to exclude. +*/ +type ArrayLengthMutationKeys = 'splice' | 'push' | 'pop' | 'shift' | 'unshift'; + +/** +Create a type that represents an array of the given type and length. The array's length and the `Array` prototype methods that manipulate its length are excluded in the resulting type. + +Please participate in [this issue](https://github.com/microsoft/TypeScript/issues/26223) if you want to have a similar type built into TypeScript. + +Use-cases: +- Declaring fixed-length tuples or arrays with a large number of items. +- Creating a range union (for example, `0 | 1 | 2 | 3 | 4` from the keys of such a type) without having to resort to recursive types. +- Creating an array of coordinates with a static length, for example, length of 3 for a 3D vector. + +Note: This type does not prevent out-of-bounds access. Prefer `ReadonlyTuple` unless you need mutability. + +@example +``` +import type {FixedLengthArray} from 'type-fest'; + +type FencingTeam = FixedLengthArray; + +const guestFencingTeam: FencingTeam = ['Josh', 'Michael', 'Robert']; + +const homeFencingTeam: FencingTeam = ['George', 'John']; +//=> error TS2322: Type string[] is not assignable to type 'FencingTeam' + +guestFencingTeam.push('Sam'); +//=> error TS2339: Property 'push' does not exist on type 'FencingTeam' +``` + +@category Array +@see ReadonlyTuple +*/ +export type FixedLengthArray = Pick< +ArrayPrototype, +Exclude +> & { + [index: number]: Element; + [Symbol.iterator]: () => IterableIterator; + readonly length: Length; +}; diff --git a/node_modules/type-fest/source/get.d.ts b/node_modules/type-fest/source/get.d.ts new file mode 100644 index 0000000..9b56fef --- /dev/null +++ b/node_modules/type-fest/source/get.d.ts @@ -0,0 +1,191 @@ +import type {StringDigit} from '../source/internal'; +import type {Split} from './split'; +import type {StringKeyOf} from './string-key-of'; + +type GetOptions = { + /** + Include `undefined` in the return type when accessing properties. + + Setting this to `false` is not recommended. + + @default true + */ + strict?: boolean; +}; + +/** +Like the `Get` type but receives an array of strings as a path parameter. +*/ +type GetWithPath = + Keys extends [] + ? BaseType + : Keys extends readonly [infer Head, ...infer Tail] + ? GetWithPath< + PropertyOf, Options>, + Extract, + Options + > + : never; + +/** +Adds `undefined` to `Type` if `strict` is enabled. +*/ +type Strictify = + Options['strict'] extends false ? Type : (Type | undefined); + +/** +If `Options['strict']` is `true`, includes `undefined` in the returned type when accessing properties on `Record`. + +Known limitations: +- Does not include `undefined` in the type on object types with an index signature (for example, `{a: string; [key: string]: string}`). +*/ +type StrictPropertyOf = + Record extends BaseType + ? string extends keyof BaseType + ? Strictify // Record + : BaseType[Key] // Record<'a' | 'b', any> (Records with a string union as keys have required properties) + : BaseType[Key]; + +/** +Splits a dot-prop style path into a tuple comprised of the properties in the path. Handles square-bracket notation. + +@example +``` +ToPath<'foo.bar.baz'> +//=> ['foo', 'bar', 'baz'] + +ToPath<'foo[0].bar.baz'> +//=> ['foo', '0', 'bar', 'baz'] +``` +*/ +type ToPath = Split, '.'>; + +/** +Replaces square-bracketed dot notation with dots, for example, `foo[0].bar` -> `foo.0.bar`. +*/ +type FixPathSquareBrackets = + Path extends `[${infer Head}]${infer Tail}` + ? Tail extends `[${string}` + ? `${Head}.${FixPathSquareBrackets}` + : `${Head}${FixPathSquareBrackets}` + : Path extends `${infer Head}[${infer Middle}]${infer Tail}` + ? `${Head}.${FixPathSquareBrackets<`[${Middle}]${Tail}`>}` + : Path; + +/** +Returns true if `LongString` is made up out of `Substring` repeated 0 or more times. + +@example +``` +ConsistsOnlyOf<'aaa', 'a'> //=> true +ConsistsOnlyOf<'ababab', 'ab'> //=> true +ConsistsOnlyOf<'aBa', 'a'> //=> false +ConsistsOnlyOf<'', 'a'> //=> true +``` +*/ +type ConsistsOnlyOf = + LongString extends '' + ? true + : LongString extends `${Substring}${infer Tail}` + ? ConsistsOnlyOf + : false; + +/** +Convert a type which may have number keys to one with string keys, making it possible to index using strings retrieved from template types. + +@example +``` +type WithNumbers = {foo: string; 0: boolean}; +type WithStrings = WithStringKeys; + +type WithNumbersKeys = keyof WithNumbers; +//=> 'foo' | 0 +type WithStringsKeys = keyof WithStrings; +//=> 'foo' | '0' +``` +*/ +type WithStringKeys = { + [Key in StringKeyOf]: UncheckedIndex +}; + +/** +Perform a `T[U]` operation if `T` supports indexing. +*/ +type UncheckedIndex = [T] extends [Record] ? T[U] : never; + +/** +Get a property of an object or array. Works when indexing arrays using number-literal-strings, for example, `PropertyOf = number`, and when indexing objects with number keys. + +Note: +- Returns `unknown` if `Key` is not a property of `BaseType`, since TypeScript uses structural typing, and it cannot be guaranteed that extra properties unknown to the type system will exist at runtime. +- Returns `undefined` from nullish values, to match the behaviour of most deep-key libraries like `lodash`, `dot-prop`, etc. +*/ +type PropertyOf = + BaseType extends null | undefined + ? undefined + : Key extends keyof BaseType + ? StrictPropertyOf + : BaseType extends [] | [unknown, ...unknown[]] + ? unknown // It's a tuple, but `Key` did not extend `keyof BaseType`. So the index is out of bounds. + : BaseType extends { + [n: number]: infer Item; + length: number; // Note: This is needed to avoid being too lax with records types using number keys like `{0: string; 1: boolean}`. + } + ? ( + ConsistsOnlyOf extends true + ? Strictify + : unknown + ) + : Key extends keyof WithStringKeys + ? StrictPropertyOf, Key, Options> + : unknown; + +// This works by first splitting the path based on `.` and `[...]` characters into a tuple of string keys. Then it recursively uses the head key to get the next property of the current object, until there are no keys left. Number keys extract the item type from arrays, or are converted to strings to extract types from tuples and dictionaries with number keys. +/** +Get a deeply-nested property from an object using a key path, like Lodash's `.get()` function. + +Use-case: Retrieve a property from deep inside an API response or some other complex object. + +@example +``` +import type {Get} from 'type-fest'; +import * as lodash from 'lodash'; + +const get = (object: BaseType, path: Path): Get => + lodash.get(object, path); + +interface ApiResponse { + hits: { + hits: Array<{ + _id: string + _source: { + name: Array<{ + given: string[] + family: string + }> + birthDate: string + } + }> + } +} + +const getName = (apiResponse: ApiResponse) => + get(apiResponse, 'hits.hits[0]._source.name'); + //=> Array<{given: string[]; family: string}> | undefined + +// Path also supports a readonly array of strings +const getNameWithPathArray = (apiResponse: ApiResponse) => + get(apiResponse, ['hits','hits', '0', '_source', 'name'] as const); + //=> Array<{given: string[]; family: string}> | undefined + +// Non-strict mode: +Get //=> string +Get, 'foo', {strict: true}> // => string +``` + +@category Object +@category Array +@category Template literal +*/ +export type Get = + GetWithPath : Path, Options>; diff --git a/node_modules/type-fest/source/global-this.d.ts b/node_modules/type-fest/source/global-this.d.ts new file mode 100644 index 0000000..841ab2d --- /dev/null +++ b/node_modules/type-fest/source/global-this.d.ts @@ -0,0 +1,21 @@ +/** +Declare locally scoped properties on `globalThis`. + +When defining a global variable in a declaration file is inappropriate, it can be helpful to define a `type` or `interface` (say `ExtraGlobals`) with the global variable and then cast `globalThis` via code like `globalThis as unknown as ExtraGlobals`. + +Instead of casting through `unknown`, you can update your `type` or `interface` to extend `GlobalThis` and then directly cast `globalThis`. + +@example +``` +import type {GlobalThis} from 'type-fest'; + +type ExtraGlobals = GlobalThis & { + readonly GLOBAL_TOKEN: string; +}; + +(globalThis as ExtraGlobals).GLOBAL_TOKEN; +``` + +@category Type +*/ +export type GlobalThis = typeof globalThis; diff --git a/node_modules/type-fest/source/has-optional-keys.d.ts b/node_modules/type-fest/source/has-optional-keys.d.ts new file mode 100644 index 0000000..5978a71 --- /dev/null +++ b/node_modules/type-fest/source/has-optional-keys.d.ts @@ -0,0 +1,21 @@ +import type {OptionalKeysOf} from './optional-keys-of'; + +/** +Creates a type that represents `true` or `false` depending on whether the given type has any optional fields. + +This is useful when you want to create an API whose behavior depends on the presence or absence of optional fields. + +@example +``` +import type {HasOptionalKeys, OptionalKeysOf} from 'type-fest'; + +type UpdateService = { + removeField: HasOptionalKeys extends true + ? (field: OptionalKeysOf) => Promise + : never +} +``` + +@category Utilities +*/ +export type HasOptionalKeys = OptionalKeysOf extends never ? false : true; diff --git a/node_modules/type-fest/source/has-readonly-keys.d.ts b/node_modules/type-fest/source/has-readonly-keys.d.ts new file mode 100644 index 0000000..722138c --- /dev/null +++ b/node_modules/type-fest/source/has-readonly-keys.d.ts @@ -0,0 +1,21 @@ +import type {ReadonlyKeysOf} from './readonly-keys-of'; + +/** +Creates a type that represents `true` or `false` depending on whether the given type has any readonly fields. + +This is useful when you want to create an API whose behavior depends on the presence or absence of readonly fields. + +@example +``` +import type {HasReadonlyKeys, ReadonlyKeysOf} from 'type-fest'; + +type UpdateService = { + removeField: HasReadonlyKeys extends true + ? (field: ReadonlyKeysOf) => Promise + : never +} +``` + +@category Utilities +*/ +export type HasReadonlyKeys = ReadonlyKeysOf extends never ? false : true; diff --git a/node_modules/type-fest/source/has-required-keys.d.ts b/node_modules/type-fest/source/has-required-keys.d.ts new file mode 100644 index 0000000..6e0d9a7 --- /dev/null +++ b/node_modules/type-fest/source/has-required-keys.d.ts @@ -0,0 +1,59 @@ +import type {RequiredKeysOf} from './required-keys-of'; + +/** +Creates a type that represents `true` or `false` depending on whether the given type has any required fields. + +This is useful when you want to create an API whose behavior depends on the presence or absence of required fields. + +@example +``` +import type {HasRequiredKeys} from 'type-fest'; + +type GeneratorOptions